$(document).ready(function(){
	
	//Expression régulière pour tester l'e-mail
    var filter_mail = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
	var filter_name = /^[A-Za-z0-9 ]{3,20}$/;
	
	var error_list = new Array();
		error_list['name'] = 0;
		error_list['mail'] = 0;
		error_list['message'] = 0;
	
	$('input').live('focusin',function() {
		var inputType = $(this).attr('id');
		$('#'+inputType).removeClass('error');			
	});

	//Fonction de validation Name
	var validateName = function (){
	   var name = $('#name').val();
        //if it's valid email
        if((name.length < 2) || (!filter_name.test(name)) || (name == "Your name")){
			$('#name').addClass('error');
			error_list['name'] = 1;
            return false;
        }
        else {
			error_list['name'] = 0;
			return true;
        }
    }
	
	//Fonction de validation Email
	var validateEmail = function (){
	   var a = $('#mail').val();
        //if it's valid email
        if((a=="") || (!filter_mail.test(a)) || (a == "Your e-mail address")){
			$('#mail').addClass('error');
			error_list['mail'] = 1;
            return false;
        }
        else {
			error_list['mail'] = 0;
		   	return true;
        }
    }
	
	//Fonction de validation Message
	var validateMessage = function (){
	   var message = $('#message').val();
        //if it's valid message
        if((message.length == "")){
			$('#message').addClass('error');
			error_list['message'] = 1;
            return false;
        }
        else {
			error_list['message'] = 0;
			return true;
        }
    }

    //Traitement après envoi.
    $('#sendForm').live('click', function(){
		validateName();
		validateEmail();
		validateMessage();

		var name = $('#name').val();
		name = name.replace(/ /g, "_");
		var mail = $('#mail').val();
        var message = $('#message').val();
        var sendForm = $('#sendForm').val();
		
		var error_count = (error_list['name'] + error_list['mail'] + error_list['message']);
		
		if (error_count > 0) {    	
			if((error_list['name'])== 1) {
				$('#name').addClass('error');
			}
			if ((error_list['mail'])== 1) {
				$('#mail').addClass('error');
			}
			if ((error_list['message'])== 1) {
				$('#message').addClass('error');
			}
			return false;
		}
		else {
			var donneesEnvoyees = 'name='+name+'&mail='+mail+'&message='+message+'&sendForm='+sendForm;
            var urlDuFormulaire = $('#contactForm').attr('action');
            $.ajax({
                type:'post',
                url: urlDuFormulaire,
                data: donneesEnvoyees,
                beforeSend : function(){
				$('#sendForm').fadeOut(300,function() {
					$('#progress').fadeIn(300);		
				});
						
            	},
				success: function(){
                    $('#contactForm input, #contactForm textarea').not('#sendForm').val('');
					$('#progress').fadeOut(300, function(){
						$('#sendForm').fadeIn(300);
						$('p.sent').fadeIn(300).delay(3000).fadeOut(300);
						$('#name').attr('value','Your name');
						$('#mail').attr('value','Your e-mail address');
						$('#message').attr('value','Hello Rekorder !');
					});
                }
            });	
			return false;
		}
    });
});
