$(document).ready(function(){

	$(".report_link").click(function(e) {
		e.preventDefault();
		var url = $(this).attr('href');
		var content = $(this).parent();
		var id_service = $(this).attr('href').split('/');
		id_service = id_service[id_service.length - 1];
		
		var success = function(retorno) {
			
			if (retorno.status == "report_success") {
				content.fadeTo("normal", 0.0, function(){
					content.html("Obrigado pela participação!");
					content.fadeTo("normal", 1.0);
				});
			} else {
				content.fadeTo("normal", 0.0, function(){
					content.html("Link já verificado nos últimos 180 dias. Obrigado!");
					content.fadeTo("normal", 1.0);
				});
			}
		
		}
		
		content.fadeTo("normal", 0.0, function(){
			content.text("Aguarde...");
			content.fadeTo("normal", 1.0, function(){
				call({'type' : 'GET', 'url' : url, 'data' : {id_service: id_service}, 'success' : success, 'noPreload' : true });
			});
		});
		
		return false;
	});
	
	$("div.rating ul li a").mouseover(function() {
		var content = $(this).parent().parent();
		var current = $(this);
		
		for (var i = 0; i < 5; i++) {
			content.find("li").eq(i).children().removeClass("rated");
		}
		
		for (var i = 0; i < parseInt(current.attr('rel')); i++) {
			content.find("li").eq(i).children().addClass("on");
		}
	});
	
	$("div.rating ul li a").mouseout(function() {
		$("div.rating ul li a").removeClass("on");
		
		var content = $(this).parent().parent();
		var servico = $(this).attr("href").split("/");
		
		for (var i = 0; i < parseInt($("#avg_" + servico[1]).val()); i++) {
			content.find("li").eq(i).children().addClass("rated");
		}
		
	});

	$("div.rating ul li a").click(function() {
		
		var elm = $(this).parent().parent().parent().parent().children("div:eq(2)");
		var content = $(this).parent().parent();
		var servico = $(this).attr("href").split("/");
		
		content.fadeTo("normal", 0.0);
		
		var success = function(retorno) {
			
			content.fadeTo("normal", 1.0);
			
			if (retorno.status == "rate_fail") {
				elm.html("Você já avaliou este serviço.");
			} else if (retorno.status == "rate_limit") {
				elm.html("Limite de avaliações excedido no momento.");
			} else {
				for (var i = 0; i < 5; i++) {
					content.find("li").eq(i).children().removeClass("rated");
				}
				
				for (var i = 0; i < parseInt(retorno.media); i++) {
					content.find("li").eq(i).children().addClass("rated");
				}
				
				$("#avg_" + servico[1]).val(retorno.media)
			}
			
			elm.css('opacity', 0.0);
			elm.css('visibility', 'visible');
			elm.fadeTo("normal", 1.0, function(){
				setTimeout(function() {
							elm.fadeTo("normal", 0.0);
				}, 2000);
			});
		
		}

		call({'type' : 'GET', 'url' : $(this).attr('href'), 'success' : success, 'noPreload' : true });
		
		return false;
	
	});
});