
function closeAll (){
	document.getElementById("inteli_search").value = "";
	document.getElementById("inteli_search").blur();
	suggestion_list.flush_list();
}

aReqs = new Array();

function inteli_check (event, input)
{

	suggestion_list.flush_list();
	if(input.value.length > 0){
		
		abord_reqs();
		
		if(input.value.search(/\d{1,5}/) > -1) {
	
			suggestion_list.add_category("Wyszukiwanie wg. kodu obiektu:");
			
			aKody = input.value.match(/\d{1,5}/);
			
			aReqs.push(fromObjectCode(aKody[0]));
		
		}else{
		
			suggestion_list.add_category("Wyszukiwanie wg. nazwy obiektu:");
			aReqs.push(fromObjectName(input.value));
			
			suggestion_list.add_category("Wyszukiwanie wg. tematyki:");
			aReqs.push(fromArticleKeyword(input.value));
			
			suggestion_list.add_category("Miejsca:");
			aReqs.push(fromMiejsca(input.value));
			
		}
		
		regQuery(input.value);
	}
	return false;
}

function abord_reqs ()
{
	while(tmp = aReqs.pop())
	{
		tmp.abord();
	}
}

function regQuery(text)
{
	oParams = {
		key : text	
	};
		
	simpleRequest("ajax.php?ajax=inteli_search&inteli=regQuery", oParams, "post", nop);
}

function nop (){}

function fromObjectCode (text) {

	oParams = {
		ajax : "inteli_search",
		inteli : "kodObiektu",
		obiekt : text	
	};
	
	
		
	return simpleRequest("ajax.php", oParams, "get",toObjectCode);

}

function toObjectCode(text){

	suggestion_list.fill_category("Wyszukiwanie wg. kodu obiektu:", stripXML(text, "req"));

	if(text.indexOf("Brak pasujących") > -1) 
	{
		suggestion_list.delete_category("Wyszukiwanie wg. kodu obiektu:");
	}
}

function fromObjectName (text) {

	oParams = {
		ajax : "inteli_search",
		inteli : "nazwaObiektu",
		nazwa : text	
	};
	
	
		
	return simpleRequest("ajax.php", oParams, "get",toObjectName);

}

function toObjectName(text){

	suggestion_list.fill_category("Wyszukiwanie wg. nazwy obiektu:", stripXML(text, "req"));
		
	if(text.indexOf("Brak pasujących") > -1) 
	{
		suggestion_list.delete_category("Wyszukiwanie wg. nazwy obiektu:");
	}
	
}


function fromArticleKeyword(text){

	oParams = {
		ajax : "inteli_search",
		inteli : "ArticleKeyword",
		key : text	
	};
	
	
		
	return simpleRequest("ajax.php", oParams, "get",toArticleKeyword);

}

function toArticleKeyword(text)
{

	suggestion_list.fill_category("Wyszukiwanie wg. tematyki:", stripXML(text, "req"));
		
	if(text.indexOf("Brak pasujących") > -1) 
	{
		suggestion_list.delete_category("Wyszukiwanie wg. tematyki:");
	}
}


function fromMiejsca(text){

	oParams = {
		ajax : "inteli_search",
		inteli : "places",
		key : text	
	};
	
	
		
	return simpleRequest("ajax.php", oParams, "get",toMiejsca);

}

function toMiejsca(text)
{

	suggestion_list.fill_category("Miejsca:", stripXML(text, "req"));
		
	if(text.indexOf("Brak pasujących") > -1) 
	{
		suggestion_list.delete_category("Miejsca:");
	}
}


suggestion_list = {

	i_categories : 0,

	add_category : function (s_category_name)
	{
		if(this.list == null) this.create_list();
		
		tmp = "<div  style='width: 300; text-align: left; padding: 3px; background-color: #ffe201; font-weight: bold; font-size: 14;color: 012f9c;'><span style='padding-left: 15;'>"+s_category_name+"</span><div id='"+s_category_name+"' style='background-color: white; width: 300;'></div></div>";
		this.list.innerHTML += tmp;
		
		this.loading_category(s_category_name);		
		
		this.i_categories++;
		
	},
	
	fill_category : function (s_category_name, s_content)
	{
		document.getElementById(s_category_name).innerHTML = s_content;
	},
	
	delete_category : function (s_category_name)
	{
		if(this.i_categories > 1)
		{
			this.list.removeChild(document.getElementById(s_category_name).parentNode);
			this.i_categories--;
		}
	},
	
	loading_category : function (s_category_name)
	{
		s_content = "<img src='gfx/kreciol.gif' valign='middle'> Ładuję... ";
		this.fill_category(s_category_name, s_content);
	},
	
	list : null,
	
	create_list : function () 
	{
		otmp = document.createElement("div");
		
		document.getElementById("inteli_content").appendChild(otmp);
		
		otmp.style.display = "block";
		otmp.style.position = "absolute";
		otmp.style.backgroundColor = "lightgrey";

		if(navigator.userAgent.indexOf("Safari") > -1){
			otmp.style.left = -130;
		}else{
			otmp.style.left = -270;
		}
		
		otmp.style.width = 300;
		
		inner = document.createElement("div");
		otmp.style.display = "block";
		otmp.appendChild(inner);
//		otmp.style.position = "absolute";
		
		this.list = inner;
		
		document.body.onclick = closeAll;
		
	},
	
	flush_list : function ()
	{
		this.i_categories = 0;
		document.getElementById("inteli_content").innerHTML = "";
		this.list = null;	
		document.body.onclick = null;
	}
};

