var dropmenu = {
	visible: false,
	contentdiv: null,
	atag: null,			/* <a> tag for the menu selected */
	fadein: false,
	fadeoutdelay: 0,	/* fadeout delay in milliseconds */
	timerrunning: false,
	opacity: 0,
	intervalid: -1,
	
	showmenu: function(id, atag) {
		if(typeof id != "undefined") {
			if(this.contentdiv)
				this.contentdiv.style.display = 'none';
			this.contentdiv = document.getElementById('dmenu_'+id);
			this.contentdiv.style.display = 'block';
			
			if(this.atag)
				this.atag.className = '';
			this.atag = atag;
			atag.className = 'selected';
		}
		this.fadein = true;
		
		if(this.intervalid == -1)
			this.intervalid = window.setInterval(ondroptimer, 40);
	},
	hidemenu: function() {
		this.fadein = false;
		this.fadeoutdelay = 500;
		if(this.intervalid == -1)
			this.intervalid = window.setInterval(ondroptimer, 40);
	}
};

function ondroptimer() {
	if(dropmenu.fadein || dropmenu.fadeoutdelay > 0 && dropmenu.opacity < .95) {
		dropmenu.opacity = Math.min(.95, dropmenu.opacity+.1);
		var el = document.getElementById('dropmenu');
		el.style.display = 'block';
		el.style.opacity = dropmenu.opacity;
		el.style.filter = 'alpha(opacity='+ Math.round(dropmenu.opacity*100) +')';
		if(dropmenu.opacity == .95 && dropmenu.fadein) {
			window.clearInterval(dropmenu.intervalid);
			dropmenu.intervalid = -1;
		}
	}
	if(!dropmenu.fadein) {	/* fadeout */
		if(dropmenu.fadeoutdelay > 0)
			dropmenu.fadeoutdelay -= 40;
		if(dropmenu.fadeoutdelay <= 0) {
			dropmenu.opacity = Math.max(0, dropmenu.opacity-.1);
			var el = document.getElementById('dropmenu');
			el.style.opacity = dropmenu.opacity;
			el.style.filter = 'alpha(opacity='+ Math.round(dropmenu.opacity*100) +')';
			if(dropmenu.opacity == 0) {
				el.style.display = 'none';
				window.clearInterval(dropmenu.intervalid);
				dropmenu.intervalid = -1;
				if(dropmenu.atag)
					dropmenu.atag.className = '';
			}
		}
	}
}