/* BB / 2008-05-06 / Funktionen fuer get und set-Cookie */
function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value) {
	var expiration = new Date();
	var sevenDays = expiration.getTime() + (7 * 24 * 60 * 60 * 1000);
	expiration.setTime(sevenDays);
	var curCookie = name + "=" + escape(value) + ";expires=" + escape(expiration.toGMTString()) + ";";
	document.cookie = curCookie;
}

/* globale Variablen fuer Loginbox */
var UserID			= getCookie("NPREMIUMID");
var UserName		= getCookie("PREMIUM_USERNAME");
var StatUPS		= 	getCookie("PREMIUM_USERNAME");
/* Leerzeichen (+) im Usernamen ersetzen */
if(UserName != null)
{
	UserName = UserName.replace(/\+/,' ');
}
var LoginBoxInfos	= getCookie("LGB_INFOS");
var DateObj = new Date();

if(!LoginBoxInfos)
{
	var MessageNumber	= 0;
	var AlertNumber 	= 0;
	var FriendsOnline 	= 0;
	var LastLBCheck 	= null;
	var StatUPS			= '';
}
else
{
	getLBValuesFromCookie();
}

/* BB / 2008-05-07 / Ajax-Funktion fuer Loginbox per Cookie */
function getLoginboxOverCookie() {

	/* User eingeloggt? */
	if(!UserID || UserID == 0)
	{
		/* Auslieferung der Login / Registrieren - Links */
		document.getElementById('LoginKasten').innerHTML = '<div id="top_premium"><span><a href="/index.cfm?pid=1590" class="logout">Registrieren</a> | <a href="/index.cfm?pid=103&op=10" class="logout">Login</a></span></div>';
	}
	else
	{
		/* Datumspruefung, wann wurde zuletzt upgedated (alle 5 Minuten) */
		CheckDate = DateObj.getTime() - (5 * 60 * 1000);
		/* Werte fuer Loginbox neu holen */
		if(LastLBCheck == null || LastLBCheck <= CheckDate)
		{
			getLoginboxValues();
		}

		/* Auslieferung der Loginbox inkl. Infos aus Cookies */
		document.getElementById('LoginKasten').innerHTML = '<div id="top_premium"><span style="text-align:right"><a href="/index.cfm?pid=975&pk=' + UserID + '">Hallo ' + UserName + '</a> | <a class="logout" href="/index.cfm?pid=103&amp;opv=999">Logout</a><br /><a class="news" href="/index.cfm?pid=1090">Nachrichten (' + MessageNumber + ')</a> | <a class="alerts" href="/index.cfm?pid=1090">Alerts (' + AlertNumber + ')</a> | <a class="friends" href="/index.cfm?pid=1096">Freunde (' + FriendsOnline + ')</a></span></div>';
	}
}

/* BB / 2008-04-10 / Ajax-Funktion fuer Loginbox Values */
function getLoginboxValues() {
	var rnd = Math.round(Math.random()*1000000);

	// make request
	if (window.XMLHttpRequest) {
		myXmlreq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try { myXmlreq = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e1) {
			try { myXmlreq = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch (e2) {}
		}
	}

	if ( myXmlreq ) {
		myXmlreq.open('GET', 'http://'+window.location.hostname+'/_misc/login/_dyn_ajax_loginboxvalues.cfm?cacheconfuse='+rnd, false);
		myXmlreq.send(null);
		if ( myXmlreq.status == 200 ) {
			/*
			var loginboxcontent = myXmlreq.responseXML.getElementsByTagName("content")[0].childNodes[0].nodeValue;
			*/

			MessageNumber	= myXmlreq.responseXML.getElementsByTagName("messages")[0].childNodes[0].nodeValue;0;
			AlertNumber 	= myXmlreq.responseXML.getElementsByTagName("alerts")[0].childNodes[0].nodeValue;0;
			FriendsOnline 	= myXmlreq.responseXML.getElementsByTagName("friends")[0].childNodes[0].nodeValue;0;
			LastLBCheck 	= DateObj.getTime();
			StatUPS 		= myXmlreq.responseXML.getElementsByTagName("statups")[0].childNodes[0].nodeValue;0;
			setLBValuesToCookie();
		}
	}
}
/* BB / 2008-05-07 / Hole Loginvalues vom Cookie */
function getLBValuesFromCookie() {
	/* Array fuer Werte aus Cookie */
	var aLBValues = new Array();
	/* Cookie aufteilen */
	aLBValues = LoginBoxInfos.split(';');

	/* Nachrichten */
	MessageNumber = aLBValues[0];
	/* Alerts */
	AlertNumber = aLBValues[1];
	/* Freunde */
	FriendsOnline = aLBValues[2];
	/* LastCheck */
	LastLBCheck = aLBValues[3];
	/* stat. Links zur UPS */
	StatUPS = aLBValues[4];
}

/* BB / 2008-05-07 / Setze Loginvalues in Cookie */
function setLBValuesToCookie() {
	LoginBoxInfos = MessageNumber + ';' + AlertNumber + ';' + FriendsOnline + ';' + LastLBCheck + ';' + StatUPS;
	setCookie('LGB_INFOS',LoginBoxInfos);
}

/* BB / 2008-04-10 / Ajax-Funktion fuer Loginbox */
function getLoginbox() {
	var rnd = Math.round(Math.random()*1000000);

	// make request
	if (window.XMLHttpRequest) {
		myXmlreq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try { myXmlreq = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e1) {
			try { myXmlreq = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch (e2) {}
		}
	}

	if ( myXmlreq ) {
		myXmlreq.open('GET', 'http://'+window.location.hostname+'/_misc/login/_dyn_ajax_loginbox.cfm?cacheconfuse='+rnd, false);
		myXmlreq.send(null);
		if ( myXmlreq.status == 200 ) {
			var loginboxcontent = myXmlreq.responseXML.getElementsByTagName("content")[0].childNodes[0].nodeValue;

			document.getElementById('LoginKasten').innerHTML = loginboxcontent;
		}
	}
}
