var rated = 0;
var flagged = 0;
var blocked = 0;

function reset_rating() {
	document.getElementById('stars').src = 'images/ratings/0.png';
	document.getElementById('flag').src = 'images/ratings/flag0.png';
	document.getElementById('block').src = 'images/ratings/block0.png';
	rated = 0;
	flagged = 0;
	blocked = 0;
}

//********* STARS ***************

function starover(obj) {
	if (rated < 1) {
		document.getElementById('stars').src = 'images/ratings/' + obj + '.png';
	}
}

function starout() {
	if (rated < 1) {
		document.getElementById('stars').src = 'images/ratings/0.png';
	}
}

function starclick(obj) {
	rated = obj;
	blocked = 0;
	document.getElementById('stars').src = 'images/ratings/' + obj + '.png';
	document.getElementById('block').src = 'images/ratings/block0.png';

	document.getElementById("ratings").style.display = "none";
	document.getElementById("ratestatus").style.display = "inline";

	rate();
}


//********* FLAG ***************

function flagover() {
	if (flagged < 1) {
		document.getElementById('flag').src = 'images/ratings/flag1.png';
	}
}

function flagout() {
	if (flagged < 1) {
		document.getElementById('flag').src = 'images/ratings/flag0.png';
	}
}

function flagclick() {

	document.getElementById('block').src = 'images/ratings/block0.png';

	if (flagged < 1) {
		document.getElementById('flag').src = 'images/ratings/flag1.png';
		flagged = 1;
		blocked = 0;
	} else {
		document.getElementById('flag').src = 'images/ratings/flag0.png';
		flagged = 0;
	}

	document.getElementById("ratings").style.display = "none";
	document.getElementById("ratestatus").style.display = "inline";

	rate();
}


//********* BLOCK ***************

function blockover() {
	if (blocked < 1) {
		document.getElementById('block').src = 'images/ratings/block1.png';
	}
}

function blockout() {
	if (blocked < 1) {
		document.getElementById('block').src = 'images/ratings/block0.png';
	}
}

function blockclick() {

	if (blocked < 1) {
		document.getElementById('block').src = 'images/ratings/block1.png';
		document.getElementById('flag').src = 'images/ratings/flag0.png';
		document.getElementById('stars').src = 'images/ratings/0.png';
		rated = 0;
		flagged = 0;
		blocked = 1;
	} else {
		document.getElementById('block').src = 'images/ratings/block0.png';
		blocked = 0;
	}


	document.getElementById("ratings").style.display = "none";
	document.getElementById("ratestatus").style.display = "inline";

	rate();
}



//********* SAVE RATING ***************


function rate(){

	var strurl = document.getElementById("txturl").value;

	xmlHttp=GetXmlHttpObject();

	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
		
	var url="rate.aspx";
	url = url + "?rating=" + rated + "&flag=" + flagged + "&block=" + blocked + "&url=" + strurl + "&ip=" + strip;
	url = url + "&sid=" + Math.random();

	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

	//xmlHttp.onreadystatechange=stateChanged;
	//xmlHttp.open("POST",url,true);
	//xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//xmlHttp.setRequestHeader("Content-length", params.length);
	//xmlHttp.setRequestHeader("Connection", "close");
	//xmlHttp.send(params);

}

function GetXmlHttpObject()
{
	var xmlHttp=null;

	try { // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) { // Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function stateChanged() 
{ 

	if (xmlHttp.readyState==4){   //= xmlHttp.responseText;

		//document.getElementById("ratestatus").innerHTML = xmlHttp.responseText;
		document.getElementById("ratings").style.display = "inline";
		document.getElementById("ratestatus").style.display = "none";
	}
}



//********* FETCH RATING ***************


function fetch_rating(){

	var strurl = document.getElementById("txturl").value;

	xmlHttp=GetXmlHttpObject();

	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
		
	var url="rate_fetch.aspx";
	url = url + "?url=" + strurl + "&ip=" + strip;
	url = url + "&sid=" + Math.random();

	xmlHttp.onreadystatechange=FetchstateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

	//xmlHttp.onreadystatechange=FetchstateChanged;
	//xmlHttp.open("POST",url,true);
	//xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//xmlHttp.setRequestHeader("Content-length", params.length);
	//xmlHttp.setRequestHeader("Connection", "close");
	//xmlHttp.send(params);

}


function FetchstateChanged() 
{ 

	if (xmlHttp.readyState==4){   //= xmlHttp.responseText;

		var tmpstr = xmlHttp.responseText;

		if (tmpstr == "na") {
			reset_rating();
		} else {
			document.getElementById('stars').src = 'images/ratings/' + tmpstr.slice(0,1) + '.png';
			document.getElementById('flag').src = 'images/ratings/flag' + tmpstr.slice(1,2) + '.png';
			document.getElementById('block').src = 'images/ratings/block' + tmpstr.slice(2,3) + '.png';
			rated = tmpstr.slice(0,1);
			flagged = tmpstr.slice(1,2);
			blocked = tmpstr.slice(2,3);
		}
	}
}


















