(function ($){
var $form=$('form.checkout');
$('body').on('click', '.payu-list-banks li.payu-active label', function (){
$('.payu-list-banks label').removeClass('active');
$(this).addClass('active');
});
$('body').on('click', '.payu-list-banks .payu-active', function (){
$('.pbl-error').slideUp(250);
});
$('body').on('click', '.payu-conditions-description .payu-read-more', function (){
$(this).next('.payu-more-hidden').show();
$(this).remove();
});
$('form#order_review').on('submit', function (e){
var paymentMethod=$(this).find('input[name="payment_method"]:checked').val();
var validateResult=true;
if(paymentMethod==='payusecureform'){
validateResult=validate_payu_secure_form(this);
}else if(paymentMethod==='payulistbanks'){
validateResult=validate_payu_list_banks();
}
if(!validateResult){
setTimeout(function (){
$(e.target).unblock();
}, 500);
}
return validateResult;
});
$form.on('checkout_place_order_payusecureform', function (){
return validate_payu_secure_form(this);
});
$form.on('checkout_place_order_payulistbanks', function (){
return validate_payu_list_banks();
});
function validate_payu_secure_form(form){
var payuTokenElement=document.getElementsByName('payu_sf_token')[0];
if(payuTokenElement.value===''){
try {
window.payuSdkForms.tokenize()
.then(function (result){
$('.payu-sf-validation-error, .payu-sf-technical-error')
.html('')
.slideUp(250);
if(result.status==='SUCCESS'){
payuTokenElement.value=result.body.token;
document.getElementsByName('payu_browser[screenWidth]')[0].value=screen.width;
document.getElementsByName('payu_browser[javaEnabled]')[0].value=navigator.javaEnabled();
document.getElementsByName('payu_browser[timezoneOffset]')[0].value=new Date().getTimezoneOffset();
document.getElementsByName('payu_browser[screenHeight]')[0].value=screen.height;
document.getElementsByName('payu_browser[userAgent]')[0].value=navigator.userAgent;
document.getElementsByName('payu_browser[colorDepth]')[0].value=screen.colorDepth;
document.getElementsByName('payu_browser[language]')[0].value=navigator.language;
$(form).submit();
}else{
$(result.error.messages).each(function (i, error){
var source=error.source||'technical';
$('.payu-sf-' + error.type + '-error[data-type="' + source + '"]')
.html(error.message)
.slideDown(250);
$('html, body').animate({
scrollTop: $('.card-container').offset().top
}, 300);
});
}})
.catch(function (e){
console.log(e);
});
} catch (e){
console.log(e);
}
return false;
}
return true;
}
function validate_payu_list_banks(){
if(!$('.payu-list-banks').find('.payu-active .active').length){
$('html, body').animate({
scrollTop: $('.payu-list-banks').offset().top
}, 300);
$('.pbl-error').slideDown(250);
return false;
}else{
$('.pbl-error').slideUp(250);
return true;
}}
})(jQuery);