YAHOO.namespace("BM");

YAHOO.BM.onMenuBarAnimReady = function(p_oEvent) {

    var oAnim;

    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;
        }
    }

    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"));
    }

    function onMenuShow(p_sType, p_sArgs, p_oMenu) {
        oAnim = new YAHOO.util.Anim(
            this.body, 
            { marginTop: { to: 0 } },
            .5, 
            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", "visible");
            setupMenuAnimation(me);
        }
                    
        if(this.cfg.getProperty("iframe") == true) {
            oAnim.onTween.subscribe(onTween);

        }
        oAnim.onComplete.subscribe(onAnimationComplete);   
    }

    function onMenuRender(p_sType, p_sArgs, p_oMenu) {
        setupMenuAnimation(p_oMenu);
    }

    var oMenuBar = new YAHOO.widget.MenuBar("mainmenu", { autosubmenudisplay:true, hidedelay:750, lazyload:true });
    //var oMenuBar = new YAHOO.widget.MenuBar("mainmenu", { autosubmenudisplay:true, hidedelay:750});
    oMenuBar.renderEvent.subscribe(onMenuRender, oMenuBar, true);
    oMenuBar.render();
    oMenuBar.show();
}

YAHOO.BM.onMenuBarReady = function() {
    var oMenuBar = new YAHOO.widget.MenuBar("mainmenu", { autosubmenudisplay:true, hidedelay:750, lazyload:true });
    //var oMenuBar = new YAHOO.widget.MenuBar("mainmenu", { autosubmenudisplay:true, hidedelay:750});
    oMenuBar.render();
    oMenuBar.show();
};

YAHOO.util.Event.onContentReady("mainmenu", YAHOO.BM.onMenuBarAnimReady);

var menuOver = function(e) {
	var elTarget = YAHOO.util.Event.getTarget(e);
	while (elTarget.id != "main-menu") {
		if(elTarget.nodeName.toUpperCase() == "IMG" && elTarget.id != ""){
			if(elTarget.src.indexOf('off.png') != -1){
				elTarget.src = "/static/images/"+"menu-"+elTarget.id+"-on.png";
			}
			break;
		} else {
			elTarget = elTarget.parentNode;
		}
	}
}
		
var menuOut = function(e) {
	var elTarget = YAHOO.util.Event.getTarget(e);
	while (elTarget.id != "main-menu") {
		if(elTarget.nodeName.toUpperCase() == "IMG" && elTarget.id != ""){
			if(elTarget.src.indexOf('on.png') != -1 && elTarget.name.indexOf("off") != -1){
				elTarget.src = "/static/images/"+"menu-"+elTarget.id+"-off.png";
			}
			break;
		} else {
			elTarget = elTarget.parentNode;
		}
	}
}
		
YAHOO.BM.init = function() { 
	var target = YAHOO.util.Dom.get('page-content') 
   	var downattr = {
      	scroll: { by: [target.scrollTop, 480] }
   	};
   	var down = new YAHOO.util.Scroll('page-content', downattr, 0, YAHOO.util.Easing.easeOut);
	YAHOO.util.Event.on('scroll-down', 'click', down.animate, down, true);
			
	var upattr = {
      	scroll: { by: [target.scrollTop, -480] }
   	};
   	var up = new YAHOO.util.Scroll('page-content', upattr, 0, YAHOO.util.Easing.easeOut);
	YAHOO.util.Event.on('scroll-up', 'click', up.animate, up, true);
};

YAHOO.util.Event.onContentReady('page-content', YAHOO.BM.init);		
//YAHOO.util.Event.on(window, "load", YAHOO.BM.init);
YAHOO.util.Event.addListener("main-menu", "mouseover", menuOver);
YAHOO.util.Event.addListener("main-menu", "mouseout", menuOut);

