var ensignal = {
	delayed: null,
	faded: null,
	focused: null,
	on: null,
	initMenu:function() {
		var menu = document.getElementById("menu");
		if(typeof menu == "undefined")
			return false;
		
		var divs = menu.getElementsByTagName("div");
		for(var i=0; i<divs.length; i++) {
			if(divs[i].className != "on") {
				divs[i].onmouseout = ensignal.reQ;
				divs[i].onmouseover = ensignal.deQ;
			}
			else
				ensignal.on = divs[i];
		}
	},
	initRollover:function(mname) {
		var menu = document.getElementById(mname);

		if(menu == null || typeof menu == "undefined")
			return false;
			
		var imgs = menu.getElementsByTagName("img");
		var spans = menu.getElementsByTagName("span");
		
		if(typeof imgs == "undefined" || typeof spans == "undefined")
			return false;
		
		if(typeof imgs != "undefined") {
			for(var i=0; i<imgs.length; i++) {
				imgs[i].onmouseout = ensignal.out;
				imgs[i].onmouseover = ensignal.over;
			}
		}
		
		if(typeof spans != "undefined") {
			for(i=0; i<spans.length; i++) {
				spans[i].onmouseout = ensignal.ie_out;
				spans[i].onmouseover = ensignal.ie_over;
			}
		}
	},
	over: function() {
		
		this.src = this.src.replace(/(_over)*\.png$/, "_over.png");	
	},
	out: function() {
		this.src = this.src.replace(/(_over)+\.png$/, ".png");
	},
	ie_over: function() {
		this.style.filter = this.style.filter.replace(/(_over)*\.png',/, "_over.png',");	
	},
	ie_out: function() {
		this.style.filter = this.style.filter.replace(/(_over)+\.png',/, ".png',");
	},
	click:function(show) {
		
		if(ensignal.delayed != null) {
			window.clearTimeout(ensignal.delayed);
			ensignal.delayed = null;
			ensignal.focused = null;
		}
		if(ensignal.faded != null) {
			window.clearTimeout(ensignal.faded);
			ensignal.faded = null;
			ensignal.focused = null;
		}
		
		var s = null;
		var m = document.getElementById("menu");
		if(typeof m == "undefined")
			return false;
			
		if(show != null) {
			s = document.getElementById(show);
			if(typeof s == "undefined")
				return false;
		}
				
		var submenus = m.getElementsByTagName("div");
		for(var i=0; i<submenus.length; i++) {
			submenus[i].style.display = "none";
		}
				
		if(show == null)
			return false;
			
		var shad = document.getElementById(show+"shadow");
		var list = document.getElementById(show+"menu");
		
		if(typeof list != "undefined" && typeof shad != "undefined" && list != null && shad != null) {
			shad.style.width = list.offsetWidth;
			shad.style.height = list.offsetHeight;
			
			alert("Client:" + list.clientWidth + " " + list.clientHeight);
		}

		s.style.filter = "alpha(opacity=100)";
		s.style.MozOpacity = 1; 
		s.style.opacity =  1; 
		s.style.KhtmlOpacity =  1;
		s.style.display = "block";
		
		if(s.className != "on") {
			ensignal.delayed = window.setTimeout("ensignal.fadeDelay('" + show + "')", 5000);
			ensignal.focused = show;
		}
		
		return false;
	},
	fadeDelay:function(ele) {
		if(ensignal.on != null) {
			ensignal.on.onmouseover = ensignal.deQ;
			ensignal.on.onmouseout = ensignal.reQ;
			ensignal.on = null;
		}
		ensignal.faded = window.setTimeout("ensignal.fade('" + ele + "')", 50);
		ensignal.delayed = null;
	},
	fade:function(ele) {
		var e = document.getElementById(ele);
		var alpha = parseFloat(e.style.opacity) * 100;
		
		alpha	-= 3;
		if(alpha < 65)
			alpha -= Math.floor(Math.abs(alpha-80) / 5);
			
		if(alpha <= 0) {
			ensignal.faded = null;
			
			e.style.display = "none";
			e.style.filter = "alpha(opacity=100)";
			e.style.MozOpacity = 1; 
			e.style.opacity =  1; 
			e.style.KhtmlOpacity =  1;
			return;
		}
		else
			ensignal.faded = window.setTimeout("ensignal.fade('" + ele + "')", 50);
		
		e.style.filter = "alpha(opacity=" + alpha + ")";
		e.style.MozOpacity = alpha / 100; 
		e.style.opacity =  alpha / 100; 
		e.style.KhtmlOpacity =  alpha / 100;		
	},
	deQ:function() {
		if(ensignal.delayed != null) 
			window.clearTimeout(ensignal.delayed);
		if(ensignal.faded != null) { 
			window.clearTimeout(ensignal.faded);
			var e = document.getElementById(ensignal.focused);
			e.style.filter = "alpha(opacity=100)";
			e.style.MozOpacity = 1; 
			e.style.opacity =  1; 
			e.style.KhtmlOpacity =  1;
		}

		ensignal.delayed = null;
		ensignal.faded = null;
		ensignal.focused = null;
	},
	reQ:function() {
		var ele = this;
		if(typeof ele != "undefined") {
			ensignal.delayed = window.setTimeout("ensignal.fadeDelay('" + this.id + "')", 3500);
			ensignal.focused = this.id;
		}	
	}
};