/* JavaScript zum speichern der Scrollbalken-Position beim neu laden der Seite.*/


if(window.addEventListener)
{
	// Mozilla
	window.addEventListener('unload',savePosition,false);
	window.addEventListener('load',loadPosition,false);
}
else
{
	// IE
	window.attachEvent('onunload',savePosition);
	window.attachEvent('onload',loadPosition);
}

// Position des Scrollbalkens ermitteln und in Cookie speichern
function savePosition(Event)
{   
	var offsetX = 0, offsetY = 0;
    
    if(typeof(window.pageYOffset) == 'number')
	{
		// Mozilla
		offsetY = window.pageYOffset;
		offsetX = window.pageXOffset;
	}
	else if(document.body && (document.body.scrollLeft || document.body.scrollTop))
	{
		// < IE6
		offsetY = document.body.scrollTop;
		offsetX = document.body.scrollLeft;
	}
	else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
	{
		// >= IE6 
		offsetY = document.documentElement.scrollTop;
		offsetX = document.documentElement.scrollLeft;
	}   
	
	var cookieString = window.location.pathname+"|"+offsetX+"|"+offsetY;

	// Seitenname in Cookie speichern
    setCookie('scrollLocation', cookieString);
}

// Letzte Position des Scrollbalkens laden
function loadPosition()
{        
	var cookieContent = getCookie('scrollLocation');
	if (cookieContent == null || cookieContent.length == 0)  
		return;

	var cookieElems = cookieContent.split("|");
	if (cookieElems.length != 3)
		return;
	
	var sitePath = cookieElems[0];
	var x = cookieElems[1];
	var y = cookieElems[2];
	
	if(sitePath && (sitePath == window.location.pathname))
	{
		if(x || y)
			window.scrollTo(x, y);
	}
}

// Daten in Cookie speichern
function setCookie(name, value)
{
	var expires = new Date();
	expires = new Date(expires.getTime() +1000*5);
	
	var cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() + "; path=/";
    document.cookie = cookie;
}

// Daten aus Cookie auslesen
function getCookie(name)
{
    // Cookie, Suchmuster und Anfangsposition
    var cookie = document.cookie;
    var prefix = name + "=";
    var begin = cookie.indexOf(prefix);        
	if (begin < 0)
	{
		return null;
	}
	
    // Endposition ermitteln
    var end = document.cookie.indexOf(";", begin);
    end = (end == -1) ? cookie.length : end;

    return unescape(cookie.substring(begin + prefix.length, end));
}

// Cookie loeschen
function deleteCookie(name)
{
    // Verfallsdatum in die Vergangenheit setzen
    if(getCookie(name))
        document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
