
//Validate zipcode: Zip should have 5 numeric characters
function ValidateZip(zipTextbox)
{		
	//Check if zip code length is 5
	if(zipTextbox.value.length != 5)
	{
		return false;
	}				
	else			
	{
		//If zipcode length is 5, only allow 0-9 to be entered as the characters
		var checkOK = "0123456789";
		var allValid = true;
		for (var i=0; i < zipTextbox.value.length; i++) 
		{ 
			ch = zipTextbox.value.charAt(i);
			
			for (var j = 0;  j < checkOK.length;  j++)
			{							
				if (ch == checkOK.charAt(j))
					break;							
			}
			
			if (j == checkOK.length)
			{							
				allValid = false;
				break;
			}
		}
		if (!allValid) 
		{
			return false;
		}	
		else
		{
			return true;
		}						
	}
}

///

function copyShippingAddress()
{
    //FirstName
    var fnameShipping = getCheckoutObject('fname',"input","Shipping");
    var fnameBilling = getCheckoutObject('fname',"input","Billing");
    fnameBilling.value = fnameShipping.value;
    
    //LastName
    var lnameShipping = getCheckoutObject('lname',"input","Shipping");
    var lnameBilling = getCheckoutObject('lname',"input","Billing");
    lnameBilling.value = lnameShipping.value;
    
    //Address1
    var addressline1Shipping = getCheckoutObject("address_line1","input","Shipping");
    var addressline1Billing = getCheckoutObject("address_line1","input","Billing");
    addressline1Billing.value = addressline1Shipping.value;

    //Address2
    var addressline2Shipping = getCheckoutObject("address_line2","input","Shipping");
    var addressline2Billing = getCheckoutObject("address_line2","input","Billing");
    addressline2Billing.value = addressline2Shipping.value;
    
    //City 
    var cityShipping = getCheckoutObject("address_city","input","Shipping");
    var cityBilling = getCheckoutObject("address_city","input","Billing");
    cityBilling.value = cityShipping.value;
    
    //State
    var stateShipping = getCheckoutObject("address_state_choice","select","Shipping");
    var stateBilling = getCheckoutObject("address_state_choice","select","Billing");
    stateBilling.selectedIndex = stateShipping.selectedIndex;
    
    //Zipcode
    var zipCodeShipping = getCheckoutObject("address_zip","input",'Shipping');
    var zipCodeBilling = getCheckoutObject("address_zip","input",'Billing');
    zipCodeBilling.value = zipCodeShipping.value;
    
    //Phone
    var phoneShipping = getCheckoutObject("phone","input","Shipping");
    var phoneBilling = getCheckoutObject("phone","input","Billing");
    phoneBilling.value = phoneShipping.value;
    
}


function validateForm_New(addressType)
{
    var returnVal = false;
    returnVal = isFormValidToBeSubmitted_New(addressType);
    //alert(returnVal);
    return returnVal;
}

function validateAccountInfo()
{

    var IsFormvalid=true;
    var result = true;
    
    //Validating Email
    result = validateEmail();
    //alert("Email="+result);
    if (!result) IsFormvalid = false;
            
    //Validating Password
      result = validatePassword();
    //alert("Password="+result);
    if (!result) IsFormvalid = false;
    
    return IsFormvalid;
    

}


function isFormValidToBeSubmitted_New(addressType) {

            var IsFormvalid=true;
            var result = true;
            
            //Validating Address
            result = validateAddress_New(addressType);
            //alert("Address="+result);
            if (!result) IsFormvalid = false;
            
            //Validating FirstName
            result = validateName('fname',addressType);
            //alert("fname="+result);
            if (!result) IsFormvalid = false;
            
            //Validating LastName
            result = validateName('lname',addressType);
            //alert("lname="+result);
            if (!result) IsFormvalid = false;
            
            //Validating LastName
            result = validateCity(addressType);
            //alert("City="+result);
            if (!result) IsFormvalid = false;
            
            //Validating Phone
            result = validatePhone(addressType);
            //alert("Phone="+result);
            if (!result) IsFormvalid = false;
            
            //Validate ZipCodeInfo
            result = validateZipCodeInfo(addressType);
            //alert("ZipCode="+result);
            if (!result) IsFormvalid = false;
            
            //Validate ZipState
            result = validateState(addressType);
            //alert("State="+result);
            if (!result) IsFormvalid = false;
            
            return IsFormvalid;
}


function validateAddress_New(addressType)
{
	var addressline1Obj = getCheckoutObject("address_line1","input",addressType);
	
	if (addressline1Obj.value=="") 
	{
	    var objtemp=document.getElementById("address1"+addressType);
	    if (objtemp!=null) { objtemp.className="ARed_10R" }
        return false;
	}
    else
    {
    
    
        if (!isAddressValid_New('address_line1',addressType) || !isAddressValid_New('address_line2',addressType))
        {
            if (addressType == "Shipping")
                document.getElementById("spanAddrError").style.display = "block";
            return false
        }
        else
        {
            if (addressType == "Shipping")
      	        document.getElementById("spanAddrError").style.display = "none";
      	    return true;
        }
    }
    
}

		//"address_line1"
function isAddressValid_New(addressLineId,addressType)
{
   
   if (addressType.toLowerCase()=="shipping") { 
    var AddressLineKeywords = "APO|A.P.O.|A P O|FPO|F.P.O.|F P O|POB|P.O.B.|POBOX|P.O.BOX|PO BOX|P O BOX|P.O. BOX|POST OFFICE";
    var poboxPattern = new RegExp("^(APO|A\.P\.O\.|A P O|FPO|F\.P\.O\.|F P O|POB|P\.O\.B\.|POBOX|P\.O\.BOX|PO BOX|P O BOX|P\.O\. BOX|POST OFFICE)");
      
    var objtemp = null;
	var addresslineObj = getCheckoutObject(addressLineId,"input",addressType); //document.forms[mf].elements[addressline];
    var addresslineText = addresslineObj.value;
    
    if (poboxPattern.test(addresslineText.toUpperCase()))
    {
        if (addressLineId == 'address_line1')
            objtemp = document.getElementById("address1"+addressType);
        if (addressLineId == 'address_line2')
            objtemp = document.getElementById("address2"+addressType);
            
	    if (objtemp!=null) 
	    	       objtemp.className="ARed_10R";

            return false;
    }
    else
    {
     if (addressLineId == 'address_line1')
            objtemp = document.getElementById("address1"+addressType);
        if (addressLineId == 'address_line2')
            objtemp = document.getElementById("address2"+addressType);
            
	    if (objtemp!=null) 
	       objtemp.className="ADrkGrey_10R";
	       
        return true;
     }
     
  }
  else { return true; }
}    


function validateName(nameID,addressType)
{
	var fnameObj = getCheckoutObject(nameID,"input",addressType);
	
	var objtemp = null;
	if (nameID == 'fname')
	    objtemp=document.getElementById("fnamel"+addressType);
	if (nameID == 'lname')
	    objtemp=document.getElementById("lname1"+addressType);    
	if (fnameObj.value=="") 
	{
	     if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	     }
	     return false;
	}
	else
	{
	   if (objtemp!=null) 
	         objtemp.className="ADrkGrey_10R"
	   return true;
	}      
	
}


function validateCity(addressType)
{
    //var addresscity =  getCheckoutObject("address_City",input,addressType);
	var address_cityObj = getCheckoutObject("address_city","input",addressType);
	
	var objtemp=document.getElementById("city"+addressType);
	if (address_cityObj.value=="") 
	{
	    //IsFormvalid=false;
        if (objtemp!=null) {
        objtemp.className="ARed_10R"
        }
        return false;
	          
	 }
	 else
	 {
	    if (objtemp!=null) 
	       objtemp.className="ADrkGrey_10R"
	    return true;
	 }  
    
}


  // phone
 function validatePhone(addressType)
 {
    //var phone =  GetElementName("phone", mf);
	var phoneObj = getCheckoutObject("phone","input",addressType);//document.forms[mf].elements[phone];
	
	var objtemp=document.getElementById("dayphone"+addressType);
	//var IsPhoneValid=validatePhone(phoneObj.value); //removed this code so phone is always valid
	var IsPhoneValid=true;
	if(phoneObj.value.length<10) { //if user enters less than 10 characters
	   IsPhoneValid=false;
	}
	if (IsPhoneValid==false) 
	{
	   //IsFormvalid=false;
	   var objtemp=document.getElementById("dayphone"+addressType);
	   if (objtemp!=null) {
	       objtemp.className="ARed_10R"
	   }
	   
	   return false;
	}
	else
	{
	   if (objtemp!=null) 
	       objtemp.className="ADrkGrey_10R";
	   return true;
	} 
	
}


function validateEmail()
{
    var result = true;
    var mf = GetMainFormName();
    //email
	var email1 =  GetElementName("email", mf);
	if (email1!=null) 
	{
	    var emailObj = document.forms[mf].elements[email1];
	    var objtemp=document.getElementById("emailLabel");
	    if (emailObj.value=="") 
	    {
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R";
	          }
	          result = false;
        }
        else
	    {
	       objtemp.className="ADrkGrey_10R";
	    }
        
	}
	         
	//email confirmation
	var email_conf1 =  GetElementName("email_conf", mf);
	if (email_conf1!=null) 
	{
	    var email_confObj = document.forms[mf].elements[email_conf1];
	    var objtemp=document.getElementById("emailLabelConf");
	    if (email_confObj.value=="") 
	    {
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	          result = false;
	          
        }
        else
	    {
	        objtemp.className="ADrkGrey_10R";
	    }
        
    }
    
    return result;
}


function validatePassword()
{

    var result = true;
    var mf = GetMainFormName();
	var passLabel1 =  GetElementName("Password", mf);
	if (passLabel1!=null) 
	{
	    var passLabel1Obj = document.forms[mf].elements[passLabel1];
	    var objtemp=document.getElementById("passLabel");
	    if (passLabel1Obj.value=="") 
	    {
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R";
	          }
	          result = false;
        }
        else
        {
              objtemp.className="ADrkGrey_10R";
        }
     }
	        
	 var password_conf1 =  GetElementName("password_conf", mf);
	 if (password_conf1!=null) 
	 {
	    var password_confObj = document.forms[mf].elements[password_conf1];
	    var objtemp=document.getElementById("passLabelConf");
	    if (password_confObj.value=="") 
	    {
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R";
	          }
	          result = false;
        }
        else
        {
               objtemp.className="ADrkGrey_10R";
        }
	 }
	 return result;
}



function validateZipCodeInfo(addressType)
{
    //var zipTextboxRef =  GetElementName("address_zip", mf);
	var zipTextbox = getCheckoutObject("address_zip","input",addressType);//document.forms[mf].elements[zipTextboxRef];
	var isZipValid = true;
	isZipValid = ValidateZip(zipTextbox);
	if (zipTextbox.value=="") 
	{
	    document.getElementById("zip"+addressType).className = "ARed_10R";
	    return false
	}
	else
	{
	    document.getElementById("zip"+addressType).className = "ADrkGrey_10R";
	    if (isZipValid)
	    {
	        document.getElementById("spanZipError"+addressType).style.display = "none";
	        //document.all.spanZipError.style.display = "none";
	        return true;
	    }
	    else
	    {
	        // if zip error stop processing
	        document.getElementById("spanZipError"+addressType).style.display = "block";
	        //document.all.spanZipError.style.display = "block";
	        return false;
        }
    }
}

function validateState(addressType)
{
    var stateObj = getCheckoutObject("address_state_choice","select",addressType);//document.forms[mf].elements[zipTextboxRef];
    if (stateObj.selectedIndex == 0)
    {
        document.getElementById("stateLabel"+addressType).className = "ARed_10R";
        return false;
    }
    else
    {
        document.getElementById("stateLabel"+addressType).className = "ADrkGrey_10R";
        return true;
    }

}


function getCheckoutObject(objectName, objectTag, objectContext)
{
	var indexSetOff = 0;
    var htmlObjects = document.getElementsByTagName(objectTag);
	if (htmlObjects[0] == "undefined")
	    indexSetOff = 1;
	for (var j = 0+indexSetOff; j < htmlObjects.length; j++)
	{
	        var htmlElement = htmlObjects[j].name.split("$"); 
            if (htmlElement[htmlElement.length-1].toString() == objectName && htmlObjects[j].context == objectContext)
            {
                return htmlObjects[j];
            }
    }
	//return htmlObjectFound;
	return null;
}



 function validateForm(Continue)
	    {
		    var returnVal = false;
	        var mf = GetMainFormName();				
	        var zipTextboxRef =  GetElementName("address_zip", mf);
	        var zipTextbox = document.forms[mf].elements[zipTextboxRef];
	                   
            if (Continue==true)
            {
            
		        //returnVal = ValidateZip(zipTextbox);
		        
		        if (returnVal)
		        {
		            document.all.spanZipError.style.display = "none";
		        }
		        else
		        {
		            // if zip error stop processing
		            document.all.spanZipError.style.display = "block";
		           
		        }
		        returnVal=isFormValidToBeSubmitted();
		       
            }
            else
            {
                    returnVal = true;
                    
            }
           
           return returnVal;
           		    
	    }
	    
	    
	    
	    
	    
	//"address_line1"
function isAddressValid(addressLineId)
{
    var AddressLineKeywords = "APO|A.P.O.|A P O|FPO|F.P.O.|F P O|POB|P.O.B.|POBOX|P.O.BOX|PO BOX|P O BOX|P.O. BOX|POST OFFICE";
    var poboxPattern = new RegExp("^(APO|A\.P\.O\.|A P O|FPO|F\.P\.O\.|F P O|POB|P\.O\.B\.|POBOX|P\.O\.BOX|PO BOX|P O BOX|P\.O\. BOX|POST OFFICE)");
   
   
    var mf = GetMainFormName();	
    var objtemp = null;
    var addressline =  GetElementName(addressLineId, mf);
	var addresslineObj = document.forms[mf].elements[addressline];
    var addresslineText = addresslineObj.value;
    
    if (poboxPattern.test(addresslineText.toUpperCase()))
    {
        if (addressLineId == 'address_line1')
            objtemp = document.getElementById("address1");
        if (addressLineId == 'address_line2')
            objtemp = document.getElementById("address2");
            
	    if (objtemp!=null) 
	       objtemp.className="ARed_10R";
//	       document.all.spanAddrError.style.display = "block";
            return false;
    }
    else
    {
     if (addressLineId == 'address_line1')
            objtemp = document.getElementById("address1");
        if (addressLineId == 'address_line2')
            objtemp = document.getElementById("address2");
            
	    if (objtemp!=null) 
	       objtemp.className="ADrkGrey_10R";
	       
//	    document.all.spanAddrError.style.display = "none";
        return true;
	       
           
     }

        
}


function isFormValidToBeSubmitted() {
           
           var IsFormvalid=true;
            var mf = GetMainFormName();				
	        var addressline1 =  GetElementName("address_line1", mf);
	        var addressline1Obj = document.forms[mf].elements[addressline1];
	        if (addressline1Obj.value=="") {
	          IsFormvalid=false;
	          var objtemp=document.getElementById("address1");
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	            
	          }
	          
	        }
	        else
	        {
	            if (!isAddressValid('address_line1') || !isAddressValid('address_line2'))
	            {
	        	    document.all.spanAddrError.style.display = "block";
	                IsFormvalid = false;
	            }
	            else
	            {
	        	    document.all.spanAddrError.style.display = "none";
	            }
             }
	        
	        //f name
	        var fname =  GetElementName("fname", mf);
	        var fnameObj = document.forms[mf].elements[fname];
	         var objtemp=document.getElementById("fnamel");
	        if (fnameObj.value=="") {
	         IsFormvalid=false;
	           if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	        }
	        else
	        {
	                if (objtemp!=null) 
	            objtemp.className="ADrkGrey_10R"
	        }      
	            
	        
	        //l name
	         //f name
	        var lname =  GetElementName("lname", mf);
	        var lnameObj = document.forms[mf].elements[lname];
	        var objtemp=document.getElementById("lname1");
	        if (lnameObj.value=="") {
	              IsFormvalid=false;
	              
	              if (objtemp!=null) {
	                objtemp.className="ARed_10R"
	              }
	          
	        }
	        else
	        {
	                if (objtemp!=null) 
	            objtemp.className="ADrkGrey_10R"
	        }  
	        
	        
	        // city
	        var addresscity =  GetElementName("address_city", mf);
	        var address_cityObj = document.forms[mf].elements[addresscity];
	        var objtemp=document.getElementById("city");
	        if (address_cityObj.value=="") {
	              IsFormvalid=false;
	              
	              if (objtemp!=null) {
	                objtemp.className="ARed_10R"
	              }
	          
	        }
	         else
	        {
	                if (objtemp!=null) 
	            objtemp.className="ADrkGrey_10R"
	        }  
	        
	        
	          // phone
	        var phone =  GetElementName("phone", mf);
	        var phoneObj = document.forms[mf].elements[phone];
	        var objtemp=document.getElementById("dayphone");
	        //var IsPhoneValid=validatePhone(phoneObj.value); //removed this code so phone is always valid
	         var IsPhoneValid=true;
	         if(phoneObj.value.length<10) { //if user enters less than 10 characters
	           IsPhoneValid=false;
	         }
	        if (IsPhoneValid==false) {
	              IsFormvalid=false;
	              var objtemp=document.getElementById("dayphone");
	              if (objtemp!=null) {
	                objtemp.className="ARed_10R"
	              }
	          
	        }
	         else
	        {
	                if (objtemp!=null) 
	            objtemp.className="ADrkGrey_10R"
	        } 
	        
	        
	        //email
	        var email1 =  GetElementName("email", mf);
	        if (email1!=null) {
	        var emailObj = document.forms[mf].elements[email1];
	        var objtemp=document.getElementById("emailLabel");
	        if (emailObj.value=="") {
	          IsFormvalid=false;
	          
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	        }
	       }
	         
	        //email confirmation
	        var email_conf1 =  GetElementName("email_conf", mf);
	        if (email_conf1!=null) {
	        var email_confObj = document.forms[mf].elements[email_conf1];
	        var objtemp=document.getElementById("emailLabelConf");
	        if (email_confObj.value=="") {
	          IsFormvalid=false;
	          
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	        }
	        }
	        
	          //pass
	        var passLabel1 =  GetElementName("Password", mf);
	        if (passLabel1!=null) {
	        var passLabel1Obj = document.forms[mf].elements[passLabel1];
	         var objtemp=document.getElementById("passLabel");
	        if (passLabel1Obj.value=="") {
	          IsFormvalid=false;
	         
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	        }
	        }
	        
	        var password_conf1 =  GetElementName("password_conf", mf);
	        if (password_conf1!=null) {
	        var password_confObj = document.forms[mf].elements[password_conf1];
	        var objtemp=document.getElementById("passLabelConf");
	        if (password_confObj.value=="") {
	          IsFormvalid=false;
	          
	          if (objtemp!=null) {
	            objtemp.className="ARed_10R"
	          }
	          
	        }
	       }
	        
	        var zipTextboxRef =  GetElementName("address_zip", mf);
	        var zipTextbox = document.forms[mf].elements[zipTextboxRef];
	        var isZipValid = true;
	        isZipValid = ValidateZip(zipTextbox);
	         if (isZipValid)
		        {
		            document.all.spanZipError.style.display = "none";
		        }
		        else
		        {
		            // if zip error stop processing
		            document.all.spanZipError.style.display = "block";
		            IsFormvalid = false;
		           
		        }
	        
	        
	       
	            

	        
	       
      return IsFormvalid;

}

/*function validatePhone(_Phone)
{
  var phoneNum = new String(_Phone);
   
  var regExpObj = /\d\d\d\d\d\d\d\d\d\d/;
   
  if(regExpObj.exec(phoneNum) == null)
  {
   return false;
  }
  else
  {
    return true;
  }
}*/
///

function gosearch()
{	
    var mf = GetMainFormName();		
    if (mf==null) return;
    
    if (document.forms[mf].elements["SearchKeywords"].value != '' && document.forms[mf].elements["SearchKeywords"].value != null){
        document.forms[mf].action="/_us/_en/search/index.aspx?SearchKeywords=" + document.forms[mf].elements["SearchKeywords"].value;
        document.forms[mf].submit();
    }
}
/*
This function puts a style of border left on the divs generated by storetemplate in Map point search webbox
*/
function VerticalSeparatorInSotreItemTemplate()
{
    var store_divs;
    // this could vary depending on number of columns to be displayed
    var no_of_cols = 3;
    var col_counter = 0;
    // this is done for browser compability
    // document.all check is for IE and else is for other browsers
    if ( document.all )
        store_divs = document.all['storedivs'];
    else
        store_divs = document.getElementsByName('storedivs');
        
    if ( store_divs != null )
    {
        for ( i=0; i < store_divs.length; i++)
        {
            col_counter++;
            if (col_counter == 2 || col_counter == 3)
            {
               store_divs[i].style.borderLeft = "5px solid #e2f0f3";
            }
            if ( col_counter == no_of_cols )
                col_counter = 0;
                   
        }
     }	         
	        	
}


function SelectSalon(_SalonId, _XYCoOrdin)
{
    _selected = true;
    // setting the global variable to be used latter to set the hidden input values
    SalonId = _SalonId;
    XYCoOrdin = _XYCoOrdin;
    
}
function SetSalonHiddenInput(_SalonId, _XYCoOrdin)
{
	var mf = GetMainFormName();
	var txt = GetElementID("InputSalonId", mf);	
	var txtSalon = document.forms[mf].elements[txt];
	
	if (txtSalon != null) 
	{
		txtSalon.value = _SalonId;				
	}

	txt = GetElementName("InputSalonXY", mf);	
	var txtSalonXY = document.forms[mf].elements[txt];
	
	if (txtSalonXY != null) 
	{
		txtSalonXY.value = _XYCoOrdin;		
	}
	
}

function ClearSalon()
{
	var mf = GetMainFormName();
	var txt = GetElementName("InputSalonId", mf);	
	var txtSalon = document.forms[mf].elements[txt];
	
	if (txtSalon != null) 
	{
	    txtSalon.value = "";		
	}

	txt = GetElementName("InputSalonXY", mf);	
	var txtSalonXY = document.forms[mf].elements[txt];
	
	if (txtSalonXY != null) 
	{
	    txtSalonXY.value = "";		
	}

 }

function CheckRadioButtonClick()
{
    if (_selected==false) {
           alert('Please select a skincare professional');
           return false;
    }
    else {
	     SetSalonHiddenInput(SalonId,XYCoOrdin);
	     return true;
	}	
}     	