
var Menu = {
    menuDelay:300
}

Menu.showProfileMenu = function( linkElement ){
    var profileMenu = $( 'profile-menu' );
    profileMenu.slatedToHide = false;
    profileMenu.setStyle( 'left', (linkElement.getPosition().x-10)+'px' );
    profileMenu.setStyle( 'top', (linkElement.getPosition().y+20)+'px' );
    profileMenu.setStyle( 'visibility', 'visible' );
}

Menu.showNewsMenu = function( linkElement ){
    var newsMenu = $( 'news-menu' );
    newsMenu.slatedToHide = false;
    newsMenu.setStyle( 'left', (linkElement.getPosition().x-10)+'px' );
    newsMenu.setStyle( 'top', (linkElement.getPosition().y+20)+'px' );
    newsMenu.setStyle( 'visibility', 'visible' );
}

Menu.showProjectsMenu = function(){
    var catMenu = $( 'categories-menu' );
    catMenu.slatedToHide = false;
    var linkElement = $('projects-link');
    catMenu.setStyle( 'left', (linkElement.getPosition().x-10)+'px' );
    catMenu.setStyle( 'top', (linkElement.getPosition().y+20)+'px' );
    catMenu.setStyle( 'visibility', 'visible' );
}

Menu.showContactMenu = function( linkElement ){
    var contactMenu = $( 'contact-menu' );
    contactMenu.slatedToHide = false;
    contactMenu.setStyle( 'left', (linkElement.getPosition().x-10)+'px' );
    contactMenu.setStyle( 'top', (linkElement.getPosition().y+20)+'px' );
    contactMenu.setStyle( 'visibility', 'visible' );
}

Menu.hideProfileMenu = function(){
    $( 'profile-menu' ).slatedToHide = true;
    setTimeout(
        'if( $( \'profile-menu\' ).slatedToHide ){ $( \'profile-menu\' ).setStyle( \'visibility\', \'hidden\' );}',
        Menu.menuDelay
        );
}

Menu.hideNewsMenu = function(){
    $( 'news-menu' ).slatedToHide = true;
    setTimeout(
        'if( $( \'news-menu\' ).slatedToHide ){ $( \'news-menu\' ).setStyle( \'visibility\', \'hidden\' );}',
        Menu.menuDelay
        );
}

Menu.hideProjectsMenu = function(){
    $( 'categories-menu' ).slatedToHide = true;
    setTimeout(
        'if( $( \'categories-menu\' ).slatedToHide ){ $( \'categories-menu\' ).setStyle( \'visibility\', \'hidden\' );}',
        Menu.menuDelay
        );
}

Menu.hideContactMenu = function(){
    $( 'contact-menu' ).slatedToHide = true;
    setTimeout(
        'if( $( \'contact-menu\' ).slatedToHide ){ $( \'contact-menu\' ).setStyle( \'visibility\', \'hidden\' );}',
        Menu.menuDelay
        );
}

Menu.enableMenus = function(){
    $$( 'div#categories-menu a' ).each(
        function( aElement ){
            var id = aElement.getProperty( 'id' );
            var subMenuElement = $( id+'-menu' );
            var subMenuWidth = subMenuElement.getSize().x;
            aElement.addEvent(
                'mouseover',
                function(){
                    var aElementX = aElement.getPosition().x;
                    var subMenuY = aElement.getPosition().y;
                    var subMenuX = aElementX-subMenuWidth;
                    subMenuElement.setStyle( 'left', subMenuX+'px' );
                    subMenuElement.setStyle( 'top', (subMenuY-8)+'px' );
                    subMenuElement.slatedToHide = false;
                    subMenuElement.setStyle( 'visibility', 'visible' );
                }
                )
            aElement.addEvent(
                'mouseout',
                function(){
                    $( id+'-menu' ).slatedToHide = true;
                    setTimeout(
                        'if( $( \''+id+'-menu\' ).slatedToHide ){ $( \''+id+'-menu\' ).setStyle( \'left\',-1000 );$( \''+id+'-menu\' ).setStyle( \'visibility\', \'hidden\' );}',
                        Menu.menuDelay
                        );
                }
                )
        }
        )
    $$( 'div.menu' ).each(
        function( menuElement ){
            var id = menuElement.getProperty( 'id' );
            menuElement.addEvent(
                'mouseover',
                function(){
                    $( id ).slatedToHide = false;
                    $( id ).setStyle( 'visibility', 'visible' );
                }
                )
            menuElement.addEvent(
                'mouseout',
                function(){
                    $( id ).slatedToHide = true;
                    setTimeout(
                        'if( $( \''+id+'\' ).slatedToHide ){ $( \''+id+'\' ).setStyle(\'left\',-1000);$( \''+id+'\' ).setStyle( \'visibility\', \'hidden\' );}',
                        Menu.menuDelay
                        );
                }
                )
        }
        )
    $$( 'div.submenu' ).each(
        function( menuElement ){
            var id = menuElement.getProperty( 'id' );
            menuElement.addEvent(
                'mouseover',
                function(){
                    Menu.showProjectsMenu();
                }
                )
            menuElement.addEvent(
                'mouseout',
                function(){
                    Menu.hideProjectsMenu();
                }
                )
        }
        )
}

window.addEvent(
    'domready',
    function(){
        Menu.enableMenus();
    }
    );

