function createAjax()
{
	var resObject = null;

	try
	{
		resObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(Error)
	{
		try
		{
			resObject = new ActiveXObject("MSXML2.XMLHTTP");
		}
		catch(Error)
		{
			resObject = new XMLHttpRequest();
		}
	}
	return resObject;
}

// Für den Suchbalken der Topsuche
var intProgressCounter = 0;

function getColor(i)
{
	switch (i)
	{
		case 6: return ("FF6600"); break;
		case 5: return ("FF7D26"); break;
		case 4: return ("FF944C"); break;
		case 3: return ("FFAB73"); break;
		case 2: return ("FFC299"); break;
		case 1: return ("FFD9BF"); break;
		case 0: return ("FFF0E5"); break;
	}
	return;
}

function runProgress()
{
	if ( intProgressCounter == 8 )
	{
		intProgressCounter = 0;
	}

	for ( var i = 0; i < 7; i++ )
	{
		var x = ( i + intProgressCounter ) % 7;

		var mode = 1;

		switch (mode)
		{
			case 0:
				if ( x < intProgressCounter )
				{
					document.getElementById('pbb' + x).style.backgroundColor = getColor(i);
				}
				else
				{
					document.getElementById('pbb' + x).style.backgroundColor = "white";
				}
				break;

			case 1:
				document.getElementById('pbb' + x).style.backgroundColor = getColor(i);
				break;
		}
	}
	intProgressCounter ++;
}

function createCookie(c_name,c_value,expDays)
{
	var exp = new Date();
	exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
	document.cookie = c_name + '=' + escape(c_value) + ";expires=" + exp + '; path=/; domain=.' + ProjektName +'.de';
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

function showSearchBox()
{
	var SearchBox = document.getElementById('AddSearchBox');

	if ( SearchBox && getCookie("hideSearchInstall") == '' )
	{
		SearchBox.style.display = 'block';
	}
}

function installSearchEngine()
{
	if (window.external && ("AddSearchProvider" in window.external))
	{
		saveLinkStats(1);
		//window.external.AddSearchProvider("http://" + document.location.hostname + "/" + ProjektName + "_opensearch.xml");
		window.external.AddSearchProvider("http://" + document.location.hostname + "/gesext_opensearch.xml");
	}
	createCookie('hideSearchInstall','1','100');
	document.getElementById('AddSearchBox').style.display = 'none';
}

function saveLinkStats(type, city_name, geo_city, region, country, auction)
{
	var gsx_http = createAjax();

	if ( !city_name )
	{
		city_name = "";
	}

	if ( !geo_city )
	{
		geo_city = "";
	}

	if ( !country )
	{
		city_name = "";
	}

	if ( !auction )
	{
		auction = "";
	}

	if ( !region )
	{
		region = "";
	}

	var tmDate = new Date();
	gsx_http.open("GET", "./saveLinkStats.php?rand=" + tmDate.getTime() + "&type=" + type + "&city=" + escape(city_name) + "&geo_city=" + escape(geo_city) + "&region=" + escape(region) + "&country=" + country + "&auction=" + auction, false);
	gsx_http.send(null);
	delete gsx_http;
}

function getElementPosition(obj)
{
  var pos = { x:0, y:0 };

  do {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;
  } while (obj = obj.offsetParent);

  return pos;
}

function showGoogleTranslationBox()
{
    var google_trans_box = document.getElementById('google_translation_div');
	var translate_image = document.getElementById('translate_img');
	var google_trans_box_position = getElementPosition(translate_image);		
	var google_table = google_trans_box.getElementsByTagName('table')[0];
	var google_lastrow = google_table.rows[google_table.rows.length - 1];

	if ( google_trans_box.style.display == 'none' )
	{
	    google_trans_box.style.display = 'block';
	    google_trans_box.style.top = google_trans_box_position.y + 40;
	    google_trans_box.style.left = google_trans_box_position.x;
		google_lastrow.style.display = 'none';
	}
	else
	{
	    google_trans_box.style.display = 'none';
	}
}

function setLanguage(lang)
{
	setcookie(ProjektName + '_language', lang, 31104000, '/', ProjektName + '.de', 0);

	if ( getCookie(ProjektName + '_language') != '' )
	{
		saveLanguage(lang);
		if ( lang == "en" )
		{
			alert("We wanted to apologize for our english sites. At the moment we are working with high-pressure on the translation of www.gesext.de. We didnt assume the international run of site would be this big. It's possible that while you are surfing on the site you are going to find some more spelling mistakes.\n\nAnyway, we hope you are going to have a great time & lot of fun at www.gesext.de");
			location.href = SITE_NAME_URL + "/index_en.html";
		}
		else
		{
			location.href = SITE_NAME_URL;
		}
		var user_id = getCookie("gesext_LOGGED_IN");

	}
}

function setLanguage2(lang)
{
	setcookie(ProjektName + '_language', lang, 31104000, '/', ProjektName + '.de', 0);

	if ( getCookie(ProjektName + '_language') != '' )
	{
		saveLanguage(lang);
		if ( lang == "en" )
		{
			location.reload(true);
		}

		var user_id = getCookie("gesext_LOGGED_IN");

	}
}

function setcookie(name, value, expires, path, domain, secure) {
    // *     example 1: setcookie('author_name', 'Kevin van Zonneveld');
    // *     returns 1: true

	value = encodeURIComponent(value);
 
    if (expires instanceof Date)
	{
        expires = expires.toGMTString();
    }
	else if(typeof(expires) == 'number')
	{
        expires = (new Date(+(new Date) + expires * 1e3)).toGMTString();
    }
 
    var r = [name + "=" + value], s, i;
    for(i in s = {expires: expires, path: path, domain: domain})
	{
        s[i] && r.push(i + "=" + s[i]);
    }
    
    return secure && r.push("secure"), document.cookie = r.join(";"), true;
}

function saveLanguage(lang)
{
	var user_id = getCookie("gesext_LOGGED_IN");				  

	if(user_id != '')
	{
		gsx_http_markus = createAjax();

		var tmDate = new Date();
		gsx_http_markus.open("GET", "./register.php?id=" + user_id + "&language=" + lang + "&rand=" + tmDate.getTime(), false);
		gsx_http_markus.send(null);
		delete gsx_http_markus;
	}
}

function addEventSimple(obj,evt,fn)
{
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}