var currentID  = null;
var previousID = null;

var MenuBehavior = Behavior.create({
  onmouseover:function() {
    currentID = this.element.id;
    if (currentID != previousID && previousID != null) {
      // hide previous
      $(previousID+'-menu').className = 'hide';
      $A($(previousID).childNodes).each(function(child) {
        if (child.nodeName == 'A') {
          Element.removeClassName(child, 'hover');
        }
      });
    }
    // show current
    $(this.element.id+'-menu').className = 'show';
  	$A($(this.element.id).childNodes).each(function(child) {
      if (child.nodeName == 'A') {
        Element.addClassName(child, 'hover');
      }
    });
    previousID = currentID;
  },
  onmouseout:function() {
    $(this.element.id+'-menu').className = 'hide';
    $A($(this.element.id).childNodes).each(function(child) {
      if (child.nodeName == 'A') {
        Element.removeClassName(child, 'hover');
      }
    });
  }
});

// add behavior to form fields
function AddMenuBehavior(id) {
  // get all list elements
  $A($(id).childNodes).each(function(child) {
    if (child.nodeName == 'LI') {
      // is there a menu?
      if ($(child.id+'-menu')) {
        // set ids
        nav_id  = child.id;
        menu_id = child.id+'-menu';
        // build behaviors
        MenuBehavior.attach(nav_id);
      }
    }
  });
}

function AddSideNavBehavior(id) {
  if ($(id)) {
    $A($(id).childNodes).each(function(child) {
      if (child.nodeName == 'LI') {
    		child.onmouseover = function() {
    			Element.addClassName(child, 'hover');
    		}
    		child.onmouseout = function() {
    			Element.removeClassName(child, 'hover');
    		}
      }
    });
  }
}

