function selectTopMenu(areaId) {
    $$('ul[class="secondLevel"]').each(function(element) {
        element.hide();
    });
    $('subMenu' + areaId).show();
    $$('li[class="topLevelItem"]', 'li[class="topLevelItem selected"]').each(function(element) {
        element.removeClassName("selected");
    });
    $('topMenu' + areaId).addClassName("selected");
}

function toggleItem(headingId, bodyId) {
    var item = $(bodyId);
    Event.stopObserving(headingId, 'click');
    if (!item.visible()) {
        new Effect.BlindDown(item, {duration: 0.5});
    } else {
        new Effect.BlindUp(item, {duration: 0.5});
    }
    setTimeout('doneToggleItem(\'' + headingId + '\');', 500);
}

function doneToggleItem(itemId) {
    Event.observe(itemId, 'click', 'toggleItem(\'itemId\');');
}

var menuItemMarginWidth = 15;
var menuCentered = false;
function centerSubMenus() {
    if (!menuCentered && $('topMenu')) {
        var topMenuItem = null;
        var minLeftOffset = 1000;
        var topMenuDimensions = $('topMenu').getDimensions();
        $('topMenu').childElements().each(function(element) {
            if (element.hasClassName('topLevelItem') && element.hasClassName('selected')) {
                topMenuItem = element;
            }
            minLeftOffset = Math.min(minLeftOffset, element.cumulativeOffset().left);
        });
        if ((topMenuItem != null) && ($('secondLevelMenu'))) {
            var menuItemWidth = topMenuItem.getWidth();
            var centerPos = topMenuItem.cumulativeOffset().left + (menuItemWidth / 2);

            $('secondLevelMenu').setStyle({marginLeft : '0px'});
            var secondLevelMenuItem = null;
            var secondLevelWidth = 0;
            $$('#secondLevelMenu li').each(function(element) {
                if (element.hasClassName('selected')) {
                    secondLevelMenuItem = element;
                }
                secondLevelWidth += element.getWidth() + menuItemMarginWidth;
            });
            secondLevelWidth -= menuItemMarginWidth;
            var secondLevelLeftOffset = centerPos - (secondLevelWidth / 2);
            secondLevelLeftOffset = secondLevelLeftOffset - minLeftOffset;

            if (secondLevelLeftOffset + secondLevelWidth > topMenuDimensions.width) secondLevelLeftOffset = topMenuDimensions.width - secondLevelWidth - menuItemMarginWidth;
            if (secondLevelLeftOffset > 0) $('secondLevelMenu').setStyle({marginLeft : (secondLevelLeftOffset) + 'px'});
            if ($('thirdLevelMenu')) {
                if (secondLevelMenuItem != null) {
                    var secondLevelMenuItemWidth = secondLevelMenuItem.getWidth();
                    var secondLevelCenterPos = secondLevelMenuItem.cumulativeOffset().left + (secondLevelMenuItemWidth / 2);
                    $('thirdLevelMenu').setStyle({marginLeft : '0px'});
                    var thirdLevelWidth = 0;
                    $$('#thirdLevelMenu li').each(function(element) {
                        if (element.hasClassName('selected')) {
                            secondLevelMenuItem = element;
                        }
                        thirdLevelWidth += element.getWidth() + menuItemMarginWidth;
                    });
                    thirdLevelWidth -= menuItemMarginWidth;
                    var thirdLevelLeftOffset = secondLevelCenterPos - (thirdLevelWidth / 2);
                    thirdLevelLeftOffset = thirdLevelLeftOffset - minLeftOffset;
                    if (thirdLevelLeftOffset + thirdLevelWidth > topMenuDimensions.width) thirdLevelLeftOffset = topMenuDimensions.width - thirdLevelWidth - menuItemMarginWidth;
                    if (thirdLevelLeftOffset > 0) $('thirdLevelMenu').setStyle({marginLeft : (thirdLevelLeftOffset) + 'px'});
                }
            }
        }
        menuCentered = true;
    }
    if ($('secondLevelMenu')) $('secondLevelMenu').removeClassName('menuHidden');
    if ($('thirdLevelMenu')) $('thirdLevelMenu').removeClassName('menuHidden');
}
/*
 setTimeout("centerSubMenus()", 2000); // Fall back in case there are problems causing the page to not fully load
 Event.observe(window, 'load', centerSubMenus);
 */


function resetFields() {
    $('jobTitleSelect').selectedIndex = 0;
    $('jobRegionSelect').selectedIndex = 0;
    $('jobCitySelect').selectedIndex = 0;
    $('jobScheduleSelect').selectedIndex = 0;
}

function resetJobTitle() {
    $('jobRegionSelect').selectedIndex = 0;
    $('jobCitySelect').selectedIndex = 0;
    $('jobScheduleSelect').selectedIndex = 0;
}

function resetRegion() {
    $('jobCitySelect').selectedIndex = 0;
    $('jobScheduleSelect').selectedIndex = 0;
}

function resetCity() {
    $('jobScheduleSelect').selectedIndex = 0;
}

function resetCountry() {
    $('jobCountrySelect').selectedIndex = 0;
}

function resetFieldsAndSubmit() {
    resetFields();
    setTimeout(submitForm, 1);
}
function submitForm() {
    $('jobFilterForm').submit();
}

function initSelectItemTooltips() {
    initTooltipText('jobAreaSelect');
    initTooltipText('jobTitleSelect');
    initTooltipText('jobRegionSelect');
    initTooltipText('jobCitySelect');
    initTooltipText('jobScheduleSelect');
}

function initTooltipText(elementId) {
    var element = $(elementId);
    var selectedIndex = element.selectedIndex;
    element.title = element.options[selectedIndex].title;
}
