jQuery(document).ready(function() {
    jQuery("#myForm").bind('submit', function(){
        var bReturn = true;
        var sMessage = ""; // Informations CoordonnŽes
        var sMessage2= ""; // Informations Bien
        var sMessageError = "";
        
		var bNom = true;
		var bPrenom = true;
		var bEmail = true;
		var bAdresse1 = true;
		var bCPP = true;
		var bVille = true;
		var bTel = true;
		var bNbPiece = true;
		var bSurfaceHabitable = true;
		var bSurfaceTerrain = true;
		var bDelai = true;
		var bAdresseBien = true;
		var bCPPBien = true;
		var bVilleBien = true;
		
		var sColorError = 'rgb(255, 100, 100)';


		// Verif NOM
        clearItem("#p_Nom");
        if ( jQuery.trim(jQuery("#p_Nom").val()).length==0 ) {
            errorItem("#p_Nom");
            bReturn = false;
            bNom = false;
            sMessage += "Nom, ";
        }
        
		// Verif PRENOM
        clearItem("#p_Prenom");
        if ( jQuery.trim(jQuery("#p_Prenom").val()).length==0 ) {
            errorItem("#p_Prenom");
            bReturn = false;
            bPrenom = false;
            sMessage += "Pr&eacute;nom, ";
        }
        
		// Verif EMAIL
        clearItem("#p_Email");
        if ( jQuery.trim(jQuery("#p_Email").val()).length==0 ) {
            errorItem("#p_Email");
            sMessage += "Adresse email, ";
            bEmail = false;
            bReturn = false;
        } else {
			if(isValidEmailAddress(jQuery.trim(jQuery("#p_Email").val())) == false) {
				sMessage += " Adresse email <b>conforme</b>, ";
            	errorItem("#p_Email");
			}
        }
        
		// Verif ADRESSE1
        clearItem("#p_Adresse1");
        if ( jQuery.trim(jQuery("#p_Adresse1").val()).length==0 ) {
            errorItem("#p_Adresse1");
            sMessage += "Adresse postale, ";
            bAdresse1 = false;
            bReturn = false;
        }
        
		// Verif CPP
        clearItem("#p_CodePostal");
        if ( jQuery.trim(jQuery("#p_CodePostal").val()).length==0 ) {
            errorItem("#p_CodePostal");
            sMessage += "Code postal, ";
            bCPP = false;
            bReturn = false;
        } else {
			if(isValidNumber(jQuery.trim(jQuery("#p_CodePostal").val())) == false) {
				sMessage += " Code Postal <b>conforme</b>, ";
            	errorItem("#p_CodePostal");
			}
        }
        
		// Verif VILLE
        clearItem("#p_Ville");
        if ( jQuery.trim(jQuery("#p_Ville").val()).length==0 ) {
            errorItem("#p_Ville");
            sMessage += "Ville, ";
            bVille = false;
            bReturn = false;
        }
        
		// Verif TEL
        clearItem("#p_Tel");
        if ( jQuery.trim(jQuery("#p_Tel").val()).length==0 ) {
            errorItem("#p_Tel");
            sMessage += "Num&eacute;ro de t&eacute;l&eacute;phone, ";
            bTel = false;
            bReturn = false;
        } else {
			if(isValidNumberPhone(jQuery.trim(jQuery("#p_Tel").val())) == false) {
				sMessage += " T&eacute;l&eacute;phone <b>conforme</b>, ";
            	errorItem("#p_Tel");
			}
        }
        
		// Verif NB PIECES
		clearItem("#p_NbPieces");
		if (document.getElementById('p_Type').value != 'Terrain' && document.getElementById('p_Type').value != 'Immeuble') {
			if ( jQuery.trim(jQuery("#p_NbPieces").val()).length==0 ) {
				errorItem("#p_NbPieces");
				sMessage2 += "Nombre de pi&egrave;ces, ";
				bReturn = false;
				bNbPiece = false;
			} else {
				if(isValidNumber(jQuery.trim(jQuery("#p_NbPieces").val())) == false) {
					sMessage2 += " Nombre de pi&egrave;ces <b>conforme</b>, ";
					errorItem("#p_NbPieces");
				}
			}
		}
		
		// Verif SURFACE 
		clearItem("#p_SurfaceHabitable");
		if (document.getElementById('p_Type').value != 'Terrain' && document.getElementById('p_Type').value != 'Immeuble') {
			if ( jQuery.trim(jQuery("#p_SurfaceHabitable").val()).length==0 ) {
				errorItem("#p_SurfaceHabitable");
				sMessage2 += "Surface Habitable, ";
				bSurfaceHabitable = false;
				bReturn = false;
			} else {
				if(isValidNumber(jQuery.trim(jQuery("#p_SurfaceHabitable").val())) == false) {
					sMessage2 += " Surface Habitable <b>conforme</b>, ";
					errorItem("#p_SurfaceHabitable");
				}
			}
		}
		
		// Verif SURFACE TERRAIN
		clearItem("#p_SurfaceTerrain");
		if (document.getElementById('p_Type').value == 'Terrain') {
			if ( jQuery.trim(jQuery("#p_SurfaceTerrain").val()).length==0 ) {
				errorItem("#p_SurfaceTerrain");
				sMessage2 += "Surface Terrain, ";
				bSurfaceTerrain = false;
				bReturn = false;
			} else {
				if(isValidNumber(jQuery.trim(jQuery("#p_SurfaceTerrain").val())) == false) {
					sMessage2 += " Surface Terrain <b>conforme</b>, ";
					errorItem("#p_SurfaceTerrain");
				}
			}
		}
		
		// Verif DELAI DISPO
        clearItem("#p_DelaiDispo");
        if ( jQuery.trim(jQuery("#p_DelaiDispo").val()).length==0 ) {
            errorItem("#p_DelaiDispo");
            sMessage2 += "D&eacute;lai de disponibilit&eacute;, ";
            bDelai = false;
            bReturn = false;
        }
        
		// Verif Adresse Bien
        clearItem("#p_AdresseBien");
        if ( jQuery.trim(jQuery("#p_AdresseBien").val()).length==0 ) {
            errorItem("#p_AdresseBien");
            sMessage2 += "Adresse";
            bAdresseBien = false;
            bReturn = false;
        }
        
        // Verif CP BIEN
        clearItem("#p_CPBien");
        if ( jQuery.trim(jQuery("#p_CPBien").val()).length==0 ) {
            errorItem("#p_CPBien");
            sMessage2 += "Code Postal, ";
            bCPPBien = false;
            bReturn = false;
        } else {
			if(isValidNumber(jQuery.trim(jQuery("#p_CPBien").val())) == false) {
				sMessage2 += " Code Postal <b>conforme</b>, ";
            	errorItem("#p_CPBien");
			}
        }

		// Verif Ville
        clearItem("#p_VilleBien");
        if ( jQuery.trim(jQuery("#p_VilleBien").val()).length==0 ) {
            errorItem("#p_VilleBien");
            sMessage2 += "Ville, ";
            bVilleBien = false;
            bReturn = false;
        }
                
		
		if(sMessage != '' || sMessage2 != '') {
			jQuery("div#sMessageForm").addClass("error");
			sMessageError = "<b>Attention, voici la liste des champs &agrave; compl&eacute;ter :</b> <br />";
		
			if(sMessage != '') {
				sMessageError += "<b>Vos coordonn&eacute;es : </b> ";
				sMessageError += sMessage + "<br />";
			}
			
			if(sMessage2 != '') {
				sMessageError += "<b>Votre bien : </b> ";
				sMessageError += sMessage2;
			}
			jQuery("div#sMessageForm").html(sMessageError);
	
			document.getElementById('p_Valid').value = "0";
			return false;
		} else {
			document.getElementById('p_Valid').value = "1";
			return true;
		}
		alert(document.getElementById('p_Valid').value);
    });
});


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 clearItem(champ) {
	jQuery(champ).parent("td").parent("tr").css({color: ''});
    jQuery(champ).css({borderColor: ''});
	return true;
}

function errorItem(champ) {
	var sColorError = 'rgb(255, 100, 100)';
	jQuery(champ).parent("td").parent("tr").css({color: sColorError});
    jQuery(champ).css({borderColor: sColorError});
	return true;
}
