﻿//javascript for Shopping Cart pages //

function chkType(type) {
    //alert(type);
    if (type == "0") {
        //USA
        //document.getElementById('ctl00_ContentPlaceHolder1_trPromoCode').style.display = '';
        //document.getElementById('ctl00_ContentPlaceHolder1_trTSpacer').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingZipCode').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingCountry').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlCountry').style.display = 'none';
    }
    else if (type == "1") {
        //Not USA
        //document.getElementById('ctl00_ContentPlaceHolder1_trPromoCode').style.display = 'none';
        //document.getElementById('ctl00_ContentPlaceHolder1_trTSpacer').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingZipCode').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingCountry').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlCountry').style.display = '';
    }
    else if (type == "2") {
        //Canada
        //document.getElementById('ctl00_ContentPlaceHolder1_trPromoCode').style.display = 'none';
        //document.getElementById('ctl00_ContentPlaceHolder1_trTSpacer').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingZipCode').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_divShippingCountry').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlCountry').style.display = 'none';
    }
}

//function setShippingValue(fsValue, fsMethod) {
//    //alert(fsID);
//    //alert(fsMethod);
//    if (fsMethod == "1")
//        document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value = "UPS";
//    else
//        document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value = "USPS";
//    document.getElementById("ctl00_ContentPlaceHolder1_hfShippingOption").value = fsValue;
//    //alert(document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value);
//    //alert(document.getElementById("ctl00_ContentPlaceHolder1_hfShippingOption").value);
//}

function setShippingValue(fsID, fsValue, fsMethod) {
    //alert(fsID);
    //alert(fsMethod);

    if (fsMethod == "1")
        document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value = "UPS";
    else
        document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value = "USPS";
    document.getElementById("ctl00_ContentPlaceHolder1_hfShippingOption").value = fsValue;
    document.getElementById("ctl00_ContentPlaceHolder1_hfSelectedID").value = fsID;
    //alert(document.getElementById("ctl00_ContentPlaceHolder1_hfShippingMethod").value);
    //alert(document.getElementById("ctl00_ContentPlaceHolder1_hfShippingOption").value);
}

function resetShippMethod12()
{
    //document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').value='';
    //document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').disabled = true;
    var lsCountry = document.getElementById('ctl00_ContentPlaceHolder1_ddlCountry').value;
    if (lsCountry == "CA - Canada") {
        //alert("CANADA");
//        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = '';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingMethod').style.display = '';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingOption').style.display = '';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').value = '';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').disabled = true;
        document.getElementById('ctl00_ContentPlaceHolder1_lblShippingCharges').visible = false;
    }
//    else if (lsCountry == "US - United States") {
//        //alert("USA");
//        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = 'none';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingMethod').style.display = 'none';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingOption').style.display = 'none';
//        document.getElementById('ctl00_ContentPlaceHolder1_lblShippingCharges').visible = true;
//    }
    else {
        //alert("Others");
//        document.getElementById('ctl00_ContentPlaceHolder1_divtxtZipCode').style.display = 'none';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingMethod').style.display = '';
//        document.getElementById('ctl00_ContentPlaceHolder1_trShippingOption').style.display = '';
//        
        document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').value='';
        document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').disabled = true;
        document.getElementById('ctl00_ContentPlaceHolder1_lblShippingCharges').visible = false;
    }

}

function resetShippMethod() {
    document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').value = '';
    document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption').disabled = true;
}

function setMsg(foddl)
{
    if(foddl.value=='COD - $ 0.00') 
        document.getElementById('ctl00_ContentPlaceHolder1_spnCOD').style.display ='block'; 
    else
        document.getElementById('ctl00_ContentPlaceHolder1_spnCOD').style.display ='none'; 
}

function clearShippingOption()
{  
    var loShipOtions =  document.getElementById('ctl00_ContentPlaceHolder1_ddlShippingOption');		                                      
    for(var liToIndex=0; liToIndex < loShipOtions.options.length; liToIndex++)
       {
           loShipOtions.options[liToIndex].selected=true;
           loShipOtions.remove(liToIndex);
	       
           if(loShipOtions.options.length>0)
           {		
              liToIndex=0;	       
              continue ;
           }
       }		                                          
       loShipOtions.options[0] =new Option('Select',''); 
       loShipOtions.disabled='true';
}

//below function is to validate zip code based on Shipped Country  //
function validateZipCodeByType(source, args) {
    var lbUSA = $get('ctl00_ContentPlaceHolder1_optUSA').checked;
    var lbCanada = $get('ctl00_ContentPlaceHolder1_optCanada').checked;
    //alert(lbCanada);
    if (lbUSA || lbCanada) {
        if ($get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "" || $get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "ZipCode")
            args.IsValid = false;
        else
            args.IsValid = true;
    }   
}

function validateCountryByType(source, args) {
    var lbNotUSACanada = $get('ctl00_ContentPlaceHolder1_optNotUSA').checked;
    //alert($get('ctl00_ContentPlaceHolder1_ddlCountry').selectedIndex);
    if (lbNotUSACanada) {
        if ($get('ctl00_ContentPlaceHolder1_ddlCountry').selectedIndex == 0)
            args.IsValid = false;
        else
            args.IsValid = true;
    }
}

//below function is to validate zp code based on country selection  //
function validateZipCode(source,args)
{
var lstrCountry = $get('ctl00_ContentPlaceHolder1_ddlCountry').value.trim();
if(lstrCountry == "US - United States")
{
    if($get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "" || $get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "ZipCode") 
        args.IsValid=false;
    else 
        args.IsValid=true;     
}
else 
{
   if (lstrCountry == "CA - Canada")
   {
        if($get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "" || $get('ctl00_ContentPlaceHolder1_txtZipCode').value.trim() == "ZipCode") 
        {
            if($get('ctl00_ContentPlaceHolder1_ddlShippingMethod').value.trim() == "UPS")
            {
                //args.IsValid=false;
                args.IsValid = true;
            }
            else
            {
                args.IsValid=true;
            }
        }
        else
        {
            args.IsValid=true;
        }
   }
   else
   {
        args.IsValid=true; 
   }
}
}

function validateShipOption(source,args)
{
if($get('ctl00_ContentPlaceHolder1_ddlShippingMethod').value.trim() != "")
{
    if($get('ctl00_ContentPlaceHolder1_ddlShippingOption').value.trim() == "")
      args.IsValid=false;
    else
      args.IsValid=true;  
}
}

function funReset()
{
    if($get('ctl00_ContentPlaceHolder1_hidCheckValues').value.trim() != "")
    {
        $get('ctl00_ContentPlaceHolder1_ddlCountry').selectedIndex = 1;
        //$get('ctl00_ContentPlaceHolder1_ddlShippingMethod').selectedIndex = 0;  
        $get('ctl00_ContentPlaceHolder1_ddlShippingOption').innerHTML = ""; 
        var option = document.createElement("OPTION");
        option.text = "Select";
        option.value = "";
        $get('ctl00_ContentPlaceHolder1_ddlShippingOption').options.add(option);
        $get('ctl00_ContentPlaceHolder1_ddlShippingOption').selectedIndex = 0;
        $get('ctl00_ContentPlaceHolder1_ddlShippingOption').disabled = true;
        $get('ctl00_ContentPlaceHolder1_hidPostBack').value = "1";
        __doPostBack('ctl00_ContentPlaceHolder1_ddlShippingMethod', '')
    }
}

// javascript for Shopping_shipping_info page //

    
    //function to set the values same as billing in shipping info fields //
    function makeSameAs(foCheckBox) {

        if(foCheckBox.checked)
        {
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipemail').value  =document.getElementById('ctl00_ContentPlaceHolder1_txtbillemail').value;
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipcompany').value  =document.getElementById('ctl00_ContentPlaceHolder1_txtbillcompany').value;
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipfname').value  =document.getElementById('ctl00_ContentPlaceHolder1_txtbillfname').value;
           document.getElementById('ctl00_ContentPlaceHolder1_txtshiplname').value  =document.getElementById('ctl00_ContentPlaceHolder1_txtbilllname').value;
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipaddress').value  =document.getElementById('ctl00_ContentPlaceHolder1_txtbilladdress').value;
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipphone').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillphone').value;
           if (document.getElementById('ctl00_ContentPlaceHolder1_lblShipCountry').innerHTML != 'US - United States')
           {
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillstate').value; 
                document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display = 'none';
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').style.display = '';
           }
           else
           {
                if(document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display != 'none')
                {
                    document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').value = document.getElementById('ctl00_ContentPlaceHolder1_ddlbillstate').value; 
                    document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').style.display = 'none';
                    document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display = '';
                }
           }
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipcity').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillcity').value; 
           
           if(document.getElementById('ctl00_ContentPlaceHolder1_lblShipZipCode')!= null)
           {
                if(document.getElementById('ctl00_ContentPlaceHolder1_lblShipZipCode').innerHTML == "")
                    document.getElementById('ctl00_ContentPlaceHolder1_txtShipZipCode').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillzip').value; 
           }
           else
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipZipCode').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillzip').value; 
        } 
        else
        {
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipemail').value ='';
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipcompany').value='';
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipfname').value='';
           document.getElementById('ctl00_ContentPlaceHolder1_txtshiplname').value='';
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipaddress').value='';
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipphone').value='';
           if (document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display == 'none') {
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').value = document.getElementById('ctl00_ContentPlaceHolder1_txtbillstate').value; 
                document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display = 'none';
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').style.display = '';
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').value = '';
           }
           else
           {
                if(document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display != 'none') {
                    document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').selectedIndex= 0;
                    document.getElementById('ctl00_ContentPlaceHolder1_txtShipState').style.display = 'none';
                    document.getElementById('ctl00_ContentPlaceHolder1_ddlshipstate').style.display = '';
                }
           }
           if(document.getElementById('ctl00_ContentPlaceHolder1_lblShipZipCode')!= null)
           {
               if(document.getElementById('ctl00_ContentPlaceHolder1_lblShipZipCode').innerHTML == "")
                    document.getElementById('ctl00_ContentPlaceHolder1_txtShipZipCode').value = "";
            }
            else
                document.getElementById('ctl00_ContentPlaceHolder1_txtShipZipCode').value = "";
                
           document.getElementById('ctl00_ContentPlaceHolder1_txtshipcity').value = "";
        }
    }
    
     //below function is to validate max length billing address //
    function validateShippingInfo(source,args)
    {
        var lstrerrormsg = "";
        if(document.getElementById('ctl00_ContentPlaceHolder1_lblShipCountry').innerHTML == "")
            lstrerrormsg += "@Shipping Country.";  
        if(lstrerrormsg.trim() != "")
        {
            lstrerrormsg = lstrerrormsg.substring(1); 
            source.errormessage = lstrerrormsg.replace(/@/g, '\n');
            args.IsValid = false; 
        }
    }
    
     //below function is to validate max length billing address //
    function validateBillAddressLength(source,args)
    {
        var liLength=$get('ctl00_ContentPlaceHolder1_txtbilladdress').value.trim().length;
        if(liLength > 100)
            args.IsValid=false;
    }
    
    //below function is to validate max length for shipping address //
    function validateShipAddressLength(source,args)
    {
         var liLength=$get('ctl00_ContentPlaceHolder1_txtshipaddress').value.trim().length;
        if(liLength > 100)
            args.IsValid=false;
    }

  //below function is to validate shipping state//
  function funvalidateshipstate(source,args)
  {
     var lstrerrormsg = ""; 
     if($get('ctl00_ContentPlaceHolder1_txtshipcity').value.trim() == "")
         lstrerrormsg += "@Shipping City.";  
              
    if(lstrerrormsg.trim() != "")
    {
        lstrerrormsg = lstrerrormsg.substring(1); 
        source.errormessage = lstrerrormsg.replace(/@/g, '\n');
        args.IsValid = false; 
    }
 }
 
 //javascript for shopping_checkout page //
 
  //below function is to validate credit card details //
  function checkCardType(source, args)
  {
        var lstrerrormsg = "";
        var cardNo = /^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$/;
        
        if($get("ctl00_ContentPlaceHolder1_rbtncreditcard").checked == true)
        {
              if($get('ctl00_ContentPlaceHolder1_txtcardholdername').value.trim() == "")
                 lstrerrormsg += "@Cardholder's Name.";
                 
              if($get('ctl00_ContentPlaceHolder1_ddlcardtype').value.trim() == "")
                 lstrerrormsg += "@Credit Card Type.";
                 
              if($get('ctl00_ContentPlaceHolder1_txtcardnumber').value.trim() == "")
                 lstrerrormsg += "@Card Number.";  
//              else
//              {
//                  if (checkChar(cardNo,$get('ctl00_ContentPlaceHolder1_txtcardnumber').value.trim()))
//                        lstrerrormsg += "@Valid Card Number.";
//              }    
              if($get('ctl00_ContentPlaceHolder1_ddlcardmonth').value.trim() == "")
                 lstrerrormsg += "@Expiration Month.";      
                 
              if($get('ctl00_ContentPlaceHolder1_ddlcardyear').value.trim() == "Year")
                 lstrerrormsg += "@Expiration Year.";     
                 
              if($get('ctl00_ContentPlaceHolder1_txtCvvNo').value.trim() == "")
                 lstrerrormsg += "@Card Verification #.";         
              else 
              {
                  if($get('ctl00_ContentPlaceHolder1_txtCvvNo').value.length < 3)
                     lstrerrormsg += "@Valid Card Verification #.";         
              }   
        }
        if(lstrerrormsg.trim() != "")
        {
           lstrerrormsg = lstrerrormsg.substring(1); 
           source.errormessage = lstrerrormsg.replace(/@/g, '\n');
           args.IsValid = false; 
        }
    }
    
    function checkChar(expr,data)
    {
         var illegalChars = expr;
         illegalChars.test(data)
         if (illegalChars.test(data))
         {
           return false;
         } 
         else
         {
            return true;
         }
    }
    
    function checkpaymentmode(source,args)
    {
       if($get('ctl00_ContentPlaceHolder1_rbtncash').checked == false && $get('ctl00_ContentPlaceHolder1_rbtnmoneyorder').checked == false && $get('ctl00_ContentPlaceHolder1_rbtncreditcard').checked == false && $get('ctl00_ContentPlaceHolder1_rbtnpaypal').checked == false)
            args.IsValid = false;
       else
          args.IsValid = true;
    }
    
    function isValidCreditCardNumber(oSrc,args)
    {
      if($get('ctl00_ContentPlaceHolder1_txtcardnumber').value.trim() != "")
      {  
           var cardNumber =  $get('ctl00_ContentPlaceHolder1_txtcardnumber').value.trim();
           var cardType = $get('ctl00_ContentPlaceHolder1_ddlcardtype').value.trim();
           var isValid = false;
           var ccCheckRegExp = /[^\d ]/;
           isValid = !ccCheckRegExp.test(cardNumber);

          if (isValid)
          {
            var cardNumbersOnly = cardNumber.replace(/ /g,"");
            var cardNumberLength = cardNumbersOnly.length;
            var lengthIsValid = false;
            var prefixIsValid = false;
            var prefixRegExp;

            switch(cardType)
            {
              case "Master Card":
                lengthIsValid = (cardNumberLength == 16);
                prefixRegExp = /^5[1-5]/;
                break;

              case "Visa":
                lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
                prefixRegExp = /^4/;
                break;

              case "American Express":
                lengthIsValid = (cardNumberLength == 15);
                prefixRegExp = /^3(4|7)/;
                break;
            }

            prefixIsValid = prefixRegExp.test(cardNumbersOnly);
            isValid = prefixIsValid && lengthIsValid;
          }

          if (isValid)
          {
            var numberProduct;
            var numberProductDigitIndex;
            var checkSumTotal = 0;

            for (digitCounter = cardNumberLength - 1;digitCounter >= 0;digitCounter--)
            {
              checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
              digitCounter--;
              numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
              for (var productDigitCounter = 0;productDigitCounter < numberProduct.length;productDigitCounter++)
              {
                  checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
              }
            }
            isValid = (checkSumTotal % 10 == 0);
        }
      
          if(isValid == false)
            args.IsValid = false;
          else
           args.IsValid = true;
      }
  }

  


