TB.namespace("ark.SellProperty");(function(){TB.ark.SellProperty=function(B,A,C){this.init(B,A,C)};TB.ark.SellProperty.prototype={init:function(B,A,C){this.sellProps=B;this.allItems=A;this.callback=C;this.idPrefix="ark:";this.selectPVID={};this.selectCPID=[];$E.onDOMReady(function(){var D=0;for(var E in this.defaultSelect){D++}if(D>0){for(cpid in this.defaultSelect){this.selectHandle(cpid,this.defaultSelect[cpid],false)}}else{this.onlyOneSelect()}this.updateDOM();this.doCallback({})},this,true)},setDefaultItemId:function(A){this.defaultItemId=A||0},setDefaultSelect:function(A){this.defaultSelect=A||{}},setSellPropsCount:function(A){this.sellPropsCount=A||0},observe:function(D){var A=D?D.getAttribute("cpid"):0;var B=D?D.getAttribute("pvid"):"";var C=this.selectHandle(A,B,true);if(C){this.doCallback(C)}return false},onlyOneSelect:function(){for(var C in this.sellProps){var A=C;var B=this.sellProps[C].pvs;var E=0;var D;for(var F in B){if(!B[F].instock){continue}E++;D=F}if(E==1){this.selectHandle(A,D,false)}}},selectHandle:function(A,D,C){var G=null;var H=this.sellProps[A]||{};var B=H.pvs||{};if(B[D]&&!B[D].instock){return null}for(var E in B){if(E==D){G=E}else{if(B[E].selected){B[E].selected=!B[E].selected;this.pvSelect(B[E])}}}if(!G){return null}B[G].selected=!B[G].selected;this.pvSelect(B[G]);if(C){this.updateDOM()}var F={withpic:H.withpic};YAHOO.lang.augmentObject(F,B[G]);return F},doCallback:function(A){var B={sellPropsCount:this.sellPropsCount,currentPV:this.getCurrentPV()};YAHOO.lang.augmentObject(B,A);if(this.callback){this.callback(B)}},pvSelect:function(F){var B=F.cpid;var D=F.pvid;var C=F.selected;var E=$(this.idPrefix+(D||""));var A=$(this.idPrefix+(D||"")+":i");if(C){$D.addClass(E,"selected");$D.setStyle(A,"display","block");this.selectPVID[B]=D;if(this.selectCPID.indexOf(B)==-1){this.selectCPID.push(B)}}else{$D.removeClass(E,"selected");$D.setStyle(A,"display","none");delete this.selectPVID[B];this.selectCPID.remove(B)}},updateDOM:function(){for(var A in this.sellProps){this.unstockInGray((this.sellProps[A]||{}),A)}this.updatePriceStock()},unstockInGray:function(C,J){var B={};YAHOO.lang.augmentObject(B,this.selectPVID);var D=C.pvs||{};for(var I in D){if(I){B[J]=I;var G=false;for(var H=0;!G&&H<this.allItems.length;H++){var L=this.allItems[H].itemid;var A=this.allItems[H].itemDetils;for(var F=0;!G&&F<A.length;F++){var N=A[F]||{};if(parseInt(N.stock)<=0){continue}var K=true;for(var E in B){if(!G&&(N.prop||"").indexOf(B[E])==-1){K=false;break}}G=K}}var M=D[I];M.instock=G;this.inGray(M,G)}}},inGray:function(C,A){var D=$(this.idPrefix+(C.pvid||""));var B=$D.getFirstChild(D);if(D&&B){if(A){$D.removeClass(D,"outofstock");$D.setStyle(B,"cursor","")}else{$D.addClass(D,"outofstock");$D.setStyle(B,"cursor","default")}}},updatePriceStock:function(){var J=this.getCurrentPV();for(var S=0;S<this.allItems.length;S++){var Q="0.00";var T="0.00";var D="";var P=0;var C=0;var F=0;var L=this.allItems[S].itemid;var B=this.allItems[S].itemDetils;for(var R=0;R<B.length;R++){var A=B[R];if(A.prop==J){Q=A.price;T=A.save;D=A.discount;P=A.point;C=A.stock;F=A.detailId;break}}if(L==this.defaultItemId){var H=$(this.idPrefix+"buy:itemDetailId");if(H){if(F!=0&&C>0){H.setAttribute("value",F)}else{H.setAttribute("value","")}}if(this.selectCPID.length!=this.sellPropsCount){C=this.allItems[S].quantity}var G=$(this.idPrefix+"stock:"+L);if(G){G.innerHTML=C}var M=$(this.idPrefix+"buy:maxCount");if(M){M.setAttribute("value",C)}var O=$(this.idPrefix+"point:"+L);var I=$(this.idPrefix+"point:default");if(O){if(P>0){O.innerHTML=P;$D.setStyle(O,"display","");$D.setStyle(I,"display","none")}else{$D.setStyle(O,"display","none");$D.setStyle(I,"display","")}}var U=$(this.idPrefix+"price1:"+L);var K=$(this.idPrefix+"price2:"+L);if(U&&K){if(Q=="0.00"){$D.setStyle(U,"display","none");$D.setStyle(K,"display","")}else{U.innerHTML="<em>"+Q+"</em>";$D.setStyle(U,"display","");$D.setStyle(K,"display","none")}}var N=$(this.idPrefix+"priceSave:"+L);if(N){if(T=="0.00"){if(N.getAttribute("dft")==""){$D.setStyle(N.parentNode,"display","none")}else{N.innerHTML=N.getAttribute("dft");$D.setStyle(N.parentNode,"display","")}}else{T=T+"\u5143";if(D!=""){T=T+" ("+D+"\u6298)"}N.innerHTML=T;$D.setStyle(N.parentNode,"display","")}}}else{var V=$(this.idPrefix+"otherItem:"+L);var E=$(this.idPrefix+"otherItem:href:"+L);if(V&&E){if(this.selectCPID.length==this.sellPropsCount&&C==0){$D.setStyle(V,"display","none")}else{$D.setStyle(V,"display","")}if(E.href.indexOf("?")!=-1){E.href=E.href.substring(0,E.href.indexOf("?"))}if(F!=0){E.href=E.href+"?itemDetailId="+F}}}}},getCurrentPV:function(){this.selectCPID.sort(function(D,C){return C-D});var A=[];for(var B=0;B<this.selectCPID.length;B++){A.push(this.selectPVID[this.selectCPID[B]])}if(A.length==0){return""}else{return";"+A.join(";")+";"}},getUnselectedPVNames:function(){var B=[];for(var A in this.sellProps){if(this.selectCPID.indexOf(A)==-1){B.push(this.sellProps[A].name)}}return B},getSelectedValueNames:function(){var B=[];for(var A in this.sellProps){if(this.selectCPID.indexOf(A)!=-1){var C=this.selectPVID[A];B.push(this.sellProps[A].pvs[C].name)}}return B},getAllPVNames:function(){var B=[];for(var A in this.sellProps){B.push(this.sellProps[A].name)}return B},isAllPVSelected:function(){return this.selectCPID.length==this.sellPropsCount},isNoPVSelected:function(){return this.selectCPID.length==0}}})();
