
/**
 * Rating Object
 */
var Rating = {

	limit : 5,

	clicked : false,

	/**
	 * When a user clicks a star, set a hidden field value
	 * @param object obj
	 */
	Click : function(obj, average)
	{
		var ID = obj.id.replace(/[^0-9]+/, "");		
		document.getElementById("rating").value = ID;
		document.getElementById("rating_controls").className = "show";
	
		for (var i=1; i<=this.limit; i++)
			document.getElementById("mr_" + i).className = "";

		for (var i=1; i<=ID; i++)
			document.getElementById("mr_" + i).className = "hover";
	
		this.clicked = true;
	},

	/**
	 * When hovering over particular stars 
	 * @param object obj
	 */
	Over : function(obj)
	{
		var ID = obj.id.replace(/[^0-9]+/, ""); // obtain the numeric ID of the element

		for (var i=1; i<=this.limit; i++)
			document.getElementById("mr_" + i).className = "";

		for (var i=1; i<=ID; i++)
			document.getElementById("mr_" + i).className = "hover";
	},
	
	/**
	 * When a user moves out of the stars we need to reset the layout
	 * @param object obj
	 * @param integer average
	 */
	Out : function(obj, average)
	{
		var ID = obj.id.replace(/[^0-9]+/, ""); // obtain the numeric ID of the element

		for (var i=1; i<=this.limit; i++)
			document.getElementById("mr_" + i).className = "";

		if (this.clicked == false)
		{
		 	for (var i=1; i<=average; i++)
				document.getElementById("mr_" + i).className = "star_on";
		}
		else
		{
		 	for (var i=1; i<=document.getElementById('rating').value; i++)
				document.getElementById("mr_" + i).className = "hover";
		}
	},
	
	
	/**
	 * Reset the rating system back to how it was
	 * @param integer average
	 */
	Reset : function(average)
	{
		for (var i=1; i<=this.limit; i++)
			document.getElementById("mr_" + i).className = "";

	 	for (var i=1; i<=average; i++)
			document.getElementById("mr_" + i).className = "star_on";
			
		document.getElementById("rating").value = "";
		document.getElementById("rating_controls").className = "hide";
	}
	
	
	
}