// ****************************************************
// This menu is made by Anders Melgaard 2004
// ****************************************************

// Variabler til:
//menuelements = new Array;	// Variabel som skal indeholde alle menuelementerne...
tableheight = 10;			// den samlede tabelhøjde (udregnes automatisk hvis lig 0)
menuheight = 20;			// de enkelte hovedmenupunkters højde
menuwidth = 131;			// menuens bredde
browser = "";				// Til at bestemme browsertypen


// Funktioner til initialisering af menuen...
InitializeMenu();
DrawMenu();

// Objekt til oprettelse af Hovedmenu-element
function MenuElement(name, link, title, expanded, show, submenu) {
	this.name = name;
	this.link = link;
	this.title = title;
	this.expanded = expanded;
	this.show = show;
	this.submenu = submenu;
}
// Objekt til oprettelse af Undermenu-element
function SubMenuElement(name, link, title) {
	this.name = name;
	this.link = link;
	this.title = title;
}

// Funktion til oprettelse af hovedmenuer evt. med tilhørende undermenuer...
// Til Hovedmenupunkter er parametrene: new MenuElement(menunavn,link,tooltip,er udvidet?,skal vises?,evt. undermenuer)
// Til Undermenupunkter er parametrene: new SubMenuElement(menunavn,link,tooltip)
function InitializeMenu() {
	browser = GetBrowserType()
	menuelements = new Array( 	
			new MenuElement("Generelt","javascript:ShowMenu(0);","",true,true,new Array(
					new SubMenuElement("Om Kajak & Kano","default.asp?p=omkajakogkano",""),
					new SubMenuElement("Kajakkerne","default.asp?p=omkajakkerne",""),
					new SubMenuElement("Salg og levering","default.asp?p=betingelser","")
			)),
			new MenuElement("Produkter","javascript:ShowMenu(1);","",true,true,new Array(
					new SubMenuElement("Kajakker","default.asp?p=kajakker","Udvalg af kajakker"),
					new SubMenuElement("Kanoer","default.asp?p=kanoer","Udvalg af kanoer"),
					new SubMenuElement("Pagajer/Padler","default.asp?p=pagajer","Udvalg af kanoer"),
					new SubMenuElement("Tilbehør","default.asp?p=tilbehoer","Pagajer, skørter, mm."),
					new SubMenuElement("Produktoversigt","default.asp?p=produktoversigt","Overskuelig liste over samtlige produkter")
			)),
			new MenuElement("Brochurer","javascript:ShowMenu(2);","",true,true,new Array(
					new SubMenuElement("Online brochure","default.asp?p=brochure","Se vores bruchure online")
			)),
			new MenuElement("Kontakt","javascript:ShowMenu(3);","",true,true,new Array(
					new SubMenuElement("Kontakt os","default.asp?p=kontakt","")
			))
			
	);
	
	// Udregner menuhøjde (for at deaktivere sæt ulig 0 i start)
	if(tableheight==0) {
		for(i=0;i<menuelements.length;i++) {
			tableheight += 6+menuheight;
			if(menuelements[i].submenu!=null) {
				for(j=0;j<menuelements[i].submenu.length;j++) {
					tableheight += 15;
				}
				tableheight += 4;
			}
		}
		tableheight += 3+menuheight;
	}
}

// Funktion til tegning og opdatering af hele menuen!
function DrawMenu() {
	menuhtml = '<table height="'+tableheight+'" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">';	
	
	// Kode til tabellen som skal indeholde menuelementerne...
	tableStartHTML = '<table border="0" cellspacing="0" cellpadding="0" style="PADDING-BOTTOM: 4px;"><tr><td>';

	// Løkke til generering af menuelementer fra Array'et menuelements...
	for(i=0;i<menuelements.length;i++) {
		menuhtml += tableStartHTML;
		if(menuelements[i].show) {
			if(i==0) {
				menuhtml += GetHTMLMenu1(menuelements[i]);
			}
			else {
				menuhtml += GetHTMLMenu2(menuelements[i]);
			}
			// Tabellen afsluttes...		
			menuhtml += '</tr></td></tr><tr><td><div id="submenu'+i+'" style="z-index: 0; width:'+menuwidth+';';
			if(browser!="IE")
				menuhtml +=' padding-top:4px;';
			
			// Undersøger om de givne hovedmenupunkter er udvidet og viser i så
			// fald undermenupunkter. Kan bruges til sideskift i ASP(.NET)!
			if(menuelements[i].expanded)
				menuhtml += '">'+GetHTMLSubMenu(menuelements[i].submenu);
			else {
				menuhtml += ' position:absolute; width:'+menuwidth+';">';
			}
		
			menuhtml += '</div><td><tr></table>';
		}
	}
	// Indsætning af menuens bundparti...
	menuhtml += tableStartHTML+GetHTMLMenu3();
	menuhtml += '</td></tr></table>';
	
	// Selve indsætningen af tabellen i DIV-objektet "menuobject"...
	document.getElementById('menuobject').innerHTML=menuhtml;
}

// Genererer HTML-kode til øverste menupunkt
function GetHTMLMenu1(menuelement) {
	html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td background="pics/topbar.gif">';
	html += '<table width="'+menuwidth+'" height="'+menuheight+'" border="0" cellpadding="0" cellspacing="0"><tr>';
	html += '<td class="menuhead"><a href="'+menuelement.link+'" title="'+menuelement.title+'">'+menuelement.name+'</a></td></tr></table></td></tr></table>';
	return html;	
}
// Genererer HTML-kode til mellemliggende menupunkt(er)
function GetHTMLMenu2(menuelement) {
	html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td background="pics/middlebar.gif">';
	html += '<table width="'+menuwidth+'" height="'+menuheight+'" border="0" cellpadding="0" cellspacing="0"><tr>';
	html += '<td class="menuhead"><a href="'+menuelement.link+'" title="'+menuelement.title+'">'+menuelement.name+'</a></td></tr></table></td></tr></table>';
	return html;
}
// Genererer HTML-kode til afslutningen af menuen
function GetHTMLMenu3() {
	html = '<table width="'+menuwidth+'" height="'+menuheight+'" border="0" cellpadding="0" cellspacing="0"';
	html += 'background="pics/bottombar.gif"><tr><td><font style="font-size:1pt;">&nbsp;</font></td></tr></table>';
	return html;
}
function GetHTMLSubMenu(submenu) {
	// Tabel-opsætning for undermenuer. Genererer HTML-kode til tabeller som returneres...
	html = '<table width="'+(menuwidth-10)+'" border="0" cellspacing="0" cellpadding="0" class="menu-bottom"><tr><td>';
	for(j=0;j<submenu.length;j++) {
		html += '<a style="font-size: 11px;" href="'+submenu[j].link+'" title="'+submenu[j].title+'">'+submenu[j].name+'</a>';
		html += '</td></tr><tr><td>';
	}
	// Afslutning af tabel til undermenuer...
	html += '</td></tr></table>';
	return html;
}
// Sætter den valgte menu til at tone frem/ud og være expanded=true/false...
function ShowMenu(menunr) {
	if(isNaN(menunr))
		alert("Forkert link!");
	menuobj = menuelements[menunr];
	submenu = document.getElementById('submenu'+menunr);

	if(menuobj.expanded) {
		FadeOut(submenu);
		submenu.style.position='absolute';
		submenu.style.visibility='hidden';
	}
	else {
		FadeIn(submenu,0.6);
		submenu.style.position='static';
		submenu.innerHTML = GetHTMLSubMenu(menuelements[menunr].submenu);
	}
	menuelements[menunr].expanded=!menuelements[menunr].expanded;	
}