// Tabs navigation 
function tabsNav(){
	$("div[id^='tab']").hide();
	$("ul.content_nav li:first").addClass("on").show();
	$("div[id^='tab']:first").show();	
	
	$(".tabsController li a").click(function(event){
		event.preventDefault();
		$(".tabsController li").removeClass("on");
		$(this).parent().addClass("on");
		$("div[id^='tab']").hide();
		var activeTab = $(this).attr("href");
		$(activeTab).show();
	});
}

// Form Validation
var classReg = new RegExp(/^chk/);
var regTxt = new RegExp(/^[\d]/);
var regZipCode = new RegExp(/^[0-9]{5}$/);
var regPhone = new RegExp(/^[0-9]{10}$/);
var mailReg = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/);
var errorMail = "Erreur dans la saisie de l'email";
var errorPhone = "Erreur phone";
var errorPostCode = "Erreur code postal";

var errorSubmit = false;

// ! Account Form
function checkContactForm(elt){
	var inputValue = jQuery(elt).attr("value");
	var eltClass = jQuery(elt).attr("class").split(" ");
	eltClass = jQuery.grep(eltClass, function(txt){
		return (classReg.test(txt));
    });
	
	switch (eltClass[0]) {
		case "chkMail":
			var matchDigits = inputValue.match(mailReg);
			switch (matchDigits) {
				case null:
					displayErrorLine(jQuery(elt), errorMail);
					break;
				default:
					displayCorrectLine(jQuery(elt));
			}
			var confirmMailBlock = jQuery(elt).parent().next().find(".chkMailConfirm");
			if (confirmMailBlock.length) {
				jQuery(confirmMailBlock).trigger("blur");
			}
			break;
		case "chkZipCode":
			if (regZipCode.test(inputValue) == false || !inputValue.length) {
				displayErrorLine(jQuery(elt), errorPostCode);
			}
			else {
				displayCorrectLine(jQuery(elt));
			}
			break;
		case "chkPhoneNumber":
			if (regPhone.test(inputValue) == false || !inputValue.length) {
				displayErrorLine(jQuery(elt), errorPhone);
			}
			else {
				displayCorrectLine(jQuery(elt));
			}
			break;
	}
}

// Display Error Line
function displayErrorLine(elt, errorMsg){
	jQuery(elt).parent().removeClass("correctLine");
	jQuery(elt).parent().addClass("errorLine");
	if (jQuery(elt).siblings(".errorMsg").length) {
		jQuery(elt).siblings(".errorMsg").html(errorMsg);
	}
	else {
		jQuery(elt).parent().append("<p class=\"errorMsg\">" + errorMsg + "</p>");
	}
	errorSubmit = true;
}
// Display Correct Line
function displayCorrectLine(elt){
	jQuery(elt).parent().removeClass("errorLine");
	jQuery(elt).parent().addClass("correctLine");
	jQuery(elt).siblings(".errorMsg").remove();
	
	errorSubmit = true;
}

function submitContactForm(){
	errorSubmit = false;
	jQuery("#contactForm input[class*=chk]").each(function (){
		checkContactForm(jQuery(this));
	});	
	if (errorSubmit == true){
		var errorOffset = jQuery(".errorLine:first").offset();
		jQuery(".formAlert").css("display","block");
		window.scrollTo(errorOffset.left, errorOffset.top);
		return false;
	}
}

// Init functions
$(document).ready(function () {
	tabsNav();
	jQuery("#contactForm").bind("submit", submitContactForm);
 });
