function getXMLHTTP()
{
	var XMLHTTP = null;
	if (window.XMLHttpRequest) 
	{
		XMLHTTP = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{
		try 
		{
			XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	  } 
		catch (ex) 
		{
	    try 
			{
	    	XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	    } 
			catch (ex) 
			{
	    }
	  }
	}
	return XMLHTTP;
}

function stripHtmlTags(text)
{
	return text.replace(/(<([^>]+)>)/ig,"");
}

var Base64 = { _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++));enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0;while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }

function getPosition(element)
{
  var elem=element,tagname="",x=0,y=0;
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */
    if (tagname=="BODY")
      elem=0;
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }			
  position=new Object();
  position.x=x;
  position.y=y;
  return position;
}
function setValue(value)
{
	document.getElementById("keywords").value = value;
	suggestOut();
}

function suggestOut()
{
	document.getElementById("searchSuggest").style.display = "none";
}

function suggest(el)
{
	if(!el)
		return;
	if(el.value.replace(/ /g,"").length == 0)
	{
		suggestOut();
		return;
	}
		
	var xmlhttp = getXMLHTTP();
	xmlhttp.open("POST","../includes/xmlhttp.php");
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Charset","ISO-8859-1");
	xmlhttp.send("cmd=searchSuggest&searchStr="+el.value);
	xmlhttp.onreadystatechange = function()
	{
		if(xmlhttp.readyState == 4)
		{
			if(xmlhttp.status == 200 && xmlhttp.responseText.replace(/ /g,"").length > 0)
			{
				eval('var suggestions = new Array('+xmlhttp.responseText+');');
				var pos = getPosition(el);
				var searchSuggest = document.getElementById("searchSuggest");
				searchSuggest.style.left = pos.x+"px";
				searchSuggest.style.top = (pos.y+20)+"px";
				searchSuggest.innerHTML =  '<ul>';
				for(var i=0; i<suggestions.length; ++i)
					searchSuggest.innerHTML += '<li onclick="setValue(\''+suggestions[i]+'\')" onmouseover="this.className=\'suggestLinkOver\'" onmouseout="this.className=\'suggestLink\'" nowrap>'+suggestions[i]+'</li>';
				searchSuggest.innerHTML += '</ul>';
				searchSuggest.style.display = "block";
			}
		}
	}
}
	

function gamsvideo(url) 
{
  videowindow = window.open(url, "videowindow", "width=510,height=410,left=100,top=200,location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
  videowindow.focus();
}

function gamssource(url) 
{
  videowindow = window.open(url, "videowindow", "width=700,height=600,left=100,top=200,location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
  videowindow.focus();
}

window.onload = function() 
{
	document.getElementById('searchForm').setAttribute("autocomplete","off");
}