VC().register("search-gadget",function(a){a.gadget.SearchMetrics=a.inherit(a.gadget.BaseMetrics,{DEFAULT_GADGET_WIDTH:160,DEFAULT_GADGET_HEIGHT:500,MIN_GADGET_WIDTH:125,MIN_GADGET_HEIGHT:50,MAX_GADGET_WIDTH:1000,MAX_GADGET_HEIGHT:2000,SEARCHBAR_FONT:"Arial,Helvetica,sans-serif",SEARCHBAR_FONT_SIZE:11,SEARCHBAR_LINE_HEIGHT:26,MIN_SEARCHBAR_WIDTH:125,MAX_SEARCHBAR_WIDTH:200,SEARCHBAR_PADDING:2,SEARCH_BTN_WIDTH:50,getMinGadgetWidth:function(e,c){var b=c.br_on?c.border_size:0;
var d=this.MIN_GADGET_WIDTH;d=Math.max(d,this.getVCLogoWidth(e,c)+b*2);d=Math.max(d,this.MIN_SEARCHBAR_WIDTH+this.SEARCHBAR_PADDING*2+b*2);d=Math.max(d,this.getMinItemWidth(e,c)+this.ITEM_SPACING*2+b*2);return d;},getMinGadgetHeight:function(d,c){var b=c.br_on?c.border_size:0;return Math.max(this.MIN_GADGET_HEIGHT,this.getMinItemHeight(d,c)+this.ITEM_SPACING*2+b*2+this.getTitleHeight(d,c)+this.getSearchBarHeight(d,c)+this.getPaginatorHeight(d,c)+this.getVCLogoHeight(d,c));
},getOptimalBodyHeight:function(e,c){var b=c.br_on?c.border_size:0;var d=YAHOO.util.Dom.getStyle(e,"height").replace("px","");return d-b*2-this.getTitleHeight(e,c)-this.getSearchBarHeight(e,c)-this.getPaginatorHeight(e,c)-this.getVCLogoHeight(e,c);},isWideSearchBar:function(e,c){var d=1;if(c.maincat_on){d++;
}if(c.subcat_on){d++;}var b=c.width>d*(this.MIN_SEARCHBAR_WIDTH+this.SEARCHBAR_PADDING)+c.border_size*2;return b&&(c.maincat_on||c.subcat_on);},getSearchBarLineWidth:function(d,c){if(this.isWideSearchBar(d,c)){return this.MIN_SEARCHBAR_WIDTH;}else{var b=Math.max(c.width-c.border_size*2-this.SEARCHBAR_PADDING*2,this.MIN_SEARCHBAR_WIDTH);
return Math.min(b,this.MAX_SEARCHBAR_WIDTH);}},getKeywordInputWidth:function(c,b){return this.getSearchBarLineWidth(c,b)-this.SEARCH_BTN_WIDTH-14;},getSearchBarHeight:function(d,b){var c=this.SEARCHBAR_LINE_HEIGHT;if(!this.isWideSearchBar(d,b)){if(b.maincat_on){c+=this.SEARCHBAR_LINE_HEIGHT;}if(b.subcat_on){c+=this.SEARCHBAR_LINE_HEIGHT;
}}return c;}});a.gadget.Search=function(b){this._init(b);};a.gadget.Search.prototype=a.inherit(a.gadget.Base.prototype,function(){var d=YAHOO.util.Dom,b=YAHOO.util.Event;var c={EN:{SEARCH:"Search",ALL_CATEGORIES:"All categories",LOADING_LIST:"Loading list. Please wait",NO_SUBCATEGORIES:"No subcategories"},JA:{SEARCH:"\u691C\u7D22",ALL_CATEGORIES:"\u3059\u3079\u3066\u306E\u30AB\u30C6\u30B4\u30EA\u30FC",LOADING_LIST:"\u8AAD\u307F\u8FBC\u307F\u4E2D\u3067\u3059\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002",NO_SUBCATEGORIES:"\u30B5\u30D6\u30AB\u30C6\u30B4\u30EA\u30FC\u306F\u3042\u308A\u307E\u305B\u3093\u3002"}};
return{_metrics:a.gadget.SearchMetrics,_validSearch:function(){var e=this._config;return(e.keyword||e.category);},_getSearchParams:function(){var f=this._config,e="";e+="keyword="+encodeURIComponent(f.keyword)+"&category="+encodeURIComponent(f.category);e+=f.vcptn?("&vcptn="+f.vcptn):"";e+=f.merchant?("&ec_code="+f.merchant):"";
e+=f.adult?"&adult=y":"&adult=n";e+=f.sort_by?("&sort_by="+f.sort_by):"";e+=f.sort_order?("&sort_order="+f.sort_order):"";e+=f.price_min?("&price_min="+f.price_min):"";e+=f.price_max?("&price_max="+f.price_max):"";e+=f.fee_min?("&sort_by="+f.fee_min):"";e+=!f.preview?("&vg="+f.oid):"&vg=0";return e;},_renderSearchBarFrame:function(f){a.augment(this.MESSAGES.EN,c.EN);
a.augment(this.MESSAGES.JA,c.JA);var e=(this._config.br_on||!this._theme.is_basic)?this._config.border_size:0;var h=d.get("vc_gadget_"+this._config.oid+"_content_L"+f);var g=document.createElement("div");g.id="vc_gadget_"+this._config.oid+"_searchbar_L"+f;g.setAttribute("class","vc_gadget_searchbar_L"+f);
d.setStyle(g,"width",(this._config.width-e*2)+"px");d.setStyle(g,"height",this._metrics.getSearchBarHeight(null,this._config)+"px");d.setStyle(g,"padding","0");d.setStyle(g,"margin","0");d.setStyle(g,"overflow","hidden");g.innerHTML="";if(f==0){if(this._theme.body_bg_color&&!(this._theme.is_basic&&!this._config.bk_on)){d.setStyle(g,"background-color",this._theme.body_bg_color);
}if(this._theme.body_bg_image){d.setStyle(g,"background-image","url('"+this._theme.body_bg_image+"')");d.setStyle(g,"background-repeat",this._theme.body_bg_image_repeat);}}else{d.setStyle(g,"font-family",this._metrics.SEARCHBAR_FONT);d.setStyle(g,"font-size",this._metrics.SEARCHBAR_FONT_SIZE+"px");}h.appendChild(g);
},_onClickSearch:function(g,f){f._config.keyword=d.get("vc_gadget_"+f._config.oid+"_keyword").value;f._config.category=VC["catsel_gadget_"+f._config.oid].getSelected();f.search();},_validateSearch:function(){var e=d.get("vc_gadget_"+this._config.oid+"_keyword").value,f=VC["catsel_gadget_"+this._config.oid].getSelected();
d.get("vc_gadget_"+this._config.oid+"_search_button").disabled=!e&&!f;},_renderSearchBar:function(){var i=this._config.oid;var h=d.get("vc_gadget_"+i+"_searchbar_L1");if(this._metrics.isWideSearchBar(null,this._config)){h.innerHTML="<table cellspacing=0 cellpadding=0 border=0><tr>"+"<td style='padding-left:"+this._metrics.SEARCHBAR_PADDING+"px'><div id='vc_gadget_"+i+"_keyword_container'></div></td>"+"<td style='padding-right:"+this._metrics.SEARCHBAR_PADDING+"px'><div id='vc_gadget_"+i+"_category1_container'></div></td>"+"<td style='padding-right:"+this._metrics.SEARCHBAR_PADDING+"px'><div id='vc_gadget_"+i+"_category2_container'></div></td>"+"<td><div id='vc_gadget_"+i+"_searchbtn_container'></div></td>"+"</tr></table>";
}else{h.innerHTML="<table cellspacing=0 cellpadding=0 border=0 style='padding-left:"+this._metrics.SEARCHBAR_PADDING+"px'>"+"<tr><td><div id='vc_gadget_"+i+"_keyword_container'></div></td>"+"<td><div id='vc_gadget_"+i+"_searchbtn_container'></div></td></tr>"+"<tr><td colspan=2><div id='vc_gadget_"+i+"_category1_container'></div></td></tr>"+"<tr><td colspan=2><div id='vc_gadget_"+i+"_category2_container'></div></td></tr>"+"</table>";
}var f=document.createElement("div");d.setStyle(f,"height",this._metrics.SEARCHBAR_LINE_HEIGHT+"px");d.setStyle(f,"width",+(this._metrics.getKeywordInputWidth(null,this._config)+10)+"px");d.setStyle(f,"padding-top",this._metrics.SEARCHBAR_PADDING+"px");f.innerHTML="<input name='keyword' id='vc_gadget_"+i+"_keyword' type='text' "+"style='width:"+this._metrics.getKeywordInputWidth(null,this._config)+"px; "+"font-family:"+this._metrics.SEARCHBAR_FONT+"; font-size:"+this._metrics.SEARCHBAR_FONT_SIZE+"px'/>";
d.get("vc_gadget_"+i+"_keyword_container").appendChild(f);d.get("vc_gadget_"+i+"_keyword").value=this._config.keyword||"";var l=document.createElement("div");d.setStyle(l,"height",this._metrics.SEARCHBAR_LINE_HEIGHT+"px");d.setStyle(l,"width",this._metrics.SEARCH_BTN_WIDTH+"px");d.setStyle(l,"padding-top",this._metrics.SEARCHBAR_PADDING+"px");
l.innerHTML="<button id='vc_gadget_"+i+"_search_button' type='button' style='width:"+this._metrics.SEARCH_BTN_WIDTH+"px; font-family:"+this._metrics.SEARCHBAR_FONT+"; font-size:"+this._metrics.SEARCHBAR_FONT_SIZE+"px'>"+this.MESSAGES[this._config.lang].SEARCH+"</button>";d.get("vc_gadget_"+i+"_searchbtn_container").appendChild(l);
var g=document.createElement("div");d.setStyle(g,"height",this._metrics.SEARCHBAR_LINE_HEIGHT+"px");d.setStyle(g,"width",this._metrics.getSearchBarLineWidth(null,this._config)+"px");d.setStyle(g,"padding-top",this._metrics.SEARCHBAR_PADDING+"px");g.innerHTML="<div id='gadget_"+i+"_category1'></div>";
if(!this._config.maincat_on){d.setStyle(g,"display","none");}d.get("vc_gadget_"+i+"_category1_container").appendChild(g);var k=document.createElement("div");d.setStyle(k,"height",this._metrics.SEARCHBAR_LINE_HEIGHT+"px");d.setStyle(k,"width",this._metrics.getSearchBarLineWidth(null,this._config)+"px");
d.setStyle(k,"padding-top",this._metrics.SEARCHBAR_PADDING+"px");k.innerHTML="<div id='gadget_"+i+"_category2'></div>";if(!this._config.subcat_on){d.setStyle(k,"display","none");}d.get("vc_gadget_"+i+"_category2_container").appendChild(k);var e={width:this._metrics.getSearchBarLineWidth(null,this._config),font:this._metrics.SEARCHBAR_FONT,fontSize:this._metrics.SEARCHBAR_FONT_SIZE};
VC["catsel_gadget_"+i]=new a.gadget.CatSelector("gadget_"+i,this._pdbURL,this._config.token,this._config.lang,e,this._config.category);b.addListener("vc_gadget_"+i+"_search_button","click",this._onClickSearch,this);this._validateSearch();b.addListener("vc_gadget_"+i+"_keyword","keyup",this._validateSearch,this,this);
b.addListener("vc_gadget_"+i+"_keyword","change",this._validateSearch,this,this);b.addListener("vc_gadget_"+i+"_keyword","paste",this._validateSearch,this,this);var j=this;VC["catsel_gadget_"+i].onChangeSelection(function(){j._validateSearch();});VC["catsel_gadget_"+i].onInitSelection(function(){j._validateSearch();
});},_renderBodyFrame:function(g){this._renderSearchBarFrame(g);if(g!=0){this._renderSearchBar();}var f=(this._config.br_on||!this._theme.is_basic)?this._config.border_size:0,e=d.get("vc_gadget_"+this._config.oid+"_container");var i=d.get("vc_gadget_"+this._config.oid+"_content_L"+g);var h=document.createElement("div");
h.id="vc_gadget_"+this._config.oid+"_body_L"+g;h.setAttribute("class","vc_gadget_body_L"+g);d.setStyle(h,"width",(this._config.width-f*2)+"px");d.setStyle(h,"height",this._metrics.getOptimalBodyHeight(e,this._config)+"px");d.setStyle(h,"overflow","hidden");d.setStyle(h,"padding","0");d.setStyle(h,"margin","0");
if(g==0){if(this._theme.body_bg_color&&!(this._theme.is_basic&&!this._config.bk_on)){d.setStyle(h,"background-color",this._theme.body_bg_color);}if(this._theme.body_bg_image){d.setStyle(h,"background-image","url('"+this._theme.body_bg_image+"')");d.setStyle(h,"background-repeat",this._theme.body_bg_image_repeat);
}}i.appendChild(h);},_renderItem:function(f,e){var h=document.createElement("table");h.setAttribute("border","0");h.setAttribute("cellspacing",this._metrics.ITEM_INTERNAL_SPACING);h.setAttribute("cellpadding","0");d.setStyle(h,"width","100%");d.setStyle(h,"height","100%");e.appendChild(h);var g=h.insertRow(-1);
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,e);}if(this._config.cd_on){this._renderItemCode(f,i,e);}if(this._config.mr_on){this._renderMerchCode(f,i,e);
}if(this._config.pr_on){this._renderItemPrice(f,i,e);}if(this._config.ds_on){this._renderItemDesc(f,i,e);}}};}());},"1.1.0",{before:["objects","gadget-base","pdb-catselector"]});