Вход Регистрация
Файл: js/al/pay.js
Строк: 301
<?php
var Pay = {
  
navTo: function(paramsonDoneonFailwaitignore) {
    if (!
ignore && isVisible(cur.payBox.progress)) return;

    
extend(params, {
      
merchant_idcur.payMerchantId,
      
order_hashcur.payOrderHash,
      
order_idcur.payOrderId,
      
layoutcur.payLayout
    
});

    
hide('pay_error');
    if (!
wait) {
      
wait 1;
      if (
cur.payNavTimer) {
        
clearTimeout(cur.payNavTimer);
      }
    }

    
show(cur.payBox.progress);
    
hide('pay_back_link');

    
ajax.post(cur.payUrlparams, {onDone: function(htmlscript) {
      if (
onDoneonDone();
      if (
html == 'not_ready') {
        
show(cur.payBox.progress);
        
clearTimeout(cur.payNavTimer);
        
cur.payNavTimer setTimeout(function() {
          
Pay.navTo(paramsonDoneonFailwait 1true);
        }, 
wait 1000);
      } else {
        
hide(cur.payBox.progress);
        
clearTimeout(cur.payNavTimer);
        
cur.payNavTimer 0;
        
Pay.received(htmlscript);
      }
    }, 
onFail: function(text) {
      if (
onFailonFail();
      if (
text) {
        
Pay.showError(text);
      } else {
        
show(cur.payBox.progress);
        
clearTimeout(cur.payNavTimer);
        
cur.payNavTimer setTimeout(function() {
          
Pay.navTo(paramsonDoneonFailwait 1true);
        }, 
wait 1000);
      }
      return 
true;
    }});
  },

  
showError: function(error) {
    if (
ge('pay_box_error')) {
      
ge('pay_box_error').innerHTML error;
      
show('pay_box_error');
    } else if (
ge('pay_error')) {
      
ge('pay_error').innerHTML error;
      
show('pay_error');
    } else if (
ge('pay_merchant_error')) {
      
ge('pay_merchant_error').innerHTML error;
      
show('pay_merchant_error');
      
Pay.payDoResize();
    }
    
hide(cur.payBox.progress);
    if (
cur.payConfirmBox && cur.payConfirmBox.isVisible()) {
      
hide('pay_retry_msg');
      if (
ge('pay_confirm_phone')) {
        
elfocus('pay_confirm_phone');
      } else if (
ge('pay_confirm_code')) {
        
elfocus('pay_confirm_code');
      }
    }
  },

  
received: function(htmlscript) {
    if (
cur.payNotEnoughTimer) {
      
clearTimeout(cur.payNotEnoughTimer);
      
cur.payNotEnoughTimer 0;
    }
    if (
trim(html).length) {
      
ge('pay_container').innerHTML html;
    }
    if (
trim(script).length) {
      var 
box cur.payBox;
      eval(
script);
    }
  },

  
agreementChanged: function(el) {
    if (
isChecked(el)) {
      
Pay.initPaymentButtons();
    } else {
      
cur.payBox.removeButtons().addButton(getLang('global_close'), Pay.cancel);
    }
  },

  
showAgreement: function(ev) {
    var 
windowHeight window.innerHeight window.innerHeight : (document.documentElement.clientHeight document.documentElement.clientHeight document.body.offsetHeight);
    return !
showBox('merchants.php', {act'agreement'idcur.payMerchantId}, {
      
stat: ['wk.css''wk.js'],
      
params: {
        
bodyStyle'overflow: auto; padding: 0px; height: ' + (windowHeight 270) + 'px',
        
width643,
        
height: (windowHeight 200)
      }
    }, 
ev);
    var 
cb ge('pay_agreement_check');
    
checkbox(cb);
  },

  
makePayment: function(otherPhoneretryPhone) {
    var 
statusExport isChecked('status_export') ? 1;

    var 
progress = (cur.payConfirmBox && cur.payConfirmBox.isVisible()) ? cur.payConfirmBox.progress cur.payBox.progress;
    if (
isVisible(progress)) return;

    
hide('pay_error''pay_box_error');
    var 
params = {
      
act'lock',
      
hashcur.payConfirmHash,
      
merchant_idcur.payMerchantId,
      
order_idcur.payOrderId,
      
order_hashcur.payOrderHash,
      
show_in_boxtrue,
      
layoutcur.payLayout,
      
donationcur.payDonation
    
};
    if (
otherPhone) {
      
params.other_phone 1;
    } else if (
retryPhone) {
      
params.retry_phone 1;
      if (
cur.payConfirmPhone) {
        
params.confirm_phone cur.payConfirmPhone;
      }
    } else if (
ge('pay_confirm_code') && ge('pay_confirm_code').value) {
      
params.confirm_code ge('pay_confirm_code').value;
    } else if (
ge('pay_confirm_phone')) {
      
cur.payConfirmPhone params.confirm_phone ge('pay_confirm_phone').value;
    }

    
ajax.post(cur.payUrlparams, {onDone: function(resulthtmlscript) {
      switch (
result) {
        case -
1:
          
show(progress);
          
setTimeout(function() {
            
hide(progress);
            
Pay.makePayment(otherPhoneretryPhone);
          }, 
1000);
        break;

        case 
0:
          
Pay.received(htmlscript);
        break;

        case 
1:
          if (
cur.payConfirmBoxcur.payConfirmBox.hide();

          
cur.payConfirmHtml html;
          
cur.payConfirmScript script;
          
html '';
        case 
2:
          if (!
cur.payConfirmBox || !cur.payConfirmBox.isVisible()) {
            
cur.payConfirmBox showFastBox(cur.payConfirmTitlecur.payConfirmHtmlgetLang('box_send'), Pay.makePayment.pbind(falsefalse), getLang('global_cancel'));
            
cur.payConfirmBox.evalBox(cur.payConfirmScript);
          }
          if (
html) {
            
Pay.showError(html);
          }
        break;

        case 
3:
          
cur.payConfirmCallbackId intval(html);
          if (
cur.payConfirmBox) {
            
cur.payConfirmBox.hide();
          }

          
cur.payBox.removeButtons().addButton(getLang('global_cancel'), Pay.cancel);
          
cur.payBox.setControlsText('');

          var 
html '<div id="pay_process_info"><div class="pay_process_please">' cur.payPleaseWait '<br><br><img src="images/progress7.gif" /><br><br>' cur.payInProgress '</div><br><br>' cur.payHistory '</div>';
          var 
script '';
          
Pay.received(htmlscript);

          
Pay.navTo({
            
act'pay',
            
order_idcur.payOrderId,
            
callback_idcur.payConfirmCallbackId,
            
show_in_boxtrue,
            
donationcur.payDonation,
            
urlcur.paySiteUrl,
            
doexportstatusExport
          
});

        break;
      }
    }, 
onFail: function(text) {
      if (
text) {
        
Pay.showError(text);
        return 
true;
      }
    }});
  },

  
initPaymentButtons: function() {
    
cur.payBox.removeButtons().addButton(getLang('global_cancel'), Pay.cancel'no');
    
cur.payBox.addButton(cur.payBtnLabelPay.makePayment);
  },

  
checkMoney: function() {
    
ajax.post(cur.payUrl, {
      
act'money',
      
moneycur.payMoney,
      
merchant_idcur.payMerchantId,
      
order_idcur.payOrderId,
      
order_hashcur.payOrderHash,
      
show_in_boxtrue,
      
layoutcur.payLayout
    
}, {onDone: function(moneyyouWillwillBeLeftnotEnough) {
      
cur.payMoney money;
      if (
youWill) {
        
ge('pay_you_will_msg').innerHTML youWill;
        
ge('pay_will_be_left').innerHTML willBeLeft;
        if (!
notEnough) {
          
hide('pay_error''pay_box_error');
          return;
        }
      }
      
cur.payWaitFor 5000;
      
cur.payNotEnoughTimer setTimeout(Pay.checkMoneycur.payWaitFor);
    }, 
onFail: function(text) {
      if (
text) {
        
Pay.showError(text);
      } else {
        
cur.payWaitFor *= 2;
        
cur.payNotEnoughTimer setTimeout(Pay.checkMoneycur.payWaitFor);
      }
      return 
true;
    }});
  },

  
successFinish: function() {
    
clearTimeout(cur.paySuccessTimer);
    
cur.payBox.setOptions({onHide: function() {
      if (
cur.onMerchantPaymentSuccess) {
        
cur.onMerchantPaymentSuccess(cur.payMerchantOrderId);
      } else {
        
debugLog('no cur.onMerchantPaymentSuccess handler')
      }
    }})
    
cur.payBox.hide();
  },

  
showCongrats: function(text) {
    
hide('pay_text_logged');
    
show('pay_text_success');
    
hide('pay_text_logged''pay_text_success_publish');
    
cur.paySuccessTimer setTimeout(Pay.successFinish4000);
    
cur.destroy.push(function() {
      
clearTimeout(cur.paySuccessTimer);
    });

    
ge('pay_process_info').innerHTML '<div class="pay_process_please">' text '</div>';
    
cur.payBox.removeButtons().addButton(getLang('global_close'), Pay.successFinish);
  },

  
payResizeShow: function(el) {
    if (
cur.payShowInBox) {
      return;
    }
    
// show resize for popup here
  
},

  
payResizeHide: function(el) {
    if (
cur.payShowInBox) {
      return;
    }
    
// hide resize for popup here
  
},

  
payDoResize: function(el) {
    if (
cur.payShowInBox) {
      return;
    }
    
// hide resize for popup here
  
},

  
cancel: function() {
    if (
cur.onMerchantPaymentCancel) {
      
cur.onMerchantPaymentCancel();
    }
    
cur.payBox.hide();
  }


}

try{
stManager.done('pay.js');}catch(e){}
?>
Онлайн: 0
Реклама