var AttorneysSubNav = new Class({
    initialize: function(navLink, subNavDiv) {
        this.navLink = $(navLink);
        this.subNavDiv = $(subNavDiv);

        // By default, the subnav is invisible.  Otherwise, it will appear
        // for a split second when loading in IE.
        this.subNavDiv.setStyle("display", "none");
        this.subNavDiv.setStyle("visibility", "visible");
    },
    
    // Repositions the sub nav relative to main link.
    move: function() {
        var navLinkPos = this.navLink.getPosition();

        var newX = navLinkPos.x;
        // There is a strange off-by-one bug with Gecko browsers when the
        // window size is odd and there are no scroll bars.
        if (Browser.Engine.gecko) {
            var windowSize = window.getSize();
            if (windowSize.x >= window.getScrollSize().x && (windowSize.x % 2) == 1)
                newX++;
        }

        var newY = navLinkPos.y + this.navLink.getSize().y;
        this.subNavDiv.setPosition({x: newX, y: newY});
    },
    
    show: function() {
        this.subNavDiv.setStyle("display", "");
        this.navLink.addClass("attorneys-expanded");
    },
    
    hide: function() {
        this.navLink.removeClass("attorneys-expanded");
        this.subNavDiv.setStyle("display", "none");
    }
});

function setupSubNav() {
    var navLink = $("attorneysLink");
    var subNavDiv = $("attorneysSubNav");

    // navLink.href = "#";

    var subNav = new AttorneysSubNav(navLink, subNavDiv);
    subNav.move();

    window.addEvent("resize", function() { subNav.move(); });

    navLink.addEvent("mouseover", function() { subNav.show(); });
    navLink.addEvent("mouseout", function() { subNav.hide(); });
    subNavDiv.addEvent("mouseover", function() { subNav.show(); });
    subNavDiv.addEvent("mouseout", function() { subNav.hide(); });
}

window.addEvent("domready", function() {
    setupSubNav();

    $$("input.search-box").each(function(searchBox) {
        searchBox.addEvent("click", function() {
            if (searchBox.get("value") == "SEARCH")
                searchBox.set("value", "");
        });
    });

    var searchForm = $("searchform");
    if (searchForm) {
        searchForm.addEvent("submit", function() {
            if (searchForm.getElement("input.search-box").value == "") {
                alert("Please enter a search term.");
                return false;
            }
        });
    }

    $$("a.map-link").each(function(mapLink) {
        mapLink.addEvent("click", function() {
            window.open(mapLink.href, "map", "width=680,height=540");
            return false;
        });
    });
})

