Randomizer = function() {
	this.randomItems = arguments;
	this.itemsCookie = new CJL_CookieUtil('Randomizer', 30);
	//alert(document.cookie);
	this.playedItems = this.itemsCookie.getSubValue('playedItems');
	if(this.playedItems == null) {
		this.playedItems = new Array();
	}else {
		this.playedItems = this.playedItems.split(',');
	}
	if(this.playedItems == null || this.playedItems.length == this.randomItems.length) {
		this.itemsCookie.setSubValue('playedItems', '');
		this.playedItems = new Array();
	}
	this.lastItem = this.itemsCookie.getSubValue('lastItem');
	if(this.lastItem == null) {
		this.itemsCookie.setSubValue('lastItem', '');
		this.lastItem = '';
	}
	this.availableItems = new Array()
	for(var i = 0; i < this.randomItems.length; i++) {
		if(!this.playedItems.length || this.arrayFind(this.playedItems, this.randomItems[i]) < 0) {
			this.availableItems.push(this.randomItems[i]);
		}
	}
	//alert('playedItems: ' + this.playedItems.toString());
	//alert('availableItems: ' + this.availableItems.toString());
	//alert('lastItem: ' + this.lastItem);
}


Randomizer.prototype.findRandomItem = function() {
	return this.availableItems[this.randRange(0, (this.availableItems.length - 1))];
}

Randomizer.prototype.randRange = function(start, end) {
	return Math.round(start + ((end - start) * Math.random()));
}

Randomizer.prototype.arrayFind = function(searchObj, searchTerm) {
	for(var i = 0; i < searchObj.length; i++) {
		if(searchObj[i] == searchTerm) {
			return i;
		}
	}
	return -1;
}
	

Randomizer.prototype.getRandomItem = function() {
	var item = this.findRandomItem();
	while(item == this.lastItem) {
		item = this.findRandomItem();
	}
	this.playedItems.push(item);
	if(this.playedItems == '') {
		this.itemsCookie.setSubValue('playedItems', this.playedItems);
	}else {
		this.itemsCookie.setSubValue('playedItems', this.playedItems.join(','));
	}
	this.lastItem = item;
	this.itemsCookie.setSubValue('lastItem', this.lastItem);
	return item;
}
