// functions for menus

var Menus = {
	nav: {
		active: null,
		show: function(e) {
			if(!Menus.nav.active) {
				Menus.nav.active = e;
				Menus.fadeIn('menu-' + e);
				$('nav-' +  e).className = 'selected';
			}
			else if(Menus.nav.active == e) Menus.nav.keep();
			else {
				Menus.nav.hide();
				Menus.nav.show(e);
			}
			Menus.nav.keep();
		},
		timeout: function() {
			Menus.nav.timer = setTimeout('Menus.nav.hide()', 100);
		},
		keep: function() {
			if(Menus.nav.timer) clearTimeout(Menus.nav.timer);
		},
		hide: function() {
			if(Menus.nav.active) {
				$('menu-' + Menus.nav.active).style.display = 'none';
				$('nav-' + Menus.nav.active).className = '';
				Menus.nav.active = null;
			}
		}
	},
	select: {	
		active: null,
		add: function(s) {
			var selector = $(s).getFirst();
			var menu = selector.getNext();
			$(s).addEvent('mouseover', Menus.select.over.bindWithEvent(selector));
			$(s).addEvent('mouseout', Menus.select.out.bindWithEvent(selector));
			$(s).addEvent('mousedown', Menus.select.show.bindWithEvent(selector));
			selector.addEvent('mouseover', Menus.select.keep);
			selector.addEvent('mouseout', Menus.select.timeout);
			menu.addEvent('mouseout', Menus.select.timeout);
			menu.addEvent('mouseover', Menus.select.keep);	
		},
		show: function() {
			if(!Menus.select.active) {
				Menus.select.active = this.getNext();
				Menus.fadeIn(Menus.select.active);
			}
		},
		timeout: function() {
			Menus.select.timer = setTimeout('Menus.select.hide()', 200);
		},
		keep: function() {
			if(Menus.select.timer) clearTimeout(Menus.select.timer);
		},
		hide: function() {
			if(Menus.select.active) {
				Menus.select.active.parentNode.className = 'selectmenu';
				Menus.select.active.style.display = 'none';
				Menus.select.active = null;
			}
		},
		over: function() {
			this.parentNode.className = 'selectmenu selectmenu-hover';
		},
		out: function() {
			if(!Menus.select.active)
				this.parentNode.className = 'selectmenu';
		}
	},
	fadeIn: function(e) {
		$(e).setStyle('opacity', 0);
		$(e).style.display = 'block';
		var fadeIn = new Fx.Style(e, 'opacity', {duration:250});
		fadeIn.start(0, 1);	
	}
}

function fixPng() {
	if(window.ie6) {
		var img = document.images;
		for(var i = 0; i < img.length; i ++) {
			if(img[i].src.contains('.png')) {
				var span = new Element('span');
				span.setStyles({'width': img[i].width, 'height': img[i].height});
				span.setStyle('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + img[i].src + '",sizingMethod="scale")');
				span.injectBefore(img[i]);
			}
		}
	}
}

function pngfix() {
	if ((window.ie6) && (document.body.filters)) {
	   for(var i = 0; i < document.images.length; i ++) {
		  var img = document.images[i];
		  var imgName = img.src.toUpperCase();
		  if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
			 var imgID = (img.id) ? "id='" + img.id + "' " : "";
			 var imgClass = (img.className) ? "class='" + img.className + "' " : "";
			 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
			 var imgStyle = "display:inline-block;" + img.style.cssText; 
			 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
			 var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
			 img.outerHTML = strNewHTML;
			 i = i - 1;
		  }
	   }
	}
}

window.addEvent('domready', function() {

	// creates events for nav drop-down menus

	$('nav-show').addEvent('mouseover', function() { Menus.nav.show('show'); });
	$('nav-show').addEvent('mouseout', Menus.nav.timeout);
	$('menu-show').addEvent('mouseover', Menus.nav.keep);
	$('menu-show').addEvent('mouseout', Menus.nav.timeout);

	$('nav-exhibitors').addEvent('mouseover', function() { Menus.nav.show('exhibitors'); });
	$('nav-exhibitors').addEvent('mouseout', Menus.nav.timeout);
	$('menu-exhibitors').addEvent('mouseover', Menus.nav.keep);
	$('menu-exhibitors').addEvent('mouseout', Menus.nav.timeout);

	$('nav-tickets').addEvent('mouseover', function() { Menus.nav.show('tickets'); });
	$('nav-tickets').addEvent('mouseout', Menus.nav.timeout);
	$('menu-tickets').addEvent('mouseover', Menus.nav.keep);
	$('menu-tickets').addEvent('mouseout', Menus.nav.timeout);
	
	// creates events for select menus

	var a = document.getElementsByTagName('div');
	for(i = 0; i < a.length; i ++) { 
		if(a[i].className == 'selectmenu') Menus.select.add(a[i]);
	}
	
	// fixes pngs in < ie 7

	pngfix();


});


