function validateForm() {

	var errorDiv = document.getElementById("errorBlock");
	var firstName = rtrim(document.getElementById("txtFirst").value);
	var lastName = rtrim(document.getElementById("txtLast").value);
	var email = rtrim(document.getElementById("txtEmail").value);
	var cellPhone = document.getElementById("txtCellPhone");
	var zip = rtrim(document.getElementById("txtZip").value);
	var promo = rtrim(document.getElementById("txtPromoCode").value);
    var chkPromoTerms = document.getElementById("chkPromoTerms");
    
    var profileEmailLbl = document.getElementById("profileEmail").getElementsByTagName("Label");
	var profileFirstLbl = document.getElementById("profileFirst").getElementsByTagName("Label");
	var profileLastLbl = document.getElementById("profileLast").getElementsByTagName("Label");
	var profileZipLbl = document.getElementById("profileZip").getElementsByTagName("Label");
	var profilePromoLbl = document.getElementById("promoCode").getElementsByTagName("Label");
		
	var txtSalonID = document.getElementById("txtSalonID");
	
	var errorMsg = ""
			
	if (firstName.length == 0){
        profileFirstLbl[0].className = "labelError";

        errorMsg = "* Please enter your first name.";
	 }
	 else {
        profileFirstLbl[0].className = "labelNoError";
	 }

	if (lastName.length == 0){
        profileLastLbl[0].className = "labelError";
        
        if (errorMsg != "") {
            errorMsg += "<br>";
        }
        
        errorMsg += "* Please enter your last name.";
	 }
	 else {
        profileLastLbl[0].className = "labelNoError";
	 }
	 	 
    if ( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email)){

        profileEmailLbl[0].className = "labelNoError";
	}
	
	else {
	
	    profileEmailLbl[0].className = "labelError";
	    
	    if (errorMsg != "") {
            errorMsg += "<br>";
        }
        
	    errorMsg += "* Please enter a valid email address.";
	}
	
	if (cellPhone != null) {
		var profileCellPhoneLbl = document.getElementById("profileCellPhone").getElementsByTagName("Label");
		
		if (cellPhone.value.length !=0) {
		    if ( !(/^\d{10}$/.test(cellPhone.value))){
	        	profileCellPhoneLbl[0].className = "labelError";
    	    
		        if (errorMsg != "") {
        	        errorMsg += "<br>";
	            }
            
		        errorMsg += "* Please enter a valid cell phone number.";
		     }	     
		     else {
	        	profileCellPhoneLbl[0].className = "labelNoError";
		     }
		}
	}
	    
    if (zip.length == 0 || zip.length < 5){
	
        profileZipLbl[0].className = "labelError";

        if (errorMsg != "") {
            errorMsg += "<br>";
        }
        
        errorMsg += "* Please enter your zip code.";
	 }
	 else {
        profileZipLbl[0].className = "labelNoError";
	 }

    if (promo.length == 0 && promoRequired == 'True') {
       profilePromoLbl[0].className = "labelError";
       
       if (errorMsg != "") {
           errorMsg += "<br>";
       }
       
       errorMsg += "* Please enter your " + promoField + ".";
	}
	else {
        if (promoLength > 0 && promo.length != promoLength){
            profilePromoLbl[0].className = "labelError";
       
            if (errorMsg != "") {
                errorMsg += "<br>";
            }
       
            errorMsg += "* " + promoField + " must be " + promoLength + " characters long.";
	        }
	    else {
            profilePromoLbl[0].className = "labelNoError";
	    }
	}
    try{
	    txtSalonID.value = salonIds;
        var locatorLbl = document.getElementById("locatorLbl");
        
        if (salonIds == "" && salonRequired == 'True'){
            if (errorMsg != "") {
                errorMsg += "<br>";
            }
            locatorLbl.className = "labelError";
            errorMsg += "* Please select your preferred salon.";
        }
        else {
            locatorLbl.className = "labelNoError";
        }			
	}
	catch(err){
	}
	if (chkPromoTerms != null) {
	    var profileTermsLbl = document.getElementById("promoAcceptance").getElementsByTagName("Label");
        if (!chkPromoTerms.checked) {
            if (errorMsg != "") {
                errorMsg += "<br>";
            }
            profileTermsLbl[0].className = "labelError";
            errorMsg += "* Please indicate acceptance of the promotion terms.";
        }
        else {
            profileTermsLbl[0].className = "labelNoError";
        }
    }
    if (errorMsg != "") {
        window.scroll(0, 0)
        errorDiv.style.display = "block";
        errorDiv.innerHTML = errorMsg;
        return false;
    }
    else {
        setCookie("rg_FirstName", firstName);
    }
} 

