// Language definition
var lang = new Array();
lang[0] = new language ("English", "en", ""); // format: ("label", "id", "language root")

var currentLanguageIndex = 0;

// Root definition
var std_root = "";

// execute this after loading...

// Browser variables
var ns = (navigator.appName == 'Netscape'); 
var ie = !ns;
var ver = parseInt(navigator.appVersion);
if (navigator.appVersion.substring (0,4) == "4.05") var detectns40asns3 = true;
var subver = parseInt(navigator.appVersion.substring (2,3));
var ns4 = false;
if ((ns) && (ver >= 4)) var ns4 = true;
if (detectns40asns3 && subver == 0) var ns4 = false;
var ns3 = (!ns4 && ns);
var ie4 = ie && ver >= 4;
var ie3 = true;
var ie5 = (navigator.appVersion.indexOf ("MSIE 5") > 0);
if (ie4 || ie5) ie3 = false;
var v4 = (ns4 || ie4);
if (fakev3) {
	v4 = false;
	ns4 = false;
	ie4 = false;
	ie5 = false;
	ie3 = false;
	ns3 = false;
	if (ie) ie3 = true;
	else ns3 = true;
}
var mac = (navigator.appVersion.indexOf("Mac") != -1);


// store window size for Netscape resize fix
if (ns4) {
	ns_origWidth = innerWidth;
	ns_origHeight = innerHeight;
	onresize = netscapeResizeFix;
}


// print patch for ie5
//if (ie5) {
//	onbeforeprint = ie_beforeprint;
//	onafterprint = ie_afterprint;
//}

// Standard variables
var std_version = 20000419;
var debug = false;
var fakev3 = false; // detect any 4.x browser as 3.x browser
var detectns40asns3 = false; // detect NS 4.0x as NS 3
var fallbacklanguages = false; // use the fallback for the language popup

function language (name, id, root) {
	if (typeof (root) == "undefined") var root = "";
	this.name = name;
	this.id = id;
	this.root = root;
}

// Pathname stuff

function getPath (kind, myloc, languageid) {
	if (ns3 || ie4) {
		if (arguments.length >= 1) var kind = arguments[0];
		if (arguments.length >= 2) var myloc = arguments[1];
		if (arguments.length >= 3) var languageid = arguments[2];
	}

	if (!myloc || typeof (myloc) != "string") var myloc = location.href;
	if (typeof (languageid) != "number") var languageid = currentLanguageIndex;
	
	if (kind == "root") {
		if (std_root) return std_root;
		
		var tmp = "";
		var tmp = getPath ("localroot", myloc);
		return (tmp.substring (0, tmp.length-lang[languageid].id.length-1));	
	}
	
	if (kind == "localroot") {
		if (lang[languageid].root) return (lang[languageid].root);
		
		if (std_root) return (std_root + lang[languageid].id + "/");
		
		var tmp = "";
		var lng = "/" + lang[languageid].id + "/";
		if (myloc.indexOf (lng) >= 0) tmp = myloc.substring (0, myloc.indexOf (lng)) + lng;
		return tmp;
	}
	
	if (kind == "languageroot") {
		if (lang[languageid].root) return (lang[languageid].root);
		return (getPath ("root", myloc, currentLanguageIndex) + lang[languageid].id + "/");
	}
	
	if (kind == "styles") return (getPath ("localroot", myloc) + "scripts/");		
	
	if (kind == "scripts") return (getPath ("localroot", myloc) + "scripts/");	
	
	if (kind == "shared")	return (getPath ("localroot", myloc) + "shared/");		
	
	if (kind == "windows") return (getPath ("localroot", myloc) + "scripts/windows/");
	
	if (kind == "localdocument") {
		var localroot = getPath ("localroot", myloc, currentLanguageIndex);
		return (myloc.substring (localroot.length, myloc.length));
	}
	
	return "";	
}


// utility functions

var stylepath = getPath ("styles");
  if (mac) document.write('<link href="' + stylepath + 'bosch_mac.css" rel="StyleSheet" type="text/css">');
  else {
    if (ie4) document.write('<link href="' + stylepath + 'bosch_ie.css" rel="StyleSheet" type="text/css">');
    else document.write('<link href="' + stylepath + 'bosch_ns.css" rel="StyleSheet" type="text/css">');
   }



function netscapeResizeFix () {
	if (typeof (ns_origWidth) != "number" || typeof (ns_origHeight) != "number") return;
	if (innerWidth != ns_origWidth || innerHeight != ns_origHeight) location.reload();
}


// layer stuff

var LayerTimer = 0;
var xxv=0;

function getLayerStyleRef(layername) {
	if (layername == "untmenue_smm") {
		if (ns4) return document.untmenue_smm;
		if (ie4) return document.all.untmenue_smm.style;
	}
	if (layername == "untmenue_mst") {
		if (ns4) return document.untmenue_mst;
		if (ie4) return document.all.untmenue_mst.style;
	}
	if (layername == "untmenue_bmm") {
		if (ns4) return document.untmenue_bmm;
		if (ie4) return document.all.untmenue_bmm.style;
	}
	return null;
}

function getW(){
	if (ns4) {
		return window.innerWidth-16;
//		v='show';
	} else {
		return document.body.clientWidth;
//		v='visible';
	}  

}

function setLayerPosition(){

	if (!v4) return;
	
	
	var ref = getLayerStyleRef ("untmenue_smm");
	var w = getW();
	if (w>756) {w=w-756} else {w=0}
	ref.left = (w/2+236);
/*	if (xxv!=0){
		ref.visibility=v;
		xxv=0;
	}
*/	
	var ref = getLayerStyleRef ("untmenue_mst");
	var w = getW();
	if (w>756) {w=w-756} else {w=0}
	ref.left = (w/2+117);

	var ref = getLayerStyleRef ("untmenue_bmm");
	var w = getW();
	if (w>756) {w=w-756} else {w=0}
	ref.left = (w/2+353);

	
	
	
	
	
	LayerTimer=setTimeout("setLayerPosition()", 200);
}

// close layer

var LayerTimer =0;

function leave() {
	LayerTimer = setTimeout ("leaveLayer()", 20);
	xxv=0;
}

function enter() {
	if (LayerTimer) {
		clearTimeout (LayerTimer);
		LayerTimer = 0;
	}
}
function leaveLayer()
	{
	MM_showHideLayers('untmenue_smm','','hide');
	MM_showHideLayers('untmenue_mst','','hide');
	MM_showHideLayers('untmenue_bmm','','hide');
	}



// all done for now...

 function hideAllLayers(){
	MM_showHideLayers('untmenue_smm','','hide');
	MM_showHideLayers('untmenue_mst','','hide');
	MM_showHideLayers('untmenue_bmm','','hide');
 }