// HVTValidateRegistrationForm.js

 var invoiceimg = "The number can be found in the upper right corner of your invoice <img src='/wcsstore/Havertys/images/invoicesm.gif' border='0' id='submitbtn' />";
 
 
function mask(str,textbox,loc,delim){
	var locs = loc.split(','); 
	for (var i = 0; i <= locs.length; i++){
		for (var k = 0; k <= str.length; k++){
		if (k == locs[i]){
			if (str.substring(k, k+1) != delim){
			str = str.substring(0,k) + delim + str.substring(k,str.length)		
			}		
		}	
	    }
	}
	textbox.value = str;
}


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;			
		else
			return "";	
	
	for(var i = 0; i < radioLength; i++) {	
	
		if(radioObj[i].checked) {		  
			return radioObj[i].value;
			
			
		}
	}
	return "";
}
		
		
function setCheckedValue(radioObj, newValue) {

	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		
		if(radioObj[i].value == newValue.toString()) {
		  
			radioObj[i].checked = true;
		}
	}
}


function clearLogonErrors() 
{
	document.getElementById("serviceerror").style.display = "none";  
	document.getElementById("emailerror").style.display = "none";  
	document.getElementById("pwerror").style.display = "none"; 	
}

// LogonForm in AccountDisplay.jsp
function submitLO(form)
{

	 // clear out old error indicators	
	 clearLogonErrors();
   
			     error = "N";
			    			    
			    // Greg asked me not to verify email on the front-end
			    // if (!checkEmail(form.elements["emailIn"], false) ){ 	
			     if (!checkString(form.elements["emailIn"], false) ){ 			      
	                 document.getElementById("emailerror").style.display = "block"; 
	                   error = "Y";		
	              }
	              
	             if ( form.emailIn.value.indexOf("havertys.com") != -1){
	                document.getElementById("HVTemailerror").style.display = "block"; 
	                error = "Y";	             
	             }
	                 
	             if (!checkString(form.elements["logonPassword"], false) ){ 			      
	                 document.getElementById("pwerror").style.display = "block";
                       error = "Y";		
	              }
	                
	              if (!checkString(form.elements["returnPage"], false) ){      
	                 // set url of previous page to return to when we are done	  
                     myreferrer = document.referrer.substring(document.referrer.indexOf("servlet/")+8);	  
                     myreferrer = document.referrer.substring(document.referrer.indexOf("www.havertys.com/")+17);		
 		             form.returnPage.value = myreferrer;
	              }    
	
			
			 if (error == "N") {
			  //alert ("form sumbitted" + error);
			   form.submit();
			 }
			 // else alert("form not submitted");

}

// Salesperson LogonForm in AccountDisplay.jsp
function submitLOS(form)
{

	 // clear out old error indicators	
	 	document.getElementById("emailerror").style.display = "none";  
	    document.getElementById("pwerror").style.display = "none"; 	
   
			     error = "N";
			    			    
			    // Greg asked me not to verify email on the front-end
			    // if (!checkEmail(form.elements["emailIn"], false) ){ 	
			     if (!checkString(form.elements["emailIn"], false) ){ 			      
	                 document.getElementById("emailerror").style.display = "block"; 
	                   error = "Y";		
	              }
	                 
	             if (!checkString(form.elements["logonPassword"], false) ){ 			      
	                 document.getElementById("pwerror").style.display = "block";
                       error = "Y";		
	              }
	                
	              if (!checkString(form.elements["returnPage"], false) ){      
	                 // set url of previous page to return to when we are done	  
                     myreferrer = document.referrer.substring(document.referrer.indexOf("servlet/")+8);	  
                     myreferrer = document.referrer.substring(document.referrer.indexOf("www.havertys.com/")+17);		
 		             form.returnPage.value = myreferrer;
	              }    
	
			
			 if (error == "N") {
			  //alert ("form sumbitted" + error);
			   form.submit();
			 }
			 // else alert("form not submitted");

}




function submitFP(form)
{
	  	
 // clear out old error indicators	
 document.getElementById("serviceerror").style.display = "none";  
 document.getElementById("emailerror").style.display = "none";  
  document.getElementById("HVTemailerror").style.display = "none";  
 error = "N";
			    			    
			    // Greg asked me not to verify email on the front-end
			    // if (!checkEmail(form.elements["emailIn"], false) ){ 	
			     if (!checkString(form.elements["logonId"], false) ){ 			      
	                 document.getElementById("emailerror").style.display = "block"; 
	                   error = "Y";		
	              }
	                if ( form.logonId.value.indexOf("havertys.com") != -1){
	                document.getElementById("HVTemailerror").style.display = "block"; 
	                error = "Y";	             
	             }    
	  			
			 if (error == "N") {			
			   form.submit();
			 }

}


function submitRP(form)
{
	  	
 // clear out old error indicators	

  document.getElementById("pwerror").style.display = "none"; 	
 document.getElementById("confirmpwerror").style.display = "none";
 error = "N";
			    			    
			  if (!checkHavertysPW(form.elements["password"], false) ){ 			      
	                 document.getElementById("pwerror").style.display = "block"; 
	                 error = "Y";	
	              }
	                 
	              	                 
	             else if ( form.password.value != form.reEnterPassword.value){ 
	               // alert("did not match");	           
	                 document.getElementById("confirmpwerror").style.display = "block"; 
	                 error = "Y";	
	              } 
	  			
			 if (error == "N") {			
			   form.submit();
			 }

}

function submitSQ(form)
{
// clear out old error indicators	
 document.getElementById("secanswererror").style.display = "none";  
 error = "N";
			    			    
	 if (!checkString(form.elements["challengeAnswer"], false) ){ 			      
	                 document.getElementById("secanswererror").style.display = "block"; 
	                   error = "Y";		
	   }
		
	 if (error == "N") {			
			   form.submit();
		 }
		
			
}
	

// Register initial form (select in store or not) in AccountDisplay.jsp
function submitAD(form, url)
{
		      // clear out old error indicators	
            document.getElementById("serviceerror").style.display = "none"; 	
 		    document.getElementById("purchaseerror").style.display = "none"; 
 		    document.getElementById("emailerror").style.display = "none";  
            document.getElementById("pwerror").style.display = "none"; 	
            
            error = "N";

	        //if (form.storeY.checked)  {
			//	   form.inStore.value = "Y";				   
			//	   }
			// if (form.storeN.checked)  {
			//	   form.inStore.value = "N";				   
			//	   }
			form.inStore.value = getCheckedValue(form.inStore);
		     //alert ("store value is" + form.inStore.value );
			     if (getCheckedValue(form.inStore) != "Y" && getCheckedValue(form.inStore) != "N"   )  {
				   	 document.getElementById("purchaseerror").style.display = "block";                 
                       error = "Y";		   
				   }
			   
			       if (!checkString(form.elements["returnPage"], false) ){      
	                 // set url of previous page to return to when we are done	  
                     myreferrer = document.referrer.substring(document.referrer.indexOf("servlet/")+8);	  	
 		             form.returnPage.value = myreferrer;
	              }   
			   
			   if (error=="N") {
			     // alert ("submitting form error = " + error);
			    form.href = url;	 
			    form.submit();
			    }
 }
			 

// Previous InStore user second page - in UserRegistrationAddForm2.jsp
function submitRG2(form)
{

document.getElementById("selectoneerror").style.display = "none";   
document.getElementById("addresserror").style.display = "none";   
 document.getElementById("cityerror").style.display = "none"; 
 document.getElementById("stateerror").style.display = "none"; 	  
 document.getElementById("ziperror").style.display = "none"; 

// had to add this for safari
ItsMe = getCheckedValue(form.ItsMe);

error = "N";

  if (ItsMe!= "Y" && ItsMe!= "YA" && ItsMe!= "N"    )  {
				   	 document.getElementById("selectoneerror").style.display = "block";                 
                       error = "Y";		   
				   }

   if (ItsMe =='YA'){   // only check these if they are changing them
					   if (!checkString(form.elements["NewAddress1"],false)) {
					       document.getElementById("addresserror").style.display = "block";                 
	                       error = "Y";				   
					   }
					   if (!checkString (form.elements["NewCity"],false)) {
					       document.getElementById("cityerror").style.display = "block";                 
	                       error = "Y";				   
					   }
					    
					   if (!checkStateCode (form.elements["NewState"],false)) {
					   //alert ("State is: "+ form.elements["State"].value)
					       document.getElementById("stateerror").style.display = "block";                 
	                       error = "Y";				   
					   }
					   
					   form.elements["sozip"].value = stripWhitespace(form.elements["sozip"].value);
					   // alert ("/"+ form.elements["sozip"].value+"/");
					   if (!checkZIPCode(form.elements["Newzip"],false)) {				       
					       document.getElementById("ziperror").style.display = "block";                 
	                       error = "Y";				   
					   } 
					   
					   
					   
			if (error == "N") {   
			form.Address1.value= form.NewAddress1.value;
			//form.Address2.value= form.NewAddress2.value;//jaddress2
			form.City.value= form.NewCity.value;
			form.State.value= form.NewState.value;			
			form.sozip.value= form.Newzip.value;
			}	   
	 } // end  if (form.ItsMe.value=='YA')
				    
 
     if (error == "N") {
            // if they select no this is not me, reshow the instore form 
			if (ItsMe=='N') form.inStore.value = "Y";	
			
            form.submit(); 
			 }
	 else  window.scroll(0,0); 
 
 
}


// RegistrationForm in UserRegistrationAddForm.jsp
function submitRG(form)
{
	  
	
 // clear out old error indicators	
 document.getElementById("serviceerror").style.display = "none"; 
 document.getElementById("emailerror").style.display = "none"; 	
 document.getElementById("HVTemailerror").style.display = "none"; 	
 document.getElementById("pwerror").style.display = "none"; 	
 document.getElementById("confirmpwerror").style.display = "none";  
 document.getElementById("securityquestionerror").style.display = "none"; 
 document.getElementById("securityanswererror").style.display = "none"; 
 
 document.getElementById("addresserror").style.display = "none";   
 document.getElementById("cityerror").style.display = "none"; 
 document.getElementById("stateerror").style.display = "none"; 	  
 document.getElementById("ziperror").style.display = "none"; 
 document.getElementById("firsterror").style.display = "none"; 
 document.getElementById("lasterror").style.display = "none"; 	
  document.getElementById("phoneerror").style.display = "none";   
    
			     error = "N";
			    if (form.sendcatc.checked || form.sendpmailc.checked) {
			     if (form.sendcatc.checked) 
				   form.sendcat.value = "Y";
			     if (form.sendpmailc.checked) 
				   form.sendpmail.value = "Y";

				// need to verify that all the address fields have been filled in
				  // Address1, City , State, sozip
				 
				 // if (form.chgaddr.value=='Y'){   // only check these if they are changing them
					   if (!checkString(form.elements["Address1"],false)) {
					       document.getElementById("addresserror").style.display = "block";                 
	                       error = "Y";				   
					   }
					   if (!checkString (form.elements["City"],false)) {
					       document.getElementById("cityerror").style.display = "block";                 
	                       error = "Y";				   
					   }
					    
					   if (!checkStateCode (form.elements["State"],false)) {
					   //alert ("State is: "+ form.elements["State"].value)
					       document.getElementById("stateerror").style.display = "block";                 
	                       error = "Y";				   
					   }
					   
					  
				   
				 //  } // end  if (form.chgaddr.value=='Y')
				   
				   
				}
				
				else {form.sendcat.value = "N";
					  form.sendpmail.value = "N";
				    // form.sendcat.checked = "checked";
				     }
	        
	        	if (form.sendadvc.checked)  
				form.sendadv.value = "Y";
				else {form.sendadv.value = "N";
				    // form.sendadv.checked = "checked";
				    }
		
				   
			     if (form.sendnewsc.checked)  {
				   form.sendnews.value = "Y";				   
				   }
				else {form.sendnews.value = "N";
				    //form.sendnews.checked = "checked";  // have to say checked for it to appear in URL
				    }
				// alert ("sendnews value is" + form.sendnews.value);
		
	        
	             
			     form.elements["sozip"].value = stripWhitespace(form.elements["sozip"].value);
					   // alert ("/"+ form.elements["sozip"].value+"/");
					   if (!checkZIPCode(form.elements["sozip"],false)) {				       
					       document.getElementById("ziperror").style.display = "block";                 
	                       error = "Y";				   
					   } 
			     
			  
			  
			     if (!checkName(form.elements["lastName"],false)) {
				       document.getElementById("lasterror").style.display = "block";                 
                       error = "Y";				   
				   }
			  
			       
			     if (!checkName(form.elements["firstName"],false)) {
				       document.getElementById("firsterror").style.display = "block";                 
                       error = "Y";				   
				   }
			  
			  
			  	 if (!checkString (form.elements["challengeQuestion"],false)) {
					       document.getElementById("securityquestionerror").style.display = "block";                 
	                       error = "Y";				   
				 } 
				   
				   				  
			     if (!checkString(form.elements["challengeAnswer"],false)) {
				       document.getElementById("securityanswererror").style.display = "block";                 
                       error = "Y";				   
				   }  
				    	              
	         
			             
	             if (!checkHavertysPW(form.elements["logonPassword"], false) ){ 			      
	                 document.getElementById("pwerror").style.display = "block"; 
	                 error = "Y";	
	              }
	                 
	              	                 
	             else if ( form.logonPassword.value != form.logonPasswordVerify.value){ 
	               // alert("did not match");	           
	                 document.getElementById("confirmpwerror").style.display = "block"; 
	                 error = "Y";	
	              } 
	              	
			  
	        
			    		    
			    // Greg asked me not to verify email on the front-end
			    // if (!checkEmail(form.elements["emailIn"], false) ){ 	
			     if (!checkString(form.elements["emailIn"], false) ){ 			      
	                 document.getElementById("emailerror").style.display = "block";
	                 error = "Y";	
	              }
	      
	             if ( form.emailIn.value.indexOf("havertys.com") != -1){
	                document.getElementById("HVTemailerror").style.display = "block"; 
	                error = "Y";	             
	             }
	      
			 	  
			 if (!checkUSPhone(form.elements["phoneIn"],true) ){
	       document.getElementById("phoneerror").style.display = "block";                 
           error = "Y";				   
	   }
	 else  form.phone.value= longUSPhone(form.elements["phoneIn"]);  // send the service a phone which can be converted to long
	   
			     
			     
			
			
			
			 if (error == "N") {
			 // alert ("form sumbitted" + error);
			   form.submit();
			 }
		 	 else  window.scroll(0,0); 			

}





function submitFN(form)
{
	
 // clear out old error indicators	 
  
  document.getElementById("serviceerror").style.display = "none";  
 document.getElementById("lasterror").style.display = "none"; 	
 document.getElementById("invoiceerror").style.display = "none";    
 document.getElementById("phoneerror").style.display = "none"; 
  document.getElementById("ziperror").style.display = "none";  
  document.getElementById("atleastoneopterror").style.display = "none"; 
   document.getElementById("HVTemailerror").style.display = "none"; 
  
 
 error = "N";
	    
     if (!checkName(form.elements["lastName1"],false)) {
	       document.getElementById("lasterror").style.display = "block";                 
           error = "Y";				   
	   }
	   
	   
	 if (!checkUSPhone(form.elements["phoneIn"],false)) {
	       document.getElementById("phoneerror").style.display = "block";                 
           error = "Y";				   
	   }
	 else  form.phone.value= longUSPhone(form.elements["phoneIn"]);  // send the service a phone which can be converted to long
	   
	 form.elements["sozip"].value = stripWhitespace(form.elements["sozip"].value);
					   // alert ("/"+ form.elements["sozip"].value+"/");
	 if (!checkZIPCode(form.elements["sozip"],false)) {				       
					       document.getElementById("ziperror").style.display = "block";                 
	                       error = "Y";				   
	 } 
	
	 if (!checkString(form.elements["emailIn"],false)&& !checkString(form.elements["Address1"],false)   ) {
	       document.getElementById("atleastoneopterror").style.display = "block";                 
           error = "Y";				   
	   }
		        
		          if ( form.emailIn.value.indexOf("havertys.com") != -1){
	                document.getElementById("HVTemailerror").style.display = "block"; 
	                error = "Y";	             
	             }      
		 
			 if (error == "N") {
			 // alert ("form sumbitted" + error);
			  form.lastName.value= form.lastName1.value;
			   
			
			   form.submit();
			 }
			 // else alert("form not submitted");
	
}



function submitINV(form)
{
	 // clear out old error indicators	  
 document.getElementById("serviceerror").style.display = "none";  
 document.getElementById("lasterror").style.display = "none"; 	  
 document.getElementById("invoiceerror").style.display = "none";  
 document.getElementById("phoneerror").style.display = "none"; 
 document.getElementById("ziperror").style.display = "none";  
  document.getElementById("atleastoneopterror").style.display = "none"; 
 
 error = "N";
	    
     if (!checkName(form.elements["lastName2"],false)) {
	       document.getElementById("lasterror").style.display = "block";                 
           error = "Y";				   
	   }
	
		         // check if they entered the invoice, if so, validate it 
	               if (checkString(form.elements["ProfitCenter1"],false) ||
	               checkString(form.elements["Invoice1"],false) ) {
				        form.ProfitCenter.value = form.ProfitCenter1.value;
						form.Invoice.value = form.Invoice1.value;
						// alert ("/"+form.ProfitCenter.value+"-"+form.Invoice.value+"/");	
								
							 if (!checkInvoiceNum(form.elements["ProfitCenter"],form.elements["Invoice"])) {
		                     document.getElementById("invoiceerror").style.display = "block";                 
			                 error = "Y";				   
			                 } 				
					
				    } else{  // if not, clear the profit center and invoice values.
				        form.ProfitCenter.value ="";
				 		form.Invoice.value = "";
				 		document.getElementById("invoiceerror").style.display = "block";                 
			             error = "Y";		
				    }
			
	
	   	
			 if (error == "N") {
			 
			   form.lastName.value= form.lastName2.value;
			  
			   // alert("Will submit" + form.ProfitCenter.value +  form.Invoice.value);
			   form.submit();
			 }
			  else {
			  //alert("Form not submitted" + form.ProfitCenter2.value +  form.Invoice2.value);
			 }
}

// RegistrationForm in OrderStatusDisplayRegister.jsp
function submitTO(form)
{
	 //  alert("in submitTO" );
	
 // clear out old error indicators	
 //document.getElementById("serviceerror").style.display = "none"; 
 document.getElementById("emailerror").style.display = "none";
 document.getElementById("HVTemailerror").style.display = "none";
 document.getElementById("pwerror").style.display = "none"; 	
 document.getElementById("confirmpwerror").style.display = "none";  
 document.getElementById("securityquestionerror").style.display = "none"; 
 document.getElementById("securityanswererror").style.display = "none"; 
 
 
			     error = "N";
			     
			    		    
			    // Greg asked me not to verify email on the front-end
			    // if (!checkEmail(form.elements["emailIn"], false) ){ 	
			     if (!checkString(form.elements["emailIn"], false) ){ 			      
	                 document.getElementById("emailerror").style.display = "block"; 
	                 error = "Y";	
	              }
	              
	             if ( form.emailIn.value.indexOf("havertys.com") != -1){
	                document.getElementById("HVTemailerror").style.display = "block"; 
	                error = "Y";	             
	             }
	                 
	             if (!checkHavertysPW(form.elements["logonPassword"], false) ){ 			      
	                 document.getElementById("pwerror").style.display = "block"; 
	                 error = "Y";	
	              }
	                 
	              	                 
	             else if ( form.logonPassword.value != form.logonPasswordVerify.value){ 
	               // alert("did not match");	           
	                 document.getElementById("confirmpwerror").style.display = "block"; 
	                 error = "Y";	
	              } 
	              	
				  
				 if (!checkString (form.elements["challengeQuestion"],false)) {
					       document.getElementById("securityquestionerror").style.display = "block";                 
	                       error = "Y";				   
				 } 
				   
				   				  
			     if (!checkString(form.elements["challengeAnswer"],false)) {
				       document.getElementById("securityanswererror").style.display = "block";                 
                       error = "Y";				   
				   }  
				    	              
			
			 if (error == "N") {
			
			    form.submit();
			 }
			 // else alert("form not submitted");

}


function showhideaddr1(d){ 
	if(document.getElementById(d).style.display == "none") 
	{ document.getElementById(d).style.display = "block"; 
	//document.Register.chgaddr.value='Y';
	}
	else 
	{ document.getElementById(d).style.display = "none"; 
	 document.getElementById("SO_Address1").value="";
	document.getElementById("SO_Address2").value="";
	document.getElementById("SO_City").value="";
	document.getElementById("SO_State").value=""; 
	//document.Register.chgaddr.value='N';
	}
} 


function showhideaddr(cb1, cb2, d){ 
	var isCbChecked = dojo.byId(cb1).checked || dojo.byId(cb2).checked;
	if(isCbChecked) { 
		document.getElementById(d).style.display = "block"; 
	} else { 
		document.getElementById(d).style.display = "none"; 
		document.getElementById("SO_Address1").value="";
		//document.getElementById("SO_Address2").value="";//jaddress2
		document.getElementById("SO_City").value="";
		document.getElementById("SO_State").value=""; 
	}
} 

//This JavaScript method is require as it is being called from AddressEntryForm.jspf
	function submitForm(form, reloadtype) {

	    if (reloadtype == undefined) {
		//DO NOTHING
	    }
	    else
	    {
	    	form.reloadStates.value='true';
		form.action='UserRegistrationForm';
		form.submit();
	    }	
	}

function moveToNext(event, obj1, chars, obj2) {
			if( event.keyCode != 9 && event.keyCode != 16)  // ignore tabs and shift
				if(obj1.value.length == chars)
					obj2.focus();
		}
