/*! Generated by Clam: trip-home */
KISSY.use("io, xtemplate",function(c,o,n){function e(){this.init.apply(this,arguments)}var r='{{#each list}}
{{{type_text}}}
{{subscript_text}}
{{#if isPrice}}
{{align_right_text}}\u8d77
{{else}}
{{{align_right_text}}}
{{/if}}
{{/each}}',a=function(){if(localStorage)return localStorage;if(sessionStorage)return sessionStorage;var s={};return{setItem:function(e,t){s[e]=t},getItem:function(e){return s[e]},removeItem:function(e){delete s[e]},clear:function(){s={}}}}(),i=function(e,t){for(var s=e;s&&"BODY"!==s.tagName.toUpperCase();){if(s===t)return!0;s=s.parentNode}return!1},d="ts-search-history",l={pushHistory:function(s){20t.length-2?t.length-1:s+1;break;case"Enter":return e.preventDefault(),void("keydown"===a.hoverTarget&&a.suggestList[s]?(window.goldlog&&window.goldlog.record("/tbtrip.pc-globalSearchHome.goRedirect","CLK","pcUrl=["+a.suggestList[s].pc_url+"]&index=["+s+"]","H1512895224"),a.logAndRedirect(a.suggestList[s])):a.button[0].click());default:return}-1!==s&&(a.hoverTarget="keydown",c.one(t[s]).addClass("suggest-item-hover").siblings().removeClass("suggest-item-hover"),a.input.val(a.suggestList[s].key_word))}),a.input.on("blur",function(){a.searchInputFocus=!1}),a.recommend.on("click",function(e){var t=c.one(e.target);if(t.hasClass("recommend-txt")){var s=t.attr("data-itemIndex"),i=t.attr("data-catIndex"),n=t.attr("data-index");try{var o=a.finalRecommendList[s].catItems[i].items[n];a.logAndRedirect(o)}catch(r){console.log(r)}}else t.hasClass("recommend-clear")&&(l.clearHistory(),a.renderRecommend(!0))}),a.button.on("click",function(){window.goldlog&&window.goldlog.record("/tbtrip.pc-globalSearchHome.goSearch","CLK","keyword=["+a.serachKeyword+"]","H1511048149"),a.logAndRedirect({key_word:a.serachKeyword})}),a.suggest.on("click",function(e){var t=c.one(e.target);t.hasClass("suggest-item")||(t=t.parent(".suggest-item"));var s=t.attr("data-index"),i=a.suggestList[s];a.logAndRedirect(i)}),a.suggest.on("mouseover",function(e){var t=c.one(e.target);t.hasClass("suggest-item")&&(a.hoverTarget="hover",t.addClass("suggest-item-hover").siblings().removeClass("suggest-item-hover"))})},logAndRedirect:function(e){this.recommend.hide(),this.suggest.hide();var t=e.key_word||e.history_text||e.display_title||"",s={key_word:t,display_title:e.history_text||t,pc_url:e.pc_url||"//travelsearch.fliggy.com/index.htm?searchType="+(1===this.searchType?"shop":"product")+"&keyword="+encodeURIComponent(t)};t.replace(/(^\s*|\s*$)/g,"")&&(this.input.val(t),l.pushHistory(s)),window.location.href=s.pc_url},fetchRecommendList:function(e){var t=this,s="";e&&(s="?lat="+e.latitude+"&lon="+e.longitude),o.jsonp("//travelsearch.fliggy.com/async/hotwordSuggestion.do"+s,function(e){t.recommendList=[],e.data&&e.data.length&&(t.recommendList=e.data,t.input.val()||t.renderRecommend())})},renderRecommend:function(e){if(this.searchInputFocus||e){this.finalRecommendList=[];var t=l.getHistory();t.length&&this.finalRecommendList.push({type:0,catItems:[{items:t}],type_name:"\u641c\u7d22\u5386\u53f2"}),this.recommendList.length?this.finalRecommendList=this.finalRecommendList.concat(this.recommendList):this.fetchRecommendList(this.position),c.each(this.finalRecommendList,function(e){e&&(e.spmC=g[e.type].spmC,e.iconClass=g[e.type].iconClass)});var s=new n('{{#each list}} {{#each catItems}} {{#if ../type!==0}}
{{catName}}\uff1a {{/if}}
{{#each items}} {{display_title}} {{/each}} {{#if ../type===0}} {{/if}}
{{/each}}{{/each}}').render({list:this.finalRecommendList,itemOption:g});this.recommend.html(s),this.recommend.show()}},fetchSuggest:function(e,t,s){var i="";t&&(i="?buyerLat="+t.latitude+"&buyerLon="+t.longitude);var n=1===this.searchType?"//travelsearch.fliggy.com/async/queryShopSuggest.do":"//travelsearch.fliggy.com/async/queryItemSuggest.do";n+=i,o.jsonp(n,{keyword:e},function(e){s(e.data||[])})},renderSuggest:function(e){var s=this,i=s.serachKeyword;if(e||!s.suggestList.length)s.fetchSuggest(i,s.postion,function(e){if(s.searchInputFocus&&s.input.val()){s.suggestList=e;var t=new n(r).render({list:e,keyword:i});s.suggest.html(t),s.suggest.show()}});else{var t=new n(r).render({list:s.suggestList,keyword:i});s.suggest.html(t),s.suggest.show()}}};new e});