// JavaScript Document

//JQUERY FUNCTIONS:
$(function() {
	
	$(".hint").hint();
	
	$(".png").pngFix();

	//validate TERMS
	/*$("#form_petition").submit(function(e){						
		if(!check_terms_petition()) { e.preventDefault(); }
	});*/
	
	//validate terms on submit
	/*$("form.comments").submit(function(e){						
		if(!check_terms($(this).find(".le_theme").val())) { e.preventDefault(); }
	});*/
	
	//show form link
	$("a.show_form").click( function(e){ 
		e.preventDefault();
		$("form.comments").each(function(){
				if ($(this).is(":visible")) {
					$(this).hide();
				}
		});

		$(this).nextAll("form.comments").slideDown(500).find("input[type=text], textarea[name=comment]").val("");
		
	 });
	
	//loadmore link
	$("a.loadmore").click( function(e){ 
		e.preventDefault();
		
		loadmore($(this).attr("id").substr(1), $(this).attr("rel"), $(this));
		
	 });
	
	//hide form link
	$(".hide_form").click( function(e){ 
		e.preventDefault();
		$(this).parents("form.comments").slideUp(500);
	 });
	
	//submit button contactForm
	$("#contactForm").submit(function(e){
		if(!check_form_contact()) { e.preventDefault(); }
	});
	
	$(".reply").click(function(e){
		var le_area = "#area"+$(this).attr("rel");
		$(le_area).attr("value", "@"+$(this).attr("name")+": ").focus();
		$("form[name=termes"+$(this).attr("rel")+"]").slideDown(500);
	});
	
	var comp_txt = $("#compteur_txt").html();
	
	liftoffTime = new Date(2009,11,09);
	$('#textLayout').countdown({until: liftoffTime, 
    layout: '<span class="stats_countdown">{dn} {dl} {hn}h {mn}m {sn}s</span> <span class="phrase_countdown">'+comp_txt+'</span>'});
	
	//layout: '{sn} {sl}, {mn} {ml}, {hn} {hl} et {dn} {dl} avant la journée internationale contre la corruption'});
	
	
});

//Hint Function
jQuery.fn.extend({	
	//////////////////////////////////////////////////
	//////Text Hints in input
	//////////////////////////////////////////////////
	hint: function() {
		if(!$(this).length) { return false; }
		else {
			$(this).each(function() {
				var input = $(this);
				input.focus(function() {
					if($(this).val() == $(this).attr("title")) {
						$(this).val("").removeClass("hasHint");
					}
				}).blur(function() {
					if(jQuery.trim($(this).val()) == "") {
						$(this).val($(this).attr("title")).addClass("hasHint")
					}
				});
				
				input.parents("form").submit(function() {
					if(input.val() == input.attr("title")) { input.val(""); }
				});
				if(!$.trim($(this).val()).length) { $(this).val($(this).attr("title")).addClass("hasHint"); }
			});
		}
		return this;
	}
});


//check email
function echeck(str) {

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
		   $("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
		   $("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
			$("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
			$("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
			$("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
			$("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    if (LANG=="fr") { $("#contacterror").text("Adresse courriel invalide").fadeIn(1000); }
			else { $("#contacterror").text("Email address not valid").fadeIn(1000); }
			$("#orderForm input[name=courriel]").addClass("redbg"); $("#orderForm input[name=courriel]").focus();
		    return false
		 }

 		 return true					
}

//check contact form
function check_form_contact() {
	
	//hide notice
	$("#contacterror").hide(); $("#contactnotice").hide(); $("#contactsuccess").hide();
	
	//toggle back all classes
	$("#contactForm input").removeClass("redbg");
	$("#contactForm textarea").removeClass("redbg");
	
	//do check email function
	var emailID=$("#contactForm input[name=courriel]");
	
	if ((emailID.val()==null)||(emailID.val()=="")){
		if (LANG=="fr") { $("#contacterror").text("SVP entrez votre adresse courriel").fadeIn(1000); }
		else { $("#contacterror").text("Please enter an email address").fadeIn(1000); }
		$("#contactForm input[name=courriel]").addClass("redbg"); emailID.focus();
		return false
	}
	
	if (echeck(emailID.val())==false){
		emailID.focus();
		return false
	}
	
	//check fields
	if ($("#contactForm textarea[name=msg]").val().length  == 0) {
   	if (LANG=="fr") { $("#contacterror").text("SVP entrez votre message").fadeIn(1000); }
	else { $("#contacterror").text("Please enter a message").fadeIn(1000); }
	$("#contactForm textarea[name=msg]").addClass("redbg"); $("#contactForm textarea[name=msg]").focus();
	return false;
	}
	
	return true
}

//function loadmore
function loadmore(theme, page, el) {
	
	el.parents("div.comments").block({centerY:false, css:{bottom:"5%"}});
	
	$.get("/ajax/comments.tmpl?p="+page+"&theme="+theme, function(data) {

		el.parents("div.comments").unblock();
		
		var comments = el.parents("div.comments");
		var html = $(data);
		comments.append(html);
		el.remove();
		
		comments.find("a.loadmore").click( function(e){ 
			e.preventDefault();
			
			loadmore($(this).attr("id").substr(1), $(this).attr("rel"), $(this));
			
		 });
		
		html.find(".reply").click(function(e){
			e.preventDefault();
			var le_area = "#area"+$(this).attr("rel");
			$(le_area).attr("value", "@"+$(this).attr("name")+": ").focus();
			$("form[name=termes"+$(this).attr("rel")+"]").slideDown(500);
		});
		
	
	});
	
	
	
}
