
(function($){$.fn.suggest=function(options){var defaults={target:"#search_suggest",suggestitem:"div.suggestitem",suggestbox:"#suggestbox"}
var options=$.extend(defaults,options);var globalPosition=-1;$input=$(this);$input.each(function(){$input.keyup(processKey);$input.closest("form").bind("keypress",function(e){if(e.keyCode){key=e.keyCode;}
else{key=String.fromCharCode(e.which);}
if(key==13){SubmitForm(e);return false;}});});function processKey(e){if($input.val().length>2){if(e.keyCode){key=e.keyCode;}
else{key=String.fromCharCode(e.which);}
if(key==40){highlightSuggestItem(e,"down");}
else if(key==38){highlightSuggestItem(e,"up");}
else if(key==13){SubmitForm(e);return false;}
else{suggestitem(e);}}
else{if(key==13){SubmitForm(e);return false;}
else{clearSuggest(e);}}}
function SubmitForm(e){if(globalPosition>-1){window.location="/cottage-details/"+$(options.target+" "+options.suggestitem).eq(globalPosition).attr("propertyref");}
else{$(options.suggestbox).closest("form").submit();}}
function suggestitem(e){if($input.val().length>2){$.get("/includes/custom/suggest.php",{text:$input.val()},function(suggestdata){if(suggestdata!=""){globalPosition=-1;$(options.target).css({'display':'block'});$(options.target).html(suggestdata);$(options.target+" "+options.suggestitem).each(function(index){$(options.target+" "+options.suggestitem).eq(index).bind("mouseover",function(){highlightItem(index);});});}
else{clearSuggest(e);}});}
else{clearSuggest(e);}}
function clearSuggest(e){$(options.target).css({'display':'none'});$(options.target).html("");globalPosition=-1;}
function highlightSuggestItem(e,direction){$(options.target+" "+options.suggestitem).removeClass("suggestselected");if(direction=="down"){globalPosition++;}
else{globalPosition--;}
if(globalPosition>=$(options.target+" "+options.suggestitem).length){globalPosition=0;}
else if(globalPosition<0){globalPosition=$(options.target+" "+options.suggestitem).length-1;}
$(options.target+" "+options.suggestitem).each(function(index){if(index==globalPosition){$(options.target+" "+options.suggestitem).eq(index).addClass("suggestselected");}});}
function highlightItem(index){$(options.target+" "+options.suggestitem).removeClass("suggestselected");globalPosition=index;$(options.target+" "+options.suggestitem).eq(index).addClass("suggestselected");}}})(jQuery);$(document).ready(function(){$("#suggestbox").suggest();});

