		//Gets the browser specific XmlHttpRequest Object
		function getXmlHttpRequestObject() {
			if (window.XMLHttpRequest) {
				return new XMLHttpRequest();
			} else if(window.ActiveXObject) {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
			}
		}
		//Our XmlHttpRequest object to get the auto suggest
		var searchReq = getXmlHttpRequestObject();
		var RefreshListReq = getXmlHttpRequestObject();
		var EntryListReq = getXmlHttpRequestObject();
		var imageReq = getXmlHttpRequestObject();
		var iconReq = getXmlHttpRequestObject();
		var wikiReq = getXmlHttpRequestObject();
		var amazonReq = getXmlHttpRequestObject();
		var twitterReq = getXmlHttpRequestObject();
		var newsReq = getXmlHttpRequestObject();
		var videoReq = getXmlHttpRequestObject();
		var gHandle;
		//Called from keyup on the search textbox.
		//Starts the AJAX request.
		function searchSuggest(lang) {
			if (searchReq.readyState == 4 || searchReq.readyState == 0) {
				var str = escape(document.getElementById('searchField').value);
				searchReq.open("GET", 'http://www.elsenaju.com/keySuggest.php4?search=' + str + '&plang=' + lang, true);
				searchReq.onreadystatechange = handleSearchSuggest; 
				searchReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchSuggest() {
			if (searchReq.readyState == 4) {
				document.getElementById('search_suggest').innerHTML= "";
				var str = searchReq.responseText.split(",");
				for(i=1; i < str.length - 1; i++) {
					var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
					suggest += 'onmouseout="javascript:suggestOut(this);" ';
					suggest += 'onclick="javascript:setSearch1(this.innerHTML);" ';
					suggest += 'class="suggest_link">' + str[i] + '</div>';
					document.getElementById('search_suggest').innerHTML += suggest;
				}
			}
		}
		
		function searchDeep(lang, str, handle) { 
			if (searchReq.readyState == 4 || searchReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				gHandle= handle; 
				searchReq.open("GET", 'http://www.elsenaju.com/deepSearch.php5?search=' + str + '&plang=' + lang, true);
				searchReq.onreadystatechange = handleSearchDeep; 
				searchReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchDeep() { 
			if (searchReq.readyState == 4) { 
				document.body.style.cursor = 'default';
				gHandle.parentNode.style.clear= 'both';
				gHandle.style.clear= 'both';
				gHandle.innerHTML= searchReq.responseText; 
			}
		}
		
		function searchImage(lang, str, country) { 
			if (imageReq.readyState == 4 || imageReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				imageReq.open("GET", 'http://www.elsenaju.com/imageSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				imageReq.onreadystatechange = handleSearchImage; 
				imageReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchImage() { 
			if (imageReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= imageReq.responseText; 
				document.getElementById('ontop').appendChild(newDIV);
			}
		}
		
		function searchWiki(lang, str, country) { 
			if (wikiReq.readyState == 4 || wikiReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				wikiReq.open("GET", 'http://www.elsenaju.com/wikiSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				wikiReq.onreadystatechange = handleSearchWiki; 
				wikiReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchWiki() { 
			if (wikiReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var myArray = eval( wikiReq.responseText );
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[0]; 
				document.getElementById('ontop').appendChild(newDIV);
				while (document.getElementById('boxes').hasChildNodes()) { 
					var Child = document.getElementById('boxes').firstChild;
					document.getElementById('boxes').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[1]; 
				document.getElementById('boxes').appendChild(newDIV);
			}
		}
		
		function searchAmazon(lang, str, country) { 
			if (amazonReq.readyState == 4 || amazonReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				amazonReq.open("GET", 'http://www.elsenaju.com/amazonSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				amazonReq.onreadystatechange = handleSearchAmazon; 
				amazonReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchAmazon() { 
			if (amazonReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var myArray = eval( amazonReq.responseText );
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[0]; 
				document.getElementById('ontop').appendChild(newDIV);
				while (document.getElementById('boxes').hasChildNodes()) { 
					var Child = document.getElementById('boxes').firstChild;
					document.getElementById('boxes').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[1]; 
				document.getElementById('boxes').appendChild(newDIV);
			}
		}
		
		function searchTwitter(lang, str, country) { 
			if (twitterReq.readyState == 4 || twitterReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				twitterReq.open("GET", 'http://www.elsenaju.com/twitterSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				twitterReq.onreadystatechange = handleSearchTwitter; 
				twitterReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchTwitter() { 
			if (twitterReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var myArray = eval( twitterReq.responseText );
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[0]; 
				document.getElementById('ontop').appendChild(newDIV);
				while (document.getElementById('boxes').hasChildNodes()) { 
					var Child = document.getElementById('boxes').firstChild;
					document.getElementById('boxes').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[1]; 
				document.getElementById('boxes').appendChild(newDIV);
			}
		}
		
		function searchRefreshList(lang, str, country) { 
			if (RefreshListReq.readyState == 4 || RefreshListReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				RefreshListReq.open("GET", 'http://www.elsenaju.com/refresh-list.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				RefreshListReq.onreadystatechange = handleSearchRefreshList; 
				RefreshListReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchRefreshList() { 
			if (RefreshListReq.readyState == 4) {  
				document.body.style.cursor = 'default'; 
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var myArray = eval( RefreshListReq.responseText );
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[0]; 
				document.getElementById('ontop').appendChild(newDIV);
				while (document.getElementById('hotkeys').hasChildNodes()) { 
					var Child = document.getElementById('hotkeys').firstChild;
					document.getElementById('hotkeys').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[1]; 
				document.getElementById('hotkeys').appendChild(newDIV);
			}
		}
		
		function searchEntryList(lang, str, country, handle) { 
			if (EntryListReq.readyState == 4 || EntryListReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				gHandle= handle; 
				EntryListReq.open("GET", 'http://www.elsenaju.com/entry-list.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				EntryListReq.onreadystatechange = handleSearchEntryList; 
				EntryListReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchEntryList() { 
			if (EntryListReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				gHandle.parentNode.style.clear= 'both';
				gHandle.style.clear= 'both';
				gHandle.innerHTML= EntryListReq.responseText; 
			}
		}
		
		function searchNews(lang, str, country) { 
			if (newsReq.readyState == 4 || newsReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				newsReq.open("GET", 'http://www.elsenaju.com/newsSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				newsReq.onreadystatechange = handleSearchNews; 
				newsReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchNews() { 
			if (newsReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var myArray = eval( newsReq.responseText );
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[0]; 
				document.getElementById('ontop').appendChild(newDIV);
				while (document.getElementById('boxes').hasChildNodes()) { 
					var Child = document.getElementById('boxes').firstChild;
					document.getElementById('boxes').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= myArray[1]; 
				document.getElementById('boxes').appendChild(newDIV);
			}
		}
		
		function searchVideo(lang, str, country) { 
			if (videoReq.readyState == 4 || videoReq.readyState == 0) {
				document.body.style.cursor = 'wait'; 
				videoReq.open("GET", 'http://www.elsenaju.com/videoSearch.php5?search=' + str + '&plang=' + lang + '&country=' + country, true);
				videoReq.onreadystatechange = handleSearchVideo; 
				videoReq.send(null);
			}		
		}
		//Called when the AJAX response is returned.
		function handleSearchVideo() { 
			if (videoReq.readyState == 4) {  
				document.body.style.cursor = 'default';
				while (document.getElementById('ontop').hasChildNodes()) { 
					var Child = document.getElementById('ontop').firstChild;
					document.getElementById('ontop').removeChild(Child);
				}; 
				var newDIV = document.createElement('div'); 
				newDIV.innerHTML= videoReq.responseText; 
				document.getElementById('ontop').appendChild(newDIV);
			}
		}
		//Mouse over function
		function suggestOver(div_value) {
			div_value.className = 'suggest_link_over';
		}
		//Mouse out function
		function suggestOut(div_value) {
			div_value.className = 'suggest_link';
		}
		//Click function
		function setSearch(value) {
			document.getElementById('searchField').value += trim(value) + ' ';
			document.getElementById('search_suggest').innerHTML = '';
		}
		function setSearch1(value) {
			document.getElementById('searchField').value = trim(value);
			document.getElementById('search_suggest').innerHTML = '';
		}
// close showed layer
function mclose()
{
	document.getElementById('search_suggest').innerHTML = '';
}
function setAnotation(str)
{ 
	var Dolly2 = document.getElementById(str).cloneNode(true);
	Dolly2.id = 'ano1';
	if (document.getElementById('anotation').hasChildNodes()) { 
		var Child = document.getElementById('anotation').firstChild;
		document.getElementById('anotation').removeChild(Child);
	};
	document.getElementById('anotation').appendChild(Dolly2);
}
function MoveOnTop(str, obj)
{ 
	for (var i = 0; i <= obj.parentNode.childNodes.length - 1; i++)  { 
		if (obj.parentNode.childNodes[i].nodeType == 1) {
			obj.parentNode.childNodes[i].style.borderTop = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.borderLeft = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.backgroundColor = "#f9f9f9";
		};
	}
	obj.style.borderTop = "solid #C31884 1px";
	obj.style.borderLeft = "solid #C31884 1px"; 
	obj.style.backgroundColor = "#ececec";
	var Dolly2 = document.getElementById(str).cloneNode(true);
	Dolly2.id = 'top1';
	while (document.getElementById('ontop').hasChildNodes()) { 
		var Child = document.getElementById('ontop').firstChild;
		document.getElementById('ontop').removeChild(Child);
	};
	document.getElementById('ontop').appendChild(Dolly2);
}

function MoveTo(ziel, str, obj)
{ 
	for (var i = 0; i <= obj.parentNode.childNodes.length - 1; i++)  { 
		if (obj.parentNode.childNodes[i].nodeType == 1) {
			obj.parentNode.childNodes[i].style.borderTop = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.borderLeft = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.backgroundColor = "#f9f9f9";
		};
	}
	obj.style.borderTop = "solid #C31884 1px";
	obj.style.borderLeft = "solid #C31884 1px"; 
	obj.style.backgroundColor = "#ececec";
	var Dolly2 = document.getElementById(str).cloneNode(true);
	Dolly2.id = 'top1';
	while (document.getElementById(ziel).hasChildNodes()) { 
		var Child = document.getElementById(ziel).firstChild;
		document.getElementById(ziel).removeChild(Child);
	};
	document.getElementById(ziel).appendChild(Dolly2);
}

function MoveToIcon(ziel, str, obj)
{ 
	for (var i = 0; i <= obj.parentNode.childNodes.length - 1; i++)  { 
		if (obj.parentNode.childNodes[i].nodeType == 1) {
			obj.parentNode.childNodes[i].style.borderTop = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.borderLeft = "solid #f9f9f9 1px";
			obj.parentNode.childNodes[i].style.backgroundColor = "#f9f9f9";
		};
	}
	obj.style.borderTop = "solid #C31884 1px";
	obj.style.borderLeft = "solid #C31884 1px"; 
	obj.style.backgroundColor = "#ececec"; 
	var Dolly2 = document.getElementById(str).cloneNode(true);
	var linkArr= new String(Dolly2.innerHTML); 
	searchIcon(ziel,str,linkArr);
}
		
function searchIcon(p1,p2,p3) { 
	if (iconReq.readyState == 4 || iconReq.readyState == 0) {
		document.body.style.cursor = 'wait'; 
		p3= p3.replace(/\s/g, '');
		var searchS = p3.split('href='); 
		var searchStr = new String(''); 
		var searchStrNew = new String(''); 
		var flag = true;
		for (var i = 1; ((i <= searchS.length - 1) && flag); i++)  {
			searchStrNew= searchStr + searchS[i].replace(/.+http:\/\//g, '').replace(/[\\\"].+/g, '') + '##'; 
			if (searchStrNew.length < 1500) {
				searchStr= searchStrNew;
			} else {
				flag= false;
			};
		}
		searchStr= searchStr.slice(0, searchStr.length-3); 
		var encStr= new String(encodeURIComponent(searchStr).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A'));
		iconReq.open("GET", 'http://www.elsenaju.com/iconSearch.php5?search=' + encStr, true);
		iconReq.onreadystatechange = function() { handleSearchIcon(p1,p2); }; 
		iconReq.send(null);
	}		
}
//Called when the AJAX response is returned.
function handleSearchIcon(ziel,str) { 
	if (iconReq.readyState == 4) {  
		var imgArr= iconReq.responseText; 
		document.body.style.cursor = 'default'; 
		var Dolly2 = document.getElementById(str).cloneNode(true);
		Dolly2.id = 'top1';
			var newDIV = document.createElement('div'); 
			newDIV.innerHTML= imgArr; 
			Dolly2.childNodes[0].appendChild(newDIV);
		while (document.getElementById(ziel).hasChildNodes()) { 
			var Child = document.getElementById(ziel).firstChild;
			document.getElementById(ziel).removeChild(Child);
		};
		document.getElementById(ziel).appendChild(Dolly2);
	}
}

// close layer when click-out
document.onclick = mclose; 

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function LangSelect(select) {
  window.location.href = select.options[select.options.selectedIndex].value;
}

function chkFormular() {
  if (document.getElementById('searchField').value == "") {
    document.getElementById('searchField').focus();
    return false;
  };
  return true;
}

