function showIt(item,i,j,max){
   var id;
   actualItem = item;
   
   // Show the selected boxes
   for (var x=1;x<=i;x++){
      id = item + "y_" + x;
      document.getElementById(id).src = "maxajaxrating/style/images/b.png";
   }
   
   // Display the not selected ones
   for (var x=i+1;x<=max;x++){
      id = item + "y_" + x;
      if (x<=j) document.getElementById(id).src = "maxajaxrating/style/images/y.png";
      else document.getElementById(id).src = "maxajaxrating/style/images/w.png";
   }
}

function showOriginal(i,max){
   for (var x=1;x<=max;x++){
      id = actualItem + "y_" + x;
      if (x<=i) document.getElementById(id).src = "maxajaxrating/style/images/y.png";
      else document.getElementById(id).src = "maxajaxrating/style/images/w.png";
   }
}

function updateStars(i,max){
   for (var x=1;x<=max;x++){
      id = actualItem + "_" + x;
      if (x<=i) document.getElementById(id).src = "maxajaxrating/style/images/y.png";
      else document.getElementById(id).src = "maxajaxrating/style/images/w.png";
   }
}

// Get the HTTP Object
function getHTTPObject(){
   if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
   else if (window.XMLHttpRequest) return new XMLHttpRequest();
   else {
      alert("Your browser does not support AJAX.");
      return null;
   }
}   

// Change the value of the outputText field
function setOutput(){
   var result;
   var data;
   var rating;
   var totalRates;
   var max;
   if(httpObject.readyState == 4){
      result = httpObject.responseText;

      data = result.split(':::');
      rating     = data[0];
      totalRates = data[1];
      max        = data[2];
	  userrate	 = data[3];
	  userrate1  = parseInt(userrate) + 1;

	  arrRating = rating.split('.');
	  if(parseInt(arrRating[1]) < 50) rating = Math.floor(rating);
	  else rating = Math.ceil(rating);
	  
	  var stars_new = "";
	  for(i=userrate;i>=1;i--)
	  {
		stars_new = stars_new + "<img src='maxajaxrating/style/images/y.png' alt='' />";
	  }
	  for(i=max;i>=userrate1;i--)
	  {
		stars_new = stars_new + "<img src='maxajaxrating/style/images/w.png' alt='' />";
	  }
      document.getElementById('userratingtext').innerHTML = stars_new;
      removeActions(Math.round(rating),max);
      updateTextRating(actualItem,rating,totalRates);
   }
}

function removeActions(rating,max){
      updateStars(rating,max);
      var t;
      for (var x=1;x<=max;x++){
         id = actualItem + "_" + x;
         t = document.getElementById(id);
         t.onmouseover = null;
         t.onmouseout  = null;
         t.onclick     = null;
      }  
}

function updateTextRating(item,rating,total){
   var itemRating;
   var totalRating;
   var id;
   
   id = item + "_ir";
   itemRating = document.getElementById(id);
   id = item + "_tr";
   totalRating = document.getElementById(id);
   
   if (itemRating != null) itemRating.innerHTML = rating;
   if (totalRating != null) totalRating.innerHTML = total;
   
}

// Implement business logic
function submitRating(item,rate,max){
   httpObject = getHTTPObject();
   actualItem = item;
   
   var tableName = document.getElementById('tableName').value;
   
   if (httpObject != null) {
	  url = "maxajaxrating/submitRating.php?item="+item+"&rating="+rate+"&max="+max+"&tablename="+tableName;
      httpObject.open("GET", url, true);
      httpObject.send(null);
      httpObject.onreadystatechange = setOutput;
   }
}
 
var httpObject = null;
var actualItem = null;
