var CurrentStar = new Array();
var TotalVotes = new Array();
var TotalAmount = new Array();
var AllowVote = new Array();
var VoteFishedFlag = true;

function ShowInfo(showInfo,starId) {
	var divName = "infoDiv"	+ starId;
	var divIconName = "infoIcon" + starId;
	if(showInfo) {
		document.getElementById(divName).style.visibility = 'visible';
		document.getElementById(divName).style.display = 'block';
	} else {
		document.getElementById(divName).style.visibility = 'hidden';
		document.getElementById(divName).style.display = 'none';
		document.getElementById(divIconName).style.display = 'none';
	}
}

function mouseOverImage(i,starId,title) {
	if(AllowVote[starId]){
		for (k=1; k<=5; k++) {
			var changeImage = 'image' + starId + '-' + k;
			document.getElementById(changeImage).src='images/1.jpg';
		};
	
		for (k=1; k<=i; k++) {
			var changeImage = 'image' + starId + '-' + k;
			document.getElementById(changeImage).src='images/3.jpg';
		};
		var msgDiv = "msgDiv"+starId;
		document.getElementById(msgDiv).innerHTML = title;
	}
	document.getElementById("infoIcon"+starId).style.display = 'block';
};

function mouseOutImage(i,starId) {
	for (k=1; k<=i; k++) {
		var changeImage = 'image' + starId + '-' + k;
		document.getElementById(changeImage).src='images/1.jpg';
	};

	for (k=1; k<=CurrentStar[starId]; k++) {
		var changeImage = 'image' + starId + '-' + k;
		document.getElementById(changeImage).src='images/2.jpg';
	};
	if (VoteFishedFlag) {
		var votes = "Unrated";
		if(TotalVotes[starId]==1) votes = TotalVotes[starId] + " vote";
		if(TotalVotes[starId]>1) votes = TotalVotes[starId] + " votes";
		document.getElementById("msgDiv"+starId).innerHTML = votes;
	};
};


function changeTitle(starId) {
	var votes = "Unrated";
	if(TotalVotes[starId]==1) votes = TotalVotes[starId] + " vote";
	if(TotalVotes[starId]>1) votes = TotalVotes[starId] + " votes";
	document.getElementById("msgDiv"+starId).innerHTML = votes;
	VoteFishedFlag = true;
};

function VoteFinished(i,starId) {
	for (k=1; k<=i; k++) {
		var changeImage = 'image' + starId + '-' + k;
		document.getElementById(changeImage).src='images/1.jpg';
	};

	for (k=1; k<=CurrentStar[starId]; k++) {
		var changeImage = 'image' + starId + '-' + k;
		document.getElementById(changeImage).src='images/2.jpg';
	};
	VoteFishedFlag = false;
	document.getElementById("msgDiv"+starId).innerHTML = "Thank you!";
	setTimeout(function() {changeTitle(starId);} ,3000);
};


function mouseClickImage(i,starId,oid) {
	if(AllowVote[starId]){
		AllowVote[starId] = false;
		containerid = "StarContainer" + starId;
		TotalVotes[starId] = TotalVotes[starId] + 1;
		TotalAmount[starId] = TotalAmount[starId] + i;
		CurrentStar[starId] = Math.round(TotalAmount[starId] / TotalVotes[starId]);
		ajaxpage('vote.php?oid='+oid+'&StarId='+starId+'&id='+i , containerid, starId)
	}
};


var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no)
var bustcacheparameter="";

function ajaxpage(url, containerid, starId){
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
		}
	} else	return false
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid, starId)
	}
	
	if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)
}

function loadpage(page_request, containerid, starId){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
		document.getElementById(containerid).innerHTML=page_request.responseText;
		VoteFinished(5,starId);
	};
}