// JavaScript Document

    function hoverSubMenu(menuItem, subMenuItemID)
    {
        if ( this.visibleID )
        {
            getElement(this.visibleID).style.visibility = 'hidden';
            if ( this.outTimer ) clearTimeout(this.outTimer);
        }
        if ( subMenuItem = getElement(subMenuItemID) )
        {
            subMenuItem.style.visibility = 'visible';
            this.visibleID = subMenuItemID;
            if ( this.outTimer ) clearTimeout(this.outTimer);
            if ( this.useFade && this.fadeOutOffset < this.fadeStart )
            {
                if (navtype=="IE")
                {
                    subMenuItem.style.filter = 'alpha(opacity=' + this.fadeStart + ' style=0)';
                }
                else if (navtype=="Netscape")
                {
                    subMenuItem.style.MozOpacity = (this.fadeStart / 100);
                }
                else if (navtype == 'Opera')
                {
                    subMenuItem.style.opacity = (this.fadeStart / 100);
                }
            }
        }
    }
    
    function outSubMenu(menuItem, subMenuItemID)
    {
        if ( subMenuItem = getElement(subMenuItemID) )
        {
            if ( subMenuItem.style.visibility == 'hidden' || subMenuItem.style.visibility == null ) return false;
            this.outID = subMenuItemID;
            this.outTimer = setTimeout(this.hideSubMenu, this.outTime);
        }
    }
    
    function hideSubMenu()
    {
        if ( this.outID && (subMenuItem = getElement(this.outID)) )
        {
            if ( this.useFade )
            {
                fadeOutOffset = this.fadeStart;
                fadeOutTimeSpeed = 10;
                fadeOutOffsetSpeed = 6;
                this.fadeOutStep = fadeOutOffset;
                this.fadeOutID = this.outID;
                this.outID = false;
                this.outTimer = setTimeout(this.fadeOutSubMenu, fadeOutOffsetSpeed);
            }
            else
            {
                subMenuItem.style.visibility = 'hidden';
                this.outID = false;
                this.visibleID = null;
    //            this.outTimer = null;
            }
        }
    }
    
    function fadeOutSubMenu()
    {
        if ( this.fadeOutOffset > 0 && (subMenuItem = getElement(this.fadeOutID)) )
        {
            if (navtype=="IE")
            {
                subMenuItem.style.filter = 'alpha(opacity=' + Math.floor(fadeOutOffset) + ' style=0)';
            }
            else if (navtype=="Netscape")
            {
                subMenuItem.style.MozOpacity = (fadeOutOffset / 100);
            }
            else if (navtype == 'Opera')
            {
                subMenuItem.style.opacity = (fadeOutOffset / 100);
            }
            
            fadeOutOffset -= fadeOutOffsetSpeed;
            this.outTimer = setTimeout(this.fadeOutSubMenu, this.fadeOutTimeSpeed);
        }
        else if (subMenuItem = getElement(this.fadeOutID))
        {
            subMenuItem.style.filter = 'alpha(opacity=' + 60 + ' style=0)';
            subMenuItem.style.visibility = 'hidden';
            this.outID = false;
            this.visibleID = null;
        }
    }

    function attachSubMenu(m, s)
    {
        if ( menuItem = getElement(m) )
        {
            AttachEvent(menuItem, 'mouseover', new Function('hoverSubMenu(this, \'' + s + '\');'));
            AttachEvent(menuItem, 'mouseout', new Function('outSubMenu(this, \'' + s + '\');'));
        }
    }
    
    function AttachEvent(elementObj, eventName, eventHandlerFunctionName)
    {
        if (elementObj.addEventListener) 
        { // Non-IE browsers
            elementObj.addEventListener(eventName, eventHandlerFunctionName, false);		
        } 
        else if (elementObj.attachEvent) 
        { // IE 6+
            elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
        } 
        else 
        { // Older browsers 
            var currentEventHandler = elementObj['on' + eventName];
            if (currentEventHandler == null) 
            {
                elementObj['on' + eventName] = eventHandlerFunctionName;
            } 
            else 
            {
                elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
            }
        }
    }
    
    function DetachEvent (elementObj, eventName, eventHandlerFunctionName)
    {
        if (elementObj.removeEventListener ) 
        { // Non-IE browsers
            elementObj.removeEventListener(eventName, eventHandlerFunctionName, false);		
        } 
        else if (elementObj.detachEvent) 
        { // IE 6+
            elementObj.detachEvent('on' + eventName, eventHandlerFunctionName);
        }
        else return false; 
    }
    
    function SubMenuBlocks(f)
    {
        this.attachSubMenu = attachSubMenu;
        this.AttachEvent = AttachEvent;
        this.DetachEvent = DetachEvent;
        this.hoverSubMenu = hoverSubMenu;
        this.outSubMenu = outSubMenu;
        outID = false;
        outTime = 200;
        outTimer = null;
        useFade = f;
        fadeStart = 100;
        this.hideSubMenu = hideSubMenu;
        navtype=(navigator.userAgent.indexOf("Opera")>-1)?"Opera":(navigator.userAgent.indexOf("Mac")>-1)?"Mac":(navigator.userAgent.indexOf("Gecko")>-1)?"Netscape":"IE";
    }

