docElement = document.documentElement;
docElement.className = docElement.className.replace(/\bno-js\b/, '') + 'js ';

var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var contactFields = ["#contactname", "#contactnameemail", "#contactmessage"];

$(document).ready(function() {
	$("ul#nav li").hoverIntent({
		interval: 200,
		over: showSub, 
		timeout: 500,
		out: hideSub
	});
	initContact();
	$('#contactfooter').ajaxForm({
        dataType:  'json', 
		beforeSubmit: validateContact,
        success:   processContact 
    });
	function showSub(){ $(this).find('ul').fadeIn('slow'); }
	function hideSub(){ $(this).find('ul').fadeOut('fast'); }
});

function initContact() {
	for(var i=0; i < contactFields.length; i++) {
		var $obj = $(contactFields[i]);
		$obj.focus(function(){
            $(this).removeClass('error');
        }).blur (function(){
            $(this).removeClass('error');
        });
	}
}
function processContact(data) {
	if (data.stat == 'ok') {
		$('form#contactfooter').fadeOut('fast', function() {
			var parent = $(this).parent();
			var html = '<p>Merci, votre message a été envoyé<p>';
			$(this).remove();
			parent.append(html);	
		});
	} else {
			
	}
}

function validateContact(){
    var error = false;
    var errorFields = [];

    var name = jQuery.trim($(contactFields[0]).val());
    var email = jQuery.trim($(contactFields[1]).val());
    var message = jQuery.trim($(contactFields[2]).val());
	
    if(name.length==0 || name == 'Nom'){
        error = true;
        errorFields.push("#contactname");
    }
    if(!emailPattern.test(email)){
        error = true;
        errorFields.push("#contactnameemail");
    }
	if(message.length==0 || message== 'Message'){
        error = true;
        errorFields.push("#contactmessage");
    }
	for(var i = 0; i < errorFields.length; i++){
        $(errorFields[i]).addClass("error");
    }
	if(error) {
		var html = 'Field is empty or invalid';
		$('div.errors').html(html);
	}
    return !error;
}
