var request = get_ajax_obj();
function get_ajax_obj()
{
	var req=false;
	try {
	 req = new XMLHttpRequest();
	} catch (trymicrosoft) {
	 try {
	   req = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (othermicrosoft) {
	   try {
		 req = new ActiveXObject("Microsoft.XMLHTTP");
	   } catch (failed) {
	   	alert('failed');
		 req = false;
	   }
	 }
	}	
	if (!req)
	 alert("Error initializing XMLHttpreq!");
	return req;
}
function xajax_saveRating(listing_id, rating, rating_id)
{
	if (!rating_id) rating_id='';
	var link= "/ajax.php?act=rating&rating="+rating+"&listing_id="+listing_id+"&rating_id="+rating_id;
//	document.write(link);return false;
	request.open("GET", link, true);
	request.onreadystatechange = updatePage;
	request.send(null);
}

function updatePage()
{
//	if (request.readyState == 4 || (request.readyState == 3 && request.responseText!='')) //on firefox, there is a bug which always return status 3 when post data more than 2400 or send post data from popup
	if (request.readyState == 4){
		try
		{
			var request_status=request.status;
		}
		catch(err)
		{
			var request_status=-1;
		}
		if (request_status == 200)
		{
//			alert(request.responseText);
			var rating=parseFloat(request.responseText);
			
			var sep=String.fromCharCode(3);
			var s=request.responseText;
			var data=s.split(sep);
			var rating=parseFloat(data[1]);
			var listing_id=parseInt(data[0]);
			
			if (isNaN(rating)){
				alert(request.responseText);
			}else{
				document.getElementById("current_rating_"+listing_id).style.width=rating*16+'px';
				alert("You rated successfully!");
			}
	 	}
	}
}

