
function wyswietl_wynik(odpowiedz)
{
	startList(odpowiedz[3],odpowiedz[4]);
	selectedIndex=1;
	li=list.getElementsByTagName("li");	
	li[0].className="selected";
	
}


var id;
var defaultText;
var field;
var selectedIndex;
var div;
var list;

function wyslij(e,obiekt,tabela,kolumna)
{
	if(!e)var e=event;
	var kod=e.keyCode;
		 var calyTekst=obiekt.value;
		 var created=check();
		 
		 switch(kod){
					 case 13:
							 selectList();
							 selectedIndex=0;
						     clearList();											 
						     return false;
						     break;			
					 case 27:  // esc
							 obiekt.value="";
							 selectedIndex=0;
							 clearList();
							 break;				
					 case 38: // up
							 if(created!=0)
							 navList("up");
							 break;
					 case 40: // down	
							 if(created!=0)
						 	 navList("down");		
							 break;
				    }
		 if(kod<8||(kod>8&&kod<32)||(kod>=33&&kod<=46)||(kod>=112&&kod<=123)){}
		 else
		 x_autosugestia(calyTekst,kod,obiekt.id,tabela,kolumna,wyswietl_wynik);
		 
		
}
										   
function wejscie(obiekt)
{
	if(list) list.style.display="none";	 
	var classActive="sf_active";	
	field=obiekt;
	var classSuggestion="sf_suggestion";
	if(field){
			  field.c=field.className;		
			  selectedIndex=0;	
			  field.setAttribute("autocomplete", "off");
			  div=document.createElement("div");
			  list=document.createElement("ul");
			  list.style.display="none";
			  div.className=classSuggestion;
			  list.style.width=field.offsetWidth + "px";
			  div.appendChild(list);
			  field.parentNode.appendChild(div);					 
			 }
	obiekt.className=obiekt.c + " "  + classActive;
}

function wyjscie()
{
	if(list) list.style.display="none";	
}

	
function startList(po,dl)
{
	if(field.value.length > 0){
							   createList(po,dl);
						      } 
	else{
		 clearList();
		}	
}
															
function createList(arr,dl)
{				
	resetList();			
	if(dl > 0){
			   for(i=0;i<dl;i++){		
								 li=document.createElement("li");
								 a=document.createElement("a");
								 a.href="javascript:void(0);";
								 a.i=i+1;
								 a.innerHTML=arr[i];
								 li.i=i+1;
								 li.onmouseover=function(){
														   navListItem(this.i);
														  }
								 a.onmousedown=function(){
														  selectedIndex=this.i;
														  selectList(this.i);	
													      clearList();	
														  return false;
														 }					
								 li.appendChild(a);
								 list.setAttribute("tabindex", "-1");
								 list.appendChild(li);	
								 
								}	
			   list.style.display="block";	
			   
			  } 
	else{
		 clearList();
		}
}	
															  														  
function resetList()
{
	var li=list.getElementsByTagName("li");
	var len=li.length;
	for(var i=0;i<len;i++){
						   list.removeChild(li[0]);
						  }
}
	
function navList(dir)
{			
	selectedIndex += (dir == "down") ? 1 : -1;
	li=list.getElementsByTagName("li");
	if (selectedIndex < 1) selectedIndex= li.length;
	if (selectedIndex > li.length) selectedIndex= 1;
	navListItem(selectedIndex);
}

function navListItem(index)
{	
	selectedIndex=index;
	li=list.getElementsByTagName("li");
	for(var i=0;i<li.length;i++){
								 li[i].className=(i==(selectedIndex-1)) ? "selected" : "";
								}
	selectList();		
}

function selectList()
{
	li=list.getElementsByTagName("li");	
	a=li[selectedIndex-1].getElementsByTagName("a")[0];
	field.value=zamienEncjeHTML(a.innerHTML);
	
	if(field.createTextRange){
							  var myRange=field.createTextRange();
							  myRange.collapse(true);
							  myRange.moveEnd('character', field.value.length);
							  myRange.moveStart('character', field.value.length);
							  myRange.select();
							 }
}			

function clearList()
{
	if(list){
			 list.style.display="none";
			 selectedIndex=0;
			 if(field.createTextRange){
									   var myRange=field.createTextRange();
									   myRange.collapse(true);
									   myRange.moveEnd('character', field.value.length);
									   myRange.moveStart('character', field.value.length);
									   myRange.select();
									  }
			}
}		

function check()
{
 return selectedIndex;
}														

