
function rate(software_id, rating)
{
	var rating_div = document.getElementById('rate_' + software_id);
	rating_div.innerHTML = "Submitting...";
	AjaxRequest.post({
		"url":"http://www.freemacsoftware.net/rate.cgi",
		"software_id": software_id,
		"rating": rating,
		"onSuccess":function(req) {
			ratingDone(req.responseXML);
		},
		"onError":function() {
			rating_div.innerHTML = "XML Error";
		},
		"onTimeout":function() {
			rating_div.innerHTML = "Error: Timed Out";
		}
	});
}

function ratingDone(xmlDoc)
{
	var sidXML = xmlDoc.getElementsByTagName("software_id");
	var sid;
	if (sidXML.length) { sid = sidXML.item(0).firstChild.nodeValue; }
	var ratingXML = xmlDoc.getElementsByTagName("rating");
	var rating;
	if (ratingXML.length) { rating = ratingXML.item(0).firstChild.nodeValue; }
	var result = xmlDoc.getElementsByTagName("result").item(0).firstChild.nodeValue;
	if (sid) {
		var rating_div = document.getElementById('rate_' + sid);
		if (result == "rated") {
			setStyleById('rate_' + sid, 'border', '1px solid #467aa7');
			setStyleById('rate_' + sid, 'background', '#80b0da');
			setStyleById('rate_' + sid, 'color', '#ffffff');
			rating_div.innerHTML = "You rated " + rating + "/5";
		} else if (result == "error") {
			var error = xmlDoc.getElementsByTagName("error_message").item(0).firstChild.nodeValue;
			rating_div.innerHTML = "ERROR: " + error;
		}
	}
}

