/**
 * 
 * All content on this website (including text, images, source
 * code and any other original works), unless otherwise noted,
 * is licensed under a Creative Commons License.
 * 
 * http://creativecommons.org/licenses/by-nc-sa/2.5/
 * 
 * Copyright (C) 2004-2007 Open-Xchange, Inc.
 * Mail: info@open-xchange.com 
 * 
 * @author Viktor Pracht <viktor.pracht@open-xchange.com>
 * @author Stefan Preuss <stefan.preuss@open-xchange.com>
 * 
 */

var limg = new Image();
limg.src = "img/ox_animated_withoutbg.gif";

var match = /(\w+)([-_](\w+))?/.exec(navigator.language || navigator.userLanguage);
var lang = "en_US";
if (match) {
	if (match[2]) {
		lang = match[1].toLowerCase() + "_" + match[3].toUpperCase();
		if (!{"de_DE": true, "en_US": true, "fr_FR": true}[lang])
			lang = {de: "de_DE", en: "en_US", fr: "fr_FR"}[match[1].toLowerCase()] || "en_US";
	} else
		lang = {de: "de_DE", en: "en_US", fr: "fr_FR"}[match[1].toLowerCase()] || "en_US";
}

var i18n = { de_DE:[], en_US:[], fr_FR:[] };
function addlTag(lcode, id, val) { i18n[lcode][id]=val; }
function getlTag(lcode, id) {	return (i18n[lcode] && i18n[lcode][id] ? i18n[lcode][id] : i18n["en_US"][id]); }

addlTag("fr_FR", "t1", "<b>Information:</b><br>"
					+ "Il semble que vous n'utilisez pas le navigateur web le plus adapt&eacute; &agrave; cette application.<br>"
					+ "Un des navigateurs suivants devraient contribuer &agrave; am&eacute;liorer les performances:<br>"
					+ "<ul><li>Firefox &agrave; partir de la version 2.0 - <a href=\"http://www.firefox.com\" target=\"_blank\">www.firefox.com</a></li>"
					+ "<li>Internet Explorer 7 - <a href=\"http://www.microsoft.com/windows/downloads/\" target=\"_blank\">www.microsoft.com</a></li></ul>");
addlTag("en_US", "t1", "<b>Information:</b><br>"
					+ "It has been identified that you are not using the most optimal web browser for this application.<br>"
					+ "One of the following should help improve performance:<br>"
					+ "<ul><li>Firefox from 2.0 - <a href=\"http://www.firefox.com\" target=\"_blank\">www.firefox.com</a></li>"
					+ "<li>Internet Explorer 7 - <a href=\"http://www.microsoft.com/windows/downloads/\" target=\"_blank\">www.microsoft.com</a></li></ul>");
addlTag("de_DE", "t1", "<b>Information:</b><br>"
					+ "Sie verwenden nicht den optimalen Browser f&uuml;r diese Anwendung.<br>"
					+ "F&uuml;r einen reibungslosen Einsatz der Applikation und zum Erzielen bestm&ouml;glicher Performance, empfehlen wir den Einsatz eines der folgenden Browser:<br>"
					+ "<ul><li>Firefox ab Version 2.0 - <a href=\"http://www.firefox.com\" target=\"_blank\">www.firefox.com</a></li>"
					+ "<li>Internet Explorer 7 - <a href=\"http://www.microsoft.com/windows/downloads/\" target=\"_blank\">www.microsoft.com</a></li></ul>");
addlTag("en_US", "t2", "Your Mozilla version is not supported.<br>Please update to a newer version.");
addlTag("de_DE", "t2", "Ihre Mozilla-Version wird nicht unterst&uuml;tzt.<br>Bitte aktualisieren Sie auf eine neuere Version");	
addlTag("en_US", "t3", "Your browser does not support AJAX (the XMLHttpRequest object).");
addlTag("de_DE", "t3", "Ihr Browser unterst&uuml;tzt kein AJAX (das Objekt XMLHttpRequest).");
addlTag("en_US", "t4", "Your browser is not supported. Continue at your own risk.");
addlTag("de_DE", "t4", "Ihr Browser wird nicht unterst&uuml;tzt. Fahren Sie auf eigenes Risiko fort.");

function testAJAX() {
	try {
		if (new XMLHttpRequest()) return true;
	} catch (e) {
		try {
			if (new ActiveXObject("Msxml2.XMLHTTP")) return true;
		} catch (e) {
			try {
				if (new ActiveXObject("Microsoft.XMLHTTP")) return true;
			} catch (e) {
				return false;
			}
		}
	}
	return false;
}

function write(text, allow) {
	document.getElementById("browserchecktext_id").innerHTML=text;
	if (allow)
		document.getElementById("browsercheck_button").style.display="";
	else
		document.getElementById("browsercheck_button").style.display="none";
}

function ok() {
	write("<img src=\"" + limg.src + "\" width=\"25\" height=\"25\" align=\"absmiddle\"> Loading Application Data ... Please Wait ...");
	window.setTimeout(function() { window.location = "ox.html" + window.location.hash; }, 0);
}

function check() {	
	if (navigator.appName == "Microsoft Internet Explorer") {
		var version = Number(navigator.appVersion.match(/MSIE (\d+\.\d+)/)[1]);
		if (version <= 6) {
			write(getlTag(lang, "t1"), true);			
		} else ok();
	} else if (navigator.appName == "Netscape" && navigator.userAgent.indexOf("rv:") >= 0) {
		var version = Number(navigator.userAgent.match(/rv:(\d+\.\d+)/)[1]);
		if (version < 1.8)
			write(getlTag(lang, "t2"), false);
		else ok();
	} else if (!testAJAX()) {
		write(getlTag(lang, "t3"), false);
	} else {
		write(getlTag(lang, "t4"), true);
	}
}
