var gobiekt = "";
var gtype = "";
var gsite = "";

function $(id) {
	return document.getElementById(id);
}

// zmiana koloru wiersza (onmouseover)
function highlight() {
	this.className = "highlight suggest";
}

// zmiana koloru wiersza (onmouseout)
function unhighlight() {
	this.className = "unhighlight suggest";
}

// akceptacja podpowiedzi
function selectWord() {
	$(gtype).value = this.innerHTML;
	$(gobiekt).style.display = "none";
}

// konwersja dokumentu XML na elementy span
function parseRecords(xml, type, obiekt) {
// zapisanie danych bieżącej strony
	with (xml.getElementsByTagName("words").item(0)) {
		var count = getAttribute("count")*1;
	}
			
	$(obiekt).style.padding = "2px 2px 2px 2px";
	$(obiekt).style.height = "210px";	
		
	if(count == 0) {
		$(obiekt).style.display = "none";
	}
  
	// wpisanie odpowiednich słów do pola podpowiadacza
	var space = $(obiekt);
	space.innerHTML = ""; // wyczyszczenie poprzedniej listy
	var word = xml.getElementsByTagName("word");
	for (i = 0; i < word.length; i++) {
		if (word[i].getAttribute("set") == 'title') {
			spanNode = document.createElement("span");
			spanNode.innerHTML = word[i].childNodes[0].nodeValue;
			spanNode.className = "bold";
			space.appendChild(spanNode);
		}
		if (word[i].getAttribute("set") == 'rekord') {
			spanNode = document.createElement("span");
			spanNode.innerHTML = word[i].childNodes[0].nodeValue;
			spanNode.className = "unhighlight suggest";
			spanNode.onmouseover = highlight;
			spanNode.onmouseout = unhighlight;
			spanNode.onmousedown = selectWord;
			
			if (gsite == "nchotel") {
				spanNode.onclick = "showLocation()";
			}
			
			space.appendChild(spanNode);
		}
	}
}

// funkcja wywołująca skrypt php i pobierająca dokument XML
function showWords(url, type, obiekt, site) {
	gobiekt = obiekt;
	gtype = type;
	gsite = site;
	string = $(type).value;
	if(string) { // przy pustym polu nie następuje wysyłanie żądania
		advAJAX.get({
			url : url,
      
			onInitialization : function() {
				$(obiekt).style.display = "none";
				$("ajax_process").style.display = "block";
			},
       
			onLoad : function() {
				$(obiekt).style.display = "none";
				$("ajax_process").style.display = "block";
			},
			
			onSuccess : function(obj) {
				$("ajax_process").style.display = "none";
				$(obiekt).style.display = "block";
				parseRecords(obj.responseXML, type, obiekt);
			},
       
			onError : function(obj) {
				alert("Nie można nawiązać połączenia z serwerem.");
			}
		});
	}
	else { // ukrycie warstwy
		$(obiekt).style.display = "none";
	}
}

// lokalizer
function showLocation() {
	string = $('hotelSearch').value;
	alert(string);
	url = 'modules/suggest/location.php?hotel='+string;
	if(string) {
		advAJAX.get({
			url : url,
			
			onInitialization : function() {
				$('place').disabled = true;
			},
			
			onLoad : function() {
				$('place').disabled = true;
			},
			
			onSuccess : function(obj) {
				$('place').value = obj.responseText;
			},
			
			onError : function(obj) {
				alert("Nie można nawiązać połączenia z serwerem.");
			}
		});
	}		
}


// NEW
// zmiana koloru wiersza (onmouseover)
function highlightNew(th) {
	th.className = "highlight suggest";
}

// zmiana koloru wiersza (onmouseout)
function unhighlightNew(th) {
	th.className = "unhighlight suggest";
}

// akceptacja podpowiedzi
function selectWordNew(name) {
	name = name.replace(/&apos;/g, "'");
	$(gtype).value = name;
	$(gobiekt).style.display = "none";
}

function showWordsNew(url, type, obiekt, site) {
	gobiekt = obiekt;
	gtype = type;
	gsite = site;
	string = $(type).value;
	if(string) { // przy pustym polu nie następuje wysyłanie żądania
		advAJAX.get({
			url : url,
      
			onInitialization : function() {
				$(obiekt).style.display = "none";
				$("ajax_process").style.display = "block";
			},
       
			onLoad : function() {
				$(obiekt).style.display = "none";
				$("ajax_process").style.display = "block";
			},
			
			onSuccess : function(obj) {
				$("ajax_process").style.display = "none";
				if (obj.responseText != "") {
					$(obiekt).innerHTML = obj.responseText;
					$(obiekt).style.padding = "2px 2px 2px 2px";
					$(obiekt).style.height = "210px";
					$(obiekt).style.display = "block";
				}
			},
       
			onError : function(obj) {
				alert("Nie można nawiązać połączenia z serwerem.");
			}
		});
	}
	else { // ukrycie warstwy
		$(obiekt).style.display = "none";
	}
}

function showLocation() {
	var hotel = document.getElementById("hotelSearch").value;
	hotel = hotel.replace(/&/g, ".amp.");
	hotel = hotel.replace(/'/g, ".das.");
	var url = "modules/suggest/location.php?hotel="+hotel;
	advAJAX.get({
		url : url,
		
		onInitialization : function() {
			$("ajax_process").style.display = "block";
		},
      
		onLoad : function() {
			$("ajax_process").style.display = "block";
		},
		
		onSuccess : function(obj) {
			$("ajax_process").style.display = "none";
			$("location").value = obj.responseText;
		},
       
		onError : function(obj) {
			alert("Nie można nawiązać połączenia z serwerem.");
		}
	});
}