//-----------------------------------------------------------------------------
//	$id$
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//	Erweitere die Klasse String um die Methode line()
//-----------------------------------------------------------------------------

String.prototype.line = function () {
    return this.replace(/\s+$/g,'').replace(/^\s+/g,'').replace(/\s+/g,' ');
}

//-----------------------------------------------------------------------------
//	Erweitere das Objekt "document" um die Methode "readCookie()"
//-----------------------------------------------------------------------------

document.readCookies = function () {
	result = {};
	if (!document.cookie) return result;
	var cookies = document.cookie.split(";");
	for (var i=0; cookies.length>i; i++) {
		var fields = cookies[i].line().split("=");
		result[fields[0]]=fields[1];
//		alert(fields);
	}
	return result;
};

//-----------------------------------------------------------------------------
//	Redirekt-Funktion
//	Kann bereits waehrend des Ladens der Seite aufgerufen werden.
//-----------------------------------------------------------------------------

function mobi302 () {

//	alert(document.cookie);

	//-------------------------------------------------------------
	//	Config
	//-------------------------------------------------------------

	var DEBUG		= false;
	var MobiLocation	= 'http://mobil.prisma.de/';
	var MobiCookie		= 'NOMO';
	var MobiMagic		= 'MOBI';

	//-------------------------------------------------------------
	//      Wenn das Cookie gesetzt ist, keine Weiterleitung
	//-------------------------------------------------------------

	if (document.readCookies()[MobiCookie]=='true') {
		if (DEBUG) alert ("Cookie bereits gesetzt. Keine Weiterleitung.");
		return;
	}

	//-------------------------------------------------------------
	//	Magische Query?
	//-------------------------------------------------------------

	if (location.search == '?'+MobiMagic) {
		if (DEBUG) alert ("Magische Query: werfe Cookie");
		document.cookie = MobiCookie+"=true;path=/;expires=Tue, 22 Feb 2022 21:22:22 GMT;";
		return;
	}

	//-------------------------------------------------------------
	//	Magischer Referer?
	//-------------------------------------------------------------

	if (document.referrer && document.referrer.match (/^http:\/\/mobil\.prisma\.de/i)) {
		if (DEBUG) alert ("Referrer ist mobi.prisma.de: werfe Cookie");
		document.cookie = MobiCookie+"=true;path=/;expires=Tue, 22 Feb 2022 21:22:22 GMT;";
		return;
	}

	//-------------------------------------------------------------
	//	Weiterleitung abhängig von UserAgent und Screensize
	//-------------------------------------------------------------

	try {
		var ua = navigator.userAgent==null?"":navigator.userAgent.toString();

		var sw = isNaN(parseInt(screen.width)) ? 0 : parseInt(screen.width);
		var sh = isNaN(parseInt(screen.height)) ? 0 : parseInt(screen.height);
		var sa = sw*sh;

		var ref= document.getElementById('sizeref');
		var ch = ref ? parseInt(ref.offsetHeight) : "?";
		var cw = ref ? parseInt(ref.offsetWidth) : "?";
		var ca = ch*cw;

		var sW = '?';
		var sH = '?';
		var sA = 9999;

		if (ca) {
		    sW = Math.round (sw/cw);
		    sH = Math.round (sh/ch);
		    sA = sW * sH;
		}

		if (
		    ua.match (/iPhone/i)
		||
		    ua.match (/BlackBerry/i)
		||
		    ua.match (/HTC/)
		||
		    ua.match (/Nokia/i)
		||
		    ua.match (/Samsung/i)
		||
		    ua.match (/SonyEricsson/i)
		||
		    ua.match (/MOT-/)
		||
		    ua.match (/LGE?-/)
		||
		    ua.match (/Palm/i)
		||
		    ua.match (/webOS/i)
		||
		    (ua.match (/Android/i) && Math.min(sw, sh) <= 480)
		    // (ua.match (/Android/i) && sA < 1000)
		) {
			//-------------------------------------------------------------
			//	Weiterleitung!
			//-------------------------------------------------------------
//			if (!confirm('Wollen Sie nach '+MobiLocation+' weitergeleitet werden?')) return;
			if (false) {	
				if (DEBUG) alert ("Einfach nur so: werfe Cookie, aber leite weiter.");
				document.cookie = MobiCookie+"=true;path=/;expires=Tue, 22 Feb 2022 21:22:22 GMT;";
			}
			if (DEBUG) alert ("Weiterleitung nach "+MobiLocation);
			location = MobiLocation;
		} else {
			//-------------------------------------------------------------
			//	Keine Weiterleitung.
			//-------------------------------------------------------------

			if (DEBUG) alert ("Kein Mobilgerät ("+ua+"), keine Weiterleitung");
		}
	} catch (err) {
	    // alert(err.message + ": " + err.description);
	}
}

mobi302();

//-----------------------------------------------------------------------------
//	$id$
//-----------------------------------------------------------------------------

