var xmlHttp = GetXmlHttpObject();

function processRating(starNumber,id,name) {
    
	var theUL = document.getElementById('unit_ul'+ id); // the UL
	var concatUrl;
	
	theUL.innerHTML = '<div class="loading"></div>';
	
	concatUrl = '/en/ratings/save.asp?rating=' + starNumber;
	concatUrl = concatUrl + '&id=' + id;
	concatUrl = concatUrl + '&name=' + name;
	
    xmlHttp.open("GET",concatUrl,true);       
    xmlHttp.onreadystatechange = populateXML;
    xmlHttp.send(null);	

}

function populateXML() {
  if(xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
       	     var xmlDoc = xmlHttp.responseXML;
		     var total = xmlDoc.getElementsByTagName("total")[0].firstChild.nodeValue;
		     var totalrating = xmlDoc.getElementsByTagName("totalratings")[0].firstChild.nodeValue;
		     var units = xmlDoc.getElementsByTagName("units")[0].firstChild.nodeValue;
		     var string = xmlDoc.getElementsByTagName("string")[0].firstChild.nodeValue;
		     var html = '';
		     var starwidth = 15;
		     
		     html = '<div id=\"ratingtext\">Thank you for your rating!</div>';
		     html = html + '<div id=\"unit_long\">\n';
             html = html + '<ul id=\"unit_ul\" class=\"unit-rating\" style=\"width:' + starwidth*units + 'px;\">\n';
             html = html + '<li class=\"current-rating\" style=\"width:' + total*starwidth + 'px;\">Currently' + total + '/' + units + '</li>\n';
             html = html + '</ul>\n';
             html = html + '<p class=\"static\">Rating:&nbsp;<strong>' + total + '</strong>&nbsp;/&nbsp;<strong>' + units + '</strong>\n';
             html = html + '&nbsp;-&nbsp;<span class=\"stringrating\">' + string + '</span>';
             html = html + '<br>' + totalrating + ' ratings</p>\n';
             html = html + '</div>\n';
             
		     document.getElementById('ratingblock').innerHTML = html;
     
        }
  }
}

/* =============================================================== */
var ratingAction = {
		'a.rate' : function(element){
			 //   element.onclick = function() {
			//    var elementHtml = element.innerHTML;
		   //     var elementHtmlSplit = new Array();
			//    elementHtmlSplit = elementHtml.split(',');
	
			//    processRating(elementHtmlSplit[0],elementHtmlSplit[1],elementHtmlSplit[2]);
          //  }
			element.onmouseover = function() {
			    var elementHtml = element.innerHTML;
			    var elementHtmlSplit = new Array();
			    var string = '';

			    elementHtmlSplit = elementHtml.split(',');
			    if (elementHtmlSplit[0] == 1) {
			        string = 'Not feeling it';
			    } else if (elementHtmlSplit[0] == 2) {
			        string = 'Could be better';
			    } else if (elementHtmlSplit[0] == 3) {
			        string = 'Average';
			    } else if (elementHtmlSplit[0] == 4) {
			        string = 'Pretty good';
			    } else if (elementHtmlSplit[0] == 5) {
			        string = 'Awesome!';
			    }
			    
	            document.getElementById('ratingtext').innerHTML = string;
			}
			element.onmouseout = function() {
			    document.getElementById('ratingtext').innerHTML = 'Click a star to rate!';
			}
		}
		
	};


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;
}

Behaviour.register(ratingAction);

