var salonRequired;

function toggleReminder() {
    var reminder = document.getElementById("chkReminder");
    var reminderBlock = document.getElementById("profileReminderBlock");
    
     if (reminder != null) {
        if (reminder.checked) {
            reminderBlock.style.display = "block";
        }
        else {
            reminderBlock.style.display = "none";
        }
    }
}

function togglePassword() {
    var newPwd = document.getElementById("profileNewPassword");
    var changePwd = document.getElementById("profileChangePassword");
    var pwd = document.getElementById("txtP");
      
    newPwd.style.display = "block";
    changePwd.style.display = "none";
    pwd.value = "true"
}

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 pwd = rtrim(document.getElementById("txtPwd").value);
	var pwdConfirm = rtrim(document.getElementById("txtPwdConfirm").value);
	var zip = rtrim(document.getElementById("txtZip").value);
	var zipFour = rtrim(document.getElementById("txtZipFour").value);
	var homePhone = document.getElementById("txtHomePhone");
	var workPhone = document.getElementById("txtWorkPhone");
	var cellPhone = document.getElementById("txtCellPhone");
	var cboBDayMonth = document.getElementById("cboBDayMonth");
	var cboBDayDay = document.getElementById("cboBDayDay");
	var reminderMonth = document.getElementById("cboReminderMonth");
	var reminderDay = document.getElementById("cboReminderDay");
	var reminderYear = document.getElementById("cboReminderYear");
	var chkReminder = document.getElementById("chkReminder");
	var chkSMS = document.getElementById("chkSMS");
    var profileEmailLbl = document.getElementById("profileEmail").getElementsByTagName("Label");
	var profileFirstLbl = document.getElementById("profileFirst").getElementsByTagName("Label");
	var profileLastLbl = document.getElementById("profileLast").getElementsByTagName("Label");
	var profilePwdLbl = document.getElementById("profilePwd").getElementsByTagName("Label");
	var profileConfirmPwdLbl = document.getElementById("profileConfirmPwd").getElementsByTagName("Label");
	var profileZipLbl = document.getElementById("profileZip").getElementsByTagName("Label");
	var profileBirthdayLbl = document.getElementById("profileBirthday").getElementsByTagName("Label");
	var newPwd = document.getElementById("profileNewPassword");
	var locatorLbl = document.getElementById("locatorLbl");
	var txtSalonID = document.getElementById("txtSalonID");
	    
	var date = new Date();
	var month = date.getMonth()+1;
	var day = date.getDate();
	var year = date.getFullYear();
	var today = month + "/" + day + "/" + year
	var errorMsg = "";

    if (salonIds != null) {
        txtSalonID.value = salonIds;
	} 
	
	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]{2,6}$/.test(email)){

        profileEmailLbl[0].className = "labelNoError";
	}
	
	else {
	
	    profileEmailLbl[0].className = "labelError";
	    
	    if (errorMsg != "") {
            errorMsg += "<br>";
        }
        
	    errorMsg += "* Please enter a valid email address.";
	 }
	if (newPwd.style.display == 'block') {
        if (pwd.length == 0){
            profilePwdLbl[0].className = "labelError";
            profileConfirmPwdLbl[0].className = "labelError";
            
            if (errorMsg != "") {
                errorMsg += "<br>";
            }
            
            errorMsg += "* Please enter your password.";
	     }
	     else {
	        
            if  (pwd.indexOf(' ') > 0){

                profilePwdLbl[0].className = "labelError";
                profileConfirmPwdLbl[0].className = "labelError";
                
                if (errorMsg != "") {
                    errorMsg += "<br>";
                }
                
                errorMsg += "* Password cannot contain spaces.";
            }
            
            else {  
	             if (pwd.length < 6){
                    profilePwdLbl[0].className = "labelError";
                    profileConfirmPwdLbl[0].className = "labelError";
                    
                    if (errorMsg != "") {
                        errorMsg += "<br>";
                    }
                    
                    errorMsg += "* Password must be between 6 and 15 characters.";
	             }
	             else {

	                 if (pwdConfirm != pwd){
                        profileConfirmPwdLbl[0].className = "labelError";
                        profilePwdLbl[0].className = "labelError";
                         
                        if (errorMsg != "") {
                            errorMsg += "<br>";
                        }
                        
                        errorMsg += "* The passwords you entered do not match. Please re-enter.";
	                 }
	                 else {
                        profileConfirmPwdLbl[0].className = "labelNoError";
                        profilePwdLbl[0].className = "labelNoError";
	                 }
	             }
            }
	     }
	} 
    if (cboBDayMonth.value.length != 0 || cboBDayDay.value.length != 0) {
	    if (!isDateNoYear(cboBDayMonth.value, cboBDayDay.value)) {
            profileBirthdayLbl[0].className = "labelError";

            if (errorMsg != "") {
                errorMsg += "<br>";
            }
            
            errorMsg += "* Please choose a valid birthday month and day.";
	     }
	     else {
            profileBirthdayLbl[0].className = "labelNoError";
	     }
    }
    else {
            profileBirthdayLbl[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 (zipFour.length !=0) {
	    if ( !(/^\d{4}$/.test(zipFour))){
	        profileZipLbl[0].className = "labelError";
    	    
	        if (errorMsg != "") {
                errorMsg += "<br>";
            }
            
	        errorMsg += "* Please enter a valid Zip + 4.";
	     }	     
	}

	if (homePhone != null) {
		var profileHomePhoneLbl = document.getElementById("profileHomePhone").getElementsByTagName("Label");
		if (homePhone.value.length !=0) {
		    if ( !(/^\d{10}$/.test(homePhone.value))){
	        	profileHomePhoneLbl[0].className = "labelError";
    	    
		        if (errorMsg != "") {
        	        errorMsg += "<br>";
	            }
        	    
	        	errorMsg += "* Please enter a valid home phone number.";
		     }	     
		     else {
	        	profileHomePhoneLbl[0].className = "labelNoError";
		     }
		}
		else  {
		    profileHomePhoneLbl[0].className = "labelNoError";
		} 
	}
	if (workPhone != null) {
		var profileWorkPhoneLbl = document.getElementById("profileWorkPhone").getElementsByTagName("Label");
		if (workPhone.value.length !=0) {
		    if ( !(/^\d{10}$/.test(workPhone.value))){
	        	profileWorkPhoneLbl[0].className = "labelError";
    	    
		        if (errorMsg != "") {
        	        errorMsg += "<br>";
	            }
            
		        errorMsg += "* Please enter a valid work phone number.";
		     }	     
		     else {
	        	profileWorkPhoneLbl[0].className = "labelNoError";
		     }
		}
		else  {
		    profileWorkPhoneLbl[0].className = "labelNoError";
		}
	}
	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";
		     }
		}
		else  {
		    if (chkSMS != null) {
		        if (chkSMS.checked) {
			        profileCellPhoneLbl[0].className = "labelError";
                    if (errorMsg != "") {
	        	        errorMsg += "<br>";
		            }
                	
			        errorMsg += "* In order to recieve text messages, you will need to provide your cell phone number.";
		        }
		        else {
			        profileCellPhoneLbl[0].className = "labelNoError";
			    }
            }
		}
	}
	
    if (chkReminder != null) {
        var profileReminderLbl = document.getElementById("profileReminderOn").getElementsByTagName("Label");
        if (chkReminder.checked) {
            if (salonIds != null) {
                if (salonIds == ""){
                    
                    if (errorMsg != "") {
                        errorMsg += "<br>";
                    }
                    locatorLbl.className = "labelError";
                    errorMsg += "* You must set your preferred salon in order to sign up for reminders.";
	             }
	             
	             if (salonIds == -1){
                    
                    if (errorMsg != "") {
                        errorMsg += "<br>";
                    }
                    
                    errorMsg += "* It appears that there's been a change at your preferred salon.  Please choose a new preferred salon.";
	             }
	        } 
                    
            if (!isDate(reminderMonth.value, reminderDay.value, reminderYear.value)) {
                profileReminderLbl[0].className = "labelError";

                if (errorMsg != "") {
                    errorMsg += "<br>";
                }
                
                errorMsg += "* Please choose a valid reminder date.";
	         }
	         else {
	            var reminderDate = reminderMonth.value + "/" + reminderDay.value + "/" + reminderYear.value

	            if (Date.parse(reminderDate) <= Date.parse(today)) {
	                profileReminderLbl[0].className = "labelError";

                    if (errorMsg != "") {
                        errorMsg += "<br>";
                    }
                    
                    errorMsg += "* Reminder date must occur after today's date.";
	            }
        	    
	            else {
	                profileReminderLbl[0].className = "labelNoError";
	            }
                
	         }   
        }
    }
    
    if (salonIds == "" && salonRequired == 'True'){
        if (errorMsg != "") {
            errorMsg += "<br>";
        }
        locatorLbl.className = "labelError";
        errorMsg += "* Please select your preferred salon.";
	}
	else {
        locatorLbl.className = "labelNoError";
	}  
	
	if(errorMsg != "") {
	    window.scroll(0,0)
	    pwd = "";
        pwdConfirm = "";
        errorDiv.style.display = "block";
        errorDiv.innerHTML = errorMsg;
        return false;
    }
    else {
        setCookie("rg_LoginEmail",  email);
        setCookie("rg_FirstName",  firstName);
    }
} 

