// JavaScript Document
var myAjax = createXmlHttpRequestObject();

function createXmlHttpRequestObject(){
	var xmlHttp;
	try{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e){
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
			try{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e){
			}
		}
	}
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}

function sendRequest( requestString, server ){
	if(myAjax){
		try{
			if (myAjax.readyState == 4 || myAjax.readyState == 0){
				myAjax.open("POST", server, true);
				myAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				myAjax.onreadystatechange = requestHandler;
				myAjax.send( requestString );
			}
			else{
				setTimeout("sendRequest('"+requestString+"', '"+server+"');", 1000);
			}
		}
		catch(e){
			alert("Can't connect to server:\n" + e.toString());
		}
	}
	else{
		alert("The XMLHttpRequest object is null !");
	}
}

function requestHandler(){
	if (myAjax.readyState == 4){
		if (myAjax.status == 200){
			try{
				getResponse();
			}
			catch(e){
				alert("There was a problem in the request response: \n" + e.toString() + "\n" +myAjax.responseText);
			}
		}
		else{
			alert("Errors Occured :\n" +myAjax.statusText);
		}
	}
}


function getResponse(){
	response = myAjax.responseText;

	if( response == '<RATINGSAVED>' ){
		document.getElementById('ratingstars').innerHTML = 'Rating Saved';
	}
	else{
		alert( response );
	}
}
