bnbweb/js/shopping_flow.js
2022-11-14 23:49:28 +08:00

582 lines
12 KiB
JavaScript
Executable File

/* $Id : shopping_flow.js 4865 2007-01-31 14:04:10Z paulgao $ */
var selectedShipping = null;
var selectedPayment = null;
var selectedPack = null;
var selectedCard = null;
var selectedSurplus = '';
var selectedBonus = 0;
var selectedIntegral = 0;
var selectedOOS = null;
var alertedSurplus = false;
var groupBuyShipping = null;
var groupBuyPayment = null;
/* *
* 改变配送方式
*/
function selectShipping(obj)
{
if (selectedShipping == obj)
{
return;
}
else
{
selectedShipping = obj;
}
var supportCod = obj.attributes['supportCod'].value + 0;
var theForm = obj.form;
for (i = 0; i < theForm.elements.length; i ++ )
{
if (theForm.elements[i].name == 'payment' && theForm.elements[i].attributes['isCod'].value == '1')
{
if (supportCod == 0)
{
theForm.elements[i].checked = false;
theForm.elements[i].disabled = true;
}
else
{
theForm.elements[i].disabled = false;
}
}
}
if (obj.attributes['insure'].value + 0 == 0)
{
document.getElementById('ECS_NEEDINSURE').checked = false;
document.getElementById('ECS_NEEDINSURE').disabled = true;
}
else
{
document.getElementById('ECS_NEEDINSURE').checked = false;
document.getElementById('ECS_NEEDINSURE').disabled = false;
}
var now = new Date();
Ajax.call('flow.php?step=select_shipping', 'shipping=' + obj.value, orderShippingSelectedResponse, 'GET', 'JSON');
}
/**
*
*/
function orderShippingSelectedResponse(result)
{
if (result.need_insure)
{
try
{
document.getElementById('ECS_NEEDINSURE').checked = true;
}
catch (ex)
{
alert(ex.message);
}
}
try
{
if (document.getElementById('ECS_CODFEE') != undefined)
{
document.getElementById('ECS_CODFEE').innerHTML = result.cod_fee;
}
}
catch (ex)
{
alert(ex.message);
}
orderSelectedResponse(result);
}
/* *
* 改变支付方式
*/
function selectPayment(obj)
{
if (selectedPayment == obj)
{
return;
}
else
{
selectedPayment = obj;
}
Ajax.call('flow.php?step=select_payment', 'payment=' + obj.value, orderSelectedResponse, 'GET', 'JSON');
}
/* *
* 团购购物流程 --> 改变配送方式
*/
function handleGroupBuyShipping(obj)
{
if (groupBuyShipping == obj)
{
return;
}
else
{
groupBuyShipping = obj;
}
var supportCod = obj.attributes['supportCod'].value + 0;
var theForm = obj.form;
for (i = 0; i < theForm.elements.length; i ++ )
{
if (theForm.elements[i].name == 'payment' && theForm.elements[i].attributes['isCod'].value == '1')
{
if (supportCod == 0)
{
theForm.elements[i].checked = false;
theForm.elements[i].disabled = true;
}
else
{
theForm.elements[i].disabled = false;
}
}
}
if (obj.attributes['insure'].value + 0 == 0)
{
document.getElementById('ECS_NEEDINSURE').checked = false;
document.getElementById('ECS_NEEDINSURE').disabled = true;
}
else
{
document.getElementById('ECS_NEEDINSURE').checked = false;
document.getElementById('ECS_NEEDINSURE').disabled = false;
}
Ajax.call('group_buy.php?act=select_shipping', 'shipping=' + obj.value, orderSelectedResponse, 'GET');
}
/* *
* 团购购物流程 --> 改变支付方式
*/
function handleGroupBuyPayment(obj)
{
if (groupBuyPayment == obj)
{
return;
}
else
{
groupBuyPayment = obj;
}
Ajax.call('group_buy.php?act=select_payment', 'payment=' + obj.value, orderSelectedResponse, 'GET');
}
/* *
* 改变商品包装
*/
function selectPack(obj)
{
if (selectedPack == obj)
{
return;
}
else
{
selectedPack = obj;
}
Ajax.call('flow.php?step=select_pack', 'pack=' + obj.value, orderSelectedResponse, 'GET', 'JSON');
}
/* *
* 改变祝福贺卡
*/
function selectCard(obj)
{
if (selectedCard == obj)
{
return;
}
else
{
selectedCard = obj;
}
Ajax.call('flow.php?step=select_card', 'card=' + obj.value, orderSelectedResponse, 'GET', 'JSON');
}
/* *
* 选定了配送保价
*/
function selectInsure(needInsure)
{
needInsure = needInsure ? 1 : 0;
Ajax.call('flow.php?step=select_insure', 'insure=' + needInsure, orderSelectedResponse, 'GET', 'JSON');
}
/* *
* 团购购物流程 --> 选定了配送保价
*/
function handleGroupBuyInsure(needInsure)
{
needInsure = needInsure ? 1 : 0;
Ajax.call('group_buy.php?act=select_insure', 'insure=' + needInsure, orderSelectedResponse, 'GET', 'JSON');
}
/* *
* 回调函数
*/
function orderSelectedResponse(result)
{
if (result.error)
{
alert(result.error);
location.href = './';
}
try
{
var layer = document.getElementById("ECS_ORDERTOTAL");
layer.innerHTML = (typeof result == "object") ? result.content : result;
if (result.payment != undefined)
{
var surplusObj = document.forms['theForm'].elements['surplus'];
if (surplusObj != undefined)
{
surplusObj.disabled = result.pay_code == 'balance';
}
}
}
catch (ex) { }
}
/* *
* 改变余额
*/
function changeSurplus(val)
{
if (selectedSurplus == val)
{
return;
}
else
{
selectedSurplus = val;
}
Ajax.call('flow.php?step=change_surplus', 'surplus=' + val, changeSurplusResponse, 'GET', 'JSON');
}
/* *
* 改变余额回调函数
*/
function changeSurplusResponse(obj)
{
if (obj.error)
{
try
{
document.getElementById("ECS_SURPLUS_NOTICE").innerHTML = obj.error;
document.getElementById('ECS_SURPLUS').value = '0';
document.getElementById('ECS_SURPLUS').focus();
}
catch (ex) { }
}
else
{
try
{
document.getElementById("ECS_SURPLUS_NOTICE").innerHTML = '';
}
catch (ex) { }
orderSelectedResponse(obj.content);
}
}
/* *
* 改变积分
*/
function changeIntegral(val)
{
if (selectedIntegral == val)
{
return;
}
else
{
selectedIntegral = val;
}
Ajax.call('flow.php?step=change_integral', 'points=' + val, changeIntegralResponse, 'GET', 'JSON');
}
/* *
* 改变积分回调函数
*/
function changeIntegralResponse(obj)
{
if (obj.error)
{
try
{
document.getElementById('ECS_INTEGRAL_NOTICE').innerHTML = obj.error;
document.getElementById('ECS_INTEGRAL').value = '0';
document.getElementById('ECS_INTEGRAL').focus();
}
catch (ex) { }
}
else
{
try
{
document.getElementById('ECS_INTEGRAL_NOTICE').innerHTML = '';
}
catch (ex) { }
orderSelectedResponse(obj.content);
}
}
/* *
* 改变红包
*/
function changeBonus(val)
{
if (selectedBonus == val)
{
return;
}
else
{
selectedBonus = val;
}
Ajax.call('flow.php?step=change_bonus', 'bonus=' + val, changeBonusResponse, 'GET', 'JSON');
}
/* *
* 改变红包的回调函数
*/
function changeBonusResponse(obj)
{
if (obj.error)
{
alert(obj.error);
try
{
document.getElementById('ECS_BONUS').value = '0';
}
catch (ex) { }
}
else
{
orderSelectedResponse(obj.content);
}
}
/**
* 验证红包序列号
* @param string bonusSn 红包序列号
*/
function validateBonus(bonusSn)
{
Ajax.call('flow.php?step=validate_bonus', 'bonus_sn=' + bonusSn, validateBonusResponse, 'GET', 'JSON');
}
function validateBonusResponse(obj)
{
if (obj.error)
{
alert(obj.error);
orderSelectedResponse(obj.content);
try
{
document.getElementById('ECS_BONUSN').value = '0';
}
catch (ex) { }
}
else
{
document.getElementById("ECS_BONUS").options[0].selected = true;
selectedBonus = 0;
orderSelectedResponse(obj.content);
}
}
/* *
* 改变发票的方式
*/
function changeNeedInv()
{
var obj = document.getElementById('ECS_NEEDINV');
var objType = document.getElementById('ECS_INVTYPE');
var objPayee = document.getElementById('ECS_INVPAYEE');
var objContent = document.getElementById('ECS_INVCONTENT');
var needInv = obj.checked ? 1 : 0;
var invType = obj.checked ? (objType != undefined ? objType.value : '') : '';
var invPayee = obj.checked ? objPayee.value : '';
var invContent = obj.checked ? objContent.value : '';
objType.disabled = objPayee.disabled = objContent.disabled = ! obj.checked;
if(objType != null)
{
objType.disabled = ! obj.checked;
}
Ajax.call('flow.php?step=change_needinv', 'need_inv=' + needInv + '&inv_type=' + encodeURIComponent(invType) + '&inv_payee=' + encodeURIComponent(invPayee) + '&inv_content=' + encodeURIComponent(invContent), orderSelectedResponse, 'GET');
}
/* *
* 改变发票的方式
*/
function groupBuyChangeNeedInv()
{
var obj = document.getElementById('ECS_NEEDINV');
var objPayee = document.getElementById('ECS_INVPAYEE');
var objContent = document.getElementById('ECS_INVCONTENT');
var needInv = obj.checked ? 1 : 0;
var invPayee = obj.checked ? objPayee.value : '';
var invContent = obj.checked ? objContent.value : '';
objPayee.disabled = objContent.disabled = ! obj.checked;
Ajax.call('group_buy.php?act=change_needinv', 'need_idv=' + needInv + '&amp;payee=' + invPayee + '&amp;content=' + invContent, null, 'GET');
}
/* *
* 改变缺货处理时的处理方式
*/
function changeOOS(obj)
{
if (selectedOOS == obj)
{
return;
}
else
{
selectedOOS = obj;
}
Ajax.call('flow.php?step=change_oos', 'oos=' + obj.value, null, 'GET');
}
/* *
* 检查提交的订单表单
*/
function checkOrderForm(frm)
{
var paymentSelected = false;
var shippingSelected = false;
// 检查是否选择了支付配送方式
for (i = 0; i < frm.elements.length; i ++ )
{
if (frm.elements[i].name == 'shipping' && frm.elements[i].checked)
{
shippingSelected = true;
}
if (frm.elements[i].name == 'payment' && frm.elements[i].checked)
{
paymentSelected = true;
}
}
if ( ! shippingSelected)
{
alert(flow_no_shipping);
return false;
}
if ( ! paymentSelected)
{
alert(flow_no_payment);
return false;
}
// 检查用户输入的余额
if (document.getElementById("ECS_SURPLUS"))
{
var surplus = document.getElementById("ECS_SURPLUS").value;
var error = Utils.trim(Ajax.call('flow.php?step=check_surplus', 'surplus=' + surplus, null, 'GET', 'TEXT', false));
if (error)
{
try
{
document.getElementById("ECS_SURPLUS_NOTICE").innerHTML = error;
}
catch (ex)
{
}
return false;
}
}
// 检查用户输入的积分
if (document.getElementById("ECS_INTEGRAL"))
{
var integral = document.getElementById("ECS_INTEGRAL").value;
var error = Utils.trim(Ajax.call('flow.php?step=check_integral', 'integral=' + integral, null, 'GET', 'TEXT', false));
if (error)
{
return false;
try
{
document.getElementById("ECS_INTEGRAL_NOTICE").innerHTML = error;
}
catch (ex)
{
}
}
}
frm.action = frm.action + '?step=done';
return true;
}
/* *
* 检查收货地址信息表单中填写的内容
*/
function checkBank(frm)
{
var msg = new Array();
var err = false;
if (frm.elements['bank_code'] && frm.elements['bank_code'] == 0)
{
err = true;
msg.push('請選擇開戶銀行');
}
if (Utils.isEmpty(frm.elements['branch'].value))
{
err = true;
msg.push('開戶分行不能為空白');
}
if (frm.elements['account_no'] && Utils.isEmpty(frm.elements['account_no'].value))
{
err = true;
msg.push('銀行帳號不能為空白');
}
if (frm.elements['account_name'] && Utils.isEmpty(frm.elements['account_name'].value))
{
err = true;
msg.push('開戶戶名不能為空白');
}
if (err)
{
message = msg.join("\n");
alert(message);
}
return ! err;
}