var rateImages = new Array("http://www.labcomparisons.com/images/ratings/color/color_0.gif", "http://www.labcomparisons.com/images/ratings/color/color_10.gif", "http://www.labcomparisons.com/images/ratings/color/color_20.gif", "http://www.labcomparisons.com/images/ratings/color/color_30.gif", "http://www.labcomparisons.com/images/ratings/color/color_40.gif", "http://www.labcomparisons.com/images/ratings/color/color_50.gif");
var nullRateMessage = "No Rating";
var rateMap = new Array('0,0,1,15','0,0,15,15', '16,0,32,15', '33,0,49,15', '50,0,66,15', '67,0,82,15');
var rateMessages = new Array("No Rating", 'Terrible', 'Below Average', 'Average', 'Good', 'Outstanding', 'Saved');
var savedRatings = new Array();
var changedRatings = new Array();
var savedNotInterested = new Array();
var savedIsOwned = new Array();
var savedExcluded = new Array();
var rateTwinkler = new Array();
var msgTwinkler = new Array();
var delayTime = 100;

var allImages = new Array();
function lc_js_preloadImages() {
	for (i=0; i<lc_js_preloadImages.length; i++) {
		allImages[i] = new Image();
		allImages[i].src = lc_js_preloadImages.arguments[i];
	}
}
lc_js_preloadImages(rateImages); 

function lc_js_sendRating(id, ratingType, ratingValue) {
	//var submitURL = ''+'/exec/obidos/instant-recs/102-4847790-3295301?'+'rating.source=ir'+'&rating.id.1='+id+'&use-new-form=true'+'&return.index.begin=1'+'&rating.'+ratingType+'.1='+ratingValue+'&not-interested=1'+'&template-name='+encodeURIComponent('stores/recs/ratings/rate-id-return-page');
	if (ratingType == 'onetofive') {
		//submitURL = submitURL+'&rating.notinterested.1=NONE';
		//savedRatingImgs[id] = rateImages[rating];
		savedRatings[id] = ratingValue;		
		setElemClass('messages.'+id, 'saved');
		if (document.getElementById(id))
			document.getElementById(id).value = ratingValue;
		if (document.getElementById(id+'_select'))
			document.getElementById(id+'_select').value = ratingValue;
		js_unliteField(id);
	} 
}

function lc_js_swapRates(id, rating) {
	if (rating == undefined) {
		rating = savedRatings[id];
	}
	document.images["rates."+id].src = rateImages[rating];
}
function lc_js_swapRateMsgs(id, rating) {
	if (rating == undefined) {
		if (savedRatings[id]) {
			//document.images["messages."+id].src = rateMessages[6];
			html = rateMessages[savedRatings[id]];
			css = 'rate_saved';
		} else {
			html = nullRateMessage;
			css = 'rate_null';
		}
	} else {
		html = rateMessages[rating];
		css = 'rate_hover';
	}
	document.getElementById("messages."+id).innerHTML = html;
	setElemClass('messages.'+id, css);
}
function lc_js_sendRates(id, rating) {
	savedRatings[id] = rating;
	changedRatings[id] = 1;
	lc_js_sendRating(id, 'onetofive', rating);
	lc_js_swapRateMsgs(id, 6);
}
function lc_js_sendNotInterested(id) {
	savedNotInterested[id] = (savedNotInterested[id] ? 0 : 1);
	rating = (savedNotInterested[id] ? 'NOTINTERESTED' : 'NONE');
	lc_js_sendRating(id, 'notinterested', rating);
	lc_js_swapRates(id, 0);
}
function lc_js_sendIsOwned(id) {
	savedIsOwned[id] = (savedIsOwned[id] ? 0 : 1);
	rating = (savedIsOwned[id] ? 'OWN' : 'NONE');
	lc_js_sendRating(id, 'owned', rating);
}
function lc_js_sendExcluded(id) {
	savedExcluded[id] = (savedExcluded[id] ? 0 : 1);
	rating = (savedExcluded[id] ? 'EXCLUDE' : 'NONE');
	lc_js_sendRating(id, 'excluded', rating);
}
function lc_js_rateMouseOver(id, rating) {
	if (rateTwinkler[id] != 0) {
		window.clearTimeout(rateTwinkler[id]);
		rateTwinkler[id] = 0;
	}
	if (msgTwinkler[id] != 0) {
		window.clearTimeout(msgTwinkler[id]);
		msgTwinkler[id] = 0;
	}
	lc_js_swapRates(id, rating);
	lc_js_swapRateMsgs(id, rating);
}
function lc_js_rateMouseOut(id) {
	rateTwinkler[id] = window.setTimeout("lc_js_swapRates('"+id+"')", delayTime);
	msgTwinkler[id] = window.setTimeout("lc_js_swapRateMsgs('"+id+"')", delayTime);
}

function lc_js_showRates(id, rating) {
	var rateID = "rates."+id;
	var msgID = "messages."+id;
	rateTwinkler[id] = 0;
	msgTwinkler[id] = 0;
	document.write("<map name='ratemap"+id+"'>");
	var i = 0;
	for (i=0; i<6; i++) {
		document.write("<area shape=rect "+"coords='"+rateMap[i]+"' "+"onMouseOver=\"lc_js_rateMouseOver('"+id+"',"+i+");\" "+"onMouseOut=\"lc_js_rateMouseOut('"+id+"');\" "+"onClick=\"lc_js_sendRates('"+id+"',"+i+")"+"\" >");
	}
	document.write("</map>");
	document.write("<img vspace=2 src='"+rateImages[rating]+"'");
	document.write(" border=0 usemap='#ratemap"+id);
	document.write("' id='"+rateID+"'>");
}
function lc_js_showMessages(id, rating) {
	var msgID = "messages."+id;
	document.write("<span id='"+msgID+"'>");
	if (rating == undefined) {
		document.write(nullRateMessage);
		css = 'rate_null';		
	} else {
		document.write(rateMessages[rating]);
		css = 'rate_saved';
	}
	document.write("<span>");
	setElemClass('messages.'+id, css);
}

function setElemClass(elem,style) {
		if(document.getElementById(elem))
			document.getElementById(elem).className = style;
	}