var xmlHttp;
var myid =0;
function createXMLHttpRequest() 
{
    if (window.ActiveXObject) 
    {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else if (window.XMLHttpRequest) 
    {
        xmlHttp = new XMLHttpRequest();
    }
}
var starImages1 = new Array("../images/ratings/0.5star.gif",
	"../images/ratings/1.5star.gif",
	"../images/ratings/2.5star.gif",
	"../images/ratings/3.5star.gif",
	"../images/ratings/4.5star.gif",
	"../images/ratings/5star.gif");
	var starImages = new Array("../images/ratings/0star.gif",
	"../images/ratings/1star.gif",
	"../images/ratings/2star.gif",
	"../images/ratings/3star.gif",
	"../images/ratings/4star.gif",
	"../images/ratings/5star.gif");
	var nullStarMessage = "../images/ratings/0.gif"
	/*var starMap = new Array('0,0,22,20',
	'23,0,36,20',
	'37,0,50,20',
	'51,0,64,20',
	'65,0,78,20',
	'79,0,101,20');*/
	var starMap = new Array('0,0,10,10',
	'11,0,20,10',
	'21,0,30,10',
	'31,0,40,10',
	'41,0,50,10',
	'51,0,60,10');
	var starMessages = new Array("../images/ratings/0.gif",
	"../images/ratings/1.gif",
	"../images/ratings/2.gif",
	"../images/ratings/3.gif",
	"../images/ratings/4.gif",
	"../images/ratings/5.gif",
	"../images/ratings/saved.gif");

	var savedRatings = new Array();
	var changedRatings = new Array();
	var starTwinkler = new Array();
	var msgTwinkler = new Array();
	var isRatingsBarChanged = false;
	var delayTime = 500;
	var allImages = new Array();
function preloadImages()
{
	for (i=0; i < preloadImages.length ;i++)
	{
	allImages[i] = new Image();
	allImages[i].src = preloadImages.arguments[i];
	}
}
preloadImages(starImages);
preloadImages(starMessages);

function SaveRatingAjax(id, ratingType, ratingValue)
{
	rating = ratingValue;
	var submitURL = ''
	+ '../Course/ajaxRating.aspx?'
	+ 'id=' + id
	+ '&Rating=' + ratingValue ;
	myid = id;
	isRatingsBarChanged = true;
		createXMLHttpRequest();
		xmlHttp.onreadystatechange = handleStateChange;
		xmlHttp.open("GET", submitURL, true);
		xmlHttp.send(null);
}
function handleStateChange() 
{

    if(xmlHttp.readyState == 4) 
    {
       
        if(xmlHttp.status == 200) 
        {
			document.getElementById("ltlstars" + myid).innerHTML  = '<IMG src=../images/ratings/' + rating + 'star.gif><IMG src=../images/ratings/saved.gif>';
	    }
        else
        {
           alert("Error in AJAX");
        }
    }
}
function SwapStars(id, rating)
{
    if (rating == undefined)
    {
        rating = 0;
    }
    var k = rating.toString().indexOf('.') ;
    if( k > 0)
    {
        rating = rating + 0.5;
    }
    document.images["stars." + id].src = starImages[rating];
}
function SwapStarMsg(id, rating)
{
    //alert('SwapStarMsg' + rating);
	if (rating == undefined)
	{
		if ( changedRatings[id] ) 
		{
			document.images["messages." + id].src = starMessages[6];
		} 
		else 
		{
			document.images["messages." + id].src = nullStarMessage;
		}
	} 
	else 
	{
        var k = rating.toString().indexOf('.') ;
        if( k > 0)
        {
        rating = rating + 0.5;
        }
        document.images["messages." + id].src = starMessages[rating];
	}
}
function SaveStarsAjax(id, rating)
{
//alert(rating);
//	if ((rating==1)||(rating==2)||(rating==3)||(rating==4)||(rating==5))
//	{
	//savedRatings[id] = rating;
	//changedRatings[id] = 1;
	//SaveRatingAjax(id, 'onetofive', rating);
	//SwapStarMsg(id, 6);
//	}
//	else
//	{
//	alert("Rating Value out of the bound, Values can only be 1/2/3/4/5. Current rating value: " + rating);
//	}
}

function StarMouseOver(id, rating)
{
	if (starTwinkler[id] != 0)
	{
	window.clearTimeout(starTwinkler[id]);
	starTwinkler[id] = 0;
	}
	if (msgTwinkler[id] != 0)
	{
	window.clearTimeout(msgTwinkler[id]);
	msgTwinkler[id] = 0;
	}
  SwapStars(id, rating);
  SwapStarMsg(id, rating); 
}
function StarMouseOut(id, Rating)
{
	//starTwinkler[id] = window.setTimeout("SwapStars('"+id+"'," + Rating + ")", delayTime);
	//msgTwinkler[id] = window.setTimeout("SwapStarMsg('"+id+"'," + Rating + ")", delayTime);
}
function DisplayStarsAjax (id, rating)
{
	var starID = "stars." + id;
	starTwinkler[id] = 0;
	msgTwinkler[id] = 0;
	document.write("<map name='starmap" + id +"'>");
	var i = 0;
	for (i = 1; i < 6; i++) 
	{
	document.write("<area shape=rect " + 
	"coords='" + starMap[i] + "' " +	
	"onMouseOut=\"StarMouseOut('" + id + "'," + rating + ");\" " +
	"onClick=\"SaveStarsAjax('" + id + "'," + i + ");" +
	"\" >");
	}
	document.write("</map>");
	var k = rating.toString().indexOf('.') ;
	if( k > 0)
	{
	        rating = rating + 0.5;
	        document.write("<img vspace=2 title = 'Ratings' src='" + starImages1[rating] + "'");
	}
	else
	{	
	    document.write("<img vspace=2 title = 'Ratings' src='" + starImages[rating] + "'");
	}
	document.write(" border=0 usemap='#starmap" + id);
	document.write("' id='" + starID + "'>");
}
function DisplayMsgAjax (id, rating)
{
	var msgID = "messages." + id;
	if ( rating == undefined ) 
	{
		document.write("<img vspace=2 height=11 src='" + nullStarMessage + "'");
	}
	else 
	{
		var k = rating.toString().indexOf('.') ;
	    if( k > 0)
	    {
	        rating = rating + 0.5;
	    }
	document.write("<img vspace=2 height=11 src='" + starMessages[rating] + "'"); 
	}
	document.write("' id='" + msgID + "'>");
}

/*
function DisplayStarsAjax (id, rating)
{
	var starID = "stars." + id;
	starTwinkler[id] = 0;
	msgTwinkler[id] = 0;
	document.write("<map name='starmap" + id +"'>");
	var i = 0;
	for (i = 1; i < 6; i++) 
	{
	document.write("<area shape=rect " + 
	"coords='" + starMap[i] + "' " +
	"onMouseOver=\"StarMouseOver('" + id + "'," + i + ");\" " +
	"onMouseOut=\"StarMouseOut('" + id + "'," + rating + ");\" " +
	"onClick=\"SaveStarsAjax('" + id + "'," + i + ");" +
	"\" >");
	}
	document.write("</map>");
	var k = rating.toString().indexOf('.') ;
	if( k > 0)
	{
	        rating = rating + 0.5;
	        document.write("<img vspace=2 title = 'Rate Picture' src='" + starImages1[rating] + "'");
	}
	else
	{	
	    document.write("<img vspace=2 title = 'Rate Picture' src='" + starImages[rating] + "'");
	}
	document.write(" border=0 usemap='#starmap" + id);
	document.write("' id='" + starID + "'>");
}*/
