// JavaScript Document

var Items = Array();
var datafile = "./ratings.php";

function Rate( Cname, Rname, Rrating, Rcount )
{
	var name = Rname;
	var controlname = Cname;
	var rating = Rrating;
	var count = Rcount;
	var StarsImg = "./images/icons/00star.gif";

// Assign star image
	if (rating >= 0.5){StarsImg = "./images/icons/05star.gif";}
	if (rating >= 1  ){StarsImg = "./images/icons/1star.gif";}
	if (rating >= 1.5){StarsImg = "./images/icons/15star.gif";}
	if (rating >= 2  ){StarsImg = "./images/icons/2star.gif";}
	if (rating >= 2.5){StarsImg = "./images/icons/25star.gif";}
	if (rating >= 3  ){StarsImg = "./images/icons/3star.gif";}
	if (rating >= 3.5){StarsImg = "./images/icons/35star.gif";}
	if (rating >= 4  ){StarsImg = "./images/icons/4star.gif";}
	if (rating >= 4.5){StarsImg = "./images/icons/45star.gif";}
	if (rating >= 5  ){StarsImg = "./images/icons/5star.gif";}
	this.ShowStars =function(Count)
	{
		if (document.getElementsByName(controlname).length)
		  document.getElementsByName(controlname)[0].src='./images/icons/'+Count+'star.gif';
	}
	this.ShowRating =function()
	{
		if (document.getElementsByName(controlname+"count").length)
		  document.getElementsByName(controlname+"count")[0].innerHTML = (count?count+" ratings" : "No rating");
		if (document.getElementsByName(controlname).length)
		  document.getElementsByName(controlname)[0].src=StarsImg;
	}
}

var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
function OnReady() 
{ 
 // 0 Object is not initialized 
 // 1 Loading object is loading data 
 // 2 Loaded object has loaded data 
 // 3 Data from object can be worked with 
 // 4 Object completely initialized 
 	if (xmlhttp.readyState==4) 
	{ 
		loadRatings(xmlhttp.responseXML );
	}  
}

function loadRatings(rattings)
{
	//alert (rattings.childNodes[0].childNodes.length);
	for (var idx = 0; idx < rattings.childNodes[0].childNodes.length ; idx++ )
	{
		var name = rattings.childNodes[0].childNodes[idx].getAttribute("Name");
		var rating = rattings.childNodes[0].childNodes[idx].getAttribute("Rating");
		var count = rattings.childNodes[0].childNodes[idx].getAttribute("Count");
		Items["rate_"+name] = new Rate("rate_"+name,name,rating,count);
		Items["rate_"+name].ShowRating();
		//alert (name+', '+ rating+', '+count);
	}
}

function LoadRatings()
{
	xmlhttp.onreadystatechange=OnReady;
	xmlhttp.open("GET", datafile, true);  
	xmlhttp.send(null);
}

function SubmitRate()
{
	window.open('','popup','height=100,width=500,scrollbars=no,titlebar=no,menubar=no,toolbar=no,location=no');
}

