QS = {
	searching: false,
	ResultsQuan: 0,
	ResultActive: -1,
	lastFoundStr:'',//Последнее найденное
	SFID: "main_quick_search",//ID поля поиска
	zIndex:11000,
	Results_Name: "quickSearchResults",

	init: function(){
		$(QS.SFID).onkeyup=function(){QS.quickSearch_changed()}
		$(QS.SFID).onkeydown=function(e){return QS.quickSearchKeyDownUp(e);}
		QS.createSearchResultBlock();
	},

	createSearchResultBlock: function (){
		var owner = document.body;
		var div = document.createElement('div');
		div.id=this.Results_Name;
		with (div.style){
			position='absolute';
			zIndex=this.zIndex;
			border='1px #555555 solid';
			padding='6px';
			backgroundColor='#DFF0FF';
			width='400px';
			display='none';
		}
		div = owner.appendChild(div);
		var div2=document.createElement('div');
		div2.style.textAlign='right';
		div2.style.fontFamily='Arial,Verdana,Tahoma';
		div.appendChild(div2);
		var table1=document.createElement('table');
		with(table1){width="100%";border="0";align='right';cellpadding=cellspacing='0';}
		div2.appendChild(table1);
		var tbody1=document.createElement('tbody');
		table1.appendChild(tbody1);
		var tr=document.createElement('tr');
		tbody1.appendChild(tr);
		var td1=document.createElement('td');
		td1.width="99%";
		td1.align="left";
		td1.innerHTML='<b>Результаты активного поиска:</b>';
		tr.appendChild(td1);
		td1=document.createElement('td');
		td1.width='1%';
		tr.appendChild(td1);
		var img=document.createElement('img');
		img.src='/management/admin/img/bCloseSmall.png';
		img.style.cursor='pointer';
		img.alt=img.title='Закрыть эту панель';
		img.onclick=function(){QS.hide__quickSearchResults();}
		td1.appendChild(img);
		tr=document.createElement('tr');
		tbody1.appendChild(tr);
		td1=document.createElement('td');
		td1.colSpan='2';
		td1.align="left";
		tr.appendChild(td1);
		div2=document.createElement('div');
		div2.id='quickSearchResultContainer';
		td1.appendChild(div2);
		tr=document.createElement('tr');
		tr.valign='middle';
		tbody1.appendChild(tr);
		td1=document.createElement('td');
		td1.colSpan='2';
		td1.align='right';
		td1.innerHTML='<a href="http://www.lga.ru" target="_blank" alt="Организация быстрого поиска на Вашем сайте" title="Организация быстрого поиска на Вашем сайте"><img src="/management/admin/img/searchPoweredBy.png" border="0" /></a>';
		tr.appendChild(td1);
		this.setBlockPosition();
		setOpacity(this.Results_Name, '94');
	},

	quickSearch_changed:function(){
		var input = $(this.SFID);
		if (input.value=='') {
			this.hide__quickSearchResults();
			this.lastFoundStr='';
		} else if (!this.searching) if(input.value!=this.lastFoundStr) this.go_quickSearch();
	},

	setBlockPosition: function() {
		var input = $(this.SFID);
		if (input) {
			var div = $(this.Results_Name);
			div.style.top = (Position.get(input).top + Position.get(input).height + 0) + 'px';
			div.style.left = Position.get(input).left + 'px';
		}
	},

	hide__quickSearchResults: function () {
		var div = $(this.Results_Name);
		this.ShowFlashOnThePage();
		//overlayer.hide();
		if (div) div.style.display='none';
		$(this.SFID).focus();
	},

	show__quickSearchResults: function (zIndex) {
		var div = $(this.Results_Name);
		if (zIndex!=undefined) div.style.zIndex=zIndex; else div.style.zIndex=this.zIndex;
		if (div) div.style.display='';
		if (!overlayer.isOverlayed()) this.HideFlashOnThePage();//overlayer.show();
		$(this.SFID).focus();
	},

	quickSearchKeyDownUp: function(e) {
		if (Browser.isIE) e=window.event;
		if ((e.keyCode==40)||(e.keyCode==38)) {
			if (e.keyCode==40) {
				if (QS.ResultsQuan>0) {
					if (QS.ResultActive==(QS.ResultsQuan-1)) {
						return false;
					} else {
						QS.ResultActive++;
						for (var i=0;i<QS.ResultsQuan;i++){
							$('QuickResult_li'+i).style.backgroundColor = '#DFF0FF';
						}
						$('QuickResult_li'+QS.ResultActive).style.backgroundColor = '#93C9F0';
						$('QuickResult_a'+QS.ResultActive).focus();
					}
				}
			}
			if (e.keyCode==38) {
				if (QS.ResultsQuan>0) {
					if (QS.ResultActive==-1) {
						return false;
					} else {
						QS.ResultActive--;
						for (var i=0;i<QS.ResultsQuan;i++){
							$('QuickResult_li'+i).style.backgroundColor = '#DFF0FF';
						}
						if (QS.ResultActive==-1) {
							$(QS.SFID).focus();
						} else {
							$('QuickResult_li'+QS.ResultActive).style.backgroundColor = '#93C9F0';
							$('QuickResult_a'+QS.ResultActive).focus();
						}
					}
				}
			}
			return false;
		}
	},

	go_quickSearch: function(){
		var input = $(QS.SFID);
		var searchStr = escape2(input.value);
		var searchStrOriginal = input.value;

		$('quickSearchRunning').style.display='';
		if (!jxs.x2) jxs.x2 = new jx();
		QS.searching=true;
		jxs.x2.jx.bind ({
			"url":	"/management/admin/ajax/quickSearch.php?searchStr="+searchStr,
			"onSuccess":	function(a){
				var s = '';
				if (a!=''){
					var m = new Array();//Массив строк, содержащий результаты с сервера
					if (/\r\n/.test(a)) {//Если переносом строки является \r\n
						m = a.split(/\r\n/);
					} else if (/\n/.test(a)) {//Если переносом строки является \n
						m = a.split(/\n/);
					}
					if (m.length==0) m[0]=a;
					var re = new RegExp ("(\\d*)>(\\d*)>(\\d*)>(.*)");//для распарсивания результатов с сервера
					var re2 = new RegExp (searchStrOriginal, "igm");//для подстветки желтым фоном
					QS.ResultsQuan = m.length;
					if (m.length>0) {
						var b=null;
						s='<ol class="QSResults">';
						for (var i=0;i<m.length;i++){
							b = re.exec(m[i]);
							if (b){
								var p=b[4].match(re2);
								if (p){
									b[4] = b[4].replace(re2, '<span id="hlight'+i+'" style="background-color:#FFFF74; text-decoration:underline">'+p[0]+'</span>');
								}
								if (b[1]==1){//тип, 1 - это результат поиска по каталогу, т.е. это или аннотация или ветвь
									if (b[3]==1) {//если есть дети
										s += '<li id="QuickResult_li'+i+'"><a id="QuickResult_a'+i+'" style="font-weight:bold" tag="'+i+'" href="/catalog.aspx?nid='+b[2]+'" alt="Раздел каталога продукции" title="Раздел каталога продукции">'+b[4]+'</a></li>';
									} else {//если нет детей
										s += '<li id="QuickResult_li'+i+'"><a id="QuickResult_a'+i+'" tag="'+i+'" return false;" href="/catalog.aspx?nid='+b[2]+'" alt="Аннотация товарная" title="Аннотация товарная">'+b[4]+'</a></li>';
									}
								}
							}
						}//for
						s += '</ol>';
					}
				}
				if (s=='') s=a;
				$('quickSearchResultContainer').innerHTML = s;
				QS.show__quickSearchResults();
				QS.setBlockPosition();
				QS.ResultActive = -1;
				if(m){
					for (var i=0;i<m.length;i++){//вешаем обработчики событий
						if (Browser.isOpera) {
							$('QuickResult_a'+i).onkeypress = function (e) {
								if (e.keyCode!=13) return false;
							}
						}
						if (Browser.isIE){
							$('QuickResult_a'+i).onkeydown = function () {
								QS.quickSearchKeyDownUp(window.event);
								if (window.event.keyCode!=13) return false;
							}
						} else {
							$('QuickResult_a'+i).onkeydown = function (e) {
								QS.quickSearchKeyDownUp(e);
								if (e.keyCode){
									if (e.keyCode!=13) return false;
								} else return false;
							}
						}//else
						$('QuickResult_a'+i).onmouseover=function(e){$('hlight'+this.getAttribute('tag')).style.textDecoration='';}
						$('QuickResult_a'+i).onmouseout=function(e){$('hlight'+this.getAttribute('tag')).style.textDecoration='underline';}
					}
				}
				$('quickSearchRunning').style.display='none';
				QS.searching=false;
				QS.lastFoundStr=searchStrOriginal;
				QS.quickSearch_changed();
			},
			"fomat":	"text",
			"method":	"post",
			"onError":	function (status) {
				alert ("\"Ашипка поиска\": "+status);
				$('quickSearchRunning').style.display='none';
				QS.searching=false;
			}
		});
	},

	HideFlashOnThePage: function(){
		var a=document.getElementsByTagName('OBJECT');
		if(!a){return}else if(a.length==0)return;
		for(var i=0;i<a.length;i++){
			var b=a[i].getAttribute('codebase');
			if(/flash/.test(b))if(a[i].id!='logotype')a[i].style.display='none';
		}
	},

	ShowFlashOnThePage: function(){
		var a=document.getElementsByTagName('OBJECT');
		if(!a){return}else if(a.length==0)return;
		for(var i=0;i<a.length;i++){
			var b=a[i].getAttribute('codebase');
			if(/flash/.test(b))if(a[i].id!='logotype')a[i].style.display='';
		}
	}
}

