/**
 * Menu
 *
 **********
 *
 * Denne klasse håndterer top-menuen.
 */
function Menu(){
	// Indlæs en liste over alle menupunkterne
	var links=document.getElementById('nav').getElementsByTagName('a');
	var i=links.length; var j=i;

	// Gennemgå og klargør menupunkterne
	if(i>0)do{
		// Optimering
		var item=links[j-i];

		// Er denne menu aktiv?
		if(item.className.toLowerCase()=="selected"){
			this.active=item.id.substring(10);
			this.open=this.active;
		}

		// Klargør hover-effekten og åben undermenuerne automatisk
		if(document.attachEvent){
			item.attachEvent('onmouseover',function(e){var e=e||window.event; var src=e.srcElement||e.target; document.api['menu'].openSub(src.id);});
			item.attachEvent('onmouseout',function(){document.api['menu'].timer=setTimeout(function(){document.api['menu'].closeSub();},1000);});
		}else{
			item.addEventListener('mouseover',function(e){var e=e||window.event; var src=e.srcElement||e.target; document.api['menu'].openSub(src.id);},false);
			item.addEventListener('mouseout',function(){document.api['menu'].timer=setTimeout(function(){document.api['menu'].closeSub();},1000);},false);
		}
	}while(--i);

	// Findes der nogen undermenu på det aktive menupunkt?
	if(!document.getElementById('menu_sub_'+this.active)){
		// Gør stregen "lille"
		document.getElementById('menu_container').style.height="12px";
		document.getElementById('menu_sub_none').className="small";
	}else{
		// Gør stregen "stor"
		document.getElementById('menu_container').style.height="28px";
		document.getElementById('menu_sub_none').className="large";
		document.getElementById('menu_sub_none').style.background="url(/layout/images/menu_open.gif) no-repeat";

		// Skjul stregen
		document.getElementById('menu_sub_none').style.display="none";
	}

	// Render det aktive menupunkt rigtigt
	var link=document.getElementById('menu_link_'+this.active);

	var img=document.createElement('img');
	img.src='/layout/images/menu_active_left.gif';
	img.style.left="0px";
	link.appendChild(img);

	var img=document.createElement('img');
	img.src='/layout/images/menu_active_right.gif';
	img.style.right="0px";
	link.appendChild(img);

	// Gennemgå og klargør alle menupunkterne
	var menus=document.getElementById('menu_container').getElementsByTagName('div');
	var i=menus.length; var j=i;

	if(i>0)do{
		// Optimering
		var item=menus[j-i];

		// Klargør events
		if(item.id!="menu_sub_none"){
			if(document.attachEvent){
				item.attachEvent('onmouseover',function(e){var e=e||window.event; var src=e.srcElement||e.target; document.api['menu'].openSub(src.id);});
				item.attachEvent('onmouseout',function(){document.api['menu'].timer=setTimeout(function(){document.api['menu'].closeSub();},1000);});
			}else{
				item.addEventListener('mouseover',function(e){var e=e||window.event; var src=e.srcElement||e.target; document.api['menu'].openSub(src.id);},false);
				item.addEventListener('mouseout',function(){document.api['menu'].timer=setTimeout(function(){document.api['menu'].closeSub();},1000);},false);
			}
		}
	}while(--i);
}

/**
 * Menu:openSub
 *
 **********
 *
 * Denne funktion åbner en undermenu.
 *
 **********
 *
 * param	string		id						Angiv id'et på den menu der skal åbnes.
 */
Menu.prototype.openSub=function(id){
	// Annuller timere
	clearTimeout(this.timer);

	// Håndter ID'et
	var id=id.substring(id.indexOf('_',6)+1);
	if(!id||this.open==id) return false;

	// Luk den aktive menu
	if(this.active!=this.open) this.closeLink();
	this.closeSubmenu(true);

	// Vis den nye menu
	if(document.getElementById('menu_sub_'+id)) document.getElementById('menu_sub_'+id).style.display="block";
	else document.getElementById('menu_sub_none').style.display="block";

	// Render linket rigtigt
	var link=document.getElementById('menu_link_'+id);
	link.className="selected";

	var img=document.createElement('img');
	img.src='/layout/images/menu_active_left.gif';
	img.style.left="0px";
	link.appendChild(img);

	var img=document.createElement('img');
	img.src='/layout/images/menu_active_right.gif';
	img.style.right="0px";
	link.appendChild(img);

	this.open=id;
}

/**
 * Menu:closeSub
 *
 **********
 *
 * Denne funktion lukker en åben undermenu igen.
 */
Menu.prototype.closeSub=function(hide){
	// Luk den aktive menu
	this.closeLink();
	this.closeSubmenu(false);
}

Menu.prototype.closeLink=function(){
	if(this.active!=this.open){
		var link=document.getElementById('menu_link_'+this.open);
		link.className="";
		try{
			link.removeChild(link.getElementsByTagName('img')[0]);
			link.removeChild(link.getElementsByTagName('img')[0]);
		}catch(e){}
	}
}

Menu.prototype.closeSubmenu=function(hide){
	// Luk den åbne submenu
	if(document.getElementById("menu_sub_"+this.open)) document.getElementById("menu_sub_"+this.open).style.display="none";
	else document.getElementById("menu_sub_none").style.display="none";

	// Åben den aktive menu
	if(!hide){
		if(document.getElementById("menu_sub_"+this.active)) document.getElementById("menu_sub_"+this.active).style.display="block";
		else document.getElementById("menu_sub_none").style.display="block";

		// Registrer den aktive menu er åben
		this.open=this.active;
	}
}