function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(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 delCookie(name) {
	setCookie(name,"",-1);
}

/**
 * start xmlHttpRequest if user is logged in
 * @access public
 * @return void
 **/
var lastRetrievalTry = 0;
function getNewMessageCount()
{

	// only check for messages if user is logged id - minimize requests...
	var ct = "";
	if(document.cookie) ct = document.cookie;
	if(ct.indexOf("ppAllow=1") > -1)
	{
		// need some time
		var dObj = new Date();
		var ts = dObj.getTime();
		if(lastRetrievalTry < ts - 30000)
		{
			doRequest('http://www.lakeparty.de/msg_getcount.php', 'respondNewMessageCount' );
			lastRetrievalTry = ts;
		}
	}
	else
	{
		delCookie('ppAllow');
		delCookie('ppModerator');
		delCookie('cRank');
		delCookie('cUserID');
		delCookie('cName');
		delCookie('cLoggedIn');
		//location.href='http://www.lakeparty.de/';
	}

}

/**
 * process returned value
 * @access public
 * @return void
 **/
function respondNewMessageCount(req)
{
	var count = parseInt( req.responseText );
	if(!isNaN(count) && count > -1)
	{
		setMessageBox(count);
	}
	else if( !isNaN(count) && count == -2 )
	{
		location.href='http://www.lakeparty.de/';
	}
}





/**
 * start a request
 * callbackFunction defines the function to be
 * called when request has entered stage4
 * this function ist intended for GET operations only!
 */
function doRequest(url,callbackFunction)
{
	var req = getHTTPObject();
	req.onreadystatechange = function()
	{
		// Request must be complete
	    if (req.readyState == 4)
		{
	        // Request must have been successful
	        if (req.status == 200)
			{
				window[callbackFunction](req);
			}
		}
	}

	// tweak url to get around browser-depended caching
	var dObj = new Date();
	var apSign = '&';
	if(url.indexOf('?') == -1) apSign = '?';
	url = url + apSign + 'curTimeStmp=' + dObj.getTime();

	req.open("GET", url, true);
	req.send(null);
}

/**
 * Create Browser-independant xmlHTTPrequest Object
 */
function getHTTPObject()
{
	var xmlhttp;

	// branch for mozilla-compatible
	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
	}

	// branch for IE/Windows ActiveX version
	else if (window.ActiveXObject)
	{
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}

	// no xmlHTTPrequest object found
	else
	{
		alert('xmlHTTPrequests are not possible on this browser!\nPlease upgrade to a newer Version.');
	}

	return xmlhttp;
}


/**
 * addLoadEvent()
 * Adds event to window.onload without overwriting currently assigned onload functions.
 * Function found at Simon Willison's weblog - http://simon.incutio.com/
 */
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}



window.setInterval("getNewMessageCount()",35000);
addLoadEvent(getNewMessageCount);
