// JavaScript Document
window.onload=init;
function init(){
	var horMenu = $('horMenu');
	var level2 = getElementsByClassName('menu_level2', horMenu);
	for(var i=0; i<level2.length; i++){
		level2[i].style.visibility = 'hidden';
	}
	var level1 = getElementsByClassName('menu_level1', horMenu);
	for(var i=0; i<level1.length; i++){
		level1[i].onmouseover = function(){
			hide_all_menus();
			this.className = 'menu_level1_hl';
			var level2 = getElementsByClassName('menu_level2', this);
			if(level2[0]){				
				level2[0].style.visibility = 'visible';
				var tds = level2[0].getElementsByTagName('td');
				for(var ii=0; ii<tds.length; ii++) {
						tds[ii].className='active';
				}
				level2[0].onmouseover = function(){
					var level3 = getElementsByClassName('menu_level3', this);
					if(level3[0]) level3[0].style.display = 'block';
				}
				level2[0].onmouseout = function(){
					hide_level3_menus();
					hide_all_menus();
				}
			}
		}
	}
	document.onmouseup = hide_all_menus;
}

function hide_all_menus(){
	var level1 = document.getElementsByClassName('menu_level1_hl');
	for(var i=0; i<level1.length; i++){
				level1[i].className = 'menu_level1';
	}
	var level2 = document.getElementsByClassName('menu_level2');
	for(var i=0; i<level2.length; i++){
				level2[i].style.visibility = 'hidden';
				var tds = level2[i].getElementsByTagName('td');
				for(var ii=0; ii<tds.length; ii++) {
						tds[ii].className = '';
						/*tds[ii].style.visibility = 'hidden';
						tds[ii].style.display = 'none';*/
				}
	}
	/*
	}*/
}
function hide_level3_menus(){
	var level3 = document.getElementsByClassName('menu_level3');
	for(var i=0; i<level3.length; i++){
				level3[i].style.display = 'none';
	}
}

// ------------------------------------- //
function $() {
  var elements = new Array();
  
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1) 
      return element;
      
    elements.push(element);
  }
  
  return elements;
}
function getElementsByClassName(className, parentNode){
  var children = parentNode.getElementsByTagName('*') || parentNode.all;
  var elements = new Array();
  
  for (var i = 0; i < children.length; i++) {
    var child = children[i];
    var classNames = child.className.split(' ');
    for (var j = 0; j < classNames.length; j++) {
      if (classNames[j] == className) {
        elements.push(child);
        break;
      }
    }
  }
  
  return elements;
}
document.getElementsByClassName = function(className) {
  var children = document.getElementsByTagName('*') || document.all;
  var elements = new Array();
  
  for (var i = 0; i < children.length; i++) {
    var child = children[i];
    var classNames = child.className.split(' ');
    for (var j = 0; j < classNames.length; j++) {
      if (classNames[j] == className) {
        elements.push(child);
        break;
      }
    }
  }
  
  return elements;
}