	function rollover_ratings(ID, rating, full_icon, none_icon, label) {
		if (label) {
			rating_label_original = document.getElementById("rating_" + ID + "_label").innerHTML;
			document.getElementById("rating_" + ID + "_label").innerHTML = "Your rating";
		}
		for (i=1; i<=5; i++) {
			if (i <= rating) {
				this_icon = full_icon;
			} else {
				this_icon = none_icon;
			}
			eval("rating_" + i + "_original = document.rating_" + ID + "_" + i + ".src;");
			eval("document.rating_" + ID + "_" + i + ".src = '" + this_icon + "';");
		}
	}
	
	function restore_ratings(ID, label) {
		for (i=1; i<=5; i++) {
			eval("document.rating_" + ID + "_" + i + ".src = rating_" + i + "_original;");
		}
		if (label) {
			document.getElementById("rating_" + ID + "_label").innerHTML = rating_label_original;
		}
	}
	
	function set_rating(ID, rating, full_icon, none_icon, label) {
		for (i=1; i<=5; i++) {
			if (i <= rating) {
				this_icon = full_icon;
			} else {
				this_icon = none_icon;
			}
			eval("document.rating_" + ID + "_" + i + ".src = '" + this_icon + "';");
			eval("rating_" + i + "_original = document.rating_" + ID + "_" + i + ".src;");
		}
		name = (ID) ? "rating_" + ID : "rating" ;
		document.getElementById(name + "_value").value = rating;
		if (label) {
			document.getElementById("rating_" + ID + "_label").innerHTML = rating_label_original;
		}
	}
	
	function submit_rating(table, ID, rating) {
		document.getElementById("rating_" + ID).innerHTML = "Submitting...";
		URL = "/shared/rating_submit.php?table=" + table + "&ID=" + ID + "&rating=" + rating;
		success_code = "reload_rating('" + table + "', '" + ID + "', 'display')";
		failure_code = "reload_rating('" + table + "', '" + ID + "', 'submit')";
		ajax_request(URL, success_code, failure_code);
	}
	
	function reload_rating(table, ID, mode) {
		URL = "/shared/rating_reload.php?table=" + table + "&ID=" + ID + "&mode=" + mode;
		success_code = "document.getElementById('rating_" + ID + "').innerHTML = ajax_response;";
		failure_code = "";
		ajax_request(URL, success_code, failure_code);
	}

