selectLangBlock = function(el){
	var text = $(el).html();
	$(el).parents("li").remove();
	$("#menuLangue.dropdown dt a span").html(text);
	//$("#menuLangue.dropdown dd ul").hide();
	if(!$("#menuLangue.dropdown dd ul").hasClass("offAndAccessible")) {
		$("#menuLangue.dropdown dd ul").addClass("offAndAccessible");
	}
}

$(document).ready(function() {
	
	//init navigation
	$("#navigation").initNav();
	
	//init lang
	//$("#langNav .langMenu").initLang();
	
	//init shortcuts
	$("#shortcutsWrapper .access-shortcuts").initShortcuts();
	
	//init test
	$("#testForm").initTestForm();

	//back to top
	
	/* Menu de langues */
	$("#menuLangue.dropdown dt a").bind('mouseover focus',function() {
		//$("#menuLangue.dropdown dd ul").toggle();
		if($("#menuLangue.dropdown dd ul").hasClass("offAndAccessible")) {
			$("#menuLangue.dropdown dd ul").removeClass("offAndAccessible");
			$("#menuLangue.dropdown dt").addClass("active");
		}
	});
	
	$("#menuLangue.dropdown dd ul").bind('mouseleave blur',function() {
		if(!$("#menuLangue.dropdown dd ul").hasClass("offAndAccessible")) {
			$("#menuLangue.dropdown dd ul").addClass("offAndAccessible");
			$("#menuLangue.dropdown dt").removeClass("active");
		}
	});
	
	$("#menuLangue.dropdown dd ul li a").click(function() {
		selectLangBlock(this);
	});

	selectLangBlock($("#menuLangue.dropdown dd ul li.selected a"));
});

(function($) {
	$.fn.initNav = function(options) {
		var defaults = {
			offClass : "offAndAccessible",
			activeClass : "active",
			timeOut : 200			
		};
		
		var options = $.extend(defaults, options);
		var obj = $(this);
		var sections = obj.find(' > li');
		var subnavs = sections.find('> ul');
		var a = 0;
		
		var deviceAgent = navigator.userAgent.toLowerCase();
		//var agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/);
		var pattern = /iphone|ipod|ipad|android/;
		var agentID = pattern.test(deviceAgent);
		
		subnavs.addClass(options.offClass);

		sections.each(function(){
			var section = $(this);
			var subMenu = section.find('> ul');
			var liens = section.find("a, span");
			
			liens.bind("mouseover focus", function() {
				sections.not(section).removeClass(options.activeClass);
				subnavs.not(subMenu).addClass(options.offClass);
				section.addClass("active");
				subMenu.removeClass(options.offClass);
				window.clearTimeout(a);
				$(this).removeClass("click");
				//b.not(g).hide();
				//g.show()
			});
			liens.bind("mouseleave blur", function() {
					a = window.setTimeout(function() {
						section.removeClass(options.activeClass);
						subMenu.addClass(options.offClass);
					}, options.timeOut);
					$(this).removeClass("click");
			});
			liens.bind("click", function(e) {
					e.preventDefault();
					var href = $(this).attr("href");
					var toClick = false;
					
					if(agentID && $(this).hasClass("btnSection") && $(this).next("ul").size()>0) {
						if(!$(this).hasClass("click")){
							$(this).addClass("click");
						} else {
							toClick = true;
						}
					} else {
						toClick = true;
					}
					if(toClick) {
						document.location = href;
					}
			});
			
		});
		
		return this;				
	};
	
	$.fn.initLang = function(options) {
		var defaults = {
			offClass : "offAndAccessible",
			activeClass : "active",
			timeOut : 200			
		};
		var options = $.extend(defaults, options);
		var obj = $(this);
		var sections = obj.find(' > li');
		var subnavs = sections.find('> ul');
		var a = 0;
		
		subnavs.addClass(options.offClass);

		sections.each(function(){
			var section = $(this);
			var subMenu = section.find('> ul');
			var liens = section.find("a");

			liens.bind("mouseover focus", function() {
				sections.not(section).removeClass(options.activeClass);
				subnavs.not(subMenu).addClass(options.offClass);
				section.addClass("active");
				subMenu.removeClass(options.offClass);
				window.clearTimeout(a);

			});
			liens.bind("mouseleave blur", function() {
					a = window.setTimeout(function() {
						section.removeClass(options.activeClass);
						subMenu.addClass(options.offClass);
					}, options.timeOut)
			})
			
		});
		
		return this;				
	};
	
	$.fn.initShortcuts = function(options) {

		var obj = $(this);
		obj.find('a').focus(function(e) {obj.css('height', 'auto'); });
		obj.find('a').blur(function(e) {obj.css('height', '0px'); }); 		
		
		return this;				
	};
	
	$.fn.initTestForm = function(options) {
		var obj = $(this);
		var form = new Array();
		var alertLangs = new Array();
		alertLangs["fr"] = new Array();
		alertLangs["en"] = new Array();
		
		alertLangs["fr"]["nom_empty"] = "Saisir votre nom";
		alertLangs["fr"]["email_empty"] = "Saisir votre e-mail";
		alertLangs["fr"]["email_invalid"] = "Votre e-mail est invalide";
		alertLangs["fr"]["pays_empty"] = "Saisir votre pays";
		
		alertLangs["en"]["nom_empty"] = "Fill in your name";
		alertLangs["en"]["email_empty"] = "Fill in your e-email";
		alertLangs["en"]["email_invalid"] = "Your e-mail is invalid";
		alertLangs["en"]["pays_empty"] = "Fill in your country";
		
		obj.find(".inputTxt").each(function(){	
			var name = $(this).attr("name");
			form[name] = $(this).val();
			$(this).focus(function(){
				if($(this).val() == form[name]) {$(this).val("")}
			});
			$(this).blur(function(){
				if($(this).val() == "") {$(this).val(form[name]);}
			});
		});
		
		obj.find(".btnSubmit").click(function(){
			var objForm = $(this).closest("form");
			var error = 0;
			var lang = objForm.attr("class");
			var objNom = $("#nom", objForm);
			var nameNom = objNom.attr("name");
			var objMail = $("#mail", objForm);
			var nameMail = objMail.attr("name");
			var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
			var objPays = $("#pays", objForm);
			var namePays = objPays.attr("name");
			
			$("input", objForm).removeClass("formAlert");
			$("p.errorMsg", objForm).remove();
			
			if(objNom.val().length==0 || objNom.val()==form[nameNom]) {
				error++;
				objNom.addClass("formAlert");
				objNom.after("<p class=\"errorMsg\">"+alertLangs[lang]["nom_empty"]+"</p>");
			}
			if(objMail.val().length==0 || objNom.val()==form[nameMail]) {
				error++;
				objMail.addClass("formAlert");
				objMail.after("<p class=\"errorMsg\">"+alertLangs[lang]["email_empty"]+"</p>");
			}
			else if(objMail.val().search(emailRegEx) == -1) {
				error++;
				objMail.addClass("formAlert");
				objMail.after("<p class=\"errorMsg\">"+alertLangs[lang]["email_invalid"]+"</p>");
			}
			if(objPays.val().length==0 || objPays.val()==form[namePays]) {
				error++;
				objPays.addClass("formAlert");
				objPays.after("<p class=\"errorMsg\">"+alertLangs[lang]["pays_empty"]+"</p>");
			}
			if(!error) {
				objForm.submit();
			}
		});

	};
	
})(jQuery);
