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=[];YAHOO.util.Event.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){YAHOO.util.Dom.addClass(e,"selected");YAHOO.util.Dom.setStyle(a,"display","block");this.selectPVID[b]=d;if(this.selectCPID.indexOf(b)==-1){this.selectCPID.push(b)}}else{YAHOO.util.Dom.removeClass(e,"selected");YAHOO.util.Dom.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,l){var b={};YAHOO.lang.augmentObject(b,this.selectPVID);var d=c.pvs||{};for(var k in d){if(k){b[l]=k;var g=false;for(var h=0;!g&&h<this.allItems.length;h++){var n=this.allItems[h].itemid;var a=this.allItems[h].itemDetils;for(var f=0;!g&&f<a.length;f++){var p=a[f]||{};if(parseInt(p.stock)<=0){continue}var m=true;for(var e in b){if(!g&&(p.prop||"").indexOf(b[e])==-1){m=false;break}}g=m}}var o=d[k];o.instock=g;this.inGray(o,g)}}},inGray:function(c,a){var d=$(this.idPrefix+(c.pvid||""));var b=YAHOO.util.Dom.getFirstChild(d);if(d&&b){if(a){YAHOO.util.Dom.removeClass(d,"outofstock");YAHOO.util.Dom.setStyle(b,"cursor","")}else{YAHOO.util.Dom.addClass(d,"outofstock");YAHOO.util.Dom.setStyle(b,"cursor","default")}}},updatePriceStock:function(){var l=this.getCurrentPV();for(var w=0;w<this.allItems.length;w++){var u="0.00";var x="0.00";var e="";var t=0;var c=0;var f=0;var p=this.allItems[w].itemid;var d=this.allItems[w].marketPrice;var y=this.allItems[w].pointRate;var b=this.allItems[w].itemDetils;for(var v=0;v<b.length;v++){var a=b[v];if(a.prop==l){u=a.price;var A=this.calculateSavedPrice(d,a.price);if(A&&A!=null){x=A}var r=this.calculateDiscount(d,a.price);if(r&&r!=null){e=r}var m=this.calculatePoint(y,a.price);if(m&&m!=null){t=m}c=a.stock;f=a.detailId;break}}if(p==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[w].quantity}var g=$(this.idPrefix+"stock:"+p);if(g){g.innerHTML=c}var o=$(this.idPrefix+"buy:maxCount");if(o){o.setAttribute("value",c)}var s=$(this.idPrefix+"point:"+p);var k=$(this.idPrefix+"point:default");if(s){if(t>0){s.innerHTML=t;YAHOO.util.Dom.setStyle(s,"display","");YAHOO.util.Dom.setStyle(k,"display","none")}else{YAHOO.util.Dom.setStyle(s,"display","none");YAHOO.util.Dom.setStyle(k,"display","")}}var z=$(this.idPrefix+"price1:"+p);var n=$(this.idPrefix+"price2:"+p);if(z&&n){if(u=="0.00"){YAHOO.util.Dom.setStyle(z,"display","none");YAHOO.util.Dom.setStyle(n,"display","")}else{z.innerHTML="<em>"+u+"</em>";YAHOO.util.Dom.setStyle(z,"display","");YAHOO.util.Dom.setStyle(n,"display","none")}}var q=$(this.idPrefix+"priceSave:"+p);if(q){if(x=="0.00"){if(q.getAttribute("dft")==""){YAHOO.util.Dom.setStyle(q.parentNode,"display","none")}else{q.innerHTML=q.getAttribute("dft");YAHOO.util.Dom.setStyle(q.parentNode,"display","")}}else{x=x+"\u5143";if(e!=""){x=x+" ("+e+"\u6298)"}q.innerHTML=x;YAHOO.util.Dom.setStyle(q.parentNode,"display","")}}}else{}}},getCurrentPV:function(){this.selectCPID.sort(function(d,c){return d-c});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},calculateSavedPrice:function(b,a){if(b&&a){if(!isNaN(a)&&!isNaN(b)){if(parseFloat(a)<parseFloat(b)){var c=parseFloat(b)-parseFloat(a);return c.toFixed(2)}}else{return null}}else{return null}},calculateDiscount:function(b,a){if(b&&a){if(!isNaN(a)&&!isNaN(b)){var c=parseFloat(a)*10/parseFloat(b);if(c*10>=1&&c<10){return c.toFixed(1)}}else{return null}}else{return null}},calculatePoint:function(c,b){if(c&&b){if(!isNaN(c)&&!isNaN(b)){var a=parseFloat(c)*parseFloat(b)/10;return a.toFixed(0)}else{return null}}else{return null}}}})();
