var Mall=KISSY.app("Mall");Mall.add("header~category",function(i){var d=KISSY,n=d.DOM,m=d.Event,l=document,p="active",e="selected",a="hidden",h="DIV",o="mouseenter",b="mouseleave",g="click",k="show",c={hideDelay:0.2,entity:null,view:null,subViews:null,triggers:null,dataUrl:null};function f(q,s){var r=this;if(!(r instanceof f)){return new f(q,s)}r.container=n.get(q);r.config=d.merge(c,s||{});r.config.viewer=n.get(s.view);r.entity=n.query(s.entity,r.container)[0];r.triggers=n.query(s.triggers,r.container);r.subContainer=r.triggers[0].parentNode;r._init()}function j(q,s){for(var r=0;r<q.length;r=r+1){if(q[r]===s){return r}}return -1}d.mix(f.prototype,{switchTo:function(q){var r=this;d.each(r.triggers,function(s){n.removeClass(s,e)});n.addClass(r.triggers[q],e);d.each(r.subViews,function(s){n.addClass(s,a)});n.removeClass(r.subViews[q],a)},show:function(){var q=this;n.removeClass(q.viewer,a)},hide:function(){var q=this;d.each(q.triggers,function(r){n.removeClass(r,e)});n.addClass(q.viewer,a)},getViewerData:function(r){var q=this;if(!q.config.getting){d.Ajax.getScript(r+"?t="+new Date().getTime(),function(){if(Mall&&Mall.SubCat){var s=document.createElement("div");s.innerHTML=Mall.SubCat;q.container.appendChild(s);q.config.viewer=n.get(q.config.view)}})}q.config.getting=true},_init:function(){var r=this,q=r.config;m.on(r.container,o,function(s){if(!r.config.viewer){r.getViewerData(r.config.dataUrl)}r.mainBodyTimer=r.mainBodyTimer&&clearTimeout(r.mainBodyTimer);n.addClass(r.entity,k)});m.on(r.container,b,function(s){r.mainBodyTimer=setTimeout(function(){n.removeClass(r.entity,k)},r.config.hideDelay*1000)});d.each(r.triggers,function(s){m.on(s,g,function(t){t.stopPropagation();return false});m.on(s,o,function(u){u.stopPropagation();var t=j(r.triggers,s);if(!r.viewer){if(!r.config.viewer){r.getViewerData(r.config.dataUrl);return}r._initView()}if(r.showTimer){clearTimeout(r.showTimer)}r.showTimer=setTimeout(function(){if(!r.hideTimer){r.switchTo(t);r.show()}},r.config.hideDelay*1000);r.hideTimer=clearTimeout(r.hideTimer)});m.on(s,b,function(t){if(r.showTimer){clearTimeout(r.showTimer)}if(r.hideTimer){return}r.hideTimer=setTimeout(function(){r.hide();r.hideTimer=clearTimeout(r.hideTimer)},r.config.hideDelay*1000)})})},_initView:function(){var r=this,q=r.config;if(!r.viewer){r.viewer=l.createElement(h);r.viewer.className=q.viewer.className;r.viewer.innerHTML=q.viewer.value;r.container.appendChild(r.viewer);r._initSubView()}},_initSubView:function(){var q=this,r=0;q.subViews=n.query(q.config.subViews,q.container);d.each(q.subViews,function(v){var u=n.query("dl.J_HotMenuItem",v),s=n.query("div.J_HotView",v),t;d.each(u,function(w){m.on(w,o,function(){var x=j(u,w);d.each(u,function(y){n.removeClass(y,p)});d.each(s,function(y){y.style.display="none"});n.addClass(w,p);s[x].style.display="block"})});m.on(v,o,function(){q.hideTimer=clearTimeout(q.hideTimer);q.selectedSubView=this});m.on(v,b,function(){q.hideTimer=setTimeout(function(){q.hide();q.hideTimer=clearTimeout(q.hideTimer)},q.config.hideDelay*1000)})})}});i.Category=f});Mall.add("header~search",function(f){var c=KISSY,d=c.DOM,a=c.Event,e=document;f.Search={init:function(g){b(g)}};function b(k){var g=[],l=[],n="selected",m="click",o="data-value",i="hover",p="mouseenter",h="mouseleave";function j(t,r,s,q){t.innerHTML=r;s.value="-1"===q?"":q}c.each(k,function(s){var r=c.get(s[0]),q=d.get(s[1]),t=c.query("li."+n,r),u;g.push(r);l.push(q);if(t&&1<=t.length){t=t[0];u=d.text(t);j(d.children(r)[0],u,q,t.getAttribute(o))}});a.on(g,p,function(q){d.addClass(this,i)});a.on(g,h,function(q){d.removeClass(this,i)});a.on(g,m,function(q){var t=q.target,s,u,r;while(t&&"LI"!==t.nodeName){t=t.parentNode}q.halt();if(t){s=t.getAttribute(o);r=c.indexOf(this,g);u=d.children(this)[0];j(u,d.text(t),l[r],s)}if(d.hasClass(this,n)){d.removeClass(this,n)}else{d.removeClass(g,n);d.addClass(this,n)}});a.on(e.body,m,function(){c.each(g,function(q){d.removeClass(q,n)})})}});Mall.add("header-init",function(a){Mall.Header={init:function(){var e=KISSY,r=e.DOM,p=e.Event,l=Mall,o=document,j="selected",m="click",c="scrolly",h,k,b=[function(){if(!r.get("#J_Category")){return}new l.Category("#J_Category",{view:"#J_SubCategory",subViews:"div.J_SubViewItem",triggers:"li.J_MenuItem",entity:"div.entity",dataUrl:"http://www.mall.taobao.com/go/rgn/mall2010/hd-cat-asyn.php"})},function(){var y=e.get("#J_SelectCats"),i=e.get("#J_SelectTypes"),s=null,z="active",t=e.get("#mq"),u=e.get("#J_Type"),x={};t.focus();if(y){l.Search.init([["#J_SelectCats","#J_Cat"]]);p.on(t.form,"submit",function(){if(e.get("#J_Cat").value===""){this.setAttribute("action",u&&"s"==u.value?"http://shopsearch.taobao.com/browse/shop_search.htm":"http://search.taobao.com/search")}})}if(i){p.on(i,m,function(A){s=A.target;if("A"==s.tagName){u.setAttribute("value",s.getAttribute("data-type")||"p");e.each(this.getElementsByTagName("A"),function(B){r.removeClass(B,z)});r.addClass(s,z);w(x.container);t.focus()}A.halt()})}function w(A){if(!A){return}if("s"==u.value){A.style.display="none";if(A.shim){A.shim.style.display="none"}if(y){y.style.display="none"}}else{A.style.display="";if(A.shim){A.shim.style.display=""}if(y){y.style.display=""}}}setTimeout(function v(){if(typeof v.count=="undefined"){v.count=0}v.count++;if(!(window.TB&&TB.Suggest||e.Suggest)){setTimeout(arguments.callee,200)}else{var A=e.Suggest?e:TB;x=new A.Suggest(t,"http://suggest.taobao.com/sug",{containerCls:"mall-suggest-container",resultFormat:""});w(x.container);if(x.subscribe){x.subscribe("beforeShow",function(){var B=this.container.getElementsByTagName("li");e.each(B,function(C){r.addClass(C,(e.indexOf(C,B)+1)%2===0?"even":"odd")})})}}},200)}];for(h=0,k=b.length;h<k;++h){b[h]()}var n=e.get("#J_SearchTypes");if(n){var q=e.get("#J_SelectCats"),g=n.getElementsByTagName("input");function d(s,i){if(s.value=="small"){e.get("#J_Cat").value="all";i.innerHTML="\u5546\u57ce\u5546\u54c1"}if(s.value=="staobao"){e.get("#J_Cat").value="";i.innerHTML="\u6240\u6709\u5206\u7c7b"}}if(g){var k=g.length,f=r.children(q)[0];while(k--){if(g[k].checked){d(g[k],f)}}p.on(e.get("#J_SearchTypes"),m,function(s){var i=s.target;if("INPUT"==i.tagName){d(i,f)}})}}}}});
