var globalPage = 0;
var ajaxOnTheWay = false;
var ajaxObject = false;


AjaxLoader = function(){
	if (window.XMLHttpRequest) { 
		req = new XMLHttpRequest(); 
	} else if (window.ActiveXObject) { 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
	if(!req) {
		return false;
	}
	return req;
}


function makeOptions(result)
{
	var  result_split = result.split('|<>|');
	
	el=document.getElementById('stadtSuche');
	el.innerHTML='';
	for(i=0; i<result_split.length; i++) {
		var foo2 		= document.createElement("option");
		var Wert 		= document.createAttribute("value");
		var selected	= document.createAttribute("selected");
		result_split2 	= result_split[i].split('|-|true');
		foo2.appendChild(document.createTextNode(result_split2[0]));
		if(result_split2.length == 2){
			selected.nodeValue = 'selected';	   			
   			foo2.setAttributeNode(selected);
		}
		if(result_split2[0] != '-- Alle --')
		{
			Wert.nodeValue = result_split2[0];
			foo2.value=result_split2[0];
		}
		foo2.setAttributeNode(Wert);
  		el.appendChild(foo2);
	}
	return true;
}


function ajaxQueue(toTransmit, way){
	if(!way){
		if(ajaxOnTheWay){
			ajaxObject = toTransmit;
			return false;
		} else {
			ajaxOnTheWay = true;
			ajaxRequest(toTransmit);
			return true;
		}
	} else {
		callback = toTransmit[0];
		eval(callback+"('"+toTransmit[1]+"');");
		if(ajaxObject){
			ajaxRequest(ajaxObject);
			ajaxObject = null;
		}
	}
}


function ajaxRequest(toSend){
	myLoader = AjaxLoader();
	myLoader.onreadystatechange = function(){
		if (myLoader.readyState == 4) {
			if (myLoader.status == 200) {
				if(myLoader.responseText){
					ajaxOnTheWay = 0;
					var results = myLoader.responseText.split('|>|||<|');

					ajaxQueue(results, 1);
					return true;
				}
			}
		}
	}
	
	myLoader.open("GET", toSend, true);
	myLoader.send(null);
}


function getLoadCitys(land, stadt){
	toSend = "includes/ajaxFunktions.php?land="+encodeURI(land)+"&stadt="+encodeURI(stadt)+"&callback=makeOptions";
	ajaxQueue(toSend, 0);
}


function createSearchHits(result){
	result = result.split('<||>');
	bewertung_durch_experten
	getId('treffer').innerHTML = result[0];
	getId('searchResults').innerHTML = result[2];
	getId('suchergebnisseLoad').style.display = "none";
	getId('suchergebnisse').style.display = "block";
	getId('pages').innerHTML = result[1];
	getId('pages2').innerHTML = result[1];
	
	createCookie('Land', getId('landSuche').value);
	createCookie('Stadt', getId('stadtSuche').value);
	createCookie('Seite', globalPage);
}


function getSearchResults(land, stadt, seite){
	globalPage = seite;
	getId('suchergebnisse').style.display = "none";
	getId('suchergebnisseLoad').style.display = "block";

	toSend = "includes/ajaxGetSearchResults.php?land="+encodeURI(land)+"&stadt="+encodeURI(stadt)+"&site="+encodeURI(seite)+"&callback=createSearchHits&pid="+pid;

	ajaxQueue(toSend, 0);
}


function checkLandFeld(){
	if(!getId('landSuche').value){
		alert("Bitte wählen Sie zuerst ein Land aus!");
		return false;
	}
}


/*
 * Um nicht jedesmal document.getElementById() zu schreiben!
 */
 
function getId(id){
	return document.getElementById(id);
}

function createCookie(name,value) {
	var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
