📄 arkshopcartitem.js@t=20080730
字号:
TB.namespace("ark.shopCartItem");var CART_ITEM_CHECK="ark:cart:item:check";var CART_ITEM_SELECT="ark:cart:item:select";var CART_ITEM_ID="ark:cart:item:id";var CART_QUANTITY="ark:quantity";var CART_QUANTITY_OLD_V="ark:quantity:oldV:";var CART_QUANTITY_MAX_V="ark:quantity:maxV:";var ARK_PRODUCT_PRICE="ark:product:priice:";var CART_FORM="cart_form";var ARK_DELETE_ITEM="ark:deleteItem";var ARK_ALL_DELETE_ITEM="ark:allDeleteItem";var ARK_REDUCE="ark:reduce";var ARK_INCREASE="ark:increase";var ARK_CURRENT_QUANTITY="ark:quantity:current";var CART_ITEMS_TABLE="cart:items:table";var ARK_CART_ID="ark:cart:id";var CART_INVALID_ITEMS_LABEL="cart:invalid:items:label";var CART_INVALID_ITEMS_TABLE="cart:invalid:items:table";var CART_EMPTY_BLOCK="cart:empty:block";var ARK_MARKET_AMOUNT="ark:market:amount";var ARK_SAVING="ark:saving";var ARK_AMOUNT="ark:amount";var ARK_POINT="ark:point";var ARK_CART_CHECKOUT="ark:cart:checkout";var ARK_ITEM_COUNTS="ark:itemCount";var CHECKOUT_IDS="checkout_ids";var ARK_ITEM_OBTAIN_POINT_PREFIX="ark:item:obtainpoint:";var ARK_ITEM_AMOUNT_PREFIX="ark:item:amount:";var ARK_ITEM_AMOUNT_CENT_PREFIX="ark:item:amount:cent:";var ARK_PRODUCT_PRICE_PREFIX="ark:product:price:";var ITEM_PREFIX="current_q_";var DIV_PREFIX="div_";var PREFIX=location.protocol+"../..//"+location.host+"../../assets.iiggoo.net_3A8080/default.htm";var MY_CART_URL=PREFIX+"cart/myCart.htm";var MY_CART_SAVING_ITEMS=PREFIX+"cart/savingCartItems.htm";var ITEM_DEL_URL=PREFIX+"cart/json/removeCartItem.htm";var MY_CART_SAVING_ITEMS_MIN_INTERVAL=500;var MSG_PLEASE_CHOOSE_CHECK_OUT_ITEM="\u8bf7\u9009\u62e9\u8981\u7ed3\u5e10\u7684\u5546\u54c1";var MSG_ITEM_QUANTITY_INVLID="\u6709\u51e0\u4e2a\u7ed3\u5e10\u5546\u54c1\u7684\u6570\u91cf\u586b\u5199\u6709\u8bef\u0028\u6570\u91cf\u5c0f\u4e8e\u96f6\u0029\u002c\u8bf7\u91cd\u65b0\u586b\u5199";var MSG_ITEM_NOT_ENOUGH="\u9009\u62e9\u7ed3\u5e10\u7684\u6709\u51e0\u4e2a\u5546\u54c1\u5e93\u5b58\u4e0d\u8db3\u002c\u8bf7\u91cd\u65b0\u4fee\u6539\u5546\u54c1\u6570\u91cf";var MSG_PLEASE_FILL_ITEM_QUANTITY="\u8bf7\u586b\u5199\u6b63\u786e\u7684\u5546\u54c1\u6570\u91cf";TB.ark.shopCartItem=(function(){return{init:function(){var deleteClick=$D.getElementsByClassName(ARK_DELETE_ITEM,"a");var allDeleteClick=$(ARK_ALL_DELETE_ITEM);var reduceValue=$D.getElementsByClassName(ARK_REDUCE,"a");var increaseValue=$D.getElementsByClassName(ARK_INCREASE,"a");var currentQuantityValue=$D.getElementsByClassName(ARK_CURRENT_QUANTITY);var cartItemCheck=$D.getElementsByClassName(CART_ITEM_CHECK);var arkCartCheckout=$D.getElementsByClassName(ARK_CART_CHECKOUT);var cartItemSelect=$(CART_ITEM_SELECT);var savingTs=null;var commonAjaxFailure=function(req){if(TB.env.debug){alert("\u7cfb\u7edf\u9519\u8bef: "+req.status)}};var showErrorMsg=function(error,cartId){var div=$(DIV_PREFIX+cartId);if(!div){return }else{div.innerHTML=error;$D.setStyle(div,"display","block");YAHOO.lang.later(3000,null,function(){$D.setStyle(div,"display","none")})}};var showEmptyCart=function(){var itemCounts=TB.bom.getCookie("cart_items")||0;var elem=$(CART_EMPTY_BLOCK);if(itemCounts<=0){$D.removeClass(elem,"hide");$D.addClass(elem,"show")}else{$D.removeClass(elem,"show");$D.addClass(elem,"hide")}};var checkQuantity=function(cartId,quantity,maxQuantity){var regex=/^[0-9]\d*$/;if(!regex.test(quantity.replace(/(^\s*)|(\s*$)/g,""))){showErrorMsg("\u8bf7\u586b\u5199\u6b63\u786e\u7684\u5546\u54c1\u6570\u91cf",cartId);return false}var q=parseInt(quantity);var maxQ=parseInt(maxQuantity);if(q<=0){showErrorMsg("\u5546\u54c1\u6570\u91cf\u5fc5\u987b\u662f\u5927\u4e8e0",cartId);return false}else{if(q>maxQ){showErrorMsg("\u6700\u591a\u53ea\u53ef\u4e70<em>"+maxQ+"</em>\u4ef6",cartId);return false}}return true};var listCartItems=function(){location.href=MY_CART_URL+"@t="+(new Date()).getTime()};var saveSingleQuantity=function(minInterval,cartId,quantity){if(savingTs==null){savingTs=(new Date()).getTime()}else{var ts=(new Date()).getTime();var interval=ts-savingTs;if(interval<minInterval){return }savingTs=ts}var url=MY_CART_SAVING_ITEMS+"@cart_id="+cartId+"&quantity="+quantity+"&t="+(new Date()).getTime();YAHOO.util.Connect.asyncRequest("GET",url,{success:function(req){var ret=eval("("+req.responseText+")");if(ret.error){showErrorMsg(ret.error,cartId);return }else{var obtainPoint=$(ARK_ITEM_OBTAIN_POINT_PREFIX+cartId);var amount=$(ARK_ITEM_AMOUNT_PREFIX+cartId);var amountCent=$(ARK_ITEM_AMOUNT_CENT_PREFIX+cartId);var arkProductPrice=$(ARK_PRODUCT_PRICE_PREFIX+cartId);if(!obtainPoint||!amount){return }else{obtainPoint.innerHTML=ret.obtainPoint;amount.innerHTML=ret.amount;amountCent.value=ret.amountCent;arkProductPrice.value=ret.marketAmountCent}}var oldQuantity=$(CART_QUANTITY_OLD_V+cartId);if(oldQuantity){oldQuantity.value=quantity}reComputePrice()},failure:function(req){commonAjaxFailure(req)}})};var reComputePrice=function(){var cartItems=$D.getElementsByClassName(CART_ITEM_CHECK,"input");var arkMarketAmount=$(ARK_MARKET_AMOUNT);var arkSaving=$(ARK_SAVING);var arkAmount=$(ARK_AMOUNT);var arkPoint=$(ARK_POINT);if(!cartItems||!arkMarketAmount||!arkSaving||!arkAmount||!arkPoint){return }var saving=0,amount=0,point=0,marketAmount=0;for(var i=0;i<cartItems.length;i++){var cartId=cartItems[i].value;if(!cartId){return }if(cartItems[i].checked){var arkItemAmount=$(ARK_ITEM_AMOUNT_CENT_PREFIX+cartId);var arkItemPoint=$(ARK_ITEM_OBTAIN_POINT_PREFIX+cartId);var arkProductPrice=$(ARK_PRODUCT_PRICE_PREFIX+cartId);if(!arkItemAmount||!arkItemPoint||!arkProductPrice){continue}else{var arkItemAmountV=parseInt(arkItemAmount.value.trim());var arkItemPointV=parseInt(arkItemPoint.innerHTML.trim());var arkProductPriceV=parseInt(arkProductPrice.value.trim());amount+=arkItemAmountV;point+=arkItemPointV;marketAmount+=arkProductPriceV}}}saving=marketAmount-amount;saving=Math.floor(saving)/100;amount=Math.floor(amount)/100;marketAmount=Math.floor(marketAmount)/100;arkMarketAmount.innerHTML=marketAmount;arkSaving.innerHTML=saving;arkAmount.innerHTML=amount;arkPoint.innerHTML=point};$E.on(arkCartCheckout,"click",function(ev){var cartItems=$D.getElementsByClassName(CART_ITEM_CHECK,"input");var cartForm=$(CART_FORM);var checkOutIds=$(CHECKOUT_IDS);if(!cartForm||!checkOutIds){$E.stopEvent(ev);return }if(!cartItems){alert("\u8bf7\u9009\u62e9\u5546\u54c1!");$E.stopEvent(ev);return }var cartIds="";var itemCount=0;for(var i=0;i<cartItems.length;i++){if(cartItems[i].checked){var cartId=cartItems[i].value;if(!cartId){$E.stopEvent(ev);return }if(itemCount>0&&(i<cartItems.length)){cartIds+=","}var maxQuantity=$(CART_QUANTITY_MAX_V+cartId);var curQ=$(ITEM_PREFIX+cartId);if(!maxQuantity||!curQ){$E.stopEvent(ev);return }if(!checkQuantity(cartId,curQ.value,maxQuantity.value)){continue}else{itemCount++;cartIds+=cartId}}}if(itemCount>0){checkOutIds.value=cartIds;cartForm.submit()}else{alert("\u8bf7\u9009\u62e9\u5546\u54c1!");$E.stopEvent(ev);return }});$E.on(reduceValue,"click",function(ev){var cartId=this.getAttribute(ARK_CART_ID);if(!cartId){return }var oldQuantity=$(CART_QUANTITY_OLD_V+cartId);var maxQuantity=$(CART_QUANTITY_MAX_V+cartId);var curQ=$(ITEM_PREFIX+cartId);if(!oldQuantity||!maxQuantity||!curQ){return }var oldV=parseInt(oldQuantity.value);var maxV=parseInt(maxQuantity.value);var curV=parseInt(curQ.value);var itemV=oldV-1;itemV=itemV+"";if(!checkQuantity(cartId,itemV,maxV)){return }else{saveSingleQuantity(MY_CART_SAVING_ITEMS_MIN_INTERVAL,cartId,itemV);curQ.value=itemV}});$E.on(reduceValue,"keydown",function(ev){if(ev.keyCode==13){$E.stopEvent(ev)}});$E.on(increaseValue,"click",function(ev){var cartId=this.getAttribute(ARK_CART_ID);if(!cartId){return }var oldQuantity=$(CART_QUANTITY_OLD_V+cartId);var maxQuantity=$(CART_QUANTITY_MAX_V+cartId);var curQ=$(ITEM_PREFIX+cartId);if(!oldQuantity||!maxQuantity||!curQ){return }var oldV=parseInt(oldQuantity.value);var maxV=parseInt(maxQuantity.value);var curV=parseInt(curQ.value);var itemV=oldV+1;itemV=itemV+"";if(!checkQuantity(cartId,itemV,maxV)){return }else{saveSingleQuantity(MY_CART_SAVING_ITEMS_MIN_INTERVAL,cartId,itemV);curQ.value=itemV}});$E.on(increaseValue,"keydown",function(ev){if(ev.keyCode==13){$E.stopEvent(ev)}});$E.on(currentQuantityValue,"blur",function(ev){var cartId=this.getAttribute(ARK_CURRENT_QUANTITY);if(!cartId){return }var oldQuantity=$(CART_QUANTITY_OLD_V+cartId);var maxQuantity=$(CART_QUANTITY_MAX_V+cartId);var curQ=$(ITEM_PREFIX+cartId);if(!oldQuantity||!maxQuantity||!curQ){return }var oldV=parseInt(oldQuantity.value);var maxV=parseInt(maxQuantity.value);var curV=parseInt(curQ.value);if(!checkQuantity(cartId,curQ.value,maxV)){curQ.value=oldV;return }else{if(curV==oldV){return }else{saveSingleQuantity(MY_CART_SAVING_ITEMS_MIN_INTERVAL,cartId,curV)}}});$E.on(currentQuantityValue,"keydown",function(ev){if(ev.keyCode==13){$E.stopEvent(ev)}});$E.on(cartItemCheck,"click",function(ev){reComputePrice();var cartItems=$D.getElementsByClassName(CART_ITEM_CHECK,"input");if(cartItems){var itemCount=0;cartItems.forEach(function(box){if(box.checked){itemCount++}});if(itemCount<cartItems.length){cartItemSelect.checked=false}else{cartItemSelect.checked=true}}});$E.on(cartItemSelect,"click",function(ev){var cartItems=$D.getElementsByClassName(CART_ITEM_CHECK,"input");if(cartItems){cartItems.forEach(function(box){box.checked=cartItemSelect.checked});reComputePrice()}});$E.on(deleteClick,"click",function(ev){if(!confirm("\u786e\u5b9a\u8981\u5220\u9664\u8be5\u5546\u54c1\u5417\uff1f")){return }deleteCartItem(this);$E.stopEvent(ev)});$E.on(allDeleteClick,"click",function(ev){var cartItems=$D.getElementsByClassName(CART_ITEM_CHECK,"input");if(cartItems){var itemCount=0;cartItems.forEach(function(box){if(box.checked){itemCount++}});if(itemCount==0){alert("\u8bf7\u9009\u62e9\u9700\u8981\u5220\u9664\u7684\u5546\u54c1!");$E.stopEvent(ev)}else{if(!confirm("\u786e\u5b9a\u8981\u5220\u9664\u5546\u54c1\u5417\uff1f")){$E.stopEvent(ev)}else{cartItems.forEach(function(box){if(box.checked){deleteCartItem(box)}});cartItemSelect.checked=false}}}$E.stopEvent(ev)});var deleteCartItem=function(obj){var params=obj.getAttribute(ARK_DELETE_ITEM);if(!params){return }var itemBlock=obj.parentNode;while(!$D.hasClass(itemBlock,"item")){itemBlock=itemBlock.parentNode}var itemTrs=itemBlock.parentNode.getElementsByTagName("tr");var url=ITEM_DEL_URL+"?"+params;var Y=YAHOO.util;if(TB.bom.isIE){url=url+"&t="+(new Date()).getTime()}YAHOO.util.Connect.asyncRequest("GET",url,{success:function(req){var ret=eval("("+req.responseText+")");if(ret.Error){alert("ret.Error.Message:"+ret.Error.Message);return }else{var anim=new Y.Anim(itemBlock,{opacity:{to:0}},0.5,Y.Easing.easeOut);if(itemTrs.length<3){var animHx=new Y.Anim(itemTrs[0],{opacity:{to:0}},0.5,Y.Easing.easeOut);animHx.onComplete.subscribe(function(){itemBlock.parentNode.removeChild(itemTrs[0])});animHx.animate()}anim.onComplete.subscribe(function(){var item=itemBlock.parentNode.removeChild(itemBlock)});anim.animate();var table=itemBlock.parentNode.parentNode;var valid_item_count=document.getElementById("valid_item_count");var invalid_item_count=document.getElementById("invalid_item_count");if(table.getAttribute("id")==CART_ITEMS_TABLE){valid_item_count.value=valid_item_count.value-1}else{invalid_item_count.value=invalid_item_count.value-1}if(valid_item_count.value==0){$D.setStyle(document.getElementById(CART_ITEMS_TABLE),"display","none")}if(invalid_item_count.value==0){$D.setStyle(document.getElementById(CART_INVALID_ITEMS_LABEL),"display","none");$D.setStyle(document.getElementById(CART_INVALID_ITEMS_TABLE),"display","none")}var arkItemCounts=$(ARK_ITEM_COUNTS);if(arkItemCounts){var itemCounts=TB.bom.getCookie("cart_items")||0;arkItemCounts.innerHTML=itemCounts}showEmptyCart();YAHOO.lang.later(1000,null,function(){reComputePrice()})}},failure:function(req){commonAjaxFailure(req)}})};reComputePrice()}}})();$E.onContentReady(CART_FORM,function(){TB.ark.shopCartItem.init()});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -