// JavaScript Document
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 removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}

function controlMenu() {
var menuItem, menuLinked;
if(document.getElementById && document.createElement) {
var urlMatched = window.location;
var mainMenu = document.getElementById('menu');
var subMenu = mainMenu.getElementsByTagName('ul');
for(var i = 0; i < subMenu.length; i++) {
menuItem = true;
menuLinked = subMenu[i].getElementsByTagName('a');
for(var j=0; j<menuLinked.length; j++) {
if(menuLinked[j].href == urlMatched) {
menuItem = false;
mainLinks = menuLinked[j];
strContent = mainLinks.firstChild.data;
var objCurrentPage = document.createElement('strong');
objCurrentPage.appendChild(document.createTextNode(strContent));
mainLinks.parentNode.replaceChild(objCurrentPage, mainLinks);
objCurrentPage.id = 'keepOpen';
}
}
if(menuItem == true)
subMenu[i].style.display = 'none';
else
subMenu[i].style.display = 'block';
var mainLinks = subMenu[i].parentNode;
var linkText = mainLinks.firstChild.data;
var linkAnchor = document.createElement('a');
linkAnchor.href = '#';
linkAnchor.onclick = function(event) {return toggle(this, event);}
linkAnchor.onkeypress = function(event) {return toggle(this, event);}
linkAnchor.appendChild(document.createTextNode(linkText));
mainLinks.replaceChild(linkAnchor, mainLinks.firstChild);
}
if (document.getElementById('keepOpen')) {
var menuKeepOpen = document.getElementById('keepOpen');
while (menuKeepOpen.parentNode.id != 'menu') {
menuKeepOpen = menuKeepOpen.parentNode;
menuKeepOpen.style.display = 'block';
}
}
}
}
function toggle(menuOpen, menuEvt) {
var keyCode;
if(menuEvt && menuEvt.type == 'keypress') {
if(menuEvt.keyCode)
keyCode = menuEvt.keyCode;
else if (menuEvt.which)
keyCode = menuEvt.which;
if(keyCode != 13 && keyCode != 32)
return true;
}
if(menuOpen.nextSibling.style.display == 'block')
var textDisplay = 'none'
else
var textDisplay = 'block'
var mainMenu = document.getElementById('menu');
var subMenu = mainMenu.getElementsByTagName('ul');
for (var i=0; i<subMenu.length; i++)
if (subMenu[i].style.display == 'block')
subMenu[i].style.display = 'none';
menuOpen.nextSibling.style.display = textDisplay;
while (menuOpen.parentNode.parentNode.id != 'menu') {
menuOpen = menuOpen.parentNode.parentNode;
menuOpen.style.display = 'block';
}
return false;
}
addEvent( window, "load", controlMenu );