var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i<data.length;i++)	{
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
},
dataBrowser: [
{ 	string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{		// for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ 		// for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]

};
BrowserDetect.init();

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


function readCookie(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 eraseCookie(name)
{
createCookie(name,"",-1);
}


if ( !projectID ) var projectID = "";

window.onload = new Function("setWidth();");
window.onresize = new Function("setWidth();");
eventHandlerOnKeyUp();

window.setInterval("checkFontSize()", 500);

function checkFontSize()
{
if (!thisFontSize) var thisFontSize = 10;
var newFontSize = getDivisor();

if ( thisFontSize != newFontSize )
{
setWidth();
}
var thisFontSize = newFontSize;
}


function setWidth()
{

if(document.getElementById('teaserBlockA'))
{
setWidthPortalTeaser();
}

}
function setWidthPortalTeaser()
{
var maxPortalTeaserWidth = 71.2; // defined for 1024 Resolution
var roundedPortalTeaserWidth = Number( Math.round(getWidthPortalTeaser() *10 ) /10);

if (BrowserDetect.browser=="Explorer" && BrowserDetect.version=="7") var roundedPortalTeaserWidth = roundedPortalTeaserWidth + 0.105;

if ( maxPortalTeaserWidth > roundedPortalTeaserWidth )
{
var realPortalTeaserWidth = getWidthPortalTeaser();
var teaserWidth = Number(realPortalTeaserWidth/2 - 0.05);

if (BrowserDetect.browser=="Explorer") // && BrowserDetect.version=="6"
{
document.getElementById('teaserBlockA').style.width = realPortalTeaserWidth + "em";
document.getElementById('teaserBlockB').style.width = realPortalTeaserWidth + "em";

document.getElementById('colorA').style.width = teaserWidth + "em";
document.getElementById('colorB').style.width = teaserWidth + "em";
document.getElementById('colorC').style.width = teaserWidth + "em";
document.getElementById('colorD').style.width = teaserWidth + "em";
}
else
{
document.getElementById('teaserBlockA').style.width = "100%";
document.getElementById('teaserBlockB').style.width = "100%";
}
}
else
{
if (BrowserDetect.browser=="Explorer") // && BrowserDetect.version=="6"
{
document.getElementById('teaserBlockA').style.width = "35.6em";
document.getElementById('teaserBlockB').style.width = "35.6em";

document.getElementById('colorA').style.width = "17.785em";
document.getElementById('colorB').style.width = "17.785em";
document.getElementById('colorC').style.width = "17.785em";
document.getElementById('colorD').style.width = "17.785em";
}
else
{
document.getElementById('teaserBlockA').style.width = "50%";
document.getElementById('teaserBlockB').style.width = "50%";
}
}
}

function getWidthPortalTeaser( )
{
var container = document.getElementById('container').offsetWidth;

var divisor = getDivisor();
var conainerAbzug = Number(253 * (divisor/10));
var containerCenter = Number(container - conainerAbzug);

var width = Number(containerCenter/divisor);

return width;
}


function getDivisor()
{
var fontSize = getStyle(document.getElementById("container"), "font-size") || getStyle(document.getElementById("container"), "fontSize");
if( BrowserDetect.browser=="Explorer" ) fontSize = fontSize * 16.1362 ;

if( BrowserDetect.browser=="Explorer" )
{
fontSize = getStyleIE();
var divisor = fontSize;
return divisor;
}
else
{
fontSize = fontSize.replace('px','');
fontSize = fontSize.replace('em','');
var divisor = Number(fontSize);
return divisor;
}
}
function getStyleIE()
{
var containerMarginalB = document.getElementById('containerMarginalB');
var x = (containerMarginalB==null?10:(containerMarginalB.offsetWidth/22.4));
return x;
}


function getStyle(oElm, strCssRule){
var strValue = "";
if(document.defaultView && document.defaultView.getComputedStyle){
strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
}
else if(oElm.currentStyle){
strCssRule = strCssRule.replace(/-(w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
strValue = oElm.currentStyle[strCssRule];
}
return strValue;
}


function getClientWidth()
{
var clientWidth = window.innerWidth;
if ( !clientWidth )
{
var clientWidth = document.body.clientWidth;
}
return clientWidth;
}



function functionOnKeyUp ( KeyEvent ) // NetscapeFunction
{

var keyCode = KeyEvent.which;
if ( keyCode == "61" || keyCode == "109")
{
alert("Taste2: " + Key);
}

}


function eventHandlerOnKeyUp()
{
if (window.document.layers) // Netscape
{
document.onkeyup = functionOnKeyUp;
}
else
{
document.onkeyup = new Function("setWidth();");
}
}





function decorate ( id, action )
{
if (action == "over")
{
document.getElementById('portalTeaser'+id+'1').style.textDecoration = "underline";
document.getElementById('portalTeaser'+id+'2').style.textDecoration = "underline";
}
else if (action == "out")
{
document.getElementById('portalTeaser'+id+'1').style.textDecoration = "none";
document.getElementById('portalTeaser'+id+'2').style.textDecoration = "none";
}
}

