// poenaru.js
// 1.0 2008-01-15


var poe_oRedirects = {
	english : "home.htm",
	francais : "home-fr.htm",
	deutsch : "home-de.htm"
}

String.prototype.trim = function(){return this.replace( /(^\s*)|(\s*$)/g, "")};

function poe_fGetEvent( e ){ return ( e || window.event ); };
function poe_fGetSrcElement( oEvent )
{
	var eSrcElement = ( oEvent.srcElement || oEvent.target );
	while( eSrcElement.nodeType != 1 )
	{
		eSrcElement = eSrcElement.parentNode;	
	}
    return eSrcElement;
}

function poe_fGetCookie( sName )
{
	var sDocCookie = document.cookie;
	var xName = new RegExp( "(^|\\s|\;)" + sName + "=([^\\;]*)" );
	var bExists = xName.test( sDocCookie );
	if( bExists )
	{
		var sValue = RegExp.$2;
		sValue = sValue.trim();
        return ( sValue.length == 0 ) ? null : sValue;
	}
	return null;
}

function poe_fDeleteCookie( sName ) { poe_fSetCookie( sName, "", new Date() ); };

function poe_fSetCookie( sName, sValue, dDate )
{
	if( dDate == null )
	{
		dDate = new Date();
		dDate.setDate( dDate.getDate() + 365 );
	}
	var sExpiresDate = ( dDate.toGMTString() );
	var sNamePair = ( [ sName, escape( sValue ) ].join( "=" ) + ";" );
	var sExpiresPair = ( [ "expires", sExpiresDate ].join( "=" ) + ";" );
	var sPathPair = ( [ "path", ( "/" ) ].join( "=" ) + ";" );
	document.cookie = [ sNamePair, sExpiresPair, sPathPair ].join( "" );
}

function poe_fGetCookieLanguage()
{
	return poe_fGetCookie( "poelang" );
}

function poe_fSetCookieLanguage( sLanguage )
{
	return poe_fSetCookie( "poelang", sLanguage );
}

function poe_fCheckOnLoad()
{
	var sLanguage = poe_fGetCookieLanguage();
	if( sLanguage )
	{
		var sRedirect = poe_oRedirects[ sLanguage ];
		if( sRedirect )
		{
			window.location.replace( sRedirect );
		}
	}
}

function poe_fDocumentOnClick( e )
{
	var eSrcElement = poe_fGetSrcElement( poe_fGetEvent( e ) );
	if( eSrcElement.tagName.toLowerCase() == "a" )
	{
		var sLanguage = eSrcElement.className;
		var sRedirect = poe_oRedirects[ sLanguage ];
		if( sRedirect )
		{
			poe_fSetCookieLanguage( sLanguage );
		}
	}
}

//poe_fDeleteCookie( "poelang" )

poe_fCheckOnLoad();
document.onclick = poe_fDocumentOnClick;


