usingNamespace("Biz")["ShoppingCart"]={_msg:"______________________________________________________\n\n"+"Your request cannot be completed because of the following error(s).\n"+"Please correct these error(s) and re-submit:\n"+"______________________________________________________\n\n",Control:{curretRemove:null,curretSelect:null,curretUpdate:null},Scoper:{addToCart:0,zipcode:1,removeToCart:2,updateQuantity:3,cartChangeShipping:4},Config:{tempsubtotal:0,quantity:1,defaultQuantity:1,totalprice:0,zipcodeid:'txtZipCode',removeName:'removeSelect',removeRootName:'selectRemove',SpecialInfo:null,hidStockNumber:'hidStockNumber',promoCode:'promoCode'},UrlParams:{zipcode:'ZipCode',scoper:'scoper',itemcode:'itemcode',quantity:'quantity',selectshipping:'selectshipping',merchantcode:'companyid'},removeToCart:function(acontrol,code){var cart=Biz.ShoppingCart;var qsb=new Web.QueryStringBuilder();cart.Control.curretRemove=acontrol;qsb.add(cart.UrlParams.itemcode,code);qsb.add(cart.UrlParams.scoper,cart.Scoper.removeToCart);var ajax=Web.Network.createRequest(Web.Enum.Network.Request.Type.XML,Web.Config.Environment.Url.AjaxProxy+'?'+qsb.toHttpNameValueString(),{},Biz.ShoppingCart.removeToCartfetch,Web.Enum.Network.Request.Method.Get);ajax.execute();},updateQuantity:function(acontrol,code){var cart=Biz.ShoppingCart;var qsb=new Web.QueryStringBuilder();td=acontrol.parentNode;cart.Control.curretUpdate=td;var quantity=0;var unitPrice=0;var subtotal=0;for(i=0;i<td.childNodes.length;i++){if(td.childNodes[i].tagName=="INPUT"&&td.childNodes[i].id=="inputQuantity"){quantity=Number.parse(td.childNodes[i].value);break;}};for(i=0;i<td.childNodes.length;i++){if(td.childNodes[i].tagName=="INPUT"&&td.childNodes[i].id=="unitPrice"){unitPrice=Number.parse(td.childNodes[i].value);break;}};cart.Config.tempsubtotal=unitPrice*quantity;if(quantity==0){cart.removeToCart(acontrol,code);return;};qsb.add(cart.UrlParams.itemcode,code);qsb.add(cart.UrlParams.quantity,quantity);qsb.add(cart.UrlParams.scoper,cart.Scoper.updateQuantity);var ajax=Web.Network.createRequest(Web.Enum.Network.Request.Type.XML,Web.Config.Environment.Url.AjaxProxy+'?'+qsb.toHttpNameValueString(),{},Biz.ShoppingCart.updateQuantityfetch,Web.Enum.Network.Request.Method.Get);ajax.execute();},cartChangeShipping:function(control,sid){var cart=Biz.ShoppingCart;var qsb=new Web.QueryStringBuilder();qsb.add(cart.UrlParams.merchantcode,sid);qsb.add(cart.UrlParams.selectshipping,control.options[control.selectedIndex].value);qsb.add(cart.UrlParams.scoper,cart.Scoper.cartChangeShipping);cart.Control.curretSelect=control;var ajax=Web.Network.createRequest(Web.Enum.Network.Request.Type.XML,Web.Config.Environment.Url.AjaxProxy+'?'+qsb.toHttpNameValueString(),{},Biz.ShoppingCart.cartChangeShippingfetch,Web.Enum.Network.Request.Method.Get);ajax.execute();},checkPromoCode:function(){var errorMsg='';if($(Biz.ShoppingCart.Config.promoCode).value.trim()==''){errorMsg="-  The Promo Code field is empty! Please enter valid promotion code.\n ";};if(errorMsg!=''){alert(this._msg+errorMsg);return;};Biz.ShoppingCart.PostBack('ApplyPromoCode','');},AddZipCode:function(){var cfg=Biz.ShoppingCart.Config;var urlparams=Biz.ShoppingCart.UrlParams;var sop=Biz.ShoppingCart.Scoper;var qsb=new Web.QueryStringBuilder();var zipcode=$(cfg.zipcodeid).value;var errorMsg=new Sys.Text.StringBuilder();if(!Number.isNumeric(zipcode-0)){errorMsg.append("- The zipcode you specified does not match the number entered.\n ");};if(zipcode.length<5){Biz.ShoppingCart.PostBack('ChangeZipCode','');return;};if(errorMsg.toString()){alert(this._msg+errorMsg.toString());return;};qsb.add(urlparams.zipcode,zipcode);qsb.add(urlparams.scoper,sop.zipcode);qsb.add('random',Math.random());var addzip=Web.Network.createRequest(Web.Enum.Network.Request.Type.XML,Web.Config.Environment.Url.Shopper+'AjaxPage/AjaxProxy.aspx'+'?'+qsb.toHttpNameValueString(),{},Biz.ShoppingCart.addZipCodeFetch,Web.Enum.Network.Request.Method.Get);debug.output("title","text");addzip.execute();},addZipCodeFetch:function(el,context){var root=Object.fromJSON(el.responseText).newegg;if(root.type=='Success'){Biz.ShoppingCart.PostBack('ChangeZipCode','')}else{alert(Biz.ShoppingCart._msg+"- Please input a valid ZIP Code.\n");}},cartChangeShippingfetch:function(el,context){var cart=Biz.ShoppingCart;var root=Object.fromJSON(el.responseText).newegg;var shippingFee=root.shippingFee;var taxFee=root.taxFee;if(cart.Control.curretSelect!=null&&taxFee!=0&&shippingFee!=0){table=cart.Control.curretSelect.parentNode.parentNode.parentNode;table.rows[1].cells[3].innerHTML=cart.getString(taxFee);table.rows[2].cells[3].innerHTML=cart.getString(shippingFee);Biz.ShoppingCart.refreshPrice();}},removeToCartfetch:function(el,context){var cart=Biz.ShoppingCart;var root=Object.fromJSON(el.responseText).newegg;if(root.type=='Success'&&cart.Control.curretRemove!=null){Biz.ShoppingCart.removeControl();Biz.ShoppingCart.refreshPrice();}},refreshPrice:function(){var cart=Biz.ShoppingCart;var totalprice=0;cart.Config.totalprice=0;var storeforms=window.document.getElementsByName("storeform");for(x=0;x<storeforms.length;++x){debug.output("Totalprice",[x+"="+cart.Config.totalprice]);if(storeforms[x].tagName=="TABLE"){debug.output("storeforms["+x+"].tagName",[storeforms[x].tagName]);cart.refreshStorePrice(storeforms[x]);}};cart.Config.totalprice=cart.getPrice(cart.Config.totalprice.toString());$("totalpricetext").innerHTML=cart.getString(cart.Config.totalprice);},refreshStorePrice:function(storeform){var cart=Biz.ShoppingCart;var cfg=cart.Config;var subTotalPrice=0;var Tax=0;var Shipping=0;var storePrice=0;for(j=0;j<storeform.rows.length;j++){if(j!=0&&j!=storeform.rows.length-1){subTotalPrice+=cart.getPrice(storeform.rows[j].cells[3].innerHTML);};if(j==storeform.rows.length-1){var table=cart.getTotalTable(storeform.rows[j].cells[0]);Tax=cart.getPrice(table.rows[1].cells[3].innerHTML);Shipping=cart.getPrice(table.rows[2].cells[3].innerHTML);storePrice=subTotalPrice+Tax+Shipping;table.rows[3].cells[3].innerHTML=cart.getString(storePrice);table.rows[0].cells[3].innerHTML=cart.getString(subTotalPrice);cfg.totalprice=storePrice+cfg.totalprice;return;}}},updateQuantityfetch:function(el,context){var cart=Biz.ShoppingCart;var root=Object.fromJSON(el.responseText).newegg;if(root.type=='Success'&&cart.Control.curretUpdate!=null){var subtotal=cart.Config.tempsubtotal;cart.Control.curretUpdate.parentNode.cells[3].innerHTML=cart.getString(subtotal);Biz.ShoppingCart.refreshPrice();}else if(root.type=='CartOutMaxQuantity'){cart.Control.curretUpdate.firstChild.value=root.data;var quantity=0;var unitPrice=0;var subtotal=0;var td=cart.Control.curretUpdate;for(i=0;i<td.childNodes.length;i++){if(td.childNodes[i].tagName=="INPUT"&&td.childNodes[i].id=="inputQuantity"){quantity=Number.parse(td.childNodes[i].value);break;}};for(i=0;i<td.childNodes.length;i++){if(td.childNodes[i].tagName=="INPUT"&&td.childNodes[i].id=="unitPrice"){unitPrice=Number.parse(td.childNodes[i].value);break;}};cart.Config.tempsubtotal=unitPrice*quantity;cart.Control.curretUpdate.parentNode.cells[3].innerHTML=cart.getString(cart.Config.tempsubtotal);Biz.ShoppingCart.refreshPrice();}},getPrice:function(o){var dbltemp=parseFloat(o.replace('$','').replace(',',''),10);if(isNaN(dbltemp)){dbltemp=0;};dbltemp=dbltemp*100;dbltemp=Math.floor(dbltemp);dbltemp=dbltemp;dbltemp=dbltemp/100;return Number.parse(dbltemp);},getString:function(v){var num=2;var a,b,c,i;a=v.toString();b=a.indexOf('.');c=a.length;if(num==0){if(b!=-1)a=a.substring(0,b);}else{if(b==-1){a=a+".";for(i=1;i<=num;i++)a=a+"0";}else{a=a.substring(0,b+num+1);for(i=c;i<=b+num;i++)a=a+"0";}};return'$'+a;},getTotalTable:function(tableParent){for(i=0;i<tableParent.childNodes.length;i=i+1){if(tableParent.childNodes[i].tagName=="TABLE"){return tableParent.childNodes[i];}}},removeControl:function(){var cart=Biz.ShoppingCart;var table=cart.Control.curretRemove.parentNode.parentNode;if(table.parentNode.parentNode.rows.length<=3){Web.UI.Control.removeChild(table.parentNode.parentNode.parentNode.parentNode,table.parentNode.parentNode.parentNode);}else{Web.UI.Control.removeChild(table.parentNode,table);}},checkQuantity:function(obj,itemcode){var cart=Biz.ShoppingCart;var cfg=cart.Config;var hidStockNumber=$(cfg.hidStockNumber);var stockArray=Object.fromJSON(hidStockNumber.value).newegg;if(obj.value.trim()==""){obj.value=1;};var value=obj.value-0;if(value.toString()!="NaN"){value=Math.floor(value);var max=cfg.defaultQuantity;for(i=0;i<stockArray.length;i++){if(stockArray[i].text==itemcode){max=stockArray[i].value-0;break;}};if(value>max){obj.value=max;if(max>=1){var errorMsg='- Your item quantity must be a maximum of '+max+'.';alert(cart._msg+errorMsg.toString());}}else if(value<0){obj.value=1;}else{obj.value=value;}}else{obj.value=cfg.defaultQuantity;}},checkZipcode:function(){var zipcode=$('txtZipCode');if(!Number.isNumeric(zipcode.value)){alert(Biz.ShoppingCart._msg+"- Please input a valid ZIP Code.\n");return false;};return true;},PostBack:function(a,b,c){if(!Biz.ShoppingCart.checkZipcode()){return;};var command=document.getElementsByName('Command');var args=document.getElementsByName('Args');for(i=0;i<command.length;i++){command[i].value=a;};for(i=0;i<args.length;i++){args[i].value=b+','+c;};Web.UI.Form.submit('ShoppingCartForm');},selectAll:function(control,imin,imax){var cart=Biz.ShoppingCart;var cfg=cart.Config;var selectRoot=control;var remove;for(i=imin;i<imax;i++){remove=$(cfg.removeName+i);debug.output("Get remove",remove);if(!Object.isNull(remove)){remove.checked=selectRoot.checked;debug.output("Get Number",remove.checked);}}},selectOne:function(imin,imax){var cart=Biz.ShoppingCart;var cfg=cart.Config;var selectRoot=$("selectRemove"+imin);var remove;var sign=true;for(i=imin;i<imax;i++){remove=$(cfg.removeName+i);if(!Object.isNull(remove)){if(!remove.checked){sign=false;break;}}};if(sign){selectRoot.checked=true;}else{selectRoot.checked=false;}},showSpecial:function(txt,url){var shoppingCart=Biz.ShoppingCart;shoppingCart.Config.SpecialInfo=txt;if(shoppingCart.Config.SpecialInfo!=null){Web.UI.Control.openWindow(url,"_blank",600,600,100,100,"resizable=no,status=yes");}},setNewsletterValue:function(chk){if(chk.checked==true){$('hidNewsletter').value="";}else{$('hidNewsletter').value="0";}}};
