menuIsCharged = false;
menuIsOpen = false;
menuStillCycles = 0;

function addClass(element, value) {
	if (!element.className) {
		element.className = value;
	} else {
		var newClassName = element.className;
		newClassName += " ";
		newClassName += value;
		element.className = newClassName;
	}
}
function removeClass(element, value) {
	element.className=element.className.replace(new RegExp("\\b" + value + "\\b"), "");
}
function getEl(el) {
	return document.getElementById(el);
}

function dischargeAllMenus(except) {
	menuStillCycles = 0;
	menuIsCharged = false;
	var menus = ["headsec01",  "headsec05"];
	var element;
	for (var i=0; i<menus.length; i++) {
		if (menus[i]!=except) {
			element = getEl(menus[i]);
			element.className=null;
			element = null;
		}
	}
}
function dischargeMenu(value) {
	removeClass(getEl(value), "clicked");
}
function chargeMenu(value) {
	var menuEl = getEl(value);
	dischargeAllMenus();
	addClass(menuEl, "clicked");
	menuIsCharged = true;
	menuStillCycles = 0;
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function switchOpen()
{
	menuIsOpen = !menuIsOpen;
}

function igniteMenus()
{
	var str = navigator.userAgent.toUpperCase();
	isWebKit = str.indexOf("WEBKIT")>=0;

	addEvent(getEl("top01"), "click", function(){chargeMenu("headsec01")});
		getEl("top01").href = "javascript:m()";

	addEvent(getEl("top05"), "click", function(){chargeMenu("headsec05")});
		getEl("top05").href = "javascript:m()";

	if (isWebKit) {
		addEvent(getEl("top01"), "mouseover", function(){dischargeAllMenus("headsec01")});
		addEvent(getEl("top05"), "mouseover", function(){dischargeAllMenus("headsec05")});
	} else {
		addEvent(getEl("top01"), "mouseover", function(){dischargeAllMenus()});
		addEvent(getEl("top05"), "mouseover", function(){dischargeAllMenus()});
	}

	addEvent(getEl("headnav"), "mouseout", switchOpen);
	addEvent(getEl("headnav"), "mouseover", switchOpen);

	setInterval("dischargeMonitor()", 1000);
}

function m() {}

function dischargeMonitor() {
	if (menuIsCharged && !menuIsOpen) {
		menuStillCycles += 1;
		if (menuStillCycles>1) {
			dischargeAllMenus();
		}
	}
}
