var mainOldOnload = window.onload;

window.onload = function()
{
    if (mainOldOnload)
    {
        mainOldOnload();
    }
    window.moonInstance = new moon();
    moonInstance.init();
}

function moon()
{


}

moon.prototype.init = function()
{
    this.assignMenuBehaviour();
}

moon.prototype.assignMenuBehaviour = function()
{
    var mainMenu = document.getElementById('mainMenu');
    if (!mainMenu)
    {
        return;
    }
    var items = mainMenu.getElementsByTagName('li');
    if (!items)
    {
        return null;
    }

    var self = this;
    for (var i=0; i<items.length; i++)
    {
        var item = items[i];
        var links = item.getElementsByTagName('a');
        for (var j=0; j<links.length; j++)
        {
            var link = links[j];
            link.onmouseover = function()
            {
                // self.mainMenuHover( this );
                self.mainMenuAnimate( this, 'hover' );
            }
            link.onmouseout = function()
            {
                // self.mainMenuOut( this );
                self.mainMenuAnimate( this, 'out' );
            }
            link = null;
        }
    }
}

moon.prototype.getMainMenuFlash = function(link)
{
    // get flash element, return only if fully loaded
    var id = link.id.substr(12);
    var flashId = 'mainMenuIcon'.concat(id);
    var flash = document.getElementById(flashId);
    if (!flash)
    {
        return null;
    }


    if (flash.PercentLoaded() != 100)
    {
        return null;
    }
    return flash;
}

moon.prototype.mainMenuAnimate = function( link, action, noDelay)
{
    // call flash mouseover function
    var flash = this.getMainMenuFlash( link );
    if (!flash)
    {
        return;
    }


    if (action == 'hover')
    {
        // 1) animate hover
        flash.TGotoLabel("_level0/", action);

        // 2) cancel any existing out timers
        clearTimeout(link.out);
    }

    if (action == 'out')
    {
        if (noDelay)
        {
            flash.TGotoLabel("_level0/", action);
        }
        else
        {
            var self = this;
            link.isDelayed = true;
            link.out = setTimeout (
                function ()
                {
                    self.mainMenuAnimate( link, action, true);
                },
                100

            );
        }
    }
}
