//-------------------------------------------------------------------------------
//	login.js
//  Handle client side validation functions for login and registration forms
//
// Update Log
// 2004-10-21 New CDRegister and CDRequest radio buttons
// 2004-12-10 modified to use both GET AND POST methods (POST won't work for Kevin Miller, for some reason)
// 2007-05-08 SELECT option for Admin - add 3rd GIVE_ACCESS RADIO BUTTON to validation validateAdmin()
// 2007-11-02 Remove CD Request & CD Register
// 2008-02-26 Change Title error messeage to Position/Department to match form
//*******************************************************************************

function doLoad() {
//*******************************************************************************
//	Called from Techdata.html, to start the app.
//*******************************************************************************
	var thePage; 
	var theRegFlag; 
	var RegFlag;  

	theRegFlag = getCookie("RegFlag"); // get the flag that was stored in the cookie
	if (theRegFlag == null)
		 {thePage = "techregform.html" } // Register the 1st time.
	else 
		{thePage = "techdata.asp" }  //** Already Registered
	location.href = thePage;
}

function showCookie() {
//*******************************************************************************
// Write to the cookie when the Techdata Intro menu page is displayed.
//*******************************************************************************	
	alert("RegFlag Cookie = " + getCookie("RegFlag"));
}

function fillCookie() {
//*******************************************************************************
// Set Cookie
//*******************************************************************************	
    var theRegFlag = 1;
	setCookie("RegFlag", theRegFlag);
	alert("RegFlag Cookie =  " + getCookie("RegFlag"));
}

function delCookie() {
//*******************************************************************************
// Delete Cookie
//*******************************************************************************	
	deleteCookie("RegFlag");
	alert("RegFlag Cookie =  " + getCookie("RegFlag"));
}	

function validateLogin ( form, arg ) {	
//******************************************************************************* 
//  Validate Login form 
//******************************************************************************* 
	var firstmessage="Please provide the following valid information:\n_____________________________________________\n\n ";
	var errormessage="";
	var fieldisblank=true;
	var actionurl;   // U=Update account, L=Login
	var actionmethod = "POST";
	
// javascript:validateLogin(1, 'func')	
	
	if (arg == "U") {
		actionurl = "login-acct.asp?func=u"; 
	}
	else {
		actionurl = "login-verify.asp"; 
	}					

//*** Email (EMAIL) 
//alert(form.Email.value.length);
   if (document.form0.Email.value.length ==0 || document.form0.Email.value.indexOf('@', 0) == -1 || document.form0.Email.value.indexOf('.', 0) == -1) 
	{errormessage=errormessage+"Userid (Your Email Address)\n"} 
	
//*** PASSWORD 
    fieldisblank=true
    for (j=0; j < document.form0.Password.value.length; j++) 
    {
      if (document.form0.Password.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Password.value.length < 4 || fieldisblank)
      	{errormessage=errormessage+"Password\n"}	

//	errormessage = "";   // Uncomment to deactivate the validation for testing

//* SPECIAL LOGIC - userid can't login using POST form, so use GET.
//* login-verify.asp has been modified to accept both methods
	if (document.form0.Email.value == "kevin.miller@lennoxintl.com" & arg =="") actionmethod = "GET";

   if (errormessage !="") { alert (firstmessage + errormessage); }
   else {   
  	document.form0.action = actionurl; 
    document.form0.method = actionmethod;  //* POST or GET
  	document.form0.submit();
 	return(0);  
   } 
}

function validateSend ( form ) {	
//******************************************************************************* 
//  Validate Sending of Password back to user
//******************************************************************************* 
	var firstmessage="Please provide the following valid information:\n_____________________________________________\n\n ";
	var errormessage="";
	var fieldisblank=true;

//*** Email (EMAIL) 

   if (document.form0.Email.value.length ==0 || document.form0.Email.value.indexOf('@', 0) == -1 || document.form0.Email.value.indexOf('.', 0) == -1) 
	{errormessage=errormessage+"Userid (Your Email Address)\n"} 

//	errormessage = "";   // Uncomment to deactivate the validation for testing

   if (errormessage !="") { alert (firstmessage + errormessage); }
   else {   
  	document.form0.action = "login-send.asp"; 
    document.form0.method = "POST";
  	document.form0.submit();
 	return(0);  
   }   
}

function validateAdmin ( form ) {	
//******************************************************************************* 
//  Validate Sending of Password back to user
//******************************************************************************* 
	var firstmessage="Please provide the following valid information:\n_____________________________________________\n\n ";
	var errormessage="";
	var fieldisblank=true;

//*** Email (EMAIL) 

   if (document.form0.Email.value.length ==0 || document.form0.Email.value.indexOf('@', 0) == -1 || document.form0.Email.value.indexOf('.', 0) == -1) 
	{errormessage=errormessage+"Userid (Your Email Address)\n"} 

	if (document.form0.Give_Access[0].checked || document.form0.Give_Access[1].checked  || document.form0.Give_Access[2].checked ) { }
	else { errormessage=errormessage + "Give Access (Yes or No)\n" }	
	
//	errormessage = "";   // Uncomment to deactivate the validation for testing

   if (errormessage !="") { alert (firstmessage + errormessage); }
   else {   
  	document.form0.action = "login-admindata.asp"; 
    document.form0.method = "POST";
  	document.form0.submit();
 	return(0);  
   }   
}

function adminSend ( form ) {	
//******************************************************************************* 
//  Validate Sending of Password back to user
//******************************************************************************* 

  	document.form0.action = "login-adminsend.asp"; 
    document.form0.method = "POST";
  	document.form0.submit();
 	return(0);   
}

function validate ( form, arg  ) {	
//******************************************************************************* 
//  Validate Registration form - login-acct.asp
//******************************************************************************* 
	var firstmessage="Please provide the following valid information:\n_____________________________________________\n\n ";
	var errormessage="";
	var fieldisblank=true;
	var theRegFlag = 1;

// javascript:validateLogin(1, 'func')	
	
	if (arg == "u") {
		actionurl = "login-acctdata.asp?func=u"; 
	}
	else {
		actionurl = "login-acctdata.asp?func=new"; 
	}	
		
//*** USERID - EMAIL  
   if (document.form0.Email.value.length ==0 || document.form0.Email.value.indexOf('@', 0) == -1 || document.form0.Email.value.indexOf('.', 0) == -1) 
 	{errormessage=errormessage+"Userid (Your Email Address)\n"} 

//*** PASSWORD 
    fieldisblank=true
    for (j=0; j < document.form0.Password.value.length; j++) 
    {
      if (document.form0.Password.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Password.value.length < 4 || fieldisblank)
      	{errormessage=errormessage+" Password (at least 4 characters)\n"}	

	if (document.form0.Password.value == "primo") 
		{errormessage=errormessage+" You must change your password, do not use \"primo\"\n"}

//*** PASSWORD2  VERIFICATION 
    fieldisblank=true
    for (j=0; j < document.form0.Password2.value.length; j++) 
    {
      if (document.form0.Password2.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Password2.value.length < 4 || fieldisblank)
      	{errormessage=errormessage+" Password Verification\n"}
      	
 	if ((document.form0.Password.value.length > 3) & (document.form0.Password2.value.length > 3)) {
 	  if (document.form0.Password.value != document.form0.Password2.value) 
 	 	{errormessage=errormessage+" Password does not verify\n"}
 	}	
	
	 		
//*** NAME 
    fieldisblank=true
    for (j=0; j < document.form0.Name.value.length; j++) 
    {
      if (document.form0.Name.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Name.value.length < 4 || fieldisblank)
      	{errormessage=errormessage+" Name\n"}

//*** TITLE 
    fieldisblank=true
    for (j=0; j < document.form0.Title.value.length; j++) 
    {
      if (document.form0.Title.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Title.value.length < 4 || fieldisblank)
      	{errormessage=errormessage+" Position/Department\n"}

//*** Company 
    fieldisblank=true
    for (j=0; j < document.form0.Company.value.length; j++) 
    {
      if (document.form0.Company.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Company.value.length < 3 || fieldisblank)
      	{errormessage=errormessage+" Company\n"} 
      	
//*** Company Type 
	var item = document.form0.CompanyType.selectedIndex;
	var CompanyTypeval = document.form0.CompanyType.options[item].value;
	if (CompanyTypeval == "") {errormessage=errormessage+" Company Type\n"}       	  	

//*** ADDR1
    minlength = 6;
    fieldblank=true;
    for (j=0; j < document.form0.Addr1.value.length; j++) 
    {
      if (document.form0.Addr1.value.substring(j,j+1) !=" ") {fieldblank=false}
    }
    if (document.form0.Addr1.value.length < minlength || fieldblank)
      	{errormessage=errormessage+" Address\n"}

//*** CITY
    minlength = 3; fieldblank=true;
    for (j=0; j < document.form0.City.value.length; j++) 
    {
      if (document.form0.City.value.substring(j,j+1) !=" ") {fieldblank=false}
    }
    if (document.form0.City.value.length < minlength || fieldblank)
      	{errormessage=errormessage+" City\n"}

//*** PROVINCE / STATE
    minlength = 2;     fieldblank=true;
    for (j=0; j < document.form0.Province_State.value.length; j++) 
    {
      if (document.form0.Province_State.value.substring(j,j+1) !=" ") {fieldblank=false}
    }
    if (document.form0.Province_State.value.length < minlength || fieldblank)
      	{errormessage=errormessage+" Province/State\n"}      	

//*** POSTAL CODE
    minlength = 5; fieldblank=true;
    for (j=0; j < document.form0.PostalCode.value.length; j++) 
    {
      if (document.form0.PostalCode.value.substring(j,j+1) !=" ") {fieldblank=false}
    }
    if (document.form0.PostalCode.value.length < minlength || fieldblank)
      	{errormessage=errormessage+" Postal/Zip Code\n"}
      	
//*** Country 
	var item = document.form0.Country.selectedIndex;
	var countryval = document.form0.Country.options[item].value;
	if (countryval == "") {errormessage=errormessage+" Country\n"}  
	
//*** Telephone 
    fieldisblank=true
    for (j=0; j < document.form0.Telephone.value.length; j++) 
    {
      if (document.form0.Telephone.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Telephone.value.length < 11 || fieldisblank)
    	{errormessage=errormessage+" Telephone\n"}      
      	
//*** Fax 
    fieldisblank=true
    for (j=0; j < document.form0.Fax.value.length; j++) 
    {
      if (document.form0.Fax.value.substring(j,j+1) !=" ") {fieldisblank=false}
    }
    if (document.form0.Fax.value.length < 11 || fieldisblank)
      	{errormessage=errormessage+" Fax\n"}      

//**** Cross Validate CDRegister and CDRequest

	CDRegisterFlag = false;
	CDRequestFlag = false;

if (arg == "u") {
	//* If update, bypass validating CDRegister, since not on update form.
	}
else {
//*** CDs DISCONTINUED 2007-11-02      	
//    if (document.form0.CDRegister[0].checked == false &&  document.form0.CDRegister[1].checked == false) {}
// 	  else { CDRegisterFlag = true; }  
    
//    if (document.form0.CDRequest[0].checked == false &  document.form0.CDRequest[1].checked == false) {}
//    else { CDRequestFlag = true; }  
	
//	if (CDRegisterFlag & CDRequestFlag) 
//		{errormessage=errormessage+" CD Register and CD Request are both checked. Clear one choice.\n"} 
}		
 
//	errormessage = "";   // Uncomment to deactivate the validation for testing

   if (errormessage !="") { alert (firstmessage + errormessage) ; return false; }
   else {   
  	document.form0.action = actionurl; 
    document.form0.method = "POST";
  	document.form0.submit();
	return(0);  
   }  
}

function setCookie(name, value, expires, path, domain, secure) {
//*******************************************************************************
// Generic rtn to set a cookie.
//*******************************************************************************
       var curCookie = name + "=" + escape(value) +
           ((expires) ? "; expires=" + expires.toGMTString() : "") +
           ((path) ? "; path=" + path : "") +
           ((domain) ? "; domain=" + domain : "") +
           ((secure) ? "; secure" : "");
       document.cookie = curCookie;
}
function getCookie(name) {
       var dc = document.cookie;
       var prefix = name + "=";
       var begin = dc.indexOf("; " + prefix);
       if (begin == -1) {
         begin = dc.indexOf(prefix);
         if (begin != 0) return null;
       } else
         begin += 2;
       var end = document.cookie.indexOf(";", begin);
       if (end == -1)
         end = dc.length;
       return unescape(dc.substring(begin + prefix.length, end));
     }
     
function deleteCookie(name, path, domain) {
       if (getCookie(name)) {
         document.cookie = name + "=" + 
         ((path) ? "; path=" + path : "") +
         ((domain) ? "; domain=" + domain : "") +
         "; expires=Thu, 01-Jan-70 00:00:01 GMT";
       }
}

function clearCDReg( ) {
//*******************************************************************************
// Uncheck CDRegister radio buttons
//*******************************************************************************
	document.form0.CDRegister[0].checked = false;
	document.form0.CDRegister[1].checked = false;
}

function clearCDReq( ) {
//*******************************************************************************
// Uncheck CDRequest radio buttons
//*******************************************************************************
	document.form0.CDRequest[0].checked = false;
	document.form0.CDRequest[1].checked = false;
}

function loadLogin( ) {
//*******************************************************************************
// load Login form with test data
//*******************************************************************************
    document.form0.Email.value =  "pc@twistedpixel.com";
//  document.form0.Password.value = "xxxx";
}

function loadLoginBob( ) {
//*******************************************************************************
// load Login form with test data
//*******************************************************************************
    document.form0.Email.value =  "balcott@schwankheaters.com";
//  document.form0.Password.value = "primo";
}

function loadData( ) {
//*******************************************************************************
// load form with test data
//*******************************************************************************

    document.form0.Name.value = "Paul Charles";
 	document.form0.Title.value = "Web Gopher"; 	    
    document.form0.Company.value = "Twisted Pixel"; 
    document.form0.CompanyType.selectedIndex = 1;
    document.form0.Addr1.value = "21 Main Street";
    document.form0.Addr2.value = "Suite 4";
    document.form0.City.value = "Penetang";
    document.form0.Province_State.value = "Ontario";
    document.form0.PostalCode.value = "L9M 1L1";
    document.form0.Country.selectedIndex = 1;
    document.form0.Telephone.value = "705-555-1212";
    document.form0.Fax.value =  "705-555-3456";
    document.form0.Email.value =  "pc@twistedpixel.com";
    document.form0.Password.value =  "xxxx";
//  document.form0.Password2.value =  "xxxx";
    document.form0.Access.checked = true;
//    document.form0.CDRegister[1].checked = true;
//    document.form0.CDRequest[1].checked = true;
}

function loadFake( ) {
//*******************************************************************************
// load form with new record (Admin)
//*******************************************************************************

    document.form0.Name.value = "Paul Charles";
 	document.form0.Title.value = "Web Gopher"; 	    
    document.form0.Company.value = "Twisted Pixel"; 
    document.form0.CompanyType.selectedIndex = 1;
    document.form0.Addr1.value = "21 Main Street";
    document.form0.Addr2.value = "Suite 4";
    document.form0.City.value = "Penetang";
    document.form0.Province_State.value = "Ontario";
    document.form0.PostalCode.value = "L9M 1L1";
    document.form0.Country.selectedIndex = 1;
    document.form0.Telephone.value = "705-555-1212";
    document.form0.Fax.value =  "705-555-3456";
    document.form0.Email.value =  "fake@xxx.com";
//  document.form0.Password.value =  "xxxx";
//	document.form0.CDRegister[1].checked = true;  
}

function loadBob( ) {
//*******************************************************************************
// load form with BOB data
//*******************************************************************************

    document.form0.Name.value = "Bob Alcott";
 	document.form0.Title.value = "Sales Manager"; 	    
    document.form0.Company.value = "SchwankGroup";
    document.form0.CompanyType.selectedIndex = 1; 
    document.form0.Addr1.value = "5285 Bradco Boulevard";
    document.form0.Addr2.value = "";
    document.form0.City.value = "Mississauga";
    document.form0.Province_State.value = "Ontario";
    document.form0.PostalCode.value = "L4W 2A6";
    document.form0.Country.selectedIndex = 1;
    document.form0.Telephone.value = "(905) 712-4766";
    document.form0.Fax.value =  "(905) 712-8336";
    document.form0.Email.value =  "balcott@schwankheaters.com";
//  document.form0.Password.value =  "aaaa";
//  document.form0.Password2.value =  "aaaa"; 
    document.form0.Access.checked = true;
//	document.form0.CDRegister[1].checked = true;  
}
  