/*
Programming: Paul Smiechowicz <paul@designofadecade.com>
*/

var Rating_Message = new Array();
Rating_Message[0]    = "Unread";
Rating_Message[0.5]  = "Definite Pass";
Rating_Message[1]    = "Not interested";
Rating_Message[1.5]  = "Probably not";
Rating_Message[2]    = "Don't think so…";
Rating_Message[2.5]  = "Don't know…";
Rating_Message[3]    = "Might be good";
Rating_Message[3.5]  = "Probably good";
Rating_Message[4]    = "Interested";
Rating_Message[4.5]  = "Very Interested";
Rating_Message[5]    = "Must see!";		
//
Rating_SubmitMessage = "Updating…";
Rating_PostFile      = "../lib/pick.php";

function Rating(Rating, ItemID, RatingObject) {
	//
	Rating = parseFloat(Rating);
	Rating = parseInt(Rating) / 2 / 10;
	if (Rating > 5) {
		Rating = 5;
	}
	if (Rating < 0 || Rating == '') {
		Rating = 0;
	}
	//
	// document.getElementById('MyPick-desc_' + RatingObject).innerHTML = Rating_Message[Rating];
	//
	var RatingBlock = '';
	for (i = 1; i <= 5; i++) {
		if (parseInt(Rating) >= i) {
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.5)] + '"><img src="../img/_grey/img/pick/Pick_left-full.gif" onmouseover="RatingRollOverOut(' + (i - 0.5) + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_5_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + (i - 0.5) + ',\'' + ItemID + '\',\'' + RatingObject + '\')" /></A>';
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.0)] + '"><img src="../img/_grey/img/pick/Pick_right-full.gif" onmouseover="RatingRollOverOut(' + i + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + i + ',\'' + ItemID + '\',\'' + RatingObject + '\')" /></A>';
		} else if ((Rating + 1) > i) {
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.5)] + '"><img src="../img/_grey/img/pick/Pick_left-full.gif" onmouseover="RatingRollOverOut(' + (i - 0.5) + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_5_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + (i - 0.5) + ',\'' + ItemID + '\',\'' + RatingObject + '\')"/></A>';
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.0)] + '"><img src="../img/_grey/img/pick/Pick_right-empty.gif" onmouseover="RatingRollOverOut(' + i + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + i + ',\'' + ItemID + '\',\'' + RatingObject + '\')"/></A>';
		} else {
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.5)] + '"><img src="../img/_grey/img/pick/Pick_left-empty.gif" onmouseover="RatingRollOverOut(' + (i - 0.5) + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_5_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + (i - 0.5) + ',\'' + ItemID + '\',\'' + RatingObject + '\')"/></A>';
			RatingBlock += '<A TITLE="' + Rating_Message[(i - 0.0)] + '"><img src="../img/_grey/img/pick/Pick_right-empty.gif" onmouseover="RatingRollOverOut(' + i + ',\'' + RatingObject + '\')" onmouseout="RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')" id="RatingStart_' + i + '_' + RatingObject + '" style="cursor:pointer" onclick="RatingSubmit(' + i + ',\'' + ItemID + '\',\'' + RatingObject + '\')"/></A>';
		}
	}
	document.getElementById('MyPick-image_' + RatingObject).innerHTML = RatingBlock;
	RatingImages('../img/_grey/img/pick/Pick_left-empty.gif',
	             '../img/_grey/img/pick/Pick_left-full.gif',
			 '../img/_grey/img/pick/Pick_right-empty.gif',
			 '../img/_grey/img/pick/Pick_right-full.gif');
}

function RatingRollOverOut(Rating, RatingObject) {
	// document.getElementById('MyPick-desc_' + RatingObject).innerHTML = Rating_Message[Rating];
	for (i = 1; i <= 5; i++) {
		if (parseInt(Rating) >= i) {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-full.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-full.gif';
		} else if ((Rating + 1) > i) {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-full.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-empty.gif';
		} else {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-empty.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-empty.gif';
		}
	}
}

function RatingImages() {
	var d = document;
	if (d.images) {
		if (!d.p) d.p = new Array();
		var i, j = d.p.length,
		a = RatingImages.arguments;
		for (i = 0; i < a.length; i++)
		if (a[i].indexOf("#") != 0) {
			d.p[j] = new Image;
			d.p[j++].src = a[i];
		}
	}
}

function RatingSubmit(Rating, ItemID, RatingObject) {
	document.getElementById('MyPick-desc_' + RatingObject).innerHTML = Rating_SubmitMessage;
	var parameters = "MyPick=" + encodeURIComponent((parseFloat(Rating) * 2 * 10)) + "&f=" + encodeURIComponent(ItemID);
	PostRequest('RatingHTTP' + RatingObject, Rating_PostFile, parameters, 'RatingResponse(\'' + RatingObject + '\',', 'RatingHTTPError', false);
}

function RatingResponse(RatingObject, Rating) {
	Rating = parseInt(Rating) / 2 / 10;
	Rating = parseFloat(Rating);
	if (Rating > 5) {
		Rating = 5;
	}
	if (Rating < 0 || Rating == '') {
		Rating = 0;
	}
	document.getElementById('MyPick-desc_' + RatingObject).innerHTML = Rating_Message[Rating];
	for (i = 1; i <= 5; i++) {
//		document.getElementById('RatingStart_' + i + '_' + RatingObject).onmouseout = new Function('RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')');
		document.getElementById('RatingStart_' + i + '_5_' + RatingObject).onmouseout = new Function('RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')');
		document.getElementById('RatingStart_' + i + '_' + RatingObject).onmouseout = new Function('RatingRollOverOut(' + Rating + ',\'' + RatingObject + '\')');
		if (parseInt(Rating) >= i) {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-full.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-full.gif';
		} else if ((Rating + 1) > i) {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-full.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-empty.gif';
		} else {
			document.getElementById('RatingStart_' + i + '_5_' + RatingObject).src = '../img/_grey/img/pick/Pick_left-empty.gif';
			document.getElementById('RatingStart_' + i + '_' + RatingObject).src   = '../img/_grey/img/pick/Pick_right-empty.gif';
		}
	}
}

function RatingHTTPError(Message) {
	alert(Message);
}

function PostRequest(httpRequest, url, parameters, callfunction, errorfunction, parsexml) {
	window[httpRequest] = false;
	if (window.XMLHttpRequest) {
		window[httpRequest] = new XMLHttpRequest();
		if (window[httpRequest].overrideMimeType) {
			window[httpRequest].overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) {
		try {
			window[httpRequest] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				window[httpRequest] = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {}
		}
	}
	if (!window[httpRequest]) {
		if (errorfunction != '') {
			var ErrorFunction = new Function('' + errorfunction + '(\'1\')');
			ErrorFunction();
		}
		return false;
	}
/*	window[httpRequest].open('POST', url, true);
	window[httpRequest].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	window[httpRequest].setRequestHeader("Content-length", parameters.length);
	window[httpRequest].setRequestHeader("Connection", "close");
	window[httpRequest].send(parameters);
*/
	window[httpRequest].onreadystatechange = new Function('PostRequestReturn("' + httpRequest + '","' + callfunction + '","' + errorfunction + '",' + parsexml + ')');
	window[httpRequest].open('GET', url + '?' + parameters, true);
	window[httpRequest].send(null);
}

function PostRequestReturn(httpRequest, callfunction, errorfunction, parsexml) {
	if (window[httpRequest].readyState == 4) {
		if (window[httpRequest].status == 200) {
			Result = window[httpRequest].responseText;
			if (parsexml) {
				var ResponseFunction = new Function('' + callfunction + 'StringToXML(Result))');
			} else {
				var ResponseFunction = new Function('' + callfunction + 'Result)');
			}
			ResponseFunction();
		} else {
			if (errorfunction != '') {
				var ErrorFunction = new Function('' + errorfunction + '(\'HTTP Request Error\')');
				ErrorFunction();
			}
		}
	}
}