VC().register("ranking-gadget",function(a){a.gadget.RankingMetrics=a.inherit(a.gadget.BaseMetrics,{DEFAULT_GADGET_WIDTH:160,DEFAULT_GADGET_HEIGHT:500,MIN_GADGET_WIDTH:50,MIN_GADGET_HEIGHT:30,MAX_GADGET_WIDTH:1000,MAX_GADGET_HEIGHT:2000,ITEM_SPACING:2,NUMBER_WIDTH:43,NUMBER_HEIGHT:36,SMALL_NUMBER_RATIO:0.4,MIN_IMAGE_SIZE:30,MIN_DETAIL_WIDTH_MULTIPLIER:6,getMinItemWidth:function(d,b){var c=this.getMinDetailWidth(d,b);
if(b.nb_on){c+=Math.ceil(this.NUMBER_WIDTH*this.SMALL_NUMBER_RATIO)+(c?this.ITEM_INTERNAL_SPACING:0);}if(b.im_on){c+=this.MIN_IMAGE_SIZE+(c?this.ITEM_INTERNAL_SPACING:0);}return c;},getMinItemHeight:function(d,b){var c;if(b.im_on){c=Math.max(this.MIN_IMAGE_SIZE,this.getMinDetailHeight(d,b));}else{c=this.getMinDetailHeight(d,b);
}if(b.nb_on){c=Math.max(c,this.NUMBER_HEIGHT);}return c;},getOptimalImageSize:function(e,c){if(!c.im_on){return 0;}var d=this.getOptimalItemWidth(e,c);if(c.nb_on){d-=(Math.ceil(this.NUMBER_WIDTH*this.SMALL_NUMBER_RATIO)+this.ITEM_INTERNAL_SPACING);}var b=this.getOptimalItemHeight(e,c)-this.ITEM_INTERNAL_SPACING*2;
b=Math.max(b,this.MIN_IMAGE_SIZE);b=Math.min(b,this.MAX_IMAGE_SIZE);b=Math.min(b,d-this.getMinDetailWidth(e,c)-this.ITEM_INTERNAL_SPACING*3);return this.getMinDetailWidth(e,c)==0?b:Math.min(b,Math.floor((d-this.ITEM_INTERNAL_SPACING*3)*this.MAX_IMAGE_TO_DETAIL_RATIO));},getOptimalNumberSize:function(d,c){if(!c.nb_on){return false;
}if(!c.im_on){return 1;}var b=this.getOptimalItemWidth(d,c)-this.getOptimalImageSize(d,c)-this.NUMBER_WIDTH-this.ITEM_INTERNAL_SPACING*4;return b<this.getMinDetailWidth(d,c)?this.SMALL_NUMBER_RATIO:1;}});a.gadget.Ranking=function(b){b.search_by=b.search_by||this.DEFAULT_RANKING_MODE;b.rank_from=b.rank_from*1||this.DEFAULT_RANKING_START;
b.ranking_date=b.ranking_date||this.DEFAULT_RANKING_DATE;if(typeof b.nb_on=="undefined"){b.nb_on=true;}b.pg_on=false;this._init(b);};a.gadget.Ranking.prototype=a.inherit(a.gadget.Base.prototype,function(){var b=YAHOO.util.Dom;return{_metrics:a.gadget.RankingMetrics,DEFAULT_RANKING_DATE:"weekly",DEFAULT_RANKING_MODE:"total",DEFAULT_RANKING_START:1,MAX_TOTAL_ITEMS:50,_validSearch:function(){var d=this._config;
return(d.search_by=="category")||(d.search_by=="total");},_getSearchParams:function(){var e=this._config,d="";d+="rank="+e.ranking_date;if(e.search_by=="category"){d+="&category="+encodeURIComponent(e.category);}d+=e.vcptn?("&vcptn="+e.vcptn):"";d+=e.merchant?("&ec_code="+e.merchant):"";d+=e.adult?"&adult=y":"&adult=n";
d+="&rank_from="+e.rank_from;d+=!e.preview?("&vg="+e.oid):"&vg=0";return d;},_renderProductList:function(o,c){productsTable=document.createElement("table");productsTable.id="vc_gadget_"+this._config.oid+"_products_table";productsTable.setAttribute("class","vc_gadget_products_table");productsTable.setAttribute("border","0");
productsTable.setAttribute("cellspacing",this._metrics.ITEM_SPACING);productsTable.setAttribute("cellpadding","0");b.setStyle(productsTable,"width","100%");b.setStyle(productsTable,"height","100%");b.setStyle(productsTable,"border-collapse","collapse");c.appendChild(productsTable);var d=this._metrics.getOptimalItemHeight(c,this._config);
var n=this._metrics.getOptimalItemWidth(c,this._config);var l=0;for(var f=0;f<this._config.rows;f++){if(o instanceof Array&&l==o.length){break;}var p=productsTable.insertRow(-1);for(var g=0;g<this._config.cols;g++){var m=this._config.rank_from+f*this._config.cols+g;if(o instanceof Array){if(l==o.length){break;
}var q={};while(q.rank!=m&&l<o.length){q=o[l++];}}else{var q=o;}if(q.rank!=m){break;}this._itemSeqNum=f*this._config.cols+g;var h=p.insertCell(-1);h.id="vc_gadget_"+this._config.oid+"_item_"+this._itemSeqNum+"_cell";h.setAttribute("class","vc_gadget_item_cell");var e=document.createElement("div");e.id="vc_gadget_"+this._config.oid+"_item_"+this._itemSeqNum;
e.setAttribute("class","vc_gadget_item");b.setStyle(e,"width",n+"px");b.setStyle(e,"height",d+"px");b.setStyle(e,"overflow","hidden");h.appendChild(e);this._renderPVImg(q,e);this._renderItem(q,e);if(!(o instanceof Array)){break;}}if(!(o instanceof Array)){break;}}},_renderItemNumber:function(g,c){var e=this._config.rank_from+this._itemSeqNum;
var d=document.createElement("img");var h;if(this._theme.is_basic){h=this._metrics.isDarkColor(this._theme.body_bg_color)?"white":"black";}else{h=this._theme.contrast;}d.src=this._themeURL+"/_numbers/"+e+"_"+h+".png";d.id="vc_gadget_"+this._config.oid+"_item_"+this._itemSeqNum+"_number";d.setAttribute("class","vc_gadget_item_number");
d.setAttribute("width",b.getStyle(c,"width").replace("px",""));d.setAttribute("height",Math.ceil(this._metrics.NUMBER_HEIGHT*g));b.setStyle(d,"border","0");var f=b.get("vc_gadget_"+this._config.oid+"_body_L1");c.setAttribute("height",this._metrics.getOptimalItemHeight(f,this._config));c.appendChild(d);
this._iePNG(d);b.setStyle(c,"vertical-align","top");},_renderItem:function(f,c){var h=document.createElement("table");h.setAttribute("border","0");h.setAttribute("cellspacing",this._metrics.ITEM_INTERNAL_SPACING);h.setAttribute("cellpadding","0");b.setStyle(h,"width","100%");b.setStyle(h,"height","100%");
c.appendChild(h);var g=h.insertRow(-1);if(this._config.nb_on){var e=this._metrics.getOptimalNumberSize(c,this._config);var d=g.insertCell(-1);d.setAttribute("valign","top");b.setStyle(d,"padding-top","0px");b.setStyle(d,"width",Math.ceil(this._metrics.NUMBER_WIDTH*e)+"px");this._renderItemNumber(e,d);
}if(this._config.im_on){var j=g.insertCell(-1);j.setAttribute("valign","top");this._renderItemImage(f,j);}var i=g.insertCell(-1);i.setAttribute("valign","top");if(this._config.nm_on){this._renderItemName(f,i,c);}if(this._config.cd_on){this._renderItemCode(f,i,c);}if(this._config.mr_on){this._renderMerchCode(f,i,c);
}if(this._config.pr_on){this._renderItemPrice(f,i,c);}if(this._config.ds_on){this._renderItemDesc(f,i,c);}}};}());},"1.1.0",{before:["objects","gadget-base"]});