﻿/*----------------------------------------------------------------------------- 
valorcollege.com Navigation Script

version:   1.0 
date:      2010-12-20
author:    Jay Baldwin IV
email:     webmaster at rodparsley dot com
website:   valorcollege.com

version history: 

DATE         AUTHOR     CHANGES
2010-12-20   JJBIV      Initial version
-----------------------------------------------------------------------------*/


// Declare variables to exist in the scope of the entire site.
OpenMenu = '';
MenuPreventClose = 'null';


// Open a menu if its not already open.
function MenuNow(id, id2) {
    var NewOpenMenu = id;

    MenuPreventClose = NewOpenMenu;

    if (OpenMenu == NewOpenMenu) return; // Stop. It's trying to open itself again.

    if (OpenMenu.length > 0) {
        var menuOpen = $("#" + OpenMenu);
        if (!menuOpen.is(":hidden")) {
            menuOpen.hide();
        }
    }

    OpenMenu = NewOpenMenu;

    var Source = $("#" + id2);
    var Menu = $("#" + OpenMenu);

    var spos = Source.offset();

    var objMenu = document.getElementById(OpenMenu);
    objMenu.style.left = spos.left + 'px';
    objMenu.style.top = (spos.top + 20) + 'px';

    Menu.slideDown("300").css('display', 'block');
}


// Excute the closing of a menu.
function MenuCloseDo(id) {
    if (MenuPreventClose == id) return;

    var menuOpen = $("#" + id);
    if (menuOpen.is(":hidden")) return;

    menuOpen.hide();
    if (OpenMenu == id) OpenMenu = '';
}


// Used on mouseout... schedules the close execution function.
function MenuClose(id) {
    // We don't want to immediately close, because they user may have 
    // moused out by accident, and moused back in.  We'll give them 500
    // miliseconds (1/2 second) to correct any mouse errors.  

    // Technical translation: Clear the close-prevention token and
    // schedule a check for 500 ms from now.

    MenuPreventClose = 'null';
    setTimeout("MenuCloseDo('" + id + "');", 500);
}
