$(function(){

	var PC_PATH = "http://www.phraseculte.fr/";
	var PC_PATH_IMG = PC_PATH + "img/";
	
	$.ajaxSetup({
		url: PC_PATH + "index.php",
		type: "POST"
	});
	
	function isset(v) {return((typeof(v)=='undefined' || v.length==0)?false:true);}
	function empty(v) {return(v=='' || v==0 || v==null || v=='undefined');}
	function preload(imgSrc) {var image = new Image();image.src = PC_PATH_IMG + imgSrc;}
	
	function loader(targetImgId,loaderImgSrc){
		var loaderSrc = PC_PATH_IMG;
		if(isset(loaderImgSrc)) loaderSrc += loaderImgSrc; else loaderSrc += 'loader.gif';
		var loaderHtml = "<div class='center'><img id='loader' src='"+loaderSrc+"' alt='' /></div>";
		$(targetImgId).html(loaderHtml);
	}

	function loadPage(params){
		//console.log(params);
		//console.log('isset(target) :: '+isset(params.target));
		
		if(!isset(params)) var params = {};
		if(!isset(params.target)) params.target = "#admin";
		if(!isset(params.data)) params.data = ''; else if(!empty(params.data)) params.data += '&';
		if(!isset(params.successFunc)) params.successFunc = function(data){$(params.target).html(data);};
		if(!isset(params.dataType)) params.dataType = 'html';
		if(!isset(params.loading)) params.loading = true;
		if(!isset(params.targetImgId)) params.targetImgId = params.target;
		
		params.data += 'r='+params.page;
		// console.log(params.data);
		
		if(params.loading) loader(params.targetImgId,params.loaderImgSrc);
		$.ajax({
			dataType: params.dataType,
			data: params.data,
			success: params.successFunc
		});	
		return false;
	}
	
	function animateSentence() {
		$("#sentence-box .on").fadeIn("slow", function(){
			setTimeout(function() {
				$("#sentence-box .on").fadeOut("slow", function(){
					$(this).removeClass('on');
					if($(this).next().size() == 0) {
						$("#sentence-box .sentence-container:first").addClass("on");
					} else {
						$(this).next().addClass("on");
					}
					animateSentence();
				});
			},8000);

		});
	}
	
	$("#sentence-box .sentence-container:first").addClass("on");
	animateSentence();
	
	$('.rate-sentence').rating({
		required: true,
		callback: function(value, link){		
			if(value=='') return false;
			
			var oThis			= $(this);
			var oElement		= $(link).parents(".note");
			var sElementName	= oElement.attr("id");
			var oTip			= oElement.children('.note-tip');
			var iSentenceId		= sElementName.split("-")[1];
			var sData			= "ajax=true&sentenceId="+iSentenceId+"&note="+(parseInt(value)+1);
			var sTarget			= "#note-"+iSentenceId+" .note-tip";
			
			//console.log($(link).parents(".note").attr("id"));
			//console.log("The value selected was " + value);
			
			var successFunc = function(data) {
				// oElement.children(".star-rating-control").remove();
				oThis.rating('readOnly',true);
				oTip.removeClass('note-tip').addClass('thanks').html("Merci d'avoir noté la phrase culte !");
			};
			
			var params = {page:'rate',data:sData,target:sTarget,loaderImgSrc:'mini-loader.gif',successFunc:successFunc};
			loadPage(params);
		},
		focus: function(value, link){
			var tip = $(link).parents(".note").children('.note-tip');
			tip[0].data = tip[0].data || tip.html();
			tip.html(link.title || 'value: '+value);
		},
		blur: function(value, link){
			var tip = $(link).parents(".note").children('.note-tip');
			tip.html(tip[0].data || '');
		}
	});
	
	var to = 0;
	// search autocomplete input
	$('#qsearch').keypress(function(e) {
		var code = (e.keyCode ? e.keyCode : e.which);
		if (code == 13) {
			// e.preventDefault();
		} else {
			if (to != 0) clearTimeout(to);
			to = setTimeout(function() {return getSearch();}, 500);
		}
	})
	.focus(function() {if($(this).val() == $(this).attr('data-default')) $(this).val('');})
	.blur(function() {if($(this).val() == '') $(this).val($(this).attr('data-default'));});
});

function gopc() {
	iArguments = arguments.length;
	sLink = "http://www.phraseculte.fr/phrase-culte-";
	for (var i = 0; i < iArguments; i++)
	{
	  sLink += arguments[i];
	  if(i != (iArguments-1)) sLink += "-";
	}
	sLink += ".html";
	document.location.href = sLink;
	return false;
}

function getSearch() {
	if($('#qsearch').val().length == 0) return false;
	$.ajax({
		type: "POST",
		data: {r:'search',ajax:true,q:$('#qsearch').val()},
		success: function(data){
			if(data.length == 0) {$('#qsearch-ac').remove();return false;}
			if($('#qsearch-ac').size() == 0) 
				$('#search-wrap').append($('<div>').attr('id', 'qsearch-ac'));
			
			$('#qsearch-ac').html(data);
			$('#qsearch-ac ul li a').click(function() {
				$('#qsearch').val($(this).attr('data-author'));
				$('#qsearch-ac').remove();
				$('#search-form').submit();
				return false;
			});
		}
	 });
}
