var GolfMenu = new Class({
    initialize: function() {
        var container = $('menu_container_home');
        if (container) {
            container.getElements('div').each(function(div) {
                // get submenu
                var submenu = div.getElement('ul.submenu');
                if (submenu) {
                    div.submenu = submenu;
                    $(document.body).adopt(div.submenu);
                }

                div.addEvents({
                    'mouseenter': function() {
                        var img = div.getElement('img');
                        if (img) {
                            div.img = img;
                            if (!img.src.contains('_ov.jpg')) img.src = img.src.replace('.jpg', '_ov.jpg');
                            this.showMenu(div);
						}
                    }.bind(this),
                    'mouseleave': function() {
                        if (div.submenu) this.closeMenu(div);
                    }.bind(this)
                });
            }.bind(this));
        }
    },

    showMenu: function(div) {
        if (div.submenu) {
            if (div.submenu.getStyle('display') == 'block')
                $clear(div.timer);
            else {
                var coords = div.img.getCoordinates();
                div.submenu.setStyles({
                    'width': coords.width,
                    'top': coords.top + coords.height,
                    'left': coords.left,
                    'display': 'block'
                });
                div.submenu.addEvents({
                    'mouseenter': function() { this.showMenu(div); }.bind(this),
                    'mouseleave': function() { this.closeMenu(div); }.bind(this)
                });
            }
        }
    },

    closeMenu: function(div) {
        div.timer = setTimeout(function() { this.doCloseMenu(div); }.bind(this), 50);
    },

    doCloseMenu: function(div) {
        if (div.submenu) div.submenu.setStyle('display', 'none');
        if (div.img) div.img.src = div.img.src.replace('_ov.jpg', '.jpg');
    }
});

window.addEvent('domready', function() {
    new GolfMenu();
});
