
function makePOSTRequest(url, parameters, SpanName)
{
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
    http_request.overrideMimeType('text/xml');
    }
    } else if (window.ActiveXObject) { // IE
    try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    if (!http_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
    }

    http_request.onreadystatechange = function()
    {
    	if (http_request.readyState == 4)
    	{
		    if (http_request.status == 200)
		    {
				result = http_request.responseText;

		    	if(SpanName == "ratingLowerBoxRatingDiv")
		    	{

		    		if(result == "already_voted")
		    		{
		    			document.getElementById("ratingUpperBoxContentDiv").innerHTML = "You have already voted for this game...";
		    		}
		    		else if(result.indexOf("|") > -1)
		    		{
		    			rating = result.split("|")[0];
		    			votes = result.split("|")[1];
		    			document.getElementById("ratingLowerBoxRatingDiv").innerHTML = rating;
		    			document.getElementById("ratingUpperBoxContentDiv").innerHTML = "Thanks for voting!";
		    			document.getElementById("ratingLowerBoxMembersDiv").innerHTML = "<b>" + votes + "</b> member(s) rated this game";
		    		}
		    		else
		    		{
		    			document.getElementById("ratingUpperBoxContentDiv").innerHTML = "There was an error processing your vote...";
		    		}
		    	}
		    	else
		    	{
					if(document.getElementById(SpanName) != null) document.getElementById(SpanName).innerHTML = result;
					if(document.getElementById('status') != null) document.getElementById('status').innerHTML = 'Ready';
		    	}
			}
			else
			{
				alert('There was a problem with the request.');
			}
		}
	};
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
  }



if (document.images){

  pic1 = new Image(220,19);

  pic1.src = "images/rating_loading.gif";



  pic2 = new Image(25,75);

  pic2.src = "images/rating_star.gif";



  pic3 = new Image(25,75);

  pic3.src = "images/rating_star_2.gif";



  pic4 = new Image(16,13);

  pic4.src = "images/rating_tick.gif";



  pic5 = new Image(14,14);

  pic5.src = "images/rating_warning.gif";

}



// AJAX ----------------------------------------



var xmlHttp



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;



}



// Calculate the rating

function rate(rating,id,show5,showPerc,showVotes){


	xmlHttp = GetXmlHttpObject()



	if(xmlHttp == null){

		alert ("Your browser does not support AJAX!");

		return;

	  }



	xmlHttp.onreadystatechange = function(){



	var loader = document.getElementById('loading_'+id);

	var uldiv = document.getElementById('ul_'+id);



		if (xmlHttp.readyState == 4){



			//loader.style.display = 'none';

			var res = xmlHttp.responseText;



			//alert(res);



			if(res == 'already_voted'){

				loader.style.display = 'block';

				loader.innerHTML = '<div class="voted_twice">You have already voted!</div>';



			} else {


				loader.style.display = 'block';

				loader.innerHTML = '<div class="voted">Thanks for voting!</div>';



				if(show5 == true){

					var out = document.getElementById('outOfFive_'+id);

					var calculate = res/20;

					out.innerHTML = Math.round(calculate*100)/100; // 3.47;

					//out.innerHTML = Math.round((calculate*2),0)/2; // 3.5;

				}



				if(showPerc == true){

					var perc = document.getElementById('percentage_'+id);

					//var newPerc = Math.round(Math.ceil(res/5))*5;

					var newPerc = res;

					perc.innerHTML = newPerc+'%';

				}



				else if(showPerc == false){

					var newPerc = res;

				}



				if(showVotes == true){

					var votediv = document.getElementById('showvotes_'+id).firstChild.nodeValue;

					var splitted = votediv.split(' ');

					var newval = parseInt(splitted[0]) + 1;

					if(newval == 1){

						document.getElementById('showvotes_'+id).innerHTML = newval+' Vote';

					} else {

						document.getElementById('showvotes_'+id).innerHTML = newval+' Votes';

					}

				}



				var ulRater = document.getElementById('rater_'+id);

				ulRater.className = 'star-rating2';



				var all_li = ulRater.getElementsByTagName('li');



				// start at 1 because the first li isn't a star

				for(var i=1;i<all_li.length;i++){



					all_li[i].getElementsByTagName('a')[0].onclick = 'return false;';

					all_li[i].getElementsByTagName('a')[0].setAttribute('href','#');



				}



				if(navigator.appName == 'Microsoft Internet Explorer'){

					uldiv.style.setAttribute('width',newPerc+'%'); // IE

				 } else {

					uldiv.setAttribute('style','width:'+newPerc+'%'); // Everyone else

				 }



			}

		} else {

			loader.innerHTML = 'wait please...';

		}



	}


var url = "../../includes/rating_process.php";



	var params = "id="+id+"&rating="+rating;

	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 rateDown(baseURL, gameid, rating)
{
	document.getElementById("ratingUpperBoxContentDiv").innerHTML = "Casting your vote...";
	var url = baseURL + "includes/rating_process.php";
	makePOSTRequest(url, "id=" + gameid + "&rating=" + rating, "ratingLowerBoxRatingDiv");
}



function rate2(rating,id,show5,showPerc,showVotes){



	xmlHttp = GetXmlHttpObject()



	if(xmlHttp == null){

		alert ("Your browser does not support AJAX!");

		return;

	  }



	xmlHttp.onreadystatechange = function(){



	var loader = document.getElementById('loading_'+id);

	var uldiv = document.getElementById('ul_'+id);



		if (xmlHttp.readyState == 4){



			//loader.style.display = 'none';

			var res = xmlHttp.responseText;



			//alert(res);



			if(res == 'already_voted'){

				loader.style.display = 'block';

				loader.innerHTML = '<div class="voted_twice">You have already voted!</div>';



			} else {

				alert(res);


				loader.style.display = 'block';

				loader.innerHTML = '<div class="voted">Thanks for voting!</div>';



				if(show5 == true){

					var out = document.getElementById('outOfFive_'+id);

					var calculate = res/20;

					out.innerHTML = Math.round(calculate*100)/100; // 3.47;

					//out.innerHTML = Math.round((calculate*2),0)/2; // 3.5;

				}



				if(showPerc == true){

					var perc = document.getElementById('percentage_'+id);

					//var newPerc = Math.round(Math.ceil(res/5))*5;

					var newPerc = res;

					perc.innerHTML = newPerc+'%';

				}



				else if(showPerc == false){

					var newPerc = res;

				}



				if(showVotes == true){

					var votediv = document.getElementById('showvotes_'+id).firstChild.nodeValue;

					var splitted = votediv.split(' ');

					var newval = parseInt(splitted[0]) + 1;

					if(newval == 1){

						document.getElementById('showvotes_'+id).innerHTML = newval+' Vote';

					} else {

						document.getElementById('showvotes_'+id).innerHTML = newval+' Votes';

					}

				}



				var ulRater = document.getElementById('rater_'+id);

				ulRater.className = 'star-rating2';



				var all_li = ulRater.getElementsByTagName('li');



				// start at 1 because the first li isn't a star

				for(var i=1;i<all_li.length;i++){



					all_li[i].getElementsByTagName('a')[0].onclick = 'return false;';

					all_li[i].getElementsByTagName('a')[0].setAttribute('href','#');



				}



				if(navigator.appName == 'Microsoft Internet Explorer'){

					uldiv.style.setAttribute('width',newPerc+'%'); // IE

				 } else {

					uldiv.setAttribute('style','width:'+newPerc+'%'); // Everyone else

				 }



			}

		} else {

			loader.innerHTML = 'wait please...';

		}



	}


	var url = "http://www.mallcade.com/battgames/includes/rating_process.php"

	var params = "id="+id+"&rating="+rating;

	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);



}