/**
 * @author andmas
 */

var RateThis = {
	ratingChangeFill: function () {
		var thisParentDiv = $(this).parent().parent().parent();
		RateThis.highlightRating(this.className,thisParentDiv);
	},
	
	ratingChangeClear: function () {
		var currentRating = $(this).parent().parent().parent().find("input.scorevalue").attr("value");
		var thisParentDiv = $(this).parent().parent().parent();
		
		if (currentRating == "") {
			RateThis.clearHighlightStyle(thisParentDiv);
		}
		else { 
			RateThis.clearHighlightStyle(thisParentDiv);
			RateThis.highlightRating(currentRating,thisParentDiv);
		}
	},
	
	ratingChangeSubmit: function () {
		var thisParentDiv = $(this).parent().parent().parent();	
		RateThis.clearHighlightStyle(thisParentDiv);

		var ratingValueClicked = $(this).parent().attr("class");
		var hiddenField = $(this).parent().parent().parent().find("input.scorevalue");
		$(hiddenField).attr("value",ratingValueClicked);
		
		RateThis.highlightRating(this.className,thisParentDiv);
		return false;
	},
	
	highlightRating: function(switchValue, domObject) {
		switch (switchValue) {
			case "five":
				$(domObject).find("a.five").addClass("hilight");
			case "four":
				$(domObject).find("a.four").addClass("hilight");
			case "three":
				$(domObject).find("a.three").addClass("hilight");
			case "two":
				$(domObject).find("a.two").addClass("hilight");
			case "one":
				$(domObject).find("a.one").addClass("hilight");	
		}			
	},
	
	clearHighlightStyle: function(thisParentDiv) {
		$(thisParentDiv).find("ul.rateThisList a").each( function () {
			$(this).removeClass("hilight");
		});
	}
}

$(document).ready(function () {
	$("ul.rateThisList a").bind("mouseover", RateThis.ratingChangeFill);
	$("ul.rateThisList a").bind("mouseout", RateThis.ratingChangeClear);
	$("ul.rateThisList a").bind("click", RateThis.ratingChangeSubmit);
	
	$("div.section").each( function () {
		var hiddenRating = $(this).find("input.scorevalue").attr("value");
		RateThis.highlightRating(hiddenRating,this);
	});
});