function ajaxFunction(){
  var xmlHttp;
  try{
    // Utworzenie obiektu XMLHttpRequest (silnik Gecko, Webkit, Presco)
    xmlHttp=new XMLHttpRequest(); 
  } catch(e) {
    // Wyłapuje błąd jeśli JavaScript nie posiada obiektu XMLHttpRequest
    try {
      // Utworzenie obiektu ActiveXObject, który jest zawarty w kontrolce ActiveX IE
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch(e) {
      try {
        // Utworzenie obiektu ActiveXObject, dla innych wersji IE
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch(e) {
        // Wyświetlenie błędu o braku obsługi obiektu XMLHttpRequest
        alert("Your browser does not support AJAX!"); 
        return false;
      }
    }
  }
  // zwrócenie obiektu
  return xmlHttp; 
}






function getData(zrodlo,param,cel,resID)
{
	var ObiektXMLHttp = ajaxFunction();
	 
	if(ObiektXMLHttp) {
	ObiektXMLHttp.open( "GET",zrodlo);
	ObiektXMLHttp.onreadystatechange = function(){
        if (ObiektXMLHttp.readyState == 1) {
        }
		
         if (ObiektXMLHttp.readyState == 4) {
		
            if (ObiektXMLHttp.status == 200) {
				
				var xml = ObiektXMLHttp.responseXML;
				if (xml!=null)
				{
				var div = document.getElementById(resID);
				var result='<table id="table_suggest" cellpadding="0" cellspacing="0"><thead style="overflow-x:hidden; overflow-y:auto;">';
				if(xml.getElementsByTagName('name').length<9) suggestLength = xml.getElementsByTagName('name').length;
				else  suggestLength=9;
				activeOption=0;
				flag=-1;
				for (var i = 0; i < suggestLength; i++) 
				{
 				  result+='<tr style="height:10px;"><td id="option'+i+'" colspan="3" onmouseover="mark(this,true);" onmouseout="mark(this,false);" onclick="javascript: flag_is_change=true; change(this);" >'+(xml.getElementsByTagName('name')[i].childNodes[0].nodeValue)+'</td></tr>';
				  if (i==9) break;
				}
				 if (xml.getElementsByTagName('name').length>0) div.innerHTML=result+'</thead><tbody><tr><td style=" width:30%" ></td><td style=" width:40%" ></td><td style=" width:30%; text-align:right;" ><div style="width:50px; text-color:blue;" onclick="hideSuggest();" >close</div></td></tbody></table>';
				}
			}
			
            else {
		    //alert('@SSError>'+ObiektXMLHttp.status);
		  }
        }
    };

    ObiektXMLHttp.setRequestHeader('Content-Type','application/xml');
    ObiektXMLHttp.setRequestHeader('Cache-Control','no-cache');
    //if (ObiektXMLHttp.overrideMimeType) ObiektXMLHttp.overrideMimeType('text/html; charset=ISO-8859-2');	
   
	
	ObiektXMLHttp.send(null);	
	
	}
}



function get_suggest ( word ) {

if (suggID=="kw")
  URL="http://www.beebargains.com/application/res/sugg/srch_sugg.aspx";
if (suggID=="tbxBrand")
  URL="http://www.beebargains.com/hive/postings/get_suggBrands.php";
if (suggID=="tbxManuf")
  URL="http://www.beebargains.com/hive/postings/get_suggManuf.php";
if (suggID=="tbxModel")
  URL="http://www.beebargains.com/hive/postings/get_suggModel.php";
if (suggID=="tbxType")
  URL="http://www.beebargains.com/hive/postings/get_suggType.php";
if (suggID=="tbxColor")
  URL="http://www.beebargains.com/hive/postings/get_suggColor.php";
if (suggID=="tbxSize")
  URL="http://www.beebargains.com/hive/postings/get_suggSize.php";
  
  
  

if (word!="")
getData(URL +'?input='+word,null,"result",suggRes);
 


}

//edycja tabelki
function mark(element,option)
{
	if (option){
		element.style.backgroundColor="#113595";
        element.style.color="#FFFFFF";
	}
	else 
		{element.style.backgroundColor="transparent";
         element.style.color="#000000";}
}

function change(element)
{
	if (flag_is_change){
	activeOption=0;
	if (flag==0) x=(activeOption-1); else x=activeOption;
	
	if (document.getElementById("option"+x))
	mark(document.getElementById("option"+x),false);
	document.getElementById(suggID).value=element.innerHTML;
	var e = document.getElementById(suggRes);
    e.style.display="none";
	flag_is_change=false;
	} 
}


function hideSuggest()
{
document.body.focus();

if ( document.getElementById(suggRes))
var element = document.getElementById(suggRes);
element.style.display='none';
}

function keyPress(URL,element) {
   element.style.display="block";
   var e = document.getElementById(suggID);
   get_suggest(URL,e.value);
   return true;
}

d=p=0;

function keyPressHandler(e) {
      var klawisz;
	  if (window.event) klawisz = window.event.keyCode;
      else if (e) klawisz = e.which;
	  document.getElementById(suggRes).style.display="block";
				
				
	  var targ;
       if (e.target != null)
       {
	  if (e.target) targ = e.target;
	  else if (e.srcElement) targ = e.srcElement;
	  if (targ.nodeType == 3) // defeat Safari bug
	  targ = targ.parentNode;
	if (targ.id ==suggID)
	{
      switch(klawisz){
	  case 27:
	  if(document.getElementById(suggRes)){
		 var element = document.getElementById(suggRes);
		 element.style.display="none";
		 }
	  break;
	  case 13:
		
		hideSuggest();
		if (flag==0) x=(activeOption-1); else x=activeOption;
		var element = document.getElementById("option"+(x));
		change(element);
		submitSearch();
		return;
		break;
		 
	  case 38:
		 flag_is_change=true;
	 
		 if (activeOption>0){
		 if (flag==0) activeOption--;
		 
			 	if (activeOption==suggestLength-1)
				{
				 var element = document.getElementById("option"+activeOption);
			     mark(element,false);
				 var element = document.getElementById("option"+(activeOption-1));
			     mark(element,true);
				}
				
				else
				{
						 var element = document.getElementById("option"+(activeOption));
						 mark(element,false);
						 var element = document.getElementById("option"+(activeOption-1));
						 mark(element,true);
						
				
					
				}
				 if (activeOption>0) activeOption--;
				  flag=1;
			}
		  break;
		  
	  case 40:
			flag_is_change=true;
	  
		   if (activeOption<=suggestLength-1){
				if (activeOption==0)
				{
				var element = document.getElementById("option"+activeOption);
			    mark(element,true);
				}
				
				if (flag==1) activeOption++;
				
				if (activeOption>0)
				{
				 var element = document.getElementById("option"+(activeOption-1));
				 mark(element,false);
				 
			     var element = document.getElementById("option"+(activeOption));
			     mark(element,true);
				
				 }
				  if (activeOption<suggestLength) activeOption++;
			     flag=0;
			}
			break;
	  default:
	   for(i=0;i<=suggestLength-1;i++) 
		     mark(document.getElementById("option"+i),false);
	   if (document.getElementById(suggID).value=="") hideSuggest();
	   var e = document.getElementById(suggID);
	   document.getElementById(suggRes).style.display="block";
	   get_suggest(e.value);
		
	  }
	  
	 } else hideSuggest();
       }
       else hideSuggest();
   }
 
