var payWindow = null;
$(function($) {
$.payment = function(params) {
var payMethod = $('input[name=pay_method]:checked').val() || 'gateway';
var bill = $('input[name=bill]:checked').val() || 'none';
var sendSMS = $('input[name=sendDepositNumber]:checked').val() || 0;
var cartIds = $('input[name=cartIds]').val();
var billIds = $('input[name=billIds]').val();
var domainCount = Number($('input[name=domainCount]').val());
var plan = $('input[name=plan]').val();
var emoney = 0;
if (payMethod == 'emoney') {
emoney += Number($('#totalPrice2').text().replace(/,/g,''));
if (!emoney) {
emoney += Number($('#totalPrice').text().replace(/,/g,''));
}
}
var balance = 0;
if (payMethod == 'balance') {
balance += Number($('#totalPrice2').text().replace(/,/g,''));
if (!balance) {
balance += Number($('#totalPrice').text().replace(/,/g,''));
}
}
var cash = 0;
if ($('select[name=cash]').length) {
if ($('select[name=cash]').val() == 'select') {
cash = $('input[name=select]').val().replace(/,/g, '');
cash = $.trim(cash);
cash = Number(cash) * 1000;
} else {
cash = $('select[name=cash]').val().replace(/,/g, '');
}
}
var parameters = {
'instantKey': decodeURIComponent($('input[name=instantKey]').val() || ''),
'payMethod': payMethod,
'bill': bill,
'cardKind': $('input[name=cardKind]:checked').val() || $('input[name=cardKind]').val(),
'cardType': $('select[name=cardType]').val(),
'bankType': $('select[name=bankType]').val(),
'cash' : cash,
'emoney' : emoney,
'balance' : balance,
'domainCount' : domainCount,
'plan' : plan
};
if (cartIds) {
parameters.cartIds = cartIds;
}
if (billIds) {
parameters.billIds = billIds;
}
if ($('input[name=pg]:visible').length > 0) {
parameters.pg = $('input[name=pg]:visible:checked').val();
}
if (bill == 'tax') {
parameters.companyInputType = $('input[name=companyInputType]:checked').val();
if (parameters.companyInputType == 'exist') {
parameters.companyId = $('select[name=companyId]').val();
}
if ( $('input[name=secondary_registration_number]').length > 0 && $('input[name=secondary_registration_number]').val().length > 0 ) {
parameters.secondaryRegistrationNumber = $.trim($('input[name=secondary_registration_number]').val());
}
parameters.companyName = $.trim($('input[name=companyName]').val());
parameters.registrationNumberLeft = $.trim($('input[name=registration_number_left]').val());
parameters.registrationNumberMiddle = $.trim($('input[name=registration_number_middle]').val());
parameters.registrationNumberRight = $.trim($('input[name=registration_number_right]').val());
parameters.representative = $.trim($('input[name=representative]').val());
parameters.companyLocation = $.trim($('input[name=company_location]').val());
parameters.companyType = $.trim($('input[name=company_type]').val());
parameters.companyCategory = $.trim($('input[name=company_category]').val());
parameters.companyContact1Name = $.trim($('input[name=contact1_name]').val());
parameters.companyContact1Email = $.trim($('input[name=contact1_email]').val());
parameters.companyContact1Phone = $.trim($('input[name=contact1_phone]').val());
parameters.companyContact2Name = $.trim($('input[name=contact2_name]').val());
parameters.companyContact2Email = $.trim($('input[name=contact2_email]').val());
parameters.companyContact2Phone = $.trim($('input[name=contact2_phone]').val());
parameters.companyUpdate = $('#company_update:checked').val();
}
if (parameters.payMethod == 'deposit' || parameters.payMethod == 'bank' || $('input[name=isOrdererInfo]').val()) {
parameters.name = $.trim($('input[name=name]').val() || '');
parameters.email = $.trim($('input[name=email]').val() || '');
if ($('input[name=phone]:visible').length) {
parameters.phone = $.trim($('input[name=phone]').val() || '');
} else {
parameters.phone = '';
}
parameters.mobile = $.trim($('input[name=handPhone]').val() || '');
parameters.isLogin = $.trim($('input[name=handPhone]').data('login') || false);
parameters.depositor = $.trim($('input[name=depositor]').val() || '');
parameters.accountId = $.trim($('input[name=account_id]').val());
parameters.sms = sendSMS;
}
if ($('input[name=cardNumber]').length != 0) {
parameters.cardNumber = $.trim($('input[name=cardNumber]').val());
parameters.cardYear = $.trim($('select[name=cardYear]').val());
parameters.cardMonth = $.trim($('select[name=cardMonth]').val());
}
if (payMethod == 'admin') {
parameters.note = $('textarea[name=note]').val();
}
if (!checkParameter(parameters)) {
return false;
}
submitBlank(payMethod, parameters);
};
$('input[name=company_update]').change( function() {
if ($(this).attr('checked') == 'checked') {
$('#company_update').val('true');
} else {
$('#company_update').val();
}
});
});
function submitBlank(payMethod, parameters) {
var wrap = $('
');
var header = ''
var footer = '';
var form = '';
form += '';
var openWindowWithCheck = function(apiUrl) {
form = '
Please wait a minute while processing your order.
' + form;
var windowWidth = 1024;
var windowHeight = 700;
var left = (screen.width/2) - (windowWidth/2);
var top = (screen.height/2) - (windowHeight/2);
var instantKey = decodeURIComponent($('input[name=instantKey]').val() || '');
if (payWindow != null) {
payWindow.close();
payWindow = null;
}
payWindow = window.open(
'/blank.html',
"dnseverpaywin",
"width=" + windowWidth +
", height=" + windowHeight +
", left=" + left +
", top=" + top +
", location=no, toolbar=no, resizable=yes, status=no, scrollbars=yes"
);
if (!payWindow) {
alert(LANG['popup_blocked']);
return false;
} else {
payWindow.onload = function() {
setTimeout(function() {
if (payWindow.screenX === 0) {
alert(LANG['popup_blocked']);
}
}, 0);
};
setTimeout(function() {
payWindow.document.write(header + form + footer);
}, 100);
}
$(window).unload(function() {
payWindow.close()
});
function checkPayResult() {
setTimeout(function() {
if (payWindow && payWindow.closed) {
$.ajax({
url: apiUrl + "?instantKey=" + encodeURIComponent(instantKey),
cache: false
}).done(function(result) {
if(result > 0) {
if (parameters.cash) {
var url = '/body/payment/cash_done.html?orderId=' + result;
if (instantKey) {
url += '&instantKey=' + encodeURIComponent(instantKey);
}
parent.parent.openMessageBox('');
parent.parent.closeMessageBox('emoney');
parent.parent.closeMessageBox('paygate');
} else {
window.location.href = '/charge.html?selected_menu=done&orderId=' + result;
}
}
});
} else {
checkPayResult();
}
}, 500);
};
checkPayResult();
};
if (payMethod == 'paypal') {
openWindowWithCheck('/paypal/check.php');
} else if (payMethod == 'alipay') {
openWindowWithCheck('/alipay/check.php');
} else if (payMethod == 'credit' || payMethod == 'bank' || payMethod == 'transfer' || payMethod == 'phone' || payMethod == 'alipay' || payMethod == 'tenpay' || payMethod == 'cup' || payMethod == 'paypalREST') {
if (payMethod == 'tenpay') {
parent.parent.openMessageBox('');
} else if ($('input[name=pg]:checked').val() == 'kcp') {
parent.parent.openMessageBox('');
} else {
parent.parent.openMessageBox('');
}
var $iframe = parent.parent.$('#messageBoxDisplay_paygate');
$iframe.one('load', function() {
var iframe = $iframe[0];
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.write(header + form + footer);
});
} else {
var iframe = $('#payment_iframe')[0];
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.write(header + form + footer);
}
return false;
}
function checkParameter(parameters) {
if (parameters.payMethod == 'credit') {
if (!$('select[name="cardType"]').val() && ($('input[name=pg]:checked').val() == 'paygate' || $('input[name=pg]:visible').length == 0)) {
alert(LANG['not_choose_card_type']);
$('select[name="cardType"]').focus();
return false;
}
if ($('input[name="cardKind"]:checked').val() == 'external') {
if (!parameters.cardNumber) {
alert(LANG['no_card_number']);
$('input[name="cardNumber"]').focus();
return false;
}
if (!parameters.cardMonth) {
$('input[name="cardMonth"]').focus();
return false;
}
if (!parameters.cardYear) {
$('input[name="cardYear"]').focus();
return false;
}
}
} else if (parameters.payMethod == 'bank' && ($('input[name=pg]:checked').val() == 'paygate' || $('input[name=pg]:visible').length == 0)) {
if (!$('select[name="bankType"]').val()) {
alert(LANG['choose_your_bank']);
$('select[name="bankType"]').focus();
return false;
}
}
if ((parameters.payMethod == 'deposit' || parameters.payMethod == 'bank' || $('input[name=isOrdererInfo]').val()) && parameters.payMethod != 'admin') {
if (!parameters.name || parameters.name.length == 0) {
alert(LANG['no_name']);
$('input[name="name"]').focus();
return false;
}
if (!parameters.email || parameters.email.length == 0) {
alert(LANG['no_email']);
$('input[name=email]').focus();
return false;
}
if ((!parameters.phone || parameters.phone.length == 0) && (!parameters.mobile || parameters.mobile.length == 0) && (parameters.sms == 1 || parameters.isLogin != "true")) {
if ($('input[name=phone]:visible').length) {
alert(LANG['no_contact']);
$('input[name=phone]').focus();
} else {
alert(LANG['no_mobile']);
$('input[name=handPhone]').focus();
}
return false;
}
if (parameters.payMethod == 'deposit') {
if (!parameters.depositor || parameters.depositor.length == 0) {
alert(LANG['no_depositor']);
$('input[name=depositor]').focus();
return false;
}
}
} else if (parameters.payMethod == 'emoney') {
if (!parameters.emoney || Number(parameters.emoney) > Number($('input[name=emoneyLeft]').val())) {
alert(LANG['not_enough_money']);
return false;
}
} else if (parameters.payMethod == 'balance') {
console.log(parameters);
if (!parameters.balance || Number(parameters.balance) > Number($('input[name=balanceLeft]').val())) {
alert(LANG['not_enough_balance']);
return false;
}
}
if ($('.billTaxFormTr:visible').length && parameters.bill == 'tax') {
if (!check_company_form($('form'))) {
return false;
}
}
if ($('input[name=isOrdererInfo]').val()) {
if ($('input[name=agree2]').length) {
var agree = $('input[name=agree2]:checked').val();
if (!agree) {
alert(LANG['not_agreed']);
return false;
}
}
if ($('input[name=agree3]').length) {
var agree = $('input[name=agree3]:checked').val();
if (!agree) {
alert(LANG['not_agreed']);
return false;
}
}
}
if ($('input[name=agree]').length) {
var agree = $('input[name=agree]:checked').val();
if (!agree) {
alert(LANG['not_agreed']);
return false;
}
}
return true;
}