/*
 * @author Wills
 */
(function(a){a(function(){window.searchBox=window.searchBox||{};searchBox.baseURL=searchBox.baseURL||"/SearchBox/";if(searchBox.baseURL.lastIndexOf("/")+1<searchBox.baseURL.length){searchBox.baseURL+="/"}searchBox.baseURL+="searchBox";searchBox.language=searchBox.language||"zh";searchBox.containerId=searchBox.containerId||"searchBox";searchBox.tooltips=!!searchBox.tooltips;searchBox.tooltipsButton=searchBox.tooltipsButton||null;searchBox.whenNoMatches=searchBox.whenNoMatches||null;searchBox.submitButton=searchBox.submitButton||null;searchBox.waitMillis=searchBox.waitMillis||200;searchBox.defaultValue=searchBox.defaultValue||"";searchBox.autoFocus=!searchBox.defaultValue;if(searchBox.tooltips){a.getJSON(searchBox.baseURL+"?action=tooltips&fileName=tooltips_"+searchBox.language+".html&callback=?",function(l){d.tooltips.append(l||"")})}var f={i:null,p:null,f:null,c:null,n:null};a.getJSON(searchBox.baseURL+"?action=options&callback=?",function(l){l=l||{};f.i=l.internalCityURL;f.p=l.provinceURL;f.f=l.foreignCityURL;f.c=l.countryURL;f.n=l.noMatchURL});var j=searchBox.containerId+"_text";var h=a("<input id='"+j+"' type='text' value='"+searchBox.defaultValue+"' />");if(searchBox.defaultValue){h.addClass("description")}var b=a("<form></form>");a("#"+searchBox.containerId).append(b.append(h));var k=function(m,l,n){if(!m||!l||!l.length){return}if(m.length){m.push(null)}[].push.apply(m,l)};var i="tooltips";var d={tooltips:searchBox.tooltips?a("<div id='"+i+"'></div>"):null,selectedItem:null,isSearching:false};var g=function(){};a.suggest(j,function(l,m){g=m;if(l){if(d.tooltips){d.tooltips.hide()}a.getJSON(searchBox.baseURL+"?callback=?",{language:searchBox.language,keyword:l},function(o){o=o||{};var n=[];k(n,o.i,"i");k(n,o.p,"p");k(n,o.f,"f");k(n,o.c,"c");m(l,n)})}else{m();if(d.tooltips&&d.tooltips.is(":not(:empty)")){d.tooltips.show()}}},{waitMillis:searchBox.waitMillis,plugins:d,whenNoMatches:searchBox.whenNoMatches});if(searchBox.submitButton){h.after(searchBox.submitButton)}var c=0;b.submit(function(o,n){if(n){return true}else{if(d.isSearching){if(c){clearInterval(c)}c=setInterval(function(){if(!d.isSearching){clearInterval(c);c=0;b.submit()}},100);return false}else{var l=h.val();d.selectedItem=(l&&d.selectedItem)||{t:"n",n:l};var m=d.selectedItem.u||f[d.selectedItem.t];if(m){m=m.replace(/\$\{LA}/g,searchBox.language||"");if(d.selectedItem.t!=="n"){b.attr("action",m.replace(/\$\{I\D\}/g,d.selectedItem.i))}else{b.attr("action",m.replace(/\$\{KW\}/g,d.selectedItem.n))}return true}else{g(l,null)}}}return false});if(searchBox.defaultValue){h.focus(function(l){if(a.trim(h.val())===searchBox.defaultValue){h.val("").removeClass("description")}}).blur(function(l){if(d.tooltips&&d.tooltips.is(":visible")){}else{if(!a.trim(h.val())){h.val(searchBox.defaultValue).addClass("description")}}})}if(d.tooltips){if(searchBox.tooltipsButton){var e=searchBox.tooltipsButton;searchBox.tooltipsButton=a(searchBox.tooltipsButton);if(!searchBox.tooltipsButton.length){searchBox.tooltipsButton=a("<span></span>").append(e)}h.after(searchBox.tooltipsButton);searchBox.tooltipsButton.click(function(l){if(d.tooltips.is(":hidden")&&d.tooltips.is(":not(:empty)")){d.tooltips.show();return false}})}h.mousedown(function(m){var l=h.val();if(!l||l===searchBox.defaultValue){if(d.tooltips.is(":hidden")&&d.tooltips.is(":not(:empty)")){d.tooltips.show()}else{d.tooltips.hide()}}});a(document).click(function(l){var m=a(l.target);if(d.tooltips.is(":visible")&&!m.is("#"+j)&&!m.closest("#"+i).length){d.tooltips.hide();h.blur()}});a("#"+i+" .tab:not(.active)").live("click",function(o){var p=a(o.target);var l=d.tooltips.find(".tab.active");var n=l.attr("id")||"";var m=p.attr("id")||"";l.removeClass("active");d.tooltips.find("#"+n.substring(4)).hide();p.addClass("active");d.tooltips.find("#"+m.substring(4)).show()});a("#"+i+" ul li span").live("click",function(){var m=a(this);var l=m.closest("li");var o=m.closest("ul");var n=l.attr("_url")||o.attr("_url")||f[o.attr("_type")];if(n){b.attr("action",n.replace(/\$\{LA}/g,searchBox.language||"").replace(/\$\{I\D\}/g,l.attr("_id"))).trigger("submit",true)}}).live("mouseover",function(l){a(this).addClass("highlight")}).live("mouseout",function(l){a(this).removeClass("highlight")})}if(searchBox.autoFocus){setTimeout(function(){h.focus()},0)}})})(jQuery);

