var mode = 0;
var starWidth = 13;
var rating;

function getPosition(obj) 
{
 var x=0;
 while(obj) 
 {
    x+=obj.offsetLeft;
    obj=obj.offsetParent;
 }
 return x;
}

function catchRate(event, area_rating) {
	if (mode != 1)
		return;
	div = $(area_rating);
	pos = getPosition(div);
	rating = event.clientX - pos;
	rating = rating < 0 ? 0 : rating;
	rating = rating > 5 * starWidth ?  5 * starWidth : rating;
	$(area_rating + '_stars').style.width = rating + "px";
}

function changeMode(contentid, area_rating) {	
	mode = mode == 0 ? 1 : 0;
	//alert('in changeMode');
	if (mode == 1) {
		//Effect.Pulsate('rateMe');
	}
	if (mode == 0)
	{
			//rounding rating
		ratingDiv = $(area_rating + '_stars');
		widthWithPx = (ratingDiv.style.width);
		totalWidth = widthWithPx.substr(0, widthWithPx.length - 2);
		var rating = Math.round(totalWidth/starWidth);
			//set visual representation rating * starWidth 
		ratingDiv.style.width = parseInt(rating * starWidth) + "px";
			
			//sending ajax request
		var myAjax = new Ajax.Request(globalDir + "services/rateit.jsp", 
		{
			method: 'get', 
			parameters: "contentid=" + contentid + "&rating=" + rating,
			onComplete: updateRating
		});

		//alert('rating= ' + rating);
	}
}

function updateRating(request) {
	//alert('start updateRating()');

	var resp = request.responseText;
	//alert('resp= ' + resp);
	//alert('responseText= ' + request.responseText);
	var jsonObj = eval("(" + resp + ")");
	
	//alert('jsonObj.contentid= ' + jsonObj.contentid);
	//alert('jsonObj.rating= ' + jsonObj.rating);
	//alert('jsonObj.member= ' + jsonObj.member);
	
	$("averageRating").style.width = parseInt(jsonObj.rating) * 13 + "px";
	$("timesRated").innerText = "(" + jsonObj.timesRated + ")";
	Effect.Pulsate("averageRating");
}
