$(document).ready(function()
{
	if ($(".rating-container").length > 0) {
		var rcc = $(".rating-container").attr("class").split(" ");
		var lang_id = 0;
		for(i=0;i<rcc.length;i++) {
			if(rcc[i].indexOf("ateval-") != -1) {
				var get_data = rcc[i].replace("rateval-", "").split("-");
				lang_id = get_data[1];
			}
		}
		if(lang_id == '1') {
			var stars = $(".rating-star-line a");
			$(".rating-star-line").mouseleave(function()
			{
				stars.removeClass("rating-highlight").removeClass("rating-unhighlight");
			});
			initStars();
		}
		else {
			$(".rating-star-line a").click(function(){
				return false;
			});
		}
	}
});

function initStars()
{
	var container = $(".rating-container");
	var stars = $(".rating-star-line a");
	$(".rating-star-line").mouseleave(
	    function()
	    {
		    stars.removeClass("rating-highlight")
		    		.removeClass("rating-unhighlight")
		        .removeClass("rating-un-nr3")
		        .removeClass("rating-un-nr5")
		        .removeClass("rating-un-nr8")
		        .removeClass("rating-hi-nr3")
		        .removeClass("rating-hi-nr5")
		        .removeClass("rating-hi-nr8");
	    });
	stars.mouseenter(
	    function()
	    {
		    $(this).addClass("rating-highlight").removeClass("rating-unhighlight");
		    $(this).prevAll("a").addClass("rating-highlight").removeClass(
		        "rating-unhighlight");
		    $(this).nextAll("a").addClass("rating-unhighlight").removeClass(
		        "rating-highlight");
		    // exception for progress bars
		    if($(".star-nr3-full, .star-nr3-none").attr("class").indexOf("rating-highlight") != -1) {
		    	$(".star-nr3-full, .star-nr3-none").addClass("rating-hi-nr3");
		    	$(".star-nr3-full, .star-nr3-none").removeClass("rating-un-nr3");
		    }
		    if($(".star-nr3-full, .star-nr3-none").attr("class").indexOf("rating-unhighlight") != -1) {
		    	$(".star-nr3-full, .star-nr3-none").removeClass("rating-hi-nr3");
		    	$(".star-nr3-full, .star-nr3-none").addClass("rating-un-nr3");
		    }
		    if($(".star-nr5-full, .star-nr5-none").attr("class").indexOf("rating-highlight") != -1) {
		    	$(".star-nr5-full, .star-nr5-none").addClass("rating-hi-nr5");
		    	$(".star-nr5-full, .star-nr5-none").removeClass("rating-un-nr5");
		    }
		    if($(".star-nr5-full, .star-nr5-none").attr("class").indexOf("rating-unhighlight") != -1) {
		    	$(".star-nr5-full, .star-nr5-none").removeClass("rating-hi-nr5");
		    	$(".star-nr5-full, .star-nr5-none").addClass("rating-un-nr5");
		    }
		    if($(".star-nr8-full, .star-nr8-none").attr("class").indexOf("rating-highlight") != -1) {
		    	$(".star-nr8-full, .star-nr8-none").addClass("rating-hi-nr8");
		    	$(".star-nr8-full, .star-nr8-none").removeClass("rating-un-nr8");
		    }
		    if($(".star-nr8-full, .star-nr8-none").attr("class").indexOf("rating-unhighlight") != -1) {
		    	$(".star-nr8-full, .star-nr8-none").removeClass("rating-hi-nr8");
		    	$(".star-nr8-full, .star-nr8-none").addClass("rating-un-nr8");
		    }
	    }).click(
	    function()
	    {
		    var mySelect = parseInt($(this).index()) + 1;
		    var str = container.attr("class");
		    var get_data = "";
		    if ($.isArray(str)) {
			    for (i = 0; i < str.length; i++) {
				    if (str[i].indexOf("ateval-") != -1) {
					    get_data = str[i].replace("rateval-", "");
				    }
			    }
		    } else {
			    str = str.split(" ");
			    for (i = 0; i < str.length; i++) {
				    if (str[i].indexOf("ateval-") != -1) {
					    get_data = str[i].replace("rateval-", "");
				    }
			    }
		    }
		    $.getJSON(httpPath + 'ajax/presentation/user_rating/save_rating.php?gd='
		        + get_data + '-' + mySelect, function(data)
		    {
			    switch (parseInt(data.code))
			    {
				    case 200:
					    $(".rating-star-line").replaceWith(data.content.toString());
					    $(".rating-label-second").html(data.rating.toString());
					    initStars();
					    break;
				    case 400:
					    alert(data.message);
					    break;
				    case 401:
					    alert(data.message);
					    location.href = httpPath+'profile/login.html?redir='+encodeURIComponent(document.location);
					    break;
			    }
		    });
		    return false;
	    });
}
