﻿
YAHOO.util.Event.onContentReady("productsandservices", function(){
    var ua = YAHOO.env.ua, oAnim; // Animation instance
    function onSubmenuBeforeShow(p_sType, p_sArgs){
        var oBody, oElement, oShadow, oUL;
        if (this.parent) {
            oElement = this.element;
            oShadow = oElement.lastChild;
            oShadow.style.height = "0px";
            if (oAnim && oAnim.isAnimated()) {
                oAnim.stop();
                oAnim = null;
            }
            oBody = this.body;
            if (this.parent &&
            !(this.parent instanceof YAHOO.widget.MenuBarItem)) {
                if (ua.gecko || ua.opera) {
                    oBody.style.width = oBody.clientWidth + "px";
                }
                if (ua.ie == 7) {
                    oElement.style.width = oElement.clientWidth + "px";
                }
            }
            oBody.style.overflow = "hidden";
            oUL = oBody.getElementsByTagName("ul")[0];
            oUL.style.marginTop = ("-" + oUL.offsetHeight + "px");
        }
    }
    
    function onTween(p_sType, p_aArgs, p_oShadow){
        if (this.cfg.getProperty("iframe")) {
            this.syncIframe();
        }
        if (p_oShadow) {
            p_oShadow.style.height = this.element.offsetHeight + "px";
        }
    }
    
    function onAnimationComplete(p_sType, p_aArgs, p_oShadow){
        var oBody = this.body, oUL = oBody.getElementsByTagName("ul")[0];
        if (p_oShadow) {
            p_oShadow.style.height = this.element.offsetHeight + "px";
        }
        oUL.style.marginTop = "";
        oBody.style.overflow = "";
        
        if (this.parent &&
        !(this.parent instanceof YAHOO.widget.MenuBarItem)) {
            if (ua.gecko || ua.opera) {
                oBody.style.width = "";
            }
            
            if (ua.ie == 7) {
                this.element.style.width = "";
            }
        }
    }
    
    function onSubmenuShow(p_sType, p_sArgs){
        var oElement, oShadow, oUL;
        
        if (this.parent) {
        
            oElement = this.element;
            oShadow = oElement.lastChild;
            oUL = this.body.getElementsByTagName("ul")[0];
            
            oAnim = new YAHOO.util.Anim(oUL, {
                marginTop: {
                    to: 0
                }
            }, .5, YAHOO.util.Easing.easeOut);
            
            oAnim.onStart.subscribe(function(){
                oShadow.style.height = "100%";
            });
            oAnim.animate();
            
            if (YAHOO.env.ua.ie) {
            
                oShadow.style.height = oElement.offsetHeight + "px";
                oAnim.onTween.subscribe(onTween, oShadow, this);
                
            }
            
            oAnim.onComplete.subscribe(onAnimationComplete, oShadow, this);
            
        }
        
    }
    
    var oMenuBar = new YAHOO.widget.MenuBar("productsandservices", {
        autosubmenudisplay: true,
        hidedelay: 750,
        lazyload: true
    });
    
    oMenuBar.subscribe("beforeShow", onSubmenuBeforeShow);
    oMenuBar.subscribe("show", onSubmenuShow);
    
    oMenuBar.render();
    
});
