$(document).ready(function() {
    $("#devisForm").bind('submit', function(){
        var sMessage = "";
        var sMessageError = "";
               
		// Verif Prestations 
        document.getElementById("p_PrestaParagraph").style.border="0px solid white";
        if ( !$('#p_Presta1').is(':checked') 
          && !$('#p_Presta2').is(':checked') 
          && !$('#p_Presta3').is(':checked') 
          && !$('#p_Presta4').is(':checked') 
          && !$('#p_Presta5').is(':checked') 
          && !$('#p_Presta6').is(':checked') 
        ) {
            errorItem("#p_PrestaParagraph");

            document.getElementById("p_PrestaParagraph").style.border="1px dashed #009AD5";
        	if(sMessage != "") sMessage += ", ";
            sMessage += "Prestación";
        } else {
            document.getElementById("p_PrestaParagraph").style.background="none";
        }
			   
		// Verif Nom
        clearItem("#p_Nom");
        if ( jQuery.trim($("#p_Nom").val()).length==0 || jQuery.trim($("#p_Nom").val()) == "Apellido" ) {
            errorItem("#p_Nom");
            if(sMessage != "") sMessage += ", ";
            sMessage += "Apellido";
        }
        
        // Verif Prenom
        clearItem("#p_Prenom");
        if ( jQuery.trim($("#p_Prenom").val()).length==0 || jQuery.trim($("#p_Prenom").val()) == "Nombre" ) {
            errorItem("#p_Prenom");
            if(sMessage != "") sMessage += ", ";
            sMessage += "Nombre";
        }
        
        // Verif Email
        clearItem("#p_Email");
        if ( jQuery.trim($("#p_Email").val()).length==0 || jQuery.trim($("#p_Email").val()) == "E-mail" ) {
            errorItem("#p_Email");
            if(sMessage != "") sMessage += ", ";
            sMessage += "E-mail";
        } else {
			if(isValidEmailAddress(jQuery.trim($("#p_Email").val())) == false) {
            	if(sMessage != "") sMessage += ", ";
				sMessage += "E-mail <b>no es correcto</b>";
            	errorItem("#p_Email");
			}
        }

        // Verif Telephone
        clearItem("#p_Tel");
        if ( jQuery.trim($("#p_Tel").val()).length==0 || jQuery.trim($("#p_Tel").val()) == "Teléfono" ) {
            errorItem("#p_Tel");
            if(sMessage != "") sMessage += ", ";
            sMessage += "Teléfono";
        } else {
			if(isValidNumberPhone(jQuery.trim($("#p_Tel").val())) == false) {
				if(sMessage != "") sMessage += ", ";
				sMessage += " Teléfono <b>no es correcto</b>";
            	errorItem("#p_Tel");
			}
        }
                        
        // Verif informations
        clearItem("#p_Informations");
        if ( jQuery.trim($("#p_Informations").val()).length==0) {
            errorItem("#p_Informations");
            if(sMessage != "") sMessage += ", ";
            sMessage += "Informaciónes adicionales";
        }       		
        
		if(sMessage != '') {
			$("div#sMessageForm").addClass("error");
			sMessageError = "<b>Los campos siguientes no estan rellenados correctamente :</b> <br />";
		
			if(sMessage != '') sMessageError += sMessage;
			
			$("div#sMessageForm").html(sMessageError);
	
			document.getElementById('p_Valid').value = "0";
			return false;
		} else {
			document.getElementById('p_Valid').value = "1";
			return true;
		}
    });
});


function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

function isValidNumber(champ) {
	var number = new RegExp(/^[-]?\d*\.?\d*$/);
	return number.test(champ);
}

function isValidNumberPhone(champ) {
	var number = new RegExp(/^[-]?\d*\.?\d*$/);
	while (champ.search(" ") != -1) {
		champ = champ.replace(" ", "");
	} 
	return number.test(champ);
}
function isUrl(urlAddress) {
	var pattern = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return pattern.test(urlAddress);
}


function clearItem(champ) {
    $(champ).css({borderColor: ''});
    $(champ).css({borderStyle: ''});
    $(champ).css({backgroundColor: ''});
	return true;
}

function errorItem(champ) {
	var sColorError = '#009AD5';
    $(champ).css({borderColor: sColorError});
    $(champ).css({borderStyle: "dashed"});
    $(champ).css({backgroundColor: "#bfe8f8"});

	return true;
}
