// create menu

function createMainmenuPoint(mmID, mmWidth, mainMenuPoint) {
	
	var myBrowser = browserCheck();
	
	var div1 = document.createElement("div");
	div1.style.width = mmWidth+"px";
	div1.style.height = "30px";
	div1.style.border = "1px none #000000";
	//div1.style.overflow = "hidden";
	
	var div2 = document.createElement("div");
	div2.style.position = "absolute";
	div2.style.left = "0px";
	div2.style.zIndex = "10";
	div2.style.overflow = "visible";
	
	var div3 = document.createElement("div");
	div3.style.width = mmWidth+"px";
	div3.style.display = "block";
	
	var mainmenupoint_left = document.createElement("div");
	mainmenupoint_left.className = "mainmenupoint_left";
	mainmenupoint_left.style.display = "inline";
	
	var mainmenupoint_right = document.createElement("div");
	mainmenupoint_right.className = "mainmenupoint_right";
	mainmenupoint_right.style.display = "inline";
	
	var mainmenupoint_container = document.createElement("div");
	mainmenupoint_container.style.width = (mmWidth - (2*14) )+"px"; // sutr. left & right
	mainmenupoint_container.style.height = "41px";
	mainmenupoint_container.style.position = "absolute";
	
	var mainmenupoint_content = document.createElement("div");
	mainmenupoint_content.className = "mainmenupoint_content";
	mainmenupoint_content.style.width = (mmWidth - (2*14) )+"px"; // sutr. left & right
	mainmenupoint_content.style.height = "41px";
	
	if (myBrowser != "IE 6" && myBrowser != "IE 7") { mainmenupoint_content.style.marginLeft = "14px"; };
	mainmenupoint_content.style.marginTop = "0px";
	mainmenupoint_content.style.position = "relative";
	
	// balken
	var balken = document.createElement("div");
	balken.style.width = "100%";
	balken.style.height = "20px";
	balken.style.paddingTop = "10px";
	
	var mp_Balken_mmID = document.createElement("div");
	mp_Balken_mmID.style.width = "100%";
	mp_Balken_mmID.style.height = "5px";
	mp_Balken_mmID.style.backgroundColor = "#666666";
	mp_Balken_mmID.style.overflow = "hidden";
	mp_Balken_mmID.id = "mp_Balken"+mmID;
	
	var mainmenubalken_left = document.createElement("div");
	mainmenubalken_left.className = "mainmenubalken_left";
	mainmenubalken_left.style.display = "inline";
	
	var mainmenubalken_right = document.createElement("div");
	mainmenubalken_right.className = "mainmenubalken_right";
	mainmenubalken_right.style.fontSize = "1px";
	mainmenubalken_right.style.lineHeight = "5px";
	mainmenubalken_right.style.marginTop = "0px";
	mainmenubalken_right.style.paddingTop = "0px";
	mainmenubalken_right.style.display = "inline";
	
	var mainmenubalken_container = document.createElement("div");
	mainmenubalken_container.className = "mainmenubalken_container";
	mainmenubalken_container.style.display = "inline";
	
	var mainmenubalken_content = document.createElement("div");
	mainmenubalken_content.className = "mainmenubalken_content";
	
	var mainmenupoint_text = document.createElement("div");
	mainmenupoint_text.className = "mainmenupoint_text";
	mainmenupoint_text.id = "mp_Text"+mmID;
	
	var txt = mainMenuPoint.unescapeHTML();
	var text = document.createTextNode(txt);
	mainmenupoint_text.appendChild(text);
	mainmenubalken_container.appendChild(mainmenubalken_content);
	
	mp_Balken_mmID.appendChild(mainmenubalken_left);
	mp_Balken_mmID.appendChild(mainmenubalken_right);
	mp_Balken_mmID.appendChild(mainmenubalken_container);
	balken.appendChild(mp_Balken_mmID);
	
	mainmenupoint_content.appendChild(balken);
	mainmenupoint_content.appendChild(mainmenupoint_text);
	mainmenupoint_container.appendChild(mainmenupoint_content);
	
	div3.appendChild(mainmenupoint_left);
	div3.appendChild(mainmenupoint_right);
	div3.appendChild(mainmenupoint_container);
	
	div2.appendChild(div3);
	div1.appendChild(div2);
	
	return div1;
}

function createSubmenuPoint(mmID, smID, subMenuPoint) {
	
	var smp_Div = document.createElement("div");
	smp_Div.className = "smp_Div";
	
	var submenupoint_content = document.createElement("div");
	submenupoint_content.className = "submenupoint_content";
	submenupoint_content.id = "smp_Box_"+mmID+"_"+smID;
	
	var submenupoint_header_l = document.createElement("div");
	submenupoint_header_l.className = "submenupoint_header_l";
	
	var submenupoint_header_r = document.createElement("div");
	submenupoint_header_r.className = "submenupoint_header_r";
	
	var submenupoint_header = document.createElement("div");
	submenupoint_header.className = "submenupoint_header";
	
	submenupoint_header_r.appendChild(submenupoint_header);
	submenupoint_header_l.appendChild(submenupoint_header_r);
	
	var submenupoint_side_l = document.createElement("div");
	submenupoint_side_l.className = "submenupoint_side_l";
	
	var submenupoint_side_r = document.createElement("div");
	submenupoint_side_r.className = "submenupoint_side_r";
	
	var submenupoint_text = document.createElement("div");
	submenupoint_text.className = "submenupoint_text";
	submenupoint_text.id = "smp_Text_"+mmID+"_"+smID;
	
	var txt = subMenuPoint.unescapeHTML();
	var text1 = document.createTextNode(txt);
	submenupoint_text.appendChild(text1);
	submenupoint_side_r.appendChild(submenupoint_text);
	submenupoint_side_l.appendChild(submenupoint_side_r);
	
	
	var submenupoint_footer_l = document.createElement("div");
	submenupoint_footer_l.className = "submenupoint_footer_l";
	
	var submenupoint_footer_r = document.createElement("div");
	submenupoint_footer_r.className = "submenupoint_footer_r";
	
	var submenupoint_footer = document.createElement("div");
	submenupoint_footer.className = "submenupoint_footer";
	submenupoint_footer_r.appendChild(submenupoint_footer);
	submenupoint_footer_l.appendChild(submenupoint_footer_r);
	submenupoint_content.appendChild(submenupoint_header_l);
	submenupoint_content.appendChild(submenupoint_side_l);
	submenupoint_content.appendChild(submenupoint_footer_l);

	smp_Div.appendChild(submenupoint_content);
	
	return smp_Div;
}

function menu_EventMainChecker(that, evt) {
	
	var i = that.ivar;
	
	if (evt == "over") {
		if (typeof(menu_OverMain) == 'function') { menu_OverMain(i); };
	}
	if (evt == "out") {
		if (typeof(menu_OutMain) == 'function') { menu_OutMain(i); };
	}
	if (evt == "click") {
		if (typeof(menuClickM) == 'function') { menuClickM(that.urlvar); };
	}
}

function menu_EventSubChecker(that, evt) {
	
	var i = that.ivar;
	var n = that.nvar;
	
	if (evt == "over") {
		if (typeof(menu_OverMain) == 'function') { menu_Over(i, n); };
	}
	if (evt == "out") {
		if (typeof(menu_OutMain) == 'function') { menu_Out(i, n); };
	}
	if (evt == "click") {
		if (typeof(menuClickM) == 'function') { menu_Click(that.url, that.cl1, that.cl2); };
	}
}

function browserCheck() {
	
	check=[
	['window.postMessage',
	 'window.XMLHttpRequest&&(document.postMessage||window.external)',
	 'document.compatMode',
	 '(document.detachEvent||document.contentType)'],
	['window.execScript','window.pkcs11','window.opera',
									  'window.navigator&&window.navigator.vendor'],
	[['IE 8','FF 3','Op 9.5','KDE?'],
	 ['IE 7','FF 2','Op 9','KDE?'],
	 ['IE 6','FF 1.5','Op 8','KDE/Safari 3'],
	 ['IE 5x','NN 7','Op 7','KDE/Konqu. 3']]];
	var j; var b; for(n=0;n<check[1].length;n++){if(!eval(check[1][n])==0)b=n;}
	for(n=check[0].length;n>-1;n--){if(!eval(check[0][n])==0)j=n;}
	var myBrowser = ((j>-1&&b>-1)?check[2][j][b]:'?');
	
	return myBrowser;
}

function createMenu(arr_menu) {
	
	var menuContainer = document.createElement("div");
	menuContainer.className = "menuContainer";
	
	var i = 0;
	var mmw;
	var LPmenu = document.createElement("div");
	var mainmenuPoint;
	var smContID_i;
	var mainmenuPointFake;
	
	while(i < arr_menu.length) {
		
		mmw = arr_menu[i][3];
		mainmenuPoint = document.createElement("div");
		mainmenuPoint.className = "mainmenuPoint";
		mainmenuPoint.style.width = mmw+"px";
		
		smContID_i = document.createElement("div");
		smContID_i.id = "smContID_"+i;
		smContID_i.className = "submenuContainer";
		smContID_i.style.width = mmw+"px";
		smContID_i.ivar = i;
		
		smContID_i.onmouseover = function() { menu_EventMainChecker(this, "over"); };
		smContID_i.onmouseout = function() { menu_EventMainChecker(this, "out"); };
		
		mainmenuPointFake = document.createElement("div");
		mainmenuPointFake.className = "mainmenuPointFake";
		mainmenuPointFake.style.width = mmw+"px";
		mainmenuPointFake.ivar = i;
		mainmenuPointFake.urlvar = arr_menu[i][1];
		
		mainmenuPointFake.onmouseover = function() { menu_EventMainChecker(this, "over"); };
		mainmenuPointFake.onmouseout = function() { menu_EventMainChecker(this, "out"); };
		mainmenuPointFake.onclick = function() { menu_EventMainChecker(this, "click"); };
		
		smContID_i.appendChild(mainmenuPointFake);
		mainmenuPoint.appendChild(smContID_i);
		
		// submenupoints output
		var n = 0;
		var arr_sm = arr_menu[i][2];
		while(n < arr_sm.length) {
			
			var thisSubMenuPoint = createSubmenuPoint(i, n, arr_sm[n][0])
			var submenuPoint = document.createElement("div");
			submenuPoint.className = "submenuPoint";
			
			var ssmp_Div = document.createElement("div");
			ssmp_Div.className = "ssmp_Div";
			ssmp_Div.ivar = i;
			ssmp_Div.nvar = n;
			ssmp_Div.url = arr_sm[n][1];
			ssmp_Div.cl1 = arr_sm[n][2];
			ssmp_Div.cl2 = arr_sm[n][3];
			
			ssmp_Div.onmouseover = function() { menu_EventSubChecker(this, "over"); };
			ssmp_Div.onmouseout =  function() { menu_EventSubChecker(this, "out"); };
			ssmp_Div.onclick = function() { menu_EventSubChecker(this, "click"); };
			
			var img1 = document.createElement("img");
			if (typeof jsgrfxurl!="undefined") {
         img1.src = jsgrfxurl+"tpl1/deu/grafix/layout/trans.gif";
      } else {
         img1.src = "tpl1/deu/grafix/layout/trans.gif";
      }
			img1.style.width = "140px";
			img1.style.height = "29px";
			img1.alt = "";
			
			ssmp_Div.appendChild(img1);
			submenuPoint.appendChild(thisSubMenuPoint);
			submenuPoint.appendChild(ssmp_Div);
			smContID_i.appendChild(submenuPoint);
			
			// opera fix
			if (n == (arr_sm.length-1)) {
				
				var a_div = document.createElement("div");
				var text2 = document.createTextNode(" ");
				a_div.appendChild(text2);
				
				smContID_i.appendChild(a_div);
			}
			n++;
		}
		
		var thisMainMenuPoint = createMainmenuPoint(i, arr_menu[i][3], arr_menu[i][0]);
		mainmenuPoint.appendChild(thisMainMenuPoint);
		LPmenu.appendChild(mainmenuPoint);
		i++;
	}
	
	var LPmenuContainer = document.getElementById("LPmenuContainer");
	LPmenuContainer.appendChild(LPmenu);
	
	

	
}

function decode_utf8(utftext) {
	var plaintext = ""; var i=0; var c=c1=c2=0;
	// while-Schleife, weil einige Zeichen uebersprungen werden
	while(i<utftext.length)
		{
			c = utftext.charCodeAt(i);
			if (c<128) {
				plaintext += String.fromCharCode(c);
				i++;}
			else if((c>191) && (c<224)) {
				c2 = utftext.charCodeAt(i+1);
				plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
				i+=2;}
			else {
				c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
				plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
				i+=3;}
		}
		return plaintext;
}

function encode_utf8(rohtext) {
	// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");
	var utftext = "";
	for(var n=0; n<rohtext.length; n++)
		{
			// ermitteln des Unicodes des  aktuellen Zeichens
			var c=rohtext.charCodeAt(n);
			// alle Zeichen von 0-127 => 1byte
			if (c<128)
				utftext += String.fromCharCode(c);
				// alle Zeichen von 127 bis 2047 => 2byte
			else if((c>127) && (c<2048)) {
				utftext += String.fromCharCode((c>>6)|192);
				utftext += String.fromCharCode((c&63)|128);}
				// alle Zeichen von 2048 bis 66536 => 3byte
			else {
				utftext += String.fromCharCode((c>>12)|224);
				utftext += String.fromCharCode(((c>>6)&63)|128);
				utftext += String.fromCharCode((c&63)|128);}
		}
		return utftext;
}

String.prototype.unescapeHTML=function() {
  dummie=document.createElement('span');
  dummie.innerHTML=this;
  return dummie.firstChild.data;
}












