
function checkForEnter(e,fnName) 
{ var key = e.keyCode;
   if(key=="13" && navigator.userAgent=="Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1"){
   eval(fnName);
   } if(key=="13" && navigator.userAgent=="Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; m18) Gecko/20001108 Netscape6/6.0"){     
      eval(fnName); 
    }
 }

    //CVV maximum entries field
    var visaMaxLen=3
    var masterMaxLen=3
    var amExMaxLen=4
    var discoverMaxLen=3



     //JS error messages 
    //Credit card
     var cardDescriptionNull="Please enter your credit card description";
     var cardDescriptionAlpha="Your card description can contain only alpha characters. Please re-Enter";
     var cardHolderName="Please enter your cardholder name exactly as it appears on the credit card";
     var cardHolderNameAlpha="Your card Holder's name can contain only alpha characters. Please re-Enter";
     var cardTypeNull="Please select your credit card type";
     var cardNumNull="Please enter credit card number";
     var cardNumInvalid="Please enter a valid credit card number";
     var cardNumLength="Your credit card can contains 16 numeric digits. Please re-Enter";
     var cardNumNumeric="Your credit card can contain only numeric digits. Please re-Enter";
     var cardMisMatch="Please enter a valid credit card number";
     var cardVerificationNumNull="Please enter the card verification code as it appears on your credit card";
     var cardVerificationNumNumeric="Your verification number can contain only numeric digits. Please re-Enter";
     var cardVerificationInvalid="Your verification number can contain 3 or 4 numeric digits. Please re-Enter";
     var cardExpiryMonthNull="Please select the month that your credit card expires";
     var cardExpiryYearNull="Please select the year that your credit card expires";
     var cardExpiryMonthYearInvalid="Your Credit Card has expired.Please re-Enter";
     var cardVerificationVisaInvalid="Your verification number for VisaCard can contain only "+visaMaxLen+" digits. Please re-Enter";
     var cardVerificationMasterInvalid="Your verification number for MasterCard can contain only "+masterMaxLen+" digits. Please re-Enter";
     var cardVerificationAmExInvalid="Your verification number for AmExCard can contain only "+amExMaxLen+" digits. Please re-Enter";
     var cardVerificationDiscoverInvalid="Your verification number for DiscoverCard can contain only "+discoverMaxLen+" digits. Please re-Enter";
     
    
    //Address
     var descriptionNull="Please enter your description";
     var descriptionAlpha="Your description can contain only alpha characters. Please re-Enter";
     var streetNull="Please enter your street address";
     var streetInvalid="Your street adddress can contain only alpha-numeric characters. Please re-Enter";
     var cityNull="Please enter your city of residence";
     var cityAlpha="Your city can contain only alpha characters. Please re-Enter";
     var phoneNull="Please enter your phone number";
     var phoneInvalid="Please enter a valid phone number"; 
     var stateNull="Please select your state of residence";
     var zipNull="Please enter your zip code";
     var zipLength="Your zip code must be five digits long. Please re-enter your zip code";
     var zipInvalid="Please enter a valid zip code";
     var zipLastInvalid="Please enter a valid zip code 2 add-on";
     var zipLastLength="Your zip code 2 add-on must be four digits long. Please re-enter your zip code add-on";

     var splDelvInstructionLength="Your comments must be 300 characters or less. Please re-enter";
//Account Details
     var firstNameNull="Please enter your first name";
     var middleNameAlphaNumeric = "You entered special characters that cannot be read by our system. Please re-enter your middle Name";
     var firstNameAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter your first name";
     var lastNameNull="Please enter your last name";
     var lastNameAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter your last name";
     var userNameNull="Please enter your user name";
     var userNameAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter your user name";
     var userNameLength="The user name should be more than 6 characters and less than 20 characters. Please re-enter";
     var oldPasswordNull="Please enter your old password";
     var oldPasswordAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter a valid password";
     var passwordNull="Please enter your password";
     var passwordAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter a valid password";
     var passwordInvalid="Your password should contain atleast one character and one digit.  Please re-enter";
     var passwordLength="Your password should be between 6 to 20 characters. Please re-Enter";
     var passwordMatch="The username and password cannot be similar. Please re-enter";
     var rePasswordNull="Please enter your password once again";
     var passwordMisMatch="The passwords entered do not match. Please re-Enter";
     var emailNull="Please enter your e-mail address";
     var emailInvalid="Please enter a valid e-mail address, using the format username@subdomain.domain";
     var reEmailNull="Please enter your e-mail address";
     var reEmailInvalid="Please enter a valid e-mail address, using the format username@subdomain.domain";
     var emailMisMatch="The emails should match. Please re-Enter";
     var passwordNull="Please enter your password";
     
     var hintQuestionCodeNull="Please select a password hint question";
     var hintAnswerNull="Please enter an answer to your password hint question";
     var hintAnswerAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter the answer to your password hint question";
     var pscNumberNull="Please enter your PSC number";
     var pscPhoneNumberNull="Please enter your PSC phone number";
     var referralsInvalid="Please enter a valid e-mail address, using the format username@subdomain.domain";
     var termsCheckedNull="Please read our terms & conditions before continuing";
 
 //Community Form
    var companyNameNull="Please enter the company name";
    var companyNameAlphaNumeric="You entered special characters that cannot be read by our system. Please re-enter your company name";
    var communityCardNull="Please enter your card number";
    var communityCardLength="Your card number contain 11 digits. Please re-Enter";
      
//contact us
    var nameNull="Please enter the name";
    var nameInvalid="Please enter valid name";
    var incidentDateInvalid="Please enter in date format";
    var commentsNull="Please enter your comments";

function getElementsByClassName(cls,tag,parent) {
	var d,a,e,i,c;
	d = (parent) ? parent : document;
	if(tag) {
        a = d.all && d.all.tags(tag) || d.getElementsByTagName(tag);
	} else {
		a = d.all || d.getElementsByTagName("*");
	}
	e = [];
	for(i=0,c=0; i<a.length; i++) {
	   if(a[i].className == cls) {
	       e[c] = a[i];
	   c++;
	   }
	}
	return e;
}

function loadSwapImage() {

    var e = getElementsByClassName('swap');

    for(var i=0; i<e.length; i++) {
        var imgObj = e[i].getElementsByTagName("IMG")[0];
        if(imgObj){
            e[i].synImg = imgObj;
            var tmpI = new Image();
            tmpI.src = swapImage(e[i],0,0);
            e[i].onmouseover = function(){ swapImage(this,1,1) };
            e[i].onmouseout = function(){ swapImage(this,0,1) };
        }
    }
}

function swapImage(obj,state,swap){
	var over = "_1.";
	var out = "_0.";
	var str = obj.synImg.src;
	str = (str.indexOf(over)!=-1)?str.replace(over,out):str.replace(out,over);
	
    if(swap){
	    if(state==1 || state==0 && obj.init){
	        obj.synImg.src = str;
	    }
	    obj.init = true;
	}
    return str;
}
function Handle() {
	var t = this;
	t.load = [];
	t.unload = [];
	t.add = function(id,v) {
	t[id][t[id].length] = v;
	}
	t.exec = function(id) {
	   for(var i=0; i<t[id].length; i++) {
	       eval(t[id][i])
	   }
	}
	window.onload = function() { 
	t.exec('load');
	loadSwapImage();
	}
	window.onunload = function() {
	t.exec('unload');
    }
}

var handle = new Handle();

function changeImage(Id)
 {
     //alert ("hai"+Id);
     obj=document.getElementById(Id);
     //alert(parseInt(Id%10));
     //alert(obj.src);
     document.forms["checkoutForm"].slotDate.value = dateSlot[Id%10];
     document.forms["checkoutForm"].slotTime.value = timeSlot[parseInt(Id/10)];
     document.forms["checkoutForm"].windowId.value = windowIds[parseInt(Id/10)];
    // alert(document.forms["checkoutForm"].slotDate.value);
     if(obj.src.indexOf("truck_icon_red_on_white.gif")!=-1){   
        alert("Time Slots are Full.Please Select Other!");      
     }
         
     else
     {
          var oldId = document.forms["truckForm"].truckID.value;
          //alert(oldId);
          if(oldId != "00")
          {
              oldObj=document.getElementById(oldId);
              oldObj.src = document.forms["truckForm"].truckImage.value;
          }   
          document.forms["truckForm"].truckID.value=Id;
          
          if(obj.src.indexOf("truck_icon_green_on_white.gif")!=-1)
          {
               obj.src = "/eCommerceWeb/images/eCommerce/myOrders/truck_white_on_blue.jpg";
               document.forms["truckForm"].truckImage.value="/eCommerceWeb/images/eCommerce/myOrders/truck_icon_green_on_white.gif";
          }
          else if(obj.src.indexOf("truck_icon_orange_on_white.gif")!=-1)
          {
               obj.src = "/eCommerceWeb/images/eCommerce/myOrders/truck_white_on_blue.jpg";
               document.forms["truckForm"].truckImage.value="/eCommerceWeb/images/eCommerce/myOrders/truck_icon_orange_on_white.gif";
          }
          else if(obj.src.indexOf("truck_white_on_blue.jpg")!=-1)
          {
               obj.src = document.forms["truckForm"].truckImage.value;
          }
    
     }
     return false;
 
 }



/*JavaSript code for ShowImages/HideImages */
function showHideImages(divId,divText,imgHeight,imgWidth)
{
    var img = document.images;
	if(divText == "Show images"){
        for(var i=0;i<img.length;i++){
            if(img[i].className == 'HideImageClass'){
                img[i].className = 'ShowImageClass';
	            img[i].width = imgWidth;
	            img[i].height = imgHeight;
	        }
	    }
	    eval("document.getElementById('" + divId + "').innerHTML = 'Hide images'");
	}else{
	    for(var i=0;i<img.length;i++){
	        if(img[i].className == 'ShowImageClass'){
	            img[i].className = 'HideImageClass';
	            img[i].width = '1';
	            img[i].height = '1';
	        } 
	    }
	    eval("document.getElementById('" + divId + "').innerHTML = 'Show images'");
	}
	setShowHideImgCookie(divText);
}

function showHideImages2(divId1,divId2, divText,imgHeight,imgWidth)//This method is for pages having '2' hide Images link

{
//alert("hai");
var img = document.images;

if(divText == "Show images"){
    for(var i=0;i<img.length;i++){
        if(img[i].className == 'HideImageClass'){
            img[i].className = 'ShowImageClass';
            img[i].width = imgWidth;
            img[i].height = imgHeight;
        }
    }
    eval("document.getElementById('" + divId1 + "').innerHTML = 'Hide images'");
    eval("document.getElementById('" + divId2 + "').innerHTML = 'Hide images'"); //Modified by ranga/prem
}else{
    for(var i=0;i<img.length;i++){
        if(img[i].className == 'ShowImageClass'){
            img[i].className = 'HideImageClass';
            img[i].width = imgWidth;
            img[i].height = imgHeight;
        } 
    }
    eval("document.getElementById('" + divId1 + "').innerHTML = 'Show images'");
    eval("document.getElementById('" + divId2 + "').innerHTML = 'Show images'"); //Modified by ranga/prem 
}
setShowHideImgCookie(divText);
}


/*JavaSript code for Spinner Ctl  */
    
//'Quantity' Text field name is assumed to be qty
function incr(form,index,divId)
  {

            var elm = eval("document."+form+".elements");
           
            var k=0;
            for(var l=0; l<elm.length;l++)
            {
                if(elm[l].name == 'qty')
                {
                    k++;
                }
            }

             var ind=parseInt(index)-1; 
    if(k>1)
    {
  
           
           var isCartPresent= eval("document."+form+".isCartPresent["+ind+"].value");
           var s1=eval("document."+form+".qty["+ind+"].value");
           if ( isNaN(s1) || s1=='')
            {
                s1 = 1;                                        
            }
           var s2=parseInt(s1)+1;              
           if(s2>0)
           {
           
                if(s2>24)
                    {
                      alert("Please enter quantity less than 25 ");
                      s2=s2-1;
                    } 
                    
             if(isCartPresent == 'true') 

             eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + index + ",\\'update\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_update.gif\"></a>'");
         
           else
           
             eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + index + ",\\'add\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_add.gif\"></a>'");  
         }       
          eval("document."+form+".qty[" + ind + "].value='" + s2 + "'");    
      } 
      
      
      else
        { 
            var isCartPresent= eval("document."+form+".isCartPresent.value");
            var s1=eval("document."+form+".qty.value");
            if ( isNaN(s1) || s1=='')
            {
                s1 = 1;
                
            }
            var s2=parseInt(s1)+1;                
             
               if(s2>0)
               {
               
                  if(s2>24)
                    {
                      alert("Please enter quantity less than 25 ");
                      s2=s2-1;
                    } 
               
                     if(isCartPresent == 'true') 
        
                    eval("document.getElementById('" + divId + "').innerHTML = \"<a href=\\'#\\' onclick=javascript:addToCart('" + form + "',1,'update')><img src='/eCommerceWeb/images/eCommerce/common/cart_update.gif'></a>\"");
                 
                   else
                   
                     eval("document.getElementById('" + divId + "').innerHTML = \"<a href=\\'#\\' onclick=javascript:addToCart('" + form + "',1,'add')><img src='/eCommerceWeb/images/eCommerce/common/cart_add.gif'></a>\"");  
               }   
               
               eval("document."+form+".qty.value='" + s2 + "'");                     
        }
      
       
  }
  
 function decr(form,ind,divId)
  {
         var elm = eval("document."+form+".elements");
           
            var k=0;
            for(var l=0; l<elm.length;l++)
            {
                if(elm[l].name == 'qty')
                {
                    k++;
                }
            }
       
    if(k>1)
    {
       var index=parseInt(ind)-1; 
       var isCartPresent= eval("document."+form+".isCartPresent["+index+"].value");
       var s1=eval("document."+form+".qty["+index+"].value");
       if ( isNaN(s1) || s1=='')
            {   
                s1 = 1;
                
            }
       var s2=parseInt(s1)-1;
           if(s2<=0 && isCartPresent == 'true')
            {
               s2=0;
               eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + ind + ",\\'remove\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_remove.gif\"></a>'");                        
            }
            else
            {
              if(s2<=1)
                s2=1;
            }
            eval("document."+form+".qty[" + index + "].value='" + s2 + "'");
            
     }
     
     else
     {     
            var isCartPresent= eval("document."+form+".isCartPresent.value");
            var s1=eval("document."+form+".qty.value");
            if ( isNaN(s1) || s1=='')
            {
                s1 = 1;
                
            }
            var s2=parseInt(s1)-1;
               if(s2<=0 && isCartPresent == 'true')
                {
                   s2=0;
                   eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + ind + ",\\'remove\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_remove.gif\"></a>'");                        
                   
                }
                 else
                    {
                      if(s2<=1)
                        s2=1;
                    }
                 eval("document."+form+".qty.value='" + s2 + "'");   
                        
      }        
      

  } 
          
//'Quantity' Text field name is assumed to be qty
   function on_Change(form,index,divId)
     {
       
       var elm = eval("document."+form+".elements");
       
        var k=0;
        for(var l=0; l<elm.length;l++)
        {
            if(elm[l].name == 'qty')
            {
                k++;
            }
        }
     
       
         var ind=parseInt(index)-1; 
         if(k>1)   
           {              
             var isCartPresent= eval("document."+form+".isCartPresent["+ind+"].value");
             var s3=eval("document."+form+".qty["+ind+"].value");                     
           } 
         else
           {
             var isCartPresent= eval("document."+form+".isCartPresent.value");
             var s3=eval("document."+form+".qty.value");
           }
        
         var s4= new Number(s3);
         var temp="0123456789"
         for(var i=0;i<s3.length;i++)
            {
                var s5=""+s3.substring(i,i+1);
                if(temp.indexOf(s5)!="-1")
                    {
                 
                                                
                         if(s4<=0)
                             {
                             
                             if(isCartPresent == 'true')                                      
                               {                                     
                                s4=0;                                        
                                eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + index + ",\\'remove\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_remove.gif\"></a>'");                        
                              
                                }
                              else
                                {
                                  s4=1;
                                }  
                                
                               
                                   if(k>1)
                                    
                                       eval("document."+form+".qty[" + ind + "].value='" + s4 + "'");
                                      
                                   else
                                    
                                       eval("document."+form+".qty.value='" + s4 + "'");    
                                
                                
                             }  
         
                            else
                            {
                               if(s4>24)
                                {
                                  alert("Please enter quantity less than 25 ");
                                  s4=1;
                                } 
                               
                               if(isCartPresent == 'true') 
                               {
                                    
                                     eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + index + ",\\'update\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_update.gif\"></a>'");
                                } 
                               else
                               {    
                                    
                                     eval("document.getElementById('" + divId + "').innerHTML = '<a href=\\'#\\' onclick=\"javascript:addToCart(\\'" + form + "\\'," + index + ",\\'add\\');\"><img src=\"/eCommerceWeb/images/eCommerce/common/cart_add.gif\"></a>'");  
                                }
                                  if(k>1)
                                    
                                       eval("document."+form+".qty[" + ind + "].value='" + s4 + "'");
                                      
                                   else
                                    
                                       eval("document."+form+".qty.value='" + s4 + "'");    
                            }        
                    }
            
                    else
                    {
                                if(k>1)
                                    
                                       eval("document."+form+".qty[" + ind + "].value='" + 1 + "'");
                                      
                                   else
                                    
                                       eval("document."+form+".qty.value='" + 1 + "'");    
                        alert("Enter numbers only"); 
                        return;
                    }  
                           
                }    
               
                
                
      }
      
      
              
   function addToCart(formName,ind,transType,isCartPresent)  
  {           
     var elm = eval("document."+formName+".elements");
     var productId=null;
     var productName=null;
     var sizeDescription=null;                   
     var prodId=null;
     var k=0;
     var cartLitePresent = eval("document.addToCartForm.cartLitePresent.value");
     
    for(var l=0; l<elm.length;l++)
    {
        if(elm[l].name == 'qty')
        {
            k++;
        }
    }
 
         var index=parseInt(ind)-1;
    
     if(k>1)
      {
       
       productId=eval("document."+formName+".productId["+index+"].value");
                          
       productName=eval("document."+formName+".productName["+index+"].value");
                          
       sizeDescription=eval("document."+formName+".sizeDescription["+index+"].value");
                          
       qty=eval("document."+formName+".qty["+index+"].value");
        if ( isNaN(qty) || qty=='')
         {                        
            qty = 1;                                          
         }
      }
     else
     {
                         
       productId=eval("document."+formName+".productId.value");
                        
       productName=eval("document."+formName+".productName.value");
                        
       sizeDescription=eval("document."+formName+".sizeDescription.value");
                        
       qty=eval("document."+formName+".qty.value");
       if ( isNaN(qty) || qty=='')
         {                        
            qty = 1;                                         
         }
      
     }  
       
       
        eval("document.addToCartForm.productId.value='"+productId+"'");
        eval("document.addToCartForm.productName.value='"+productName+"'");
        eval("document.addToCartForm.sizeDescription.value='"+sizeDescription+"'");
        eval("document.addToCartForm.qty.value='"+qty+"'");
        
        

                                
        if(transType == 'add')
         {
        //   eval("document."+formName+".action='/eCommerceWeb/AddToCartAction.do?action=addItemToCart'");
   //        eval("document.getElementById('" + formName+ind + "').innerHTML = \"<a href=javascript:addToCart('" + formName + "'," + ind + ",'update')><img src='/eCommerceWeb/images/eCommerce/common/cart_update.gif'></a>\"");
 
                      if(k>1)
          {
           var isCartPresent= eval("document."+formName+".isCartPresent["+index+"].value");
           eval("document."+formName+".isCartPresent["+index+"].value=true");             
          }
          else
           {
            var isCartPresent= eval("document."+formName+".isCartPresent.value");
            eval("document."+formName+".isCartPresent.value=true"); 
           }

         }                                                                  
 
           else 
           if(transType == 'update')
          {
         //   eval("document."+formName+".action='/eCommerceWeb/AddToCartAction.do?action=addItemToCart'");
          }
      
       else 
        {  
           
           //eval("document."+formName+".action='/eCommerceWeb/AddToCartAction.do?action=addItemToCart'");
      //     eval("document.getElementById('" + formName+ind + "').innerHTML = \"<a href='#' onclick=javascript:addToCart('" + formName + "'," + ind + ",'add')><img src='/eCommerceWeb/images/eCommerce/common/cart_add.gif'></a>\"");  
           
           
        }     
           
      if(cartLitePresent == 'false')  
        {
          document.addToCartForm.submit();
        }
        
       else
       {
           if(window.frames['cartFrame'].document.getElementById('prepage').style.visibility=="hidden") 
           {            
             document.addToCartForm.submit();     
             window.frames['cartFrame'].document.getElementById('prepage').style.visibility="visible" ;
             window.frames['cartFrame'].document.getElementById('postpage').style.visibility="hidden";   
             return false;
           }              
       }
            
      if(transType == 'remove')
      {
      
        if(k>1)
          {
           var isCartPresent= eval("document."+formName+".isCartPresent["+index+"].value");
           eval("document."+formName+".isCartPresent["+index+"].value=false");     
                
          }
          else
           {
            var isCartPresent= eval("document."+formName+".isCartPresent.value");
            eval("document."+formName+".isCartPresent.value=false"); 
           
           }
         
      }
         
        
  
  }   
  

//The following increment  functionality are for modules excluding Product Catalog     
          
function incr1(form,txtName,index)
{
         if(isFinite(eval("document."+form+"."+txtName+".length"))){
                if(index != null){
                       var ind=parseInt(index)-1;                        
                       var s1=eval("document."+form+"."+txtName+"["+ind+"].value");
                       if ( isNaN(s1) || s1=='')
                             {                        
                                s1 = 1;                                          
                             }
                       var s2=parseInt(s1)+1;
                        if(s2>24){
                          alert("Please enter quantity less than 25 ");
                          s2=s2-1;
                        } 
                       eval("document."+form+"."+txtName+"["+ind+"].value='" + s2 + "'");
                 }else{
                    var s1=eval("document."+form+"."+txtName+".value");
                    if ( isNaN(s1) || s1=='')
                             {                        
                                s1 = 1;                                          
                             }
                    var s2=parseInt(s1)+1;
                    if(s2>24){
                          alert("Please enter quantity less than 25 ");
                          s2=s2-1;
                        } 
                    eval("document."+form+"."+txtName+".value='" + s2 + "'");
                  }
    }else{
      
            var s1=eval("document."+form+"."+txtName+".value");
            if ( isNaN(s1) || s1=='')
             {                        
                s1 = 1;                                          
             }
            var s2=parseInt(s1)+1;
            if(s2>24)
            {
              alert("Please enter quantity less than 25 ");
              s2=s2-1;
            } 
            eval("document."+form+"."+txtName+".value='" + s2 + "'");
    }   
}
  
  
//The following decrement  functionality are for modules excluding Product Catalog   
function decr1(form,txtName,ind)
{
    if(isFinite(eval("document."+form+"."+txtName+".length")))
        {
                        if(ind != null){
                           var index=parseInt(ind)-1; 
                           var s1=eval("document."+form+"."+txtName+"["+index+"].value");
                           if ( isNaN(s1) || s1=='')
                             {                        
                                s1 = 1;                                          
                             }
                           var s2=parseInt(s1)-1;
                               if(s2<=1){
                                   s2=1;
                                }
                           eval("document."+form+"."+txtName+"["+index+"].value='" + s2 + "'");
                         }else{
                            var s1=eval("document."+form+"."+txtName+".value");
                            if ( isNaN(s1) || s1=='')
                             {                        
                                s1 = 1;                                          
                             }
                            var s2=parseInt(s1)-1;
                            if(s2<=1){
                               s2=1;
                            }
                            eval("document."+form+"."+txtName+".value='" + s2 + "'");
                          }   
        
        }else{
              var s1=eval("document."+form+"."+txtName+".value");
              if ( isNaN(s1) || s1=='')
                 {                        
                    s1 = 1;                                          
                 }
              var s2=parseInt(s1)-1;
              if(s2<=1){
                   s2=1;
                }
              eval("document."+form+"."+txtName+".value='" + s2 + "'");
    }
} 

 //The following onChange   functionality are for modules excluding Product Catalog
 function on_Change2(form,txtName,index)
{
    if(index != null){                
        if(isFinite(eval("document."+form+"."+txtName+".length"))){
            var ind=parseInt(index)-1; 
            var s3=eval("document."+form+"."+txtName+"["+ind+"].value");
        }else
            var s3=eval("document."+form+"."+txtName+".value");  
            var s4=parseInt(s3);
            var temp="0123456789"
            for(var i=0;i<s3.length;i++){
                var s5=""+s3.substring(i,i+1);
                if(temp.indexOf(s5)!="-1"){
                    if(s4<=0){
                        s4=1;
                        if(isFinite(eval("document."+form+"."+txtName+".length")))         
                            eval("document."+form+"."+txtName+"["+ind+"].value='" + s4 + "'");
                        else
                            eval("document."+form+"."+txtName+".value='" + s4 + "'");
                    }else{
                        if(s4>24){
                            alert("Please enter quantity less than 25 ");
                            s4=1;
                    } 
                    if(isFinite(eval("document."+form+"."+txtName+".length")))         
                        eval("document."+form+"."+txtName+"["+ind+"].value='" + s4 + "'");
                    else
                        eval("document."+form+"."+txtName+".value='" + s4 + "'");
                }        
            }else{
                if(isFinite(eval("document."+form+"."+txtName+".length")))         
                    eval("document."+form+"."+txtName+"["+ind+"].value='" + 1 + "'");
                else
                    eval("document."+form+"."+txtName+".value='" + 1 + "'");
                alert("Enter numbers only");  
                return;
            }  
        }
    }else{
        var ind=parseInt(index)-1; 
        var s3=eval("document."+form+"."+txtName+".value");
        var s4=parseInt(s3);
        var temp="0123456789"
        for(var i=0;i<s3.length;i++){
            var s5=""+s3.substring(i,i+1);
            if(temp.indexOf(s5)!="-1"){
                if(s4<=0){
                    s4=1;                                                  
                    eval("document."+form+"."+txtName+".value='" + s4 + "'");                                                   
            	}else{
                    eval("document."+form+"."+txtName+".value='" + s4 + "'");
                }        
            }else{
                if(s4>24){
                    alert("Please enter quantity less than 25 ");
                    s4=1;
                } 
                eval("document."+form+"."+txtName+".value='" + 1 + "'");
                alert("Enter numbers only");  
                return;
            }  
        }   
    }
}   
/*JavaSript code for Spinner Ctl  ends here */



/* JavaScript for productSort */

function setShowHideImgCookie(showHideImgValue)
{
   setCookie("showHideImgCookie",showHideImgValue,"/");
}


function setPPSortCookie()
{
    setCookie("ppSortBy",document.productSort.sortByAttribute.value,"/");
    document.productSort.submit();
}


function setSortCookie()
{
    setCookie("attributeCookie",document.productSort.sortByAttribute.value,"/");
    document.productSort.submit();
}

function setProductsPerPageCookie()
{
    setCookie("pageNoCookie",document.productSort.productsPerPage.value,"/");  
    document.productSort.submit();
}


function setCookie(name,value,path) {
    var today = new Date();
    var expire = new Date();
    var nDays=365*2;
    expire.setTime(today.getTime() + 3600000*24*nDays);
    document.cookie = name + "=" + escape(value) +
    ((path) ? "; path=" + path : "")+
    ";expires="+expire.toGMTString();
}


function paginate(formName, pageNo)
{
    eval("document." + formName + ".currentPage.value=" + pageNo);
    eval("document." + formName + ".submit();");
}

function changeAction(addToOption)
{
    var list ="list";
    var allUnchecked = "true";    
    var quantity = eval(document.PastPurchaseForm.quantity);
    if (isFinite(document.PastPurchaseForm.quantity.length)){     
        optionList=eval(document.PastPurchaseForm.option);
        quantity = eval(document.PastPurchaseForm.quantity);       
        for (j=0;j<optionList.length;j++){
            if (document.PastPurchaseForm.option[j].checked == true){
                allUnchecked= "false";                             
            }
        }
        if(allUnchecked == "false"){
            for (i=0;i<optionList.length;i++){
                if (document.PastPurchaseForm.option[i].checked == true){
                    eval("document.PastPurchaseForm.addOption[" + i + "].value = 'add'");
                }else{
                    eval("document.PastPurchaseForm.addOption[" + i + "].value = 'nill'");
                }   
                   if( quantity[i].value == '') 
                   {
                     quantity[i].value = 1;                     
                   }
              
            }
            eval("document.PastPurchaseForm.action='/eCommerceWeb/AddPastPurchasesAction.do?action=addPastPurchasesToListnCart&addToOpt="+addToOption+"'");
            document.PastPurchaseForm.submit();
        }else{
            alert("Please choose atleast one item before adding to List/Cart"); 
        }
    
    }else{
        optionList=eval(document.PastPurchaseForm.option);
        if (document.PastPurchaseForm.option.checked == true){
            if (document.PastPurchaseForm.option.checked == true){
                eval("document.PastPurchaseForm.addOption.value = 'add'");
                 
             if( quantity.value=='') 
               {
                 quantity.value = 1;                 
               }
                 
            }
            eval("document.PastPurchaseForm.action='/eCommerceWeb/AddPastPurchasesAction.do?action=addPastPurchasesToListnCart&addToOpt="+addToOption+"'");
            document.PastPurchaseForm.submit();            
            
        }else{
            alert("Please choose the item before adding to List/Cart"); 
        }
    }
}


/*******************************************
Common js functions
******************************************/

function account(){
    var pscInvalidFlag=-1;
     
    if(isBlank(document.forms[0].firstName.value)){
        alert(firstNameNull);
        document.forms[0].firstName.focus();
    }else if(!isAlphaNumeric(document.forms[0].firstName.value)) {
        alert(firstNameAlphaNumeric);
        document.forms[0].firstName.focus();
    }else if(!isBlank(document.forms[0].middleName.value) && !isAlphaNumeric(document.forms[0].middleName.value)){
        alert(middleNameAlphaNumeric);
        document.forms[0].middleName.focus();
    }else if(isBlank(document.forms[0].lastName.value)){
        alert(lastNameNull);
        document.forms[0].lastName.focus();
    }else if(!isAlphaNumeric(document.forms[0].lastName.value)){
        alert(lastNameAlphaNumeric);
        document.forms[0].lastName.focus();
    }else if(isBlank(document.forms[0].userName.value)){
        alert(userNameNull);
        document.forms[0].userName.focus();
    }else if(!isAlphaNumeric(document.forms[0].userName.value)){
        alert(userNameAlphaNumeric);
        document.forms[0].userName.focus();
    }else if(document.forms[0].userName.value.length <'6' || document.forms[0].userName.value.length>'20'){
        alert(userNameLength);
        document.forms[0].userName.focus();
    }else if(isBlank(document.forms[0].password.value)){
        alert(passwordNull);
        document.forms[0].password.focus();
    }else if(!isAlphaNumeric(document.forms[0].password.value)){
        alert(passwordAlphaNumeric);
        document.forms[0].password.focus();
    }else if(!isPassword(document.forms[0].password.value)){
        alert(passwordInvalid);
        document.forms[0].password.focus();
    }else if(document.forms[0].password.value.length<'6' ||  document.forms[0].password.value.length>'20'){    
        alert(passwordLength);
        document.forms[0].password.focus();
    }else if(passwdEqualsLogin(document.forms[0].userName.value, document.forms[0].password.value)){
        alert(passwordMatch);
        document.forms[0].password.focus();
    }else if(isBlank(document.forms[0].rePassword.value)){
        alert(rePasswordNull);
        document.forms[0].rePassword.focus();
    }else if((document.forms[0].password.value!=document.forms[0].rePassword.value)){     
        alert(passwordMisMatch);
        document.forms[0].rePassword.focus();
    }else if(isBlank(document.forms[0].email.value)){
        alert(emailNull);
        document.forms[0].email.focus();      
    }else if(checkemail(document.forms[0].email)){
        alert(emailInvalid);
        document.forms[0].email.focus(); 
    }else if(isBlank(document.forms[0].reEmail.value)){
        alert(reEmailNull);
        document.forms[0].reEmail.focus(); 
    }else if(checkemail(document.forms[0].reEmail)){
        alert(reEmailInvalid);
        document.forms[0].reEmail.focus(); 
    }else if(document.forms[0].email.value!=document.forms[0].reEmail.value){
        alert(emailMisMatch);
        document.forms[0].email.focus(); 
    }else if(document.forms[0].hintQuestionCode.options[document.forms[0].hintQuestionCode.selectedIndex].value==" Choose"){
        alert(hintQuestionCodeNull);
        document.forms[0].hintQuestionCode.focus();
    }else if(isBlank(document.forms[0].hintAnswer.value)){   
        alert(hintAnswerNull);
        document.forms[0].hintAnswer.focus();
    }else if(!isAlphaNumeric(document.forms[0].hintAnswer.value)){
        alert(hintAnswerAlphaNumeric);
        document.forms[0].hintAnswer.focus();
    }else if(document.forms[0].pscOption[1].checked){
        pscInvalidFlag=0;
        if(isBlank(document.forms[0].pscNumber.value)){
            alert(pscNumberNull);
            document.forms[0].pscNumber.focus();
            pscInvalidFlag=1;
        }else if(isBlank(document.forms[0].pscPhoneNumber.value)){
            alert(pscPhoneNumberNull);
            document.forms[0].pscPhoneNumber.focus();
            pscInvalidFlag=1;
        }
        if(!pscInvalidFlag==1 || !pscInvalidFlag==0){
            document.forms[0].submit();
        }
    }else{
        document.forms[0].submit();
    }
}
 
function accountContinue(store){

    zipLastInvalidFlag=0;
    if(isBlank(document.forms[0].streetAddress.value)){
        alert(streetNull);
        document.forms[0].streetAddress.focus();
    }else if(isBlank(document.forms[0].city.value)){
        alert(cityNull);
        document.forms[0].city.focus();
    }else if(!isAlpha(document.forms[0].city.value)){
        alert(cityAlpha);
        document.forms[0].city.focus();
    }else if(document.forms[0].state.options[document.forms[0].state.selectedIndex].value=="-- Choose One --"){
        alert(stateNull);
        document.forms[0].state.focus();
    }else if(isBlank(document.forms[0].zip.value)){
        alert(zipNull);
        document.forms[0].zip.focus();
    }else if(!checkLength(document.forms[0].zip.value, 5)){
        alert(zipLength);
        document.forms[0].zip.focus();
    }else if(isBlank(document.forms[0].phone)||checkPhoneFirst(document.forms[0].phone)) {
        alert(phoneInvalid);
        document.forms[0].phone.focus();
    }else if(isBlank(document.forms[0].phoneMiddle)||checkPhoneMiddle(document.forms[0].phoneMiddle)){
        alert(phoneInvalid);
        document.forms[0].phoneMiddle.focus();
    }else if(isBlank(document.forms[0].phoneLast)||checkPhoneLast(document.forms[0].phoneLast)){
        alert(phoneInvalid);
        document.forms[0].phoneLast.focus();
    }else if(!document.forms[0].isTermsChecked.checked){
        alert(termsCheckedNull);
        document.forms[0].isTermsChecked.focus();
    }else if(!isBlank(document.forms[0].zipLast.value) && !checkLength(document.forms[0].zipLast.value, 4)){
            alert(zipLastLength);
            document.forms[0].zipLast.focus();
            zipLastInvalidFlag=1;
    }else if(store!=""){
          if(!isBlank(document.forms[0].referrals.value) && checkemail(document.forms[0].referrals))  {
             alert(referralsInvalid);
             document.forms[0].referrals.focus();      
           }
           else{
             document.forms[0].submit();
           } 
     }
     else{
      document.forms[0].submit();
     } 
    } 

function accountDetails(){

    var zipLastInvalidFlag=0;
    if(isBlank(document.forms[0].firstName.value)){
        alert(firstNameNull);
        document.forms[0].firstName.focus();
    }else if(!isAlphaNumeric(document.forms[0].firstName.value)){
        alert(firstNameAlphaNumeric);
        document.forms[0].firstName.focus();
    }else if(!isBlank(document.forms[0].middleName.value) && !isAlphaNumeric(document.forms[0].middleName.value)){
        alert(middleNameAlphaNumeric);
        document.forms[0].middleName.focus();
    }else if(isBlank(document.forms[0].lastName.value)){
        alert(lastNameNull);
        document.forms[0].lastName.focus();
    }else if(!isAlphaNumeric(document.forms[0].lastName.value)){
        alert(lastNameAlphaNumeric);
        document.forms[0].lastName.focus();
    }else if(isBlank(document.forms[0].streetAddress.value)){
        alert(streetNull);
        document.forms[0].streetAddress.focus();
    }else if(isBlank(document.forms[0].city.value)){
        alert(cityNull);
        document.forms[0].city.focus();
    }else if(!isAlpha(document.forms[0].city.value)){
        alert(cityAlpha);
        document.forms[0].city.focus();
    }else if(document.forms[0].state.options[document.forms[0].state.selectedIndex].value=="-- Choose One --"){
        alert(stateNull);
        document.forms[0].state.focus();
    }else if(isBlank(document.forms[0].zip.value)){
        alert(zipNull);
        document.forms[0].zip.focus();
    }else if(!(checkLength(document.forms[0].zip.value, 5))){
        alert(zipLength);
        document.forms[0].zip.focus();
    }else if(!isBlank(document.forms[0].zipLast.value)&& !(checkLength(document.forms[0].zipLast.value, 4))){
        alert(zipLastLength);
        document.forms[0].zipLast.focus();
        zipLastInvalidFlag=1;
    }else if(isBlank(document.forms[0].phone)||checkPhoneFirst(document.forms[0].phone)) {
        alert(phoneInvalid);
        document.forms[0].phone.focus();
    }else if(isBlank(document.forms[0].phoneMiddle)||checkPhoneMiddle(document.forms[0].phoneMiddle)){
        alert(phoneInvalid);
        document.forms[0].phoneMiddle.focus();
    }else if(isBlank(document.forms[0].phoneLast)||checkPhoneLast(document.forms[0].phoneLast)){
        alert(phoneInvalid);
        document.forms[0].phoneLast.focus();
    }else if(isBlank(document.forms[0].email.value)){
        alert(emailNull);
        document.forms[0].email.focus();      
    }else if(checkemail(document.forms[0].email)){
        alert(emailInvalid);
        document.forms[0].email.focus(); 
    }else if(isBlank(document.forms[0].reEmail.value)){
        alert(reEmailNull);
        document.forms[0].reEmail.focus(); 
    }else if(checkemail(document.forms[0].reEmail)){
        alert(reEmailInvalid);
        document.forms[0].reEmail.focus(); 
    }else if(document.forms[0].email.value!=document.forms[0].reEmail.value){
        alert(emailMisMatch);
        document.forms[0].email.focus(); 
    }else{
        document.forms[0].submit();
    }
    if(!isBlank(document.forms[0].zipLast.value)&& !(checkLength(document.forms[0].zipLast.value, 4)) && !zipLastInvalidFlag==1){
        document.forms[0].submit();
    }
   
}         

function checkPhoneFirst(field)
{
    var invalid = false;
    var checkOK = "0123456789";
    if ((field.value.length != 3)){
        invalid = true;
    }
    else{
        if (field.value.charAt(0)=="0"){
            invalid = true;
        }
        for(i=0; i < field.value.length; i++) {
            ch = field.value.charAt(i);
            for (j = 0;  j < checkOK.length; j++) {
                if (ch == checkOK.charAt(j)) {
                    break;
                }
                if (j == (checkOK.length-1)) {
                    invalid = true;
                    break;
                }
            }        
        }
    }
    return invalid;
}

function checkPhoneMiddle(field){
    var invalid = false;
    var checkOK = "0123456789";
    if ((field.value.length != 3) ) {
        invalid = true;
    }
    else {
        if (field.value.charAt(0)=="0") {
            invalid = true;
        }
        for(i=0; i < field.value.length; i++) {
            ch = field.value.charAt(i);
            for (j = 0;  j < checkOK.length;  j++) {
                if (ch == checkOK.charAt(j)) {
                    break;
                }
                if (j == (checkOK.length-1)) {
                    invalid = true;
                    break;
                }
            }        
        }
    }
    return invalid;
}

function checkPhoneLast(field){
    var invalid = false;
    var checkOK = "0123456789";
    if ((field.value.length != 4) ){
        invalid = true;
    }
    else {
        if (field.value.charAt(0)=="0") {
            invalid = true;
        }
        for(i=0; i < field.value.length;i++) {
            ch = field.value.charAt(i);
            for (j = 0;  j < checkOK.length;j++) {
                if (ch == checkOK.charAt(j)){
                    break;
                }
                if (j == (checkOK.length-1)) {
                    invalid = true;
                    break;
                }
            }        
        }
    }
    return invalid;
}

function changePassword(){
    if(isBlank(document.forms[0].oldPassword.value)){
        alert(oldPasswordNull);
        document.forms[0].oldPassword.focus();
    }else if(!isAlphaNumeric(document.forms[0].oldPassword.value)){
        alert(oldPasswordAlphaNumeric);
        document.forms[0].oldPassword.focus();
    }else if(isBlank(document.forms[0].password.value)){
        alert(passwordNull);
        document.forms[0].password.focus();
    }else if(!isAlphaNumeric(document.forms[0].password.value)){
        alert(passwordAlphaNumeric);
        document.forms[0].password.focus();
    }else if(!isPassword(document.forms[0].password.value)){
        alert(passwordInvalid);
        document.forms[0].password.focus();
    }else if(document.forms[0].password.value.length< 6 ||  document.forms[0].password.value.length > 20){    
        alert(passwordLength);
        document.forms[0].password.focus();
    }else if(isBlank(document.forms[0].password1.value)){
        alert(rePasswordNull);
        document.forms[0].password1.focus();
    }else if((document.forms[0].password.value!=document.forms[0].password1.value)){     
        alert(passwordMisMatch);
        document.forms[0].password1.focus();
    }else if(document.forms[0].hintQuestion.options[document.forms[0].hintQuestion.selectedIndex].value==" Choose"){
        alert(hintQuestionCodeNull);
        document.forms[0].hintQuestion.focus();
    }else if(isBlank(document.forms[0].hintAnswer.value)){   
        alert(hintAnswerNull);
        document.forms[0].hintAnswer.focus();
    }else if(!isAlphaNumeric(document.forms[0].hintAnswer.value)){
        alert(hintAnswerAlphaNumeric);
        document.forms[0].hintAnswer.focus();
    }else{
        document.forms[0].submit();
    }
}
/*  
    While updating this method plz update validateAddress() method in checkout.js for any functionality changes.
*/
function address(){
        
    if(isBlank(document.forms[0].description.value)){
        alert(descriptionNull);
        document.forms[0].description.focus();
    }else if(!isAlphaNumeric(document.forms[0].description.value)){
       alert(descriptionAlpha);
       document.forms[0].description.focus();
    }else if(isBlank(document.forms[0].streetAddress.value)){
        alert(streetNull);
        document.forms[0].streetAddress.focus();
    }else if(isBlank(document.forms[0].city.value)){
       alert(cityNull);
       document.forms[0].city.focus();
    }else if(!isAlpha(document.forms[0].city.value)){
        alert(cityAlpha);
        document.forms[0].city.focus();
    }else if(document.forms[0].state.options[document.forms[0].state.selectedIndex].value=="-- Choose One --"){
        alert(stateNull);
        document.forms[0].state.focus();
    }else if(isBlank(document.forms[0].zip.value)){
        alert(zipNull);
        document.forms[0].zip.focus();
    }else if(!(checkLength(document.forms[0].zip.value, 5))){
        alert(zipLength);
        document.forms[0].zip.focus();
    }else if(isBlank(document.forms[0].phone)||checkPhoneFirst(document.forms[0].phone)) {
        alert(phoneInvalid);
        document.forms[0].phone.focus();
    }else if(isBlank(document.forms[0].phoneMiddle)||checkPhoneMiddle(document.forms[0].phoneMiddle)){
        alert(phoneInvalid);
        document.forms[0].phoneMiddle.focus();
    }else if(isBlank(document.forms[0].phoneLast)||checkPhoneLast(document.forms[0].phoneLast)){
        alert(phoneInvalid);
        document.forms[0].phoneLast.focus();
    }else{
        if(!isBlank(document.forms[0].zipLast.value)&& !checkLength(document.forms[0].zipLast.value, 4)){
            alert(zipLastLength);
            document.forms[0].zipLast.focus();
        }else if(!isBlank(document.forms[0].splDelvInstruction)&& (document.forms[0].splDelvInstruction.value.length > 300)) {
            alert(splDelvInstructionLength);   
            document.forms[0].splDelvInstruction.focus(); 
        }else{
            document.forms[0].submit();
        }
    }        
  
}
/*  
    While updating this method plz update validateCard() method in checkout.js for any functionality changes.
*/
function card(){
    var cardValid; 
         var expiryDate= new Date();
    if(isBlank(document.forms[0].description.value)){
        alert(cardDescriptionNull);
        document.forms[0].description.focus();
    }else if(!isAlpha(document.forms[0].description.value)){
        alert(cardDescriptionAlpha);
        document.forms[0].description.focus();
    }else if(document.forms[0].cardType.options[document.forms[0].cardType.selectedIndex].value=="Choose"){
        alert(cardTypeNull);
        document.forms[0].cardType.focus();
    }else if(isBlank(document.forms[0].cardHoldersName.value)){
        alert(cardHolderName);
        document.forms[0].cardHoldersName.focus();
    }else if(!isAlpha(document.forms[0].cardHoldersName.value)){
        alert(cardHolderNameAlpha);
        document.forms[0].cardHoldersName.focus();
    }else if(isBlank(document.forms[0].ccNo.value)){
        alert(cardNumNull);
        document.forms[0].ccNo.focus();
    }else if(!isNumber(document.forms[0].ccNo.value)){
        alert(cardNumNumeric);
        document.forms[0].ccNo.focus();
    }else if(document.forms[0].expMonth.options[document.forms[0].expMonth.selectedIndex].value=="Month..."){
        alert(cardExpiryMonthNull);
        document.forms[0].expMonth.focus();
    }else if(document.forms[0].expYear.options[document.forms[0].expYear.selectedIndex].value=="Year..."){
        alert(cardExpiryYearNull);
        document.forms[0].expYear.focus();
    }else if(20+document.forms[0].expYear.options[document.forms[0].expYear.selectedIndex].value< expiryDate.getFullYear()){
       alert(cardExpiryMonthYearInvalid);
       document.forms[0].expYear.focus();
    }else if(20+document.forms[0].expYear.options[document.forms[0].expYear.selectedIndex].value== expiryDate.getFullYear() && document.forms[0].expMonth.options[document.forms[0].expMonth.selectedIndex].value < expiryDate.getMonth()+1){
       alert(cardExpiryMonthYearInvalid);
       document.forms[0].expYear.focus();       
    }else if(isBlank(document.forms[0].verificationNo.value)){
        alert(cardVerificationNumNull);
        document.forms[0].verificationNo.focus();
    }else if(!isNumber(document.forms[0].verificationNo.value)){
        alert(cardVerificationNumNumeric);
        document.forms[0].verificationNo.focus();
    }else if(!(checkLength(document.forms[0].verificationNo.value, 3)) && !(checkLength(document.forms[0].verificationNo.value,4))){
        alert(cardVerificationInvalid);
        document.forms[0].verificationNo.focus();
    }else if(document.forms[0].cardType.options[document.forms[0].cardType.selectedIndex].value==1 && !checkLength(document.forms[0].verificationNo.value, visaMaxLen)){
        alert(cardVerificationVisaInvalid);
        document.forms[0].verificationNo.focus();    
    }else if(document.forms[0].cardType.options[document.forms[0].cardType.selectedIndex].value==2 && !checkLength(document.forms[0].verificationNo.value,masterMaxLen)){
        alert(cardVerificationMasterInvalid);
        document.forms[0].verificationNo.focus();    
    }else if(document.forms[0].cardType.options[document.forms[0].cardType.selectedIndex].value==3 && !checkLength(document.forms[0].verificationNo.value,amExMaxLen)){
        alert(cardVerificationAmExInvalid);
        document.forms[0].verificationNo.focus();    
    }else if(document.forms[0].cardType.options[document.forms[0].cardType.selectedIndex].value==4 && !checkLength(document.forms[0].verificationNo.value,discoverMaxLen)){
        alert(cardVerificationDiscoverInvalid);
        document.forms[0].verificationNo.focus();    
    }else if(isBlank(document.forms[0].streetAddress.value)){
        alert(streetNull);
        document.forms[0].streetAddress.focus();
    }else if(isBlank(document.forms[0].city.value)){
        alert(cityNull);
        document.forms[0].city.focus();
    }else if(!isAlpha(document.forms[0].city.value)){
        alert(cityAlpha);
        document.forms[0].city.focus();
    }else if(document.forms[0].state.options[document.forms[0].state.selectedIndex].value=="-- Choose One --"){
        alert(stateNull);
        document.forms[0].state.focus();
    }else if(isBlank(document.forms[0].zip.value)){
        alert(zipNull);
        document.forms[0].zip.focus();
    }else if(!(checkLength(document.forms[0].zip.value, 5))){
        alert(zipLength);
        document.forms[0].zip.focus();
    }else if(!isBlank(document.forms[0].zipLast.value) && !(checkLength(document.forms[0].zipLast.value, 4))){
        alert(zipLastLength);
        document.forms[0].zipLast.focus();
    }else{
        cardValid = CheckCardNumber(document.forms[0]); 
        if(cardValid==1){
            alert(cardNumInvalid);
            document.forms[0].ccNo.focus();
        }else if(cardValid==3){
            alert(cardMisMatch);
            document.forms[0].ccNo.focus();            
        }else if(cardValid==2){
            document.forms[0].submit();
        }
    }//else 

}
/* Functions used to validate the credit card*/
var Cards = new makeArray(8);
Cards[2] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[2];
Cards[1] = new CardType("VisaCard", "4", "13,16");
var VisaCard = Cards[1];
Cards[3] = new CardType("DiscoverCard", "6011", "16");
var DiscoverCard = Cards[3];
Cards[4] = new CardType("AmExCard", "34,37", "15");
var AmExCard = Cards[4];
Cards[5] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[5];
Cards[0] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[0];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

/* This function is invoked to check for a valid credit card number*/  
function CheckCardNumber(form) {
    var tmpyear;
    var tmpmonth;
    var str;
    var card;
    var cardName;
    var cardname;
    tmpyear = "20" + form.expYear.options[form.expYear.selectedIndex].value;
    tmpmonth = form.expMonth.options[form.expMonth.selectedIndex].value;
    card = form.cardType.options[form.cardType.selectedIndex].value;
    if(card==1){
    cardName = "VisaCard";
    }
    if(card==2){
    cardName = "MasterCard";
    }
    if(card==3){
    cardName = "AmExCard";
    }
    if(card==4){
    cardName = "DiscoverCard";
    }
    if(form.expMonth.options[form.expMonth.selectedIndex].value!="Month...") {
       if(form.expYear.options[form.expYear.selectedIndex].value=="Year...") { 
         return 1;
        }
     }
    else return 1;
    cardname = "";
    var retval = eval(cardName + ".checkCardNumber(\"" + form.ccNo.value +"\", " + tmpyear + ", " + tmpmonth + ");");
    if (retval){
    return 2;
    }
    else {
    for (var n = 0; n < Cards.size; n++) {
     if (Cards[n].checkCardNumber(form.ccNo.value, tmpyear, tmpmonth)) {
      cardname = Cards[n].getCardType();
      break;
     }
    }
    if (cardname.length > 0) {
     return 3;
    }
    else {
     return 3;
    }
  }
  return 3;
}

/* This function is invoked to return the card type*/  
function CardType() {
    var n;
    var argv = CardType.arguments;
    var argc = CardType.arguments.length;
    this.objname = "object CardType";
    var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
    var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
    var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";
    this.setCardNumber = setCardNumber;  
    this.setCardType = setCardType;  
    this.setLen = setLen;  
    this.setRules = setRules;  
    this.setExpiryDate = setExpiryDate;  
    this.setCardType(tmpcardtype);
    this.setLen(tmplen);
    this.setRules(tmprules);
    if (argc > 4)
    this.setExpiryDate(argv[3], argv[4]);
    this.checkCardNumber = checkCardNumber;  
    this.getExpiryDate = getExpiryDate;  
    this.getCardType = getCardType;  
    this.isCardNumber = isCardNumber;  
    this.isExpiryDate = isExpiryDate;  
    this.luhnCheck = luhnCheck;
    return this;
}

/* This function is invoked to check card number*/  
function checkCardNumber() {
    var argv = checkCardNumber.arguments;
    var argc = checkCardNumber.arguments.length;
    var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
    var year = (argc > 1) ? argv[1] : this.year;
    var month = (argc > 2) ? argv[2] : this.month;
    this.setCardNumber(cardnumber);
    this.setExpiryDate(year, month);
    if (!this.isCardNumber())
    return false;
    if (!this.isExpiryDate())
    return false;
    return true;
}

/* This function is invoked to get the card type*/  
function getCardType() {
    return this.cardtype;
}

/* This function is invoked to get the expiry date*/  
function getExpiryDate() {
    return this.month + "/" + this.year;
}

/* This function is invoked to validate the card number*/  
function isCardNumber() {
    var argv = isCardNumber.arguments;
    var argc = isCardNumber.arguments.length;
    var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
    if (!this.luhnCheck())
    return false;
    for (var n = 0; n < this.len.size; n++)
    if (cardnumber.toString().length == this.len[n]) {
    for (var m = 0; m < this.rules.size; m++) {
    var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
    if (headdigit == this.rules[m])
    return true;
    }
    return false;
    }
    return false;
}

/* This function is invoked to validate the expiry date*/  
function isExpiryDate() {
    var argv = isExpiryDate.arguments;
    var argc = isExpiryDate.arguments.length;
    year = argc > 0 ? argv[0] : this.year;
    month = argc > 1 ? argv[1] : this.month;
    if (!isNum(year+""))
    return false;
    if (!isNum(month+""))
    return false;
    today = new Date();
    expiry = new Date(year, month);
    if (today.getTime() > expiry.getTime())
    return false;
    else
    return true;
}

/* This function is invoked to check the value is a number*/  
function isNum(argvalue) {
    argvalue = argvalue.toString();
    if (argvalue.length == 0)
    return false;
    for (var n = 0; n < argvalue.length; n++)
    if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
    return false;
    return true;
}

/* This function is invoked to do luhncheck*/  
function luhnCheck() {
    var argv = luhnCheck.arguments;
    var argc = luhnCheck.arguments.length;
    var CardNumber = argc > 0 ? argv[0] : this.cardnumber;
    if (! isNum(CardNumber)) {
    return false;
    }
    var no_digit = CardNumber.length;
    var oddoeven = no_digit & 1;
    var sum = 0;
    for (var count = 0; count < no_digit; count++) {
    var digit = parseInt(CardNumber.charAt(count));
    if (!((count & 1) ^ oddoeven)) {
    digit *= 2;
    if (digit > 9)
    digit -= 9;
    }
    sum += digit;
    }
    if (sum % 10 == 0)
    return true;
    else
    return false;
}

/* This function is invoked to costruct the array*/  
function makeArray(size) {
    this.size = size;
    return this;
}

/* This function is invoked to set the card number*/  
function setCardNumber(cardnumber) {
    this.cardnumber = cardnumber;
    return this;
}

/* This function is invoked to set the card type*/  
function setCardType(cardtype) {
    this.cardtype = cardtype;
    return this;
}

/* This function is invoked to set the expiry date*/  
function setExpiryDate(year, month) {
    this.year = year;
    this.month = month;
    return this;
}

/* This function is invoked to set the length*/  
function setLen(len) {
    if (len.length == 0 || len == null)
    len = "13,14,15,16,19";
    var tmplen = len;
    n = 1;
    while (tmplen.indexOf(",") != -1) {
    tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
    n++;
    }
    this.len = new makeArray(n);
    n = 0;
    while (len.indexOf(",") != -1) {
    var tmpstr = len.substring(0, len.indexOf(","));
    this.len[n] = tmpstr;
    len = len.substring(len.indexOf(",") + 1, len.length);
    n++;
    }
    this.len[n] = len;
    return this;
}

/* This function is invoked to set the rules*/  
function setRules(rules) {
    if (rules.length == 0 || rules == null)
    rules = "0,1,2,3,4,5,6,7,8,9";
    var tmprules = rules;
    n = 1;
    while (tmprules.indexOf(",") != -1) {
    tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
    n++;
    }
    this.rules = new makeArray(n);
    n = 0;
    while (rules.indexOf(",") != -1) {
    var tmpstr = rules.substring(0, rules.indexOf(","));
    this.rules[n] = tmpstr;
    rules = rules.substring(rules.indexOf(",") + 1, rules.length);
    n++;
    }
    this.rules[n] = rules;
    return this;
}
/* Functions used to validate credit card ends*/ 
 
 
 
 
 
 
 
function isBlank(str)
{
    if(str.length == 0)
        return true;
    else{
        var strblank ="";
        for(i=0; i<str.length; i++)
            strblank = strblank + " " ;

        if(str == strblank)
            return true;
        else 
            return false;
    }

}


function isAlphaNumeric(str)
{
    var str=trim(str);
    var ctrI;
    var strLength = str.length;
    var validStr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";
    for (ctrI = 0; ctrI < strLength; ctrI++) {
       if (validStr.indexOf(str.charAt(ctrI)) == -1){
          return false;
        }
    }
   return true;
}



function checkemail(field){
    var testresults=false;
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if((field.length==0)){
        testresults=false;
    }else{
        if (filter.test(field.value)){
            testresults=false;
        }else{
            testresults=true;
        }
     }
return testresults;
}

function checkLength(param, len)
{ 
    var param=trim(param);
    var num="0123456789";
    var tempChar;
    if (param.length != len){        
        return false;
    }else{
        if (param.charAt(0)=="0"){
            return false;
        }
        for(ctrI=0; ctrI < param.length; ctrI++){
             if (num.indexOf(param.charAt(ctrI)) == -1){
                 return false;
             }
        }//for
     }//else
  return true;
}


// To check if the variable contains only alphabets.  Returns true if the variable contains only alphabets
function isAlpha(str)
{
    var str=trim(str);
    var ctrI;
    var strLength = str.length;
    var validStr='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
    for (ctrI = 0; ctrI < strLength; ctrI++) {
       if (validStr.indexOf(str.charAt(ctrI)) == -1){
          return false;
        }
    }
   return true;
}

///checks if a number
function isNumber(s){
    var s=trim(s);
    var ctrI;
    var tempChar;
    for (ctrI = 0; ctrI < s.length; ctrI++){   
        // Check that current character is number.
        tempChar = s.charAt(ctrI);
        if (((tempChar < '0') || (tempChar > '9')))
           return false;
    }
    // All characters are numbers.
    return true;
}

//check if a valid password
function isPassword(str){
    var str=trim(str);
    var isDigit=0;
    var isAlpha=0;
    var alpha='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
    var digit='0123456789';
    for (ctrI = 0; ctrI < str.length; ctrI++) {
       if (alpha.indexOf(str.charAt(ctrI)) == -1){
          isAlpha=1;
       }
       if(digit.indexOf(str.charAt(ctrI)) == -1){
          isDigit=1;
       }
    }
    if((isAlpha==1) && (isDigit==1)){
        return true;
    }else{
        return false;
    }
}

function passwdEqualsLogin(userName, password)
{
    var userName=trim(userName);
    var password=trim(password);
    if(userName==password)
        return true;
    else
        return false;
}

/* START: Force Numeric */
function ForceNumeric(field){
    var inputStr = field.value.toString();
    var strLength = inputStr.length;
    var newStr = "";
    for (var i = 0; i < strLength; i++){
       var oneChar = inputStr.charAt(i); 
    if (!( isNaN(oneChar) || oneChar == ' ') || oneChar == '-' ) 
    { 
        newStr = String(newStr) + String(field.value.substring(i,i+1));
    }
}
    if (newStr != field.value) 
    {
        field.value = newStr;
    }
}
function NumericKeyUp(fieldToEval,fieldToEvalLength,objToJumpTo) 
{
    ForceNumeric(fieldToEval);
    if ((fieldToEval.value.length == fieldToEvalLength)&& (fieldToEval.value != prevValue) && (objToJumpTo != null))
    { 
        objToJumpTo.focus() 
    } 
        prevValue = fieldToEval.value;
}
/* END: Force Numeric */

//Function trim starts
function trim(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue; 
} 

/* OpenWindow
ACTION:
Open a new instance of browser
NOTES:
Multiple calls will re-use the same window;
Scrollable arg should be "scroll" or "no_scroll" for ease of reading(nothing cryptic)
*/
function OpenWindow(url,height,width,top,left,scrollable){
  var owcscroll = (scrollable=='scroll')?'yes':'no';
  cm_ow = window.open(url,'cm_ow','height='+height+',width='+width+',resizable=1,top='+ top +',left='+ left +',scrollbars='+owcscroll);
  cm_ow.focus();
}
/*
  OpenNamedWindow 
*/
function OpenNamedWindow(url,name,height,width,top,left,scrollable){
  var owcscroll = (scrollable=='scroll')?'yes':'no';
  cm_ow = window.open(url,name,'height='+height+',width='+width+',resizable=1,top='+ top +',left='+ left +',scrollbars='+owcscroll);
  cm_ow.focus();
}
/* START:COMMON SCRIPT*/
function swapImg(imgid,id) {
  o = document.getElementById(imgid);
  o.src = o.src.replace(/_\d\./,'_'+id+'.');
}

/* END:COMMON SCRIPT*/

//  This function extracts the Jsession id from url1 and inserts in url2
function formURL(url1, url2){
    var jSessionId=url1.substring(url1.indexOf(";"), url1.indexOf("?")+1);
    var tempURL=url2.split("?");
    var resultURL=tempURL[0]+jSessionId+tempURL[1];

return resultURL;
}
