Subversion Repositories SmartDukaan

Rev

Rev 10716 | Rev 10741 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

function shippingform(){
  debugger;
  var fname = document.getElementById("name").value;
  var street1 = document.getElementById("line1").value;
  var street2 = document.getElementById("line2").value;
  var city = document.getElementById("city").value;
  var state = document.getElementById("state");
  state = state.options[state.selectedIndex].text;
  var zipcode = document.getElementById("pin").value; 
  var phone = document.getElementById("phone").value;
  var chckfname = removeScript(fname);
  if(fname =='')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill name field!';
        window.scrollTo(0,0); return false;}
  if(!removeScript(fname))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please remove script tags!';
        window.scrollTo(0,0); return false;}  
  if(fname.length> 50)
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please Enter Less Than 50 Characters in name field!';
        window.scrollTo(0,0); return false;}
  if(street1 =='')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill address field!';
        window.scrollTo(0,0); return false;}
  // if(street2 =='')
  //     {   
  //       document.getElementById('error').style.display = "block";
  //       document.getElementById('error').innerHTML ='Please fill address field!';
  //       window.scrollTo(0,0); return false;}
  if(!removeScript(street1))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please remove script tags!';
        window.scrollTo(0,0); return false;}
  if(!removeScript(street2))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please remove script tags!';
        window.scrollTo(0,0); return false;}
  if(city =='')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill City field!';
        window.scrollTo(0,0); return false;}
  if(!removeScript(city))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please remove script tags!';
        window.scrollTo(0,0); return false;}
  if(state =='Select State' || state == '')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill state field!';
        window.scrollTo(0,0); return false;}
  if(!removeScript(state))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please remove script tags!';
        window.scrollTo(0,0); return false;}
  if(zipcode =='')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill pincode field!';
        window.scrollTo(0,0); return false;}
  if(zipcode.length !=6)
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Pincode should be 6 digits long';
        window.scrollTo(0,0); return false;}
  if(!zipcode.match(/^\d+/))
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please Use numbers only for pincode!';
        window.scrollTo(0,0); return false;}
  if(phone =='')
      {   
        document.getElementById('error').style.display = "block";
        document.getElementById('error').innerHTML ='Please fill phone number field!';
        window.scrollTo(0,0); return false;}
  if(!phone.match(/^\d+/))
        {    document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please Use numbers only for Mobile Number!';
          window.scrollTo(0,0); return false;}
  if(phone.length != 10)
        {    document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Mobile number should be of 10 digits!';
          window.scrollTo(0,0); return false;}

}
function showForm(){
  document.getElementsByClassName("address-form")[0].style.display = 'block';
  document.getElementsByClassName("delivery-cont")[0].style.display = 'none';
}

function deleteAddress(e){
debugger;
var addressId = e.currentTarget.id;
var url = base_url+'checkout/delete/'+addressId;
  microAjax(url, function (res) {
        debugger;
        if(res != ''){
          document.getElementById(addressId).style.display = 'none';
        }
  });
  e.stopPropagation();
}

function changeAddress(addressId,type){
  debugger;
  if(defaultAddress != addressId){
    var url = base_url+'checkout/changeAddress/'+addressId+'/'+type;
    microAjax(url, function (res) {
        debugger;
        if(res == ''){
          document.getElementById(defaultAddress).className = 'deliver-address';
          document.getElementById(addressId).className += ' selected-add';
          defaultAddress = addressId;
        }
        else{
          return false;
        }
    });
  }
}

function changePayment(e){
  debugger;
  var Id = e.currentTarget.id;
  var defaultId = defaultPayment.id;
  if(defaultId != Id){
    var title = e.currentTarget.textContent.split('+')[0];
    document.getElementById(defaultId).className = 'card';
    defaultPayment.nextElementSibling.style.display = 'none';
    defaultPayment.children[0].innerHTML = '+';
    document.getElementById(Id).className += ' selected';
    document.getElementById(Id).children[0].innerHTML = '-';
    e.currentTarget.nextElementSibling.style.display = 'block';
    //document.getElementById(Id).style.display = 'block';
    defaultPayment = e.currentTarget;
    ga('send', 'event', 'Payment Option', 'Payment option tab clicked',title);
  }
}
if(typeof bankInfo != 'undefined'){
var defaultBank = bankInfo.Id;
}
function changeBank(e){
  debugger;
  var Id = e.currentTarget.value;
  var payOption = document.getElementById(Id).children[0].id;
  document.getElementById(defaultBank).style.display = 'none';
  document.getElementById(Id).style.display = 'block';
  document.getElementById('pay-emi').value = payOption;
  defaultBank = Id;
  var id = e.currentTarget.id;
  var a = document.getElementById(id);
  var bankName = a.options[a.selectedIndex].text;
  ga('send', 'event', 'EMI', 'Bank Selection',bankName);
}
function changePay(e){
  debugger;
  var Id = e.currentTarget.id;
  var payOption = document.getElementById('pay-emi').value;
  document.getElementById(payOption).className = 'emi-body clearfix';
  document.getElementById(Id).className += ' selected';
  document.getElementById('pay-emi').value = Id;
  var bankName = e.currentTarget.getAttribute('data-bank');
  var tenure = e.currentTarget.getAttribute('data-tenure');
  bankName = bankName+'-'+tenure;
  ga('send', 'event', 'EMI', 'Plan Selection',bankName);
}
var netBanking;
function changeNetBanking(e){
  debugger;
  var Id;
  Id = e.currentTarget.value;
  if(Id == undefined){
    Id = e.currentTarget.id;
  }
  if(netBanking == undefined){
    document.getElementById(Id).className = 'selected';
  }
  else if(netBanking != undefined){
    document.getElementById(netBanking).className = '';
    document.getElementById(Id).className = 'selected'; 
  }
  document.getElementById('pay-net').value = Id;
  netBanking = Id;
  var title = e.currentTarget.getAttribute('data-parent');
  title = title+'-'+Id;
  ga('send', 'event', 'Payment Option', 'Payment option tab-payotion selected',title);
}
function changeCountry(e){
  debugger;
  var Id = e.currentTarget.id;
  if(Id == 'india'){
    document.getElementById('india').className = 'selected';
    document.getElementById('outside').className = '';
    document.getElementsByClassName('in-india')[0].style.display = 'block';
    document.getElementsByClassName('out-india')[0].style.display = 'none';
  }
  if(Id == 'outside'){
    document.getElementById('outside').className = 'selected';
    document.getElementById('india').className = '';
    document.getElementsByClassName('out-india')[0].style.display = 'block';
    document.getElementsByClassName('in-india')[0].style.display = 'none';
  }
}
var previousCard;
function selectCard(e){
  debugger;
  var Id = e.currentTarget.id;
  if(previousCard == undefined){
    document.getElementById(Id).className = 'selected';
  }
  else if(previousCard != undefined){
    document.getElementById(previousCard).className = '';
    document.getElementById(Id).className = 'selected'; 
  }
  document.getElementById('pay-credit').value = Id;
  previousCard = Id;
  var title = e.currentTarget.getAttribute('data-parent');
  title = title+'-'+Id;
  ga('send', 'event', 'Payment Option', 'Payment option tab-payotion selected',title);
}
var previousDebit;
function selectDebitCard(e){
  debugger;
  var Id = e.currentTarget.id;
  if(previousDebit == undefined){
    document.getElementById(Id).className = 'selected';
  }
  else if(previousDebit != undefined){
    document.getElementById(previousDebit).className = '';
    document.getElementById(Id).className = 'selected'; 
  }
  document.getElementById('pay-debit').value = Id;
  previousDebit = Id;
  var title = e.currentTarget.getAttribute('data-parent');
  title = title+'-'+Id;
  ga('send', 'event', 'Payment Option', 'Payment option tab-payoption selected',title);
}
var previousCC;
function selectCashCard(e){
  debugger;
  var Id = e.currentTarget.id;
  if(previousCC == undefined){
    document.getElementById(Id).className = 'selected';
  }
  else if(previousCC != undefined){
    document.getElementById(previousCC).className = '';
    document.getElementById(Id).className = 'selected'; 
  }
  document.getElementById('pay-cc').value = Id;
  previousCC = Id;
  var title = e.currentTarget.getAttribute('data-parent');
  title = title+'-'+Id;
  ga('send', 'event', 'Payment Option', 'Payment option tab-payoption selected',title);
}
// function changeCaptcha(){
//   var url = base_url+'checkout/changeCaptcha';
//     microAjax(url, function (res) {
//         debugger;
//         if(res != ''){
//           debugger;
//           data = JSON.parse(res);
//           document.getElementById('captcha').innerHTML = data.image;
//         }
//         else{
//           return false;
//         }
//     });
// }
function infoPage(){
        document.getElementsByClassName("address-form")[0].style.display = 'none';
        document.getElementsByClassName("delivery-cont")[0].style.display = 'block';
      }

function togglepicup(e){
    debugger;
    if(e.currentTarget.className == 'pick-up'){
      e.currentTarget.className += ' selected';
      document.getElementsByClassName("deliverhere")[0].setAttribute('class','deliverhere');
      document.getElementsByClassName("pickup")[0].style.display = 'block';
      document.getElementsByClassName("deliver-here")[0].style.display = 'none';
    }else{
       e.currentTarget.className += ' selected';
       document.getElementsByClassName("pick-up")[0].setAttribute('class','pick-up');
       document.getElementsByClassName("deliver-here")[0].style.display = 'block'; 
       document.getElementsByClassName("pickup")[0].style.display = 'none';
      
    }
}
var prevZone;
function changeZone(e){
  debugger;
 var value = e.currentTarget.value;
 var currentStore = storeInfo[value];
 var storeAddress = '';
 if(prevZone == undefined || prevZone != value){
  for(i=0;i<currentStore.length;i++){
    storeAddress +='<div class="pickup-spot" id="'+currentStore[i].id+'" data-key="'+currentStore[i].hotspotId+'" onclick=selectStore(event)><div>'+currentStore[i].name+'</div><div>'+currentStore[i].line1+'</div><div>'+currentStore[i].line2+'</div><div>'+currentStore[i].city+'</div><div>'+currentStore[i].state+'</div><div>Pin: '+currentStore[i].pin+'</div><div>Phone: '+currentStore[i].phone+'</div></div>'; 
  }
 document.getElementById('appendData').innerHTML = storeAddress;
 prevZone = value;
 ga('send', 'event', 'InStore Pickup Region', 'Store Zone',value);
 }
}
var shopId;
var inStoreDelivery;
function selectStore(e){
debugger;
 var id = e.currentTarget.id;
 var hotspotId = e.currentTarget; 
 if(shopId == undefined){
  document.getElementById(id).className += ' selected-add'; 
  shopId = id;
 }else if(shopId != id){
  document.getElementById(shopId).className += 'pickup-spot';
  document.getElementById(id).className += ' selected-add';
  shopId = id;
  inStoreDelivery = true;
 }
 var url = base_url+'checkout/pickupSpot/'+id;
   microAjax(url,function(res){
    debugger;
    if(res != ''){
    }else{
      window.location.href = document.URL;
    }
  });
 document.getElementById('hotSpot').value = id;
}
if(insuranceInfo != undefined){
  var insuranceInfo = insuranceInfo;
}
function validateInsurance(type){
debugger;
var type = type;
if(document.getElementById('ccAddress') && insuranceInfo == 1){
  var bday = document.getElementById('bday').value;
  var gname = document.getElementById('gName').value;
  if(gname == '')
    {   
      document.getElementById('error1').style.display = "block";
      document.getElementById('error1').innerHTML ='Please fill name field!';
      return false;}
  if(gname.length> 50)
    {   
      document.getElementById('error1').style.display = "block";
      document.getElementById('error1').innerHTML ='Please Enter Less Than 50 Characters in name field!';
      return false;}
  // if(bday =='')
  //   {   
  //     document.getElementById('error1').style.display = "block";
  //     document.getElementById('error1').innerHTML ='Please fill birthday field!';
  //     return false;}
  var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
  var returnval=false
  if (!validformat.test(bday)){
    document.getElementById('error1').style.display = "block";
    document.getElementById('error1').innerHTML ='Please Enter valid date';
    return false;
  }else if(validformat.test(bday)){ //Detailed check for valid date ranges
        var monthfield=bday.split("/")[0]
        var dayfield=bday.split("/")[1]
        var yearfield=bday.split("/")[2]
        var dayobj = new Date(yearfield, monthfield-1, dayfield)
        if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)){
          document.getElementById('error1').style.display = "block";
          document.getElementById('error1').innerHTML ='Invalid Day, Month, or Year range detected. Please correct and submit again.';
          return false;
        }
    }
  if(type == 1){
    var bday = bday.replace(/\//g, '-');
    gname = gname.replace(/\ /g,'-');
    var url = base_url+'checkout/insuranceInfo/'+bday+'/'+gname+'/'+insuranceAddressId;
    microAjax(url,function(res){
    debugger;
    if(res != ''){
      debugger;
      var data = JSON.parse(res);
      if(data['response'].status == 'SUCCESS'){
        if(document.getElementById('ccAddress').style.display == ''){
          document.getElementById('ccAddress').style.display = 'none';
        }    
      }
      else{
        document.getElementById('error1').style.display = "block";
        document.getElementById('error1').innerHTML ='Request could not be completed.Please try again!';
      }
    }
  });
  }
  if(type == 2){
    if(inStoreDelivery == true){
      ga('send','event','Delivery Type','In-Store Pickup');
    }else{
      ga('send','event','Delivery Type','Deliver to address');
    }
    ga('send','event','Order','Proceed To Pay');
    window.location.href = base_url+'payment';
  }
}else{
  if(inStoreDelivery == true){
      ga('send','event','Delivery Type','In-Store Pickup');
    }else{
      ga('send','event','Delivery Type','Deliver to address');
    }
    ga('send','event','Order','Proceed To Pay');
  window.location.href = base_url+'payment';
}
}
function paymentValidation(e){
  debugger;
  var Id = e.currentTarget.id;
  if(Id == 'creditcard'){
    if(previousCard == undefined){
      document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please select payment method!';
          window.scrollTo(0,0); return false;
    }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);

  }else if(Id == 'debitcard'){
    if(previousDebit == undefined){
      document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please select payment method!';
          window.scrollTo(0,0); return false;
    }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }else if(Id == 'netbanking'){
    var payOption = document.getElementById('pay-net').value;
    if(payOption == undefined || payOption ==""){
      document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please select payment method!';
          window.scrollTo(0,0); return false;
    }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }else if(Id == 'cashcards'){
    if(previousCC == undefined){
      document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please select payment method!';
          window.scrollTo(0,0); return false;
    }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }else if(Id == 'emiform'){
    var payOption = document.getElementById('pay-emi').value;
    if(payOption == undefined || payOption ==""){
      document.getElementById('error').style.display = "block";
          document.getElementById('error').innerHTML ='Please select payment method!';
          window.scrollTo(0,0); return false;
    }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }else if(Id == 'cod'){
        if(document.getElementById('captcha_response_box').value == ''){
        // document.forms['recharge-confirm'].submit();
      // }else{
        var bRed = document.getElementById('captcha_response_box');
        bRed.style.border = 'red solid 1px';
        bRed.style.color = 'red';
        bRed.value = 'Please enter the captcha' 
        setTimeout(function(){
          bRed.style.border = '';
          bRed.style.color = '';
          bRed.value = '';
        },3000);
        return false;
      }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }else if(Id == 'zod'){
        if(document.getElementById('captcha_response_box').value == ''){
        // document.forms['recharge-confirm'].submit();
      // }else{
        var bRed = document.getElementById('captcha_response_box');
        bRed.style.border = 'red solid 1px';
        bRed.style.color = 'red';
        bRed.value = 'Please enter the captcha' 
        setTimeout(function(){
          bRed.style.border = '';
          bRed.style.color = '';
          bRed.value = '';
        },3000);
        return false;
      }
    var paymentTitle = e.currentTarget.getAttribute('data-key');
    ga('send', 'event', 'Payment Option', 'Form Submission',paymentTitle);
  }
}
var url;
 url = document.URL;
 if(url.indexOf('pay-success') != -1){
  if(orderConfirmation != undefined){
    debugger;
    ga('require', 'ecommerce', 'ecommerce.js');
    var orders = orderConfirmation['result']['orders'];
    for(i=0;i<orders.length;i++){
      debugger
      var amount = orders[i].totalAmount.replace(',','');
      amount = parseFloat(amount).toFixed(2);
      var orderId = orders[i].orderId;
      ga('ecommerce:addTransaction', {
        'id': orderId,                     // Transaction ID. Required.
        'affiliation': 'shop2020',   // Affiliation or store name.
        'revenue': amount,               // Grand Total.
        'shipping': '0',                  // Shipping.
        'tax': '0',                     // Tax.
        'city':"",
        'state':"",
        'country':"India"
      });
      ga('ecommerce:addItem', {
        'id': orderId,                     // Transaction ID. Required.
        'name': orders[i].itemName,    // Product name. Required.
        'sku': orders[i].itemName,                 // SKU/code.
        'category': 'Physical',         // Category or variation.
        'price': amount,                 // Unit price.
        'quantity': orders[i].quantity                   // Quantity.
      });
    }
    ga('ecommerce:send');
  }
 }