// JavaScript Document

// --------- Main Nav Drop Downs --------- //
var DropDownMenu = {

initialize: function() { 
  if (!$('GlobalNav')) {
	 return false
  }
  this.menu = $('GlobalNav');
  this.id = this.menu.id;
  this.duration = 400;
  this.buttons = [];

  $A(this.menu.getElementsByTagName('li')).each(
   function(li) {
    if((li.parentNode == this.menu) && (li.id != 'NavItem-1')) { this.buttons.push($(li)); }
   }.bind(this)
  );

  //$ES('.top-link').each(
//	function(el) {
//		el.href = "#";
//	}.bind(this)
//  );

  this.submenus = $A(this.menu.getElementsByTagName('ul'));

  this.submenus.each(
   function(submenu) {
		submenu = $(submenu);
		submenu.setStyle('display','block');
    submenu.originalHeight = submenu.offsetHeight;
    submenu.effect = new Fx.Style(submenu, 'height',{ duration: this.duration });
    submenu.effect.hide();
   }.bind(this)
  );

  this.buttons.each(
   function(button) {
    button.addEvent('mouseover',this.expand.bindAsEventListener(this));
    button.addEvent('mouseout', this.collapse.bindAsEventListener(this));
   }.bind(this)
  );
  return true;
 },

 findButton: function(element) {
  var button = false;
  while(element.parentNode) {
   if(this.buttons.test(element)) { button = element; }
   element = element.parentNode;
  }
  return button;
 },

 findSubmenu: function(element) {
  var button = this.findButton(element);
  var submenu = button.getElementsByTagName('ul')[0];
  return submenu;
 },

 expand: function(event) {
  var submenu = this.findSubmenu(event.target || event.srcElement);
	submenu.effect.clearTimer();
  submenu.effect.custom(submenu.effect.now, submenu.originalHeight);
 },

 collapse: function(event) {
  var submenu = this.findSubmenu(event.target || event.srcElement);
  	submenu.effect.clearTimer();
  submenu.effect.custom(submenu.effect.now, 0);
 }

};
// --------- END Main Nav Drop Downs --------- //


/*----- Begin: Initialization Functions -----*/
window.addEvent('domready', DropDownMenu.initialize.bind(DropDownMenu)); 
//*----- End: Initialization Functions -----*/