﻿// JScript File

/* Form Validation Script for Customer
Developed By	: Ramesh 
Date			: December 15, 2008 
Message			: Create an array of form elements and apply validation rules on them.
*/

 function validate(cardNumber,cardType,cardMonth,cardYear) 
	{
       
        var length = cardNumber.length;			//perform card specific length and prefix tests
				var status=true;
		switch( cardType )
		{
			case 'Amex':
				if(length != 15 ) 
				{
				    status = false;
                }
                else
                {
                    var prefix = parseInt( cardNumber.substring(0,2));
                    if( prefix != 34 && prefix != 37 )
                    {
					  status = false;
                    }
                }
                break;
                
            
            case 'Discover':
				if( length != 16 ) 
				{
                     status = false;
                }
                else
                {
                    var prefix = parseInt( cardNumber.substring(0,4));
                    if( prefix != 6011 )
                    {
					   status = false;
                    }
                 }
                break;
                
            case 'MasterCard':
				if( length != 16 ) 
				{
					status = false;
                }
                else
                {
                    var prefix = parseInt( cardNumber.substring(0,2));
                    if( prefix < 51 || prefix > 55)
                    {
					    status = false;
                    }
                }
                break;
            
                case 'Visa':
				 if( length != 16 && length != 13 )
				 {
					status = false;
                 }
                else
                {
                    var prefix = parseInt(cardNumber.substring(0,1));
                    if( prefix != 4 ) 
                    {
					  status = false;
                     }
                }
                break;
        }
            
         if(status==false)
         {
            alert("Sorry! The Card Number you have entered is Invalid.");
         }  
         else
         {  
           if( !mod10( cardNumber ) ) 
            { // run the check digit algorithm
             alert("Sorry! The Card Number you have entered is Invalid.");
             status = false;
            }
        }
        
        if (expired(cardMonth,cardYear)==false) 
            status = false;
   	    
   	    
   	    return status;
    }

	
	function mod10(cardNumber) { // LUHN Formula for validation of credit card numbers.
	return true;
		var ar = new Array( cardNumber.length );
		var i = 0,sum = 0;
        for( i = 0; i < cardNumber.length; ++i ) {
    		ar[i] = parseInt(cardNumber.charAt(i));
    	}
    	for( i = ar.length -2; i >= 0; i-=2 ) { // you have to start from the right, and work back.
			ar[i] *= 2;							 // every second digit starting with the right most (check digit)
    		if( ar[i] > 9 ) ar[i]-=9;			 // will be doubled, and summed with the skipped digits.
    	}										 // if the double digit is > 9, ADD those individual digits together 
        for( i = 0; i < ar.length; ++i ) {
			sum += ar[i];						 // if the sum is divisible by 10 mod10 succeeds
        }
        return (((sum%10)==0)?true:false);	 	
	}
            
    function expired(month, year) 
	{
		var currentTime = new Date();
		var curr_month='0' + currentTime.getMonth();
		var curr_year=currentTime.getFullYear(); 
		if (year < curr_year)
		{
			alert("Sorry! The Expiration Year You Have Entered Would Make This Card Invalid.");
			return false;
		}
		else if((month <= curr_month + 1) && (year == curr_year))
		{
				alert("Sorry! The Expiration Month You Have Entered Would Make This Card Invalid.");
				return false;
		}
	}	
	function GetRadioButtonValue(id)
        {
            var radio = document.getElementsByName(id);
            for (var j = 0; j < radio.length; j++)
            {
                if (radio[j].checked)
                    alert(radio[j].value);
            }
        }

function Validate(id)
{
 var strselectedPackageType = document.getElementById("ctl00_ContentPlaceHolder1_TextBox1").value;
 var strselectedtxtMode = document.getElementById("ctl00_ContentPlaceHolder1_txtMode").value;
  var strPaymentMode = document.getElementById("ctl00_ContentPlaceHolder1_txtPaymentMode").value;
 var stAmount;
  var mytool_array=strselectedPackageType.split("^");
  //alert(mytool_array);
  if(strselectedtxtMode=='P')
  {
  stAmount=mytool_array[1];
  }else
  {
  stAmount=mytool_array[3];
  }
  //alert(stAmount);
 // return false;
//alert(strselectedPackageType);
        if(strPaymentMode !='f')
	    {

                var strpagemode = document.getElementById("ctl00_ContentPlaceHolder1_pagemode").value;
 
               if(strpagemode=='A')
                   {
                       cardNumber=document.getElementById("ctl00_ContentPlaceHolder1_txtCardNumber").value;
                        cardType=document.getElementById("ctl00_ContentPlaceHolder1_ddlCardType").value;
                        cardMonth=document.getElementById("ctl00_ContentPlaceHolder1_ddlMonth").value;
                        cardYear=document.getElementById("ctl00_ContentPlaceHolder1_ddlYear").value;
                        
                            
                          vrStatus=validate(cardNumber,cardType,cardMonth,cardYear) 
             if(vrStatus==false)
            {
              return false;
            }
                           CVVCode=document.getElementById("ctl00_ContentPlaceHolder1_txtCVVCode").value;
                         
                         if(CVVCode=='')
                         {
                           alert("CVV Code must be entered.");
			               return false;
                         }
                          if(isNaN(CVVCode))
                         {
                           alert("CVV Code must be in numeric format.");
			               return false;
                         }
                 }
             
            if(vrStatus==false)
            {
              return false;
            }else
            {
            
            
            
            
            
                var rules=new Array();
                rules[0]='ctl00_ContentPlaceHolder1_txtCustomerFName|required|Please enter First Name';
                rules[1]='ctl00_ContentPlaceHolder1_txtCustomerFName:First Name|maxlength|50';
                rules[2]='ctl00_ContentPlaceHolder1_txtCustomerLName|required|Please enter Last Name';
                rules[3]='ctl00_ContentPlaceHolder1_txtCustomerLName:Last Name|maxlength|50';
                rules[4]='ctl00_ContentPlaceHolder1_txtCustomerEmail|required|Please enter Email';
                rules[5]='ctl00_ContentPlaceHolder1_txtCustomerEmail|email|Please enter valid Email';
          //  rules[6]='ctl00_ContentPlaceHolder1_txtCustomerUname|required|Please enter User Name';
               var strpagemode = document.getElementById("ctl00_ContentPlaceHolder1_pagemode").value;

                   if(strpagemode=='A')
                   {
                        rules[7]='ctl00_ContentPlaceHolder1_txtCustomerPassword|required|Please enter Password';
                        rules[8]='ctl00_ContentPlaceHolder1_txtCustomerAddress|required|Please enter Address';
                        rules[9]='ctl00_ContentPlaceHolder1_txtCustomerCity|required|Please enter City';
                        rules[10]='ctl00_ContentPlaceHolder1_txtCustomerZip|required|Please enter Zip';
                        rules[11]='ctl00_ContentPlaceHolder1_txtCustomerPhone|required|Please enter Phone';
                        
                        }else
                        {  
                         rules[7]='ctl00_ContentPlaceHolder1_txtCustomerAddress|required|Please enter Address';
                        rules[8]='ctl00_ContentPlaceHolder1_txtCustomerCity|required|Please enter City';
                        rules[9]='ctl00_ContentPlaceHolder1_txtCustomerZip|required|Please enter Zip';
                        rules[10]='ctl00_ContentPlaceHolder1_txtCustomerPhone|required|Please enter Phone';
                        }
                  
         }
         
         }else
         {
         
              var rules=new Array();
                rules[0]='ctl00_ContentPlaceHolder1_txtCustomerFName|required|Please enter First Name';
                rules[1]='ctl00_ContentPlaceHolder1_txtCustomerFName:First Name|maxlength|50';
                rules[2]='ctl00_ContentPlaceHolder1_txtCustomerLName|required|Please enter Last Name';
                rules[3]='ctl00_ContentPlaceHolder1_txtCustomerLName:Last Name|maxlength|50';
                rules[4]='ctl00_ContentPlaceHolder1_txtCustomerEmail|required|Please enter Email';
                rules[5]='ctl00_ContentPlaceHolder1_txtCustomerEmail|email|Please enter valid Email';
          //  rules[6]='ctl00_ContentPlaceHolder1_txtCustomerUname|required|Please enter User Name';
             var strpagemode = document.getElementById("ctl00_ContentPlaceHolder1_pagemode").value;

                   if(strpagemode=='A')
                   {
                        rules[7]='ctl00_ContentPlaceHolder1_txtCustomerPassword|required|Please enter Password';
                        rules[8]='ctl00_ContentPlaceHolder1_txtCustomerAddress|required|Please enter Address';
                        rules[9]='ctl00_ContentPlaceHolder1_txtCustomerCity|required|Please enter City';
                        rules[10]='ctl00_ContentPlaceHolder1_txtCustomerZip|required|Please enter Zip';
                        rules[11]='ctl00_ContentPlaceHolder1_txtCustomerPhone|required|Please enter Phone';
                        
                        }else
                        {  
                         rules[7]='ctl00_ContentPlaceHolder1_txtCustomerAddress|required|Please enter Address';
                        rules[8]='ctl00_ContentPlaceHolder1_txtCustomerCity|required|Please enter City';
                        rules[9]='ctl00_ContentPlaceHolder1_txtCustomerZip|required|Please enter Zip';
                        rules[10]='ctl00_ContentPlaceHolder1_txtCustomerPhone|required|Please enter Phone';
                  }
         }

        
        var obj = document.getElementById("ctl00_ContentPlaceHolder1_chkAgree");
         if(obj.checked==false)
	    {
	    alert("Please select term and condition option if you are agree with our Term and Condition Policy");
        return false;
	    
	    }

    if(rules.length>0)
    {
        return performCheck('aspnetForm', rules, 'classic');
    }
}

function CompareFields()
{    
     var strvalue1 = document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerPassword").value;
     var strvalue2 = document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerConfirmPassword").value;
     if(strvalue1=='')
     {
        alert("Please enter Password");
        return false;
     }
    if(strvalue2!=strvalue1)
    {
        alert("Confirm Password must be equal to Password");
        return false;
    }
    return true;
}

function ShowHideState(obj)
    {
       
           if(document.getElementById(obj.id).value=="US")
           {
                document.getElementById('RowDisplayStateText').style.display='none'
                document.getElementById('RowDisplayStateText1').style.display='none'
                document.getElementById('RowDisplayStatelst').style.display=''
           }
           else
           {
           
              document.getElementById('RowDisplayStateText').style.display=''
               document.getElementById('RowDisplayStateText1').style.display=''
              document.getElementById('RowDisplayStatelst').style.display='none'
           }
       
    }
    function ShowHideState1(obj)
    {
       
           if(document.getElementById(obj.id).value=="US")
           {
                document.getElementById('RowShippingDisplayStateText').style.display='none'
                document.getElementById('RowShippingDisplayStatelst').style.display=''
           }
           else
           {
           
              document.getElementById('RowShippingDisplayStateText').style.display=''
              document.getElementById('RowShippingDisplayStatelst').style.display='none'
           }
       
    }
    
       function OnEnterHeaderKeyPress(e)
	{
	
		 var browserName=navigator.appName; 
         var unicode;
          
     if (browserName=="Microsoft Internet Explorer") 
        unicode = window.event.keyCode;     //IE
     else
        unicode = e.which;     //firefox
        
 
     if (unicode == '13') 
     {
          document.getElementById("ctl00_ContentPlaceHolder1_imgSubmit").click();   
          return false;  
     }
        
		
}
		function PageOnLoadShowHideState()
    {
     var strpagemode = document.getElementById("ctl00_ContentPlaceHolder1_pagemode").value;
     if(strpagemode !='A'){
            var strSelectedCountry = document.getElementById("ctl00_ContentPlaceHolder1_selectedcountry").value;
            var strSelectedshipCountry = document.getElementById("ctl00_ContentPlaceHolder1_selectedshipcountry").value;
      
           if(strSelectedCountry=="United States")
           {
                 document.getElementById('RowDisplayStateText1').style.display='none'
                document.getElementById('RowDisplayStateText').style.display='none'
                document.getElementById('RowDisplayStatelst').style.display=''
              
           }
           else
           {
               document.getElementById('RowDisplayStateText1').style.display=''
              document.getElementById('RowDisplayStateText').style.display=''
              document.getElementById('RowDisplayStatelst').style.display='none'
           }
           
          
           
           }
       
    }




function FillAddress(obj)
	{
	    //if checkbox is selected
     if(obj.checked==true)
	    {
	    
	  
	      document.getElementById("ctl00_ContentPlaceHolder1_txtshippingaddress").value=document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerAddress").value;
	      document.getElementById("ctl00_ContentPlaceHolder1_txtShippingCity").value=document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerCity").value;
	      if(document.getElementById("RowDisplayStateText").style.display=='none')
	      {
	        document.getElementById("ctl00_ContentPlaceHolder1_lstShippingCustomerState").value=document.getElementById("ctl00_ContentPlaceHolder1_lstCustomerState").value;
	      }
	      else
	      {
	       document.getElementById("RowShippingDisplayStatelst").style.display="none";
	       document.getElementById("RowShippingDisplayStateText").style.display="";
	       document.getElementById("ctl00_ContentPlaceHolder1_txtShippingCustomerState").value=document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerState").value;
	      }
	        document.getElementById("ctl00_ContentPlaceHolder1_lstShippingCustomerCountry").value=document.getElementById("ctl00_ContentPlaceHolder1_lstCustomerCountry").value;
            document.getElementById("ctl00_ContentPlaceHolder1_txtShippingZipcode").value=document.getElementById("ctl00_ContentPlaceHolder1_txtCustomerZip").value; 
	     
	     }				
	    else//if checkbox is not selected
	    {	
		   document.getElementById("ctl00_ContentPlaceHolder1_txtshippingaddress").value="";   
		
		   document.getElementById("ctl00_ContentPlaceHolder1_txtShippingCity").value="";
		   document.getElementById("RowShippingDisplayStatelst").style.display="";
		   
		   document.getElementById("RowShippingDisplayStateText").style.display="none";
	       
		   document.getElementById('ctl00_ContentPlaceHolder1_lstShippingCustomerState').value="AL";
		   document.getElementById("ctl00_ContentPlaceHolder1_lstShippingCustomerCountry").value="US";
		   document.getElementById("ctl00_ContentPlaceHolder1_txtShippingZipcode").value=""; 
		   
	    }
	}
	
