// All part of the Dynamic Star Rating by Jordan Boesch! // http://creativecommons.org/licenses/by-nc-nd/2.5/ca/ // PRE-LOAD IMAGES -----------------------------  if (document.images){   pic1 = new Image(220,19);    pic1.src = "images/rating_loading.gif";     pic2 = new Image(25,75);    pic2.src = "images/rating_star.png";     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 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 = 'Loading...';	 		} 	 	} 	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);  } 
