var XT_RATING_IMG = 'http://cdn1.static.xtube.com/img/interface/icons/icn-rate-on.gif';
var XT_RATING_IMG_HALF = 'http://cdn1.static.xtube.com/img/interface/icons/icn-rate-half.gif';
var XT_RATING_IMG_BG = 'http://cdn1.static.xtube.com/img/interface/icons/icn-rate-off.gif';
messages = new Array("Rate This!", "Poor", "Nothing special", "Worth watching", "Pretty cool", "Awesome!");

function XTRating_new(ratingElementId, maxStars, objectName, formName) {
	this.ratingElementId = ratingElementId;
	this.maxStars = maxStars;
	this.objectName = objectName;
	this.formName = formName;

	this.starTimer = null;
	this.starCount = 0;

	function showRatingResult(starNum, message) {
		document.getElementById(this.ratingElementId).style.display='none';
		
		document.getElementById('rateMeDiv').style.display='none';
/*		for (var i=1; i <= starNum; i++)
			document.getElementById('result_star_' + i).src = XT_RATING_IMG;*/
		
		document.getElementById('ratingResultMessage').innerHTML = message;
		
		document.getElementById('ratingResultDiv').style.display='block';
		
	}

	function showStars(starNum) {
		this.clearStarTimer();
		for (var i=1; i < this.maxStars + 1; i++)
			document.getElementById('star_' + i).src = XT_RATING_IMG_BG;
			
		for (var i=1; i <= starNum; i++)
			document.getElementById('star_' + i).src = XT_RATING_IMG;

		/*document.getElementById('ratingMessage').innerHTML = messages[starNum];*/
	}

	function setStars(starNum) {
		this.starCount = starNum;
		this.clearStarTimer();
		this.showStars(starNum);
		document.forms[this.formName]['rating'].value = this.starCount;
		var ratingElementId = this.ratingElementId;
		makeHttpRequest(this.formName, ratingResXML_new);
	}

	function clearStars() {
		this.starTimer = setTimeout(this.objectName + ".resetStars()", 100);
	}

	function resetStars() {
		this.clearStarTimer();
		if (this.starCount) {
			this.clearStarTimer();			
			this.showStars(this.starCount);
		} else {
			for (var i=1; i < this.maxStars + 1; i++)
				document.getElementById('star_' + i).src = XT_RATING_IMG_BG;
	
		}
		
		/*document.getElementById('ratingMessage').innerHTML = messages[0];*/
	}

	function clearStarTimer() {
		if (this.starTimer) {
			clearTimeout(this.starTimer);
			this.starTimer = null;
		}
	}

	function ratingResXML_new() {
		if (http_request.readyState == 4 && http_request.status == 200) {
			var res_code = http_request.responseXML.getElementsByTagName('res_code')[0].firstChild.data;
			var res_msg = http_request.responseXML.getElementsByTagName('res_msg')[0].firstChild.data;
			var rating = http_request.responseXML.getElementsByTagName('rating')[0].firstChild.data;

			if(res_code == 'SUCCESS') {
				var message = "Thanks for rating !";
				var ratingDiv = document.getElementById('ratingDiv');
				ratingDiv.innerHTML = message;
				document.getElementById('rateMeDiv').style.display='none';			
			} else if(res_code == 'BLOCKED') {
				var message = "Blocked By User";
				var ratingDiv = document.getElementById('ratingDiv');
				ratingDiv.innerHTML = message;
				document.getElementById('rateMeDiv').style.display='none';			
			} else if (res_code == 'SPAM') {
				var message = res_msg;
				var ratingDiv = document.getElementById('ratingDiv');
				ratingDiv.innerHTML = message;
				document.getElementById('rateMeDiv').style.display='none';			
			}	else {
				alert("An error occured while rating, please rate again !");
				ratingComponent.starCount = 0;
				ratingComponent.resetStars();
			}
		}		
	}

	this.showRatingResult = showRatingResult;
	this.clearStars = clearStars;
	this.clearStarTimer = clearStarTimer;
	this.resetStars = resetStars;
	this.setStars = setStars;
	this.showStars = showStars;

	}



