﻿// New Mind - MJJAMES - YUI 

//Nice Top Navigation START

YAHOO.namespace("YAHOO.newmind.webplatform.navigation")
YAHOO.newmind.webplatform.navigation.onMenuBarReady = function() {

 // Animation object

 var oAnim;


 // Utility function used to setup animation for submenus

 function setupMenuAnimation(p_oMenu) {

 if(!p_oMenu.animationSetup) {

 var aItems = p_oMenu.getItemGroups();

 if(aItems && aItems[0]) {

 var i = aItems[0].length - 1;
 var oSubmenu;

 do {

 oSubmenu = p_oMenu.getItem(i).cfg.getProperty("submenu");

 if(oSubmenu) {

 oSubmenu.beforeShowEvent.subscribe(onMenuBeforeShow, oSubmenu, true);
 oSubmenu.showEvent.subscribe(onMenuShow, oSubmenu, true);

 }

 }
 while(i--);

 }

 p_oMenu.animationSetup = true;

 }

 }


 // "beforeshow" event handler for each submenu of the menu bar

 function onMenuBeforeShow(p_sType, p_sArgs, p_oMenu) {

 if(oAnim && oAnim.isAnimated()) {

 oAnim.stop();
 oAnim = null;

 }

 YAHOO.util.Dom.setStyle(this.element, "overflow", "hidden");
 YAHOO.util.Dom.setStyle(this.body, "marginTop", ("-" + this.body.offsetHeight + "px"));

 }


 // "show" event handler for each submenu of the menu bar

 function onMenuShow(p_sType, p_sArgs, p_oMenu) {

 oAnim = new YAHOO.util.Anim(
 this.body,
 { marginTop: { to: 0 } },
 .3,
 YAHOO.util.Easing.easeOut
 );

 oAnim.animate();

 var me = this;

 function onTween() {

 me.cfg.refireEvent("iframe");

 }

 function onAnimationComplete() {

 YAHOO.util.Dom.setStyle(me.body, "marginTop", ("0px"));
 YAHOO.util.Dom.setStyle(me.element, "overflow", "hidden");

 setupMenuAnimation(me);

 }


 /*
 Refire the event handler for the "iframe"
 configuration property with each tween so that the
 size and position of the iframe shim remain in sync
 with the menu.
 */

 if(this.cfg.getProperty("iframe") == true) {

 oAnim.onTween.subscribe(onTween);

 }

 oAnim.onComplete.subscribe(onAnimationComplete);

 }


 // "render" event handler for the menu bar

 function onMenuRender(p_sType, p_sArgs, p_oMenu) {

 setupMenuAnimation(p_oMenu);

 }


 // Instantiate and render the menu bar

 var oMenuBar = new YAHOO.widget.MenuBar("topNavigation", { autosubmenudisplay:true, hidedelay:750, lazyload:false });


 // Subscribe to the "render" event

 oMenuBar.renderEvent.subscribe(onMenuRender, oMenuBar, true);

 oMenuBar.render();

 };


 // Initialize and render the menu bar when it is available in the DOM

 //YAHOO.util.Event.onContentReady("topNavigation", YAHOO.newmind.webplatform.navigation.onMenuBarReady);
//YAHOO.util.Event.onDOMReady(YAHOO.newmind.webplatform.navigation.onMenuBarReady);

// changed to use different method to add event to listener
// above methods cause instability in IE on pages with embedded flash
YAHOO.util.Event.addListener(window, "load",  YAHOO.newmind.webplatform.navigation.onMenuBarReady);

//Nice Top Navigation END