/trunk/upload/js/shopping_flow.js
https://gitlab.com/BGCX261/zishashop-svn-to-git · JavaScript · 612 lines · 472 code · 69 blank · 71 comment · 95 complexity · 0351e73bd0429e67ea1cb75dbf1ba380 MD5 · raw 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');
- }
-
- function validateBonusResponse(result)
- {
- alert(result);
- }
-
- /* *
- * 改变发票的方式
- */
- 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 + '&payee=' + invPayee + '&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 checkConsignee(frm)
- {
- var msg = new Array();
- var err = false;
-
- if (frm.elements['country'] && frm.elements['country'].value == 0)
- {
- msg.push(country_not_null);
- err = true;
- }
-
- if (frm.elements['province'] && frm.elements['province'].value == 0 && frm.elements['province'].length > 1)
- {
- err = true;
- msg.push(province_not_null);
- }
-
- if (frm.elements['city'] && frm.elements['city'].value == 0 && frm.elements['city'].length > 1)
- {
- err = true;
- msg.push(city_not_null);
- }
-
- if (frm.elements['district'] && frm.elements['district'].length > 1)
- {
- if (frm.elements['district'].value == 0)
- {
- err = true;
- msg.push(district_not_null);
- }
- }
-
- if (Utils.isEmpty(frm.elements['consignee'].value))
- {
- err = true;
- msg.push(consignee_not_null);
- }
-
- if ( ! Utils.isEmail(frm.elements['email'].value))
- {
- err = true;
- msg.push(invalid_email);
- }
-
- if (frm.elements['address'] && Utils.isEmpty(frm.elements['address'].value))
- {
- err = true;
- msg.push(address_not_null);
- }
-
- if (frm.elements['zipcode'] && frm.elements['zipcode'].value.length > 0 && (!Utils.isNumber(frm.elements['zipcode'].value)))
- {
- err = true;
- msg.push(zip_not_num);
- }
-
- if (Utils.isEmpty(frm.elements['tel'].value))
- {
- err = true;
- msg.push(tele_not_null);
- }
- else
- {
- if (!Utils.isTel(frm.elements['tel'].value))
- {
- err = true;
- msg.push(tele_invaild);
- }
- }
-
- if (frm.elements['mobile'] && frm.elements['mobile'].value.length > 0 && (!Utils.isTel(frm.elements['mobile'].value)))
- {
- err = true;
- msg.push(mobile_invaild);
- }
-
- if (err)
- {
- message = msg.join("\n");
- alert(message);
- }
- return ! err;
- }