var xmlHttp = tworzXmlHttpRequestObject();
var buffor = new Object();
var stareImie = "";
var stareNaz = "";
var ileStrzalkaGora = 0;
var ileStrzalkaDol = 1;
var ileWgore = 0;
var ileWdol = 1;
var idListyWybor = "";
var pokazPola = 0;
var naPolu = 0;
var adresSkryptuPhp = "http://skrybot.pl/wp-content/themes/skrybot/pobierzSugestie.php";
window.onload = init;
function zerujPole(tmp_this,tmp_text){
	if(tmp_this.value == "") tmp_this.value = tmp_text;	
}
function warPoczt(tmp_this,tmp_text){
	if(tmp_this.value == tmp_text) tmp_this.value = "";	
}
function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

function init(){
	document.getElementById("imie").setAttribute("autocomplete", "off");
	document.getElementById("naz").setAttribute("autocomplete", "off");	
	setInterval("sprawdzZmiany()",500);
	
}
function nicNieRob(){}
function zamknijPodowiedz(){
	if(pokazPola == 1){
		document.getElementById('wstawSugestieGora').innerHTML = "";	
		document.getElementById('wstawSugestieGora').style.visibility = "hidden";
		document.getElementById('wstawSugestieDol').innerHTML = "";	
		document.getElementById('wstawSugestieDol').style.visibility = "hidden";		
	}
	
}
function tworzXmlHttpRequestObject() {
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	}
	catch(e) {
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
				"MSXML2.XMLHTTP.5.0",
				"MSXML2.XMLHTTP.4.0",
				"MSXML2.XMLHTTP.3.0",
				"MSXML2.XMLHTTP",
				"Microsoft.XMLHTTP");
		for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++)  {
			try  { 
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			} 
			catch (e) {}
		}
	}
	if (!xmlHttp)
		alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
	else 
		return xmlHttp;
}
function zerujPole(tmp_this,tmp_text){
	if(tmp_this.value == "") tmp_this.value = tmp_text;
}
function warPoczt(tmp_this,tmp_text){
	if(tmp_this.value == tmp_text) tmp_this.value = "";	
}
function xmlToArray(resultsXml){
	var resultsArray = new Array();		
	for(i = 0; i < resultsXml.length; i++)
		resultsArray[i] = resultsXml.item(i).firstChild.data;	
	return resultsArray;
}
function stworzHtmlSusgesti(tabDane,idPola){
	var divHtmlGora  = "";
	var divHtmlDol  = "";
	var wLewo = 0;
	ileWgore = 0;
	ileWdol = 1;
	ileStrzalkaGora = 0;
	ileStrzalkaDol = 0;

	var pozycia = getElementPosition(idPola);
	var rozmiarOdpowiedz = tabDane.length;
	var polowaRozmiaru = parseInt(tabDane.length / 2);
	if(rozmiarOdpowiedz !=  1) {
		for(var i = 0; i < rozmiarOdpowiedz; i++){		
			if(polowaRozmiaru - i > 0){			
				divHtmlGora += "<div id='divListaGora" + (ileWgore++)+ "' class='listaDiv' onclick='wstawDane(this,\""+idPola+"\")' onkeydown='wstawDane(this,\""+idPola+"\")'>" + tabDane[i] + "</div>";
			}
			else {
				divHtmlDol += "<div id='divListaDol" + (ileWdol++) + "' class='listaDiv' onclick='wstawDane(this,\""+idPola+"\")' onkeydown='wstawDane(this,\""+idPola+"\")'>" + tabDane[i] + "</div>";
			}
		}
	}
	else {
		
	}
	if(idPola == "imie") wLewo = 227;
	else if(idPola == "naz") wLewo = 347;
	document.getElementById('wstawSugestieGora').innerHTML = divHtmlGora;	
	document.getElementById('wstawSugestieGora').style.visibility = "visible";
	document.getElementById('wstawSugestieGora').style.left = (wLewo) + "px";
	document.getElementById('wstawSugestieGora').style.top = ((pozycia.top - 121) - (ileWgore * 18))+ "px";
	
	document.getElementById('wstawSugestieDol').innerHTML = divHtmlDol;	
	document.getElementById('wstawSugestieDol').style.visibility = "visible";
	document.getElementById('wstawSugestieDol').style.left = (wLewo) + "px";
	document.getElementById('wstawSugestieDol').style.top = (pozycia.top - 104) + "px";
	
}

function wstawDane(tmpThis,idPola){
	document.getElementById(idPola).value = tmpThis.innerHTML;
}


function wstawSugestie(){
	if (xmlHttp.readyState == 4) {		
		if (xmlHttp.status == 200) {
			var tabImionaSugestie = new Array();
			var tabNaziskaSugestie = new Array();
			var pole = "";
			var xmlResponse = xmlHttp.responseXML;
			var xmlRoot = xmlResponse.documentElement;
			try {
				tabImionaSugestie = xmlToArray(xmlRoot.getElementsByTagName("imie"));
				if(tabImionaSugestie.length > 1)
					stworzHtmlSusgesti(tabImionaSugestie,'imie');
				else if(tabImionaSugestie.length == 1) {
					document.getElementById('imie').value = tabImionaSugestie[0];
					document.getElementById('wstawSugestieGora').innerHTML = "";	
					document.getElementById('wstawSugestieGora').style.visibility = "hidden";
					document.getElementById('wstawSugestieDol').innerHTML = "";	
					document.getElementById('wstawSugestieDol').style.visibility = "hidden";
					
				}
				pokazPola = 1;
			}
			catch (e){}
			try {
				
				tabNaziskaSugestie = xmlToArray(xmlRoot.getElementsByTagName("naz"));
				if(tabNaziskaSugestie.length > 1)
					stworzHtmlSusgesti(tabNaziskaSugestie,'naz');
				if(tabNaziskaSugestie.length == 1) {
					document.getElementById('naz').value = tabNaziskaSugestie[0];
					document.getElementById('wstawSugestieGora').innerHTML = "";	
					document.getElementById('wstawSugestieGora').style.visibility = "hidden";
					document.getElementById('wstawSugestieDol').innerHTML = "";	
					document.getElementById('wstawSugestieDol').style.visibility = "hidden";
				}
				pokazPola = 1;
			}
			catch(e){}
		
		}
		
		else {
			alert("Brak poloczenie z serwerem: " + xmlHttp.statusText);
		}
	}
}

function sprawdzZmiany(){
	var imie = document.getElementById("imie");
	var naz  = document.getElementById("naz");
	if(imie.value != stareImie || naz.value != stareNaz){
		
		var varImie = 0;
		var varNaz = 0;
		var link = "";
		if(imie.value != "" && imie.value != "Imię" && imie.value != stareImie){
			varImie = 1;
			link += "&imie=" + imie.value;
		}
		else if(naz.value != "" && naz.value != "Nazwisko" && naz.value != stareNaz){
			varNaz = 1;
			link += "&naz=" + naz.value;
		}
		else if ( naz.value == "Nazwisko" && imie.value == "Imię"){
			document.getElementById('wstawSugestieGora').innerHTML = "";	
			document.getElementById('wstawSugestieDol').innerHTML = "";
		}
		if(varImie == 1 || varNaz == 1) {
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)	{
				xmlHttp.open("GET", adresSkryptuPhp + "?idZap=pobierzS"+link, true);
				xmlHttp.onreadystatechange = wstawSugestie;
				xmlHttp.send(null);
			}
			else {
				setTimeout("sprawdzZmiany()", 500);
			}
		}	
	}
	stareImie = imie.value;
	stareNaz = naz.value;
}
function onKeyDown(thisTmp){	
	function przechwyc(e) {
	var kod = code = (e.charCode) ? e.charCode :
	       ((e.keyCode) ? e.keyCode :
	           ((e.which) ? e.which : 0));
		var strzGd = 0;
		if(kod == 38) {		
			if(ileStrzalkaGora < ileWgore)
			ileStrzalkaGora++;
			ileStrzalkaDol--;
			strzGd = 1;
			
		}
		else if(kod == 40){
			
			if(ileStrzalkaDol < ileWdol){				
				ileStrzalkaGora--;
				ileStrzalkaDol++;
				strzGd = 1;
			}
		}
		if(kod == 13 && idListyWybor != "" ){
			thisTmp.value = document.getElementById(idListyWybor).innerHTML;
		}
		
			
		if(strzGd == 1){
			/*
			if(kod == 40 && (ileStrzalkaGora == 0 && ileStrzalkaDol == 0)){				
				for(var i = 1; i < ileWgore ;i++)
					document.getElementById('divListaGora' + i).setAttribute('class','listaDiv');
				
				document.getElementById('divListaDol1').setAttribute('class','listaDivZaz');
			} 
			
			else */
			if(ileStrzalkaGora >= 0 && ileStrzalkaDol < 1) {				
				var idNumer = ileWgore - ileStrzalkaGora;
				for(var i = 0; i < ileWgore ;i++){
					if(idNumer == i) {
						idListyWybor = 'divListaGora' + i;
						document.getElementById(idListyWybor).setAttribute('class','listaDivZaz');						
					}
					else
						document.getElementById('divListaGora' + i).setAttribute('class','listaDiv');
				}
				for(var i = 1; i < ileWdol ;i++)
					document.getElementById('divListaDol' + i).setAttribute('class','listaDiv');		
			}			
			else if(ileStrzalkaDol >= 1  && ileStrzalkaGora < 0) {
				for(var i = 1; i < ileWdol ;i++){
					if(ileStrzalkaDol == i) {
						idListyWybor = 'divListaDol' + i;
						document.getElementById(idListyWybor).setAttribute('class','listaDivZaz');						
					}
					else
						document.getElementById('divListaDol' + i).setAttribute('class','listaDiv');
				}	
				for(var i = 1; i < ileWgore ;i++)
					document.getElementById('divListaGora' + i).setAttribute('class','listaDiv');
			}			
		}
	}
	document.onkeydown = przechwyc;
}