$(window).load(function(){$(document).click(function(D){var C=$(D.target);
if(typeof C==="object"){if(C.className!=="searchSuggestDiv"&&C.className!=="psearchList"&&C.id!=="query"){$("#psearchSuggest").slideUp(90,function(){$(this).remove()
})
}}});
$("#search-site-form .btn").focus(function(){$("#psearchSuggest").slideUp(90,function(){$(this).remove()
})
});
$("#query").attr({autocomplete:"off",autofill:"off"});
var B=undefined;
$("#query").bind("keyup",function(C){var D=this.value;
if(C.which===8||C.which===32||(48<=C.which&&C.which<=57)||(65<=C.which&&C.which<=90)||(97<=C.which&&C.which<=122)){if(this.value.length>=3){var E=$("#query").offset().left-20;
var F=$("#search-site-form").offset().top+$("#search-site-form").height();
if(!document.getElementById("psearchSuggest")){div=newEl("div",{className:"searchSuggestDiv",id:"psearchSuggest"});
document.body.appendChild(div)
}var G=(this.value.length===3)?0:175;
if(B!==undefined){clearTimeout(B)
}B=setTimeout(function(){B=undefined;
$.getJSON("/suggest/search/"+jQuery.trim(D),"",function(H){if(H==null){$("#psearchSuggest").slideUp(90,function(){$(this).remove()
})
}else{$("#psearchSuggest").css({top:F,left:E});
A(H)
}})
},G)
}else{$("#psearchSuggest").slideUp(90,function(){$(this).remove()
})
}}});
$("#query").keydown(function(C){if(C.which==40){$("#psearchSuggest a:first").focus().addClass("focused");
displaySuggestion($("a.psearchSuggestions.focused").text());
C.preventDefault();
return false
}});
function A(D){$("#psearchSuggest").html("");
if(!document.getElementById("psearchSuggest")){div=newEl("div",{className:"searchSuggestDiv",id:"psearchSuggest"});
document.body.appendChild(div)
}var E=0;
var G,C="";
var H,J,F;
for(j=0;
j<D.length;
++j){F=newEl("h2",{},D[j].heading);
H=newEl("ul",{className:"psearchList"});
for(k=0;
k<D[j].values.length;
++k){if(D[j].values[k].url!==null){G="psearchOffers";
C=D[j].values[k].url
}else{G="psearchSuggestions";
C="#"
}J=newEl("li",{className:G});
a=newEl("a",{href:C,className:G},D[j].values[k].term);
a.tabIndex=0;
J.appendChild(a);
H.appendChild(J);
$(a).data("currentPos",E);
$(a).keydown(function(K){traversePSearch(K,$(this).data("currentPos"))
});
a.onclick=(function(K){document.getElementById("query").value=this.innerHTML;
$("#psearchSuggest").slideUp(50);
$("#search-site-form").submit()
});
E++
}var I=document.getElementById("psearchSuggest");
I.appendChild(F);
I.appendChild(H);
$("#psearchSuggest").find("li").mousemove(function(){resetSuggestion();
$("#psearchSuggest a.focused").removeClass("focused")
}).end().mouseleave(function(K){if(!$("#psearchSuggest a.focused").length){$("#psearchSuggest a.hasFocus").addClass("focused")
}resetSuggestion()
});
if(jQuery.browser.msie&&(jQuery.browser.version<8)){$("#psearchSuggest a").attr("hideFocus","true")
}}$("#psearchSuggest").slideDown(50)
}});
function displaySuggestion(C){if($("a.psearchSuggestions.focused").length){var B=$("#query").val();
var A=C;
if(!$("#query").data("typedQuery")){$("#query").data("typedQuery",B)
}$("#query").val(A);
return true
}else{resetSuggestion()
}}function resetSuggestion(B){var A=$("#query").data("typedQuery");
$("#query").val(A);
$("#query").removeData("typedQuery");
return true
}function traversePSearch(A,B){var C=$("#psearchSuggest a").length;
switch(A.which){case 9:resetSuggestion();
$("#search-site-form .btn").focus();
A.preventDefault();
return false;
break;
case 40:if(B==(C-1)){}else{$(".searchSuggestDiv a.focused").removeClass("focused hasFocus");
$("#psearchSuggest a:eq("+(B+1)+")").focus().addClass("focused hasFocus");
displaySuggestion($("a.psearchSuggestions.focused").text())
}A.preventDefault();
return false;
break;
case 38:$(".searchSuggestDiv a.focused").removeClass("focused hasFocus");
if(B==0){resetSuggestion();
document.getElementById("query").focus()
}else{$("#psearchSuggest a:eq("+(B-1)+")").focus().addClass("focused hasFocus");
displaySuggestion($("a.psearchSuggestions.focused").text())
}A.preventDefault();
return false;
break;
case 13:break;
case 27:resetSuggestion();
$("#psearchSuggest").slideUp(90);
break;
default:$(".searchSuggestDiv a.focused").removeClass("focused hasFocus");
document.getElementById("query").focus();
break
}};