jQuery(document).ready(function($){var search_string=$("#s_text").val();$("#s_text").suggest(GLOBAL_DIR+"/sgst/",{stopword:search_string,onSelect:function(){location.href=$(this).find('a').attr('href');}});});(function($)
{$.fn.bgIframe=$.fn.bgiframe=function(s)
{if($.browser.msie&&/6.0/.test(navigator.userAgent))
{s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n)
{return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function()
{if($('> iframe.bgiframe',this).length==0){this.insertBefore(document.createElement(html),this.firstChild);}});}
return this;};})(jQuery);(function($)
{$.suggest=function(input,options)
{var $input=$(input).attr("autocomplete","off");var $results=$(document.createElement("ul"));var timeout=false;var prevLength=0;var prevValue=$input.val();var cache=[];var cacheSize=0;$results.addClass(options.resultsClass).appendTo('body');resetPosition();$(window).load(resetPosition).resize(resetPosition);$input.blur(function()
{setTimeout(function()
{$results.hide()},200);});try{$results.bgiframe();}
catch(e){}
if($.browser.mozilla||$.browser.opera){$input.keypress(processKey);}
else{$input.keydown(processKey);}
function resetPosition()
{var offset=$input.offset();$results.css({top:(offset.top+input.offsetHeight)+'px',left:offset.left+'px',width:$input.innerWidth()});}
function checkChanged()
{if(prevValue!=$input.val()){suggest();prevValue=$input.val();}
setTimeout(checkChanged,200);}
setTimeout(checkChanged,200);function processKey(e)
{if((/27$|38$|40$/.test(e.keyCode)&&$results.is(':visible'))||(/^13$|^9$/.test(e.keyCode)&&getCurrentResult()))
{if(e.preventDefault){e.preventDefault();}
if(e.stopPropagation){e.stopPropagation();}
e.cancelBubble=true;e.returnValue=false;switch(e.keyCode)
{case 38:prevResult();break;case 40:nextResult();break;case 9:case 13:selectCurrentResult();break;case 27:$results.hide();break;}}}
function suggest()
{var q=$.trim($input.val());if(q.length>=options.minchars&&q!='Что купить?'&&q!=options.stopword){cached=checkCache(q);if(cached){displayItems(cached['items']);}
else
{var params={q:q};if(options.params){$.each(options.params,function(name,obj)
{params[name]=obj.val();});}
$.get(options.source,params,function(txt)
{$results.hide();var items=parseTxt(txt,q);displayItems(items);addToCache(q,items,txt.length);});}}
else{$results.hide();}
if(options.onChange){options.onChange.apply();}}
function checkCache(q)
{for(var i=0;i<cache.length;i++)
{if(cache[i]['q']==q){cache.unshift(cache.splice(i,1)[0]);return cache[0];}}
return false;}
function addToCache(q,items,size)
{while(cache.length&&(cacheSize+size>options.maxCacheSize)){var cached=cache.pop();cacheSize-=cached['size'];}
cache.push({q:q,size:size,items:items});cacheSize+=size;}
function displayItems(items)
{if(!items)return;if(!items.length){$results.hide();return;}
var html='';for(var i=0;i<items.length;i++){html+='<li'+(items[i]["class"]!='undefined'?' class='+items[i]["class"]:'')+'>'+items[i]["txt"]+'</li>';}
resetPosition();$results.html(html).show();$results.children('li:not(.gblock)').mouseover(function(){$results.children('li').removeClass(options.selectClass);$(this).addClass(options.selectClass);}).click(function(e){e.preventDefault();e.stopPropagation();selectCurrentResult();return true;});}
function parseTxt(txt,q){var items=[];var res=new Array();var tokens=txt.split(options.delimiter);var reg_exp=new RegExp("gblock|");for(var i=0;i<tokens.length;i++){var token=$.trim(tokens[i]);if(token){items[i]=new Array();res=token.split("|");if(res[0]=="gblock"){items[i]["class"]=res[0];items[i]["txt"]=res[1];}
else{items[i]["txt"]=res[0];}}}
return items;}
function getCurrentResult(){if(!$results.is(':visible')){return false;}
var $currentResult=$results.children('li.'+options.selectClass);if(!$currentResult.length){$currentResult=false;}
return $currentResult;}
function selectCurrentResult(){$currentResult=getCurrentResult();if($currentResult)
{$results.hide();if(options.onSelect){options.onSelect.apply($currentResult);}
prevValue=$input.val();}}
function nextResult(){$currentResult=getCurrentResult();if($currentResult){$next_el=$currentResult.next();if($next_el.hasClass('gblock')){$next_el=$currentResult.next().next();}
$currentResult.removeClass(options.selectClass);if($next_el.length){$next_el.addClass(options.selectClass);}
else{$results.children('li[class!=gblock]:eq(0)').addClass(options.selectClass);}}
else{$results.children('li[class!=gblock]:eq(0)').addClass(options.selectClass);}}
function prevResult(){$currentResult=getCurrentResult();if($currentResult){$prev_el=$currentResult.prev();if($prev_el.hasClass('gblock')){$prev_el=$currentResult.prev().prev();}
$currentResult.removeClass(options.selectClass);if($prev_el.length){$prev_el.addClass(options.selectClass);}
else{$results.children('li:last-child').addClass(options.selectClass);}}
else{$results.children('li:last-child').addClass(options.selectClass);}}}
$.fn.suggest=function(source,options)
{if(!source)return;options=options||{};options.source=source;options.stopword=options.stopword||'';options.delay=options.delay||250;options.resultsClass=options.resultsClass||'sg_results';options.selectClass=options.selectClass||'sg_over';options.matchClass=options.matchClass||'sg_match';options.minchars=options.minchars||2;options.delimiter=options.delimiter||'\n';options.onSelect=options.onSelect||false;options.onChange=options.onChange||false;options.params=options.params||null;options.maxCacheSize=options.maxCacheSize||65536;return this.each(function(){var $this=$(this);var sg=new $.suggest(this,options);$this.data('suggester',sg);});};})(jQuery);
