/*
 * @Author Dharmendra Singh(QQPAT3D)
 * Date 19th June.
 */

var defaultEmptyOK = false;
var isNS4 = (navigator.appName=="Netscape")?1:0;

//whitespace characters
var whitespace = " \t\n\r";

//This function Checks whether string s is empty.
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// This function Checks whether there is whitespace.

function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
       
    	//  Check that current character isn't whitespace.
            var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    //  All characters are whitespace.
    return true;
}


function isEmail (s)
{  
	if (isEmpty(s)) 
       if (isEmail.arguments.length == 1)
    	   return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
   
    // is s whitespace?
    if (isWhitespace(s)) return false;
    
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@"))
    	return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    {
    	i++;
    }
    //  there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != "."))
    	return false;
    else return true;
}


function CodeOrPassword()
{
	form = document.getElementById("forgatePasswordSubmit");
	if ((form.elements['customerCode'].value=="" )&&(form.elements['email'].value=="" ))
	 {
		 alert("Please Enter atleast Customer Code or Email Address")
		 return false;
	 }
	 else return true;
}

function validateLogin()
{
	form = document.getElementById("userloginsubmit");
	if ((form.elements['customerCode'].value=="" ) ||(form.elements['customerCode'].value==null ))
	 {
		 alert("Please Enter  Customer Code ");
		 return false;
	 }
	else if ((form.elements['password'].value=="" ) ||(form.elements['password'].value==null ))
	 {
		 alert("Please Enter  Password");
		 return false;
	 }
	 else return true;
}

// Called in onkeypress. Allows everything except Single Quote


function enterDetails(e)
{
  var key=0;
  if(window.event || !e.which)
  {
    key = e.keyCode; 
    //alert(key)
  }
  else
  {
    key = e.which;
    //alert(key)
  }
  if(key!=39)
  {
    key=key;
    return true;
  }
  else
  {
    key=0;
    return false;
  }
}

//Phone Validation 

//Called in onkeypress. Allows Numbers,

function enterPhone(e)
{
var key=0;

if(window.event || !e.which)
{
		key = e.keyCode; 
    
}
	else
{
		key = e.which;

}

//        if((key>=48)&&(key<=57)||key==8||key==45||key==9||key==44)
     if((key>=48)&&(key<=57)) //||key==8||key==9)
     {
        key=key;
       
        return true;
     }
     else
     {
    	 
    	 return false;
     }
}
 //   Credit card Validation-------------------------->

 function Mod10()
 {   
	 //   v2.0
	 form = document.getElementById("cardinput");
  var ccNumb=form.elements['shipBillCard.creditCard.cardNumber'].value;

	 var valid = "0123456789"  // Valid digits in a credit card number
	 var len = ccNumb.length;  // The length of the submitted cc number
	 var iCCN = parseInt(ccNumb);  // integer of ccNumb
	 var sCCN = ccNumb.toString();  // string of ccNumb
	 sCCN = sCCN.replace (/^\s+|\s+$/g,'');  // strip spaces
	 var iTotal = 0;  // integer total set at zero
	 var bNum = true;  // by default assume it is a number
	 var bResult = false;  // by default assume it is NOT a valid cc
	 var temp;  // temp variable for parsing string
	 var calc;  // used for calculation of each digit

	 // Determine if the ccNumb is in fact all numbers
	 for (var j=0; j<len; j++) {
	   temp = "" + sCCN.substring(j, j+1);
	   if  (valid.indexOf(temp) == -1){bNum = false;}
	 }

	 // if it is NOT a number, you can either alert to the fact, or just pass a failure
	 if(!bNum){
	   /*alert("Not a Number");*/bResult = false;
	 }

	 // Determine if it is the proper length 
	 if((len == 0)&&(bResult)){  // nothing, field is blank AND passed above # check
	   bResult = false;
	 } else{  // ccNumb is a number and the proper length - let's see if it is a valid card number
	   if(len >= 15){  // 15 or 16 for Amex or V/MC
	     for(var i=len;i>0;i--){  // LOOP throught the digits of the card
	       calc = parseInt(iCCN) % 10;  // right most digit
	       calc = parseInt(calc);  // assure it is an integer
	       iTotal += calc;  // running total of the card number as we loop - Do Nothing to first digit
	       i--;  // decrement the count - move to the next digit in the card
	       iCCN = iCCN / 10;                               // subtracts right most digit from ccNumb
	       calc = parseInt(iCCN) % 10 ;    // NEXT right most digit
	       calc = calc *2;                                 // multiply the digit by two
	       // Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7,
	       // I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple.
	       switch(calc){
	         case 10: calc = 1; break;       //5*2=10 & 1+0 = 1
	         case 12: calc = 3; break;       //6*2=12 & 1+2 = 3
	         case 14: calc = 5; break;       //7*2=14 & 1+4 = 5
	         case 16: calc = 7; break;       //8*2=16 & 1+6 = 7
	         case 18: calc = 9; break;       //9*2=18 & 1+8 = 9
	         default: calc = calc;           //4*2= 8 &   8 = 8  -same for all lower numbers
	       }                                               
	     iCCN = iCCN / 10;  // subtracts right most digit from ccNum
	     iTotal += calc;  // running total of the card number as we loop
	   }  // END OF LOOP
	   if ((iTotal%10)==0){  // check to see if the sum Mod 10 is zero
	     bResult = true;  // This IS (or could be) a valid credit card number.
	   } else {
	     bResult = false;  // This could NOT be a valid credit card number
	     }
	   }
	 }
	 
	 if(!bResult){
	   alert("Please Enter Valid Credit Card Number!");
	 }
	   return bResult; // Return the results
	 }
 
 function upperCase(Obj)
 {
	//	   alert(Obj.value);
	     var ss=Obj.value
		Obj.value=Obj.value.toUpperCase();
		
 }
 function poNumberCheck(obj)
 {
	for(var i=1; i<= obj; i++)
		{
			form = document.getElementById("dealeraddtocart"+i);
		      if(document.getElementById('dealeraddtocart'+i).elements['poNumber'].value == "")
			{
				alert(" Dispatch or P.O Number can not be Blank");
				form.elements['poNumber'].focus();
				return false;

                        }


                     else
			{
				form.submit();
				
				
			}
                       
		}

		return true;
 }



 function submitDealerShoppingCart(obj)
 {
     if(!isNS4)
	 {
	     if(poNumberCheck(obj))
            {
        	    for(var i=1; i<= obj; i++)
                        {
                        form = document.getElementById('dealeraddtocart'+i);
                           if(form.elements['poNumber'].value.length>1)
                               {
                                 form.submit();
                               }

                         }
                 return window.confirm("Do You Want To CheckOut  The Shopping Cart...");
                }
         else
               {
    	        return false;
               }
	 }
     else
     {
    	 
    	 return poNumberCheckNetscap(obj);
          	 
     }
 }



function poNumberCheckNetscap(obj)
 {
	 
	 for(var i=1; i<= obj; i++)
		{
			form = document.getElementById('dealeraddtocart'+i);
			
				
			
			if(document.getElementById('dealeraddtocart'+i).elements['poNumber'].value == "")
			{
				alert(" Dispatch or P.O Number can not be Blank");
				form.elements['poNumber'].focus();
				return false;
			}
			else
			  {
				
			form.submit();
							
			 }
			
		
			
		      
		}

		return callCheckOut(5000);
 }
function callCheckOut(milsecs)
 {
	 
	 var to_time = new Date().getTime()+milsecs;
	 
	 while( new Date().getTime() < to_time ){}
	 document.forms[0].action="dealercheckout";
	 document.forms[0].submit();
	 return true;
	 
 }

 function FormatePostalCode()
 {
	     var regExp = /\s+/g;
	     form = document.getElementById("shippingandbilling");
	     field=form.elements['shipBillCard.billTo.postalCode'];
	     fieldValue=field.value;
	     PostalCode=fieldValue.toString();
	    
	     if(PostalCode.length==6)
	     {
	    	
	     PostalCode1=PostalCode.substring(0,3);
	    
	     PostalCode2=PostalCode.substring(3);
	    
	     field.value =PostalCode1+" "+PostalCode2; 
	     }
	     
	     
		 	
 }
 
 function FormatePostalCodeForDealer()
 {
	   
	     var regExp = /\s+/g;
	     form = document.getElementById("saveDealer");
	     field=form.elements['postalCode'];
	     fieldValue=field.value;
	     PostalCode=fieldValue.toString();
	    
	     if(PostalCode.length==6)
	     {
	    	
	     PostalCode1=PostalCode.substring(0,3);
	    
	     PostalCode2=PostalCode.substring(3);
	    
	     field.value =PostalCode1+" "+PostalCode2; 
	     }
	     
	     
		 	
 }
 
 function FormatePostalCodeForDealer1()
 {
	   
	     var regExp = /\s+/g;
	     form = document.getElementById("editdelete1");
	     field=form.elements['postalCode'];
	     fieldValue=field.value;
	     PostalCode=fieldValue.toString();
	    
	     if(PostalCode.length==6)
	     {
	    	
	     PostalCode1=PostalCode.substring(0,3);
	    
	     PostalCode2=PostalCode.substring(3);
	    
	     field.value =PostalCode1+" "+PostalCode2; 
	     }
	     
	     
		 	
 }

