// Main page Y position is 343, sub page Y position is 215

// Initialize the menus and varaibles

var menus = new Array();
menus[0] = "specCentersMenu";
menus[1] = "physiciansMenu";
menus[2] = "servicesMenu";
menus[3] = "educationMenu";
menus[4] = "aboutMenu";
var menuOpen = "";
var gutter = 0;
var winWidth = 0;
var mainYPos = 0;
var subOffset = 0;
var scrollOffset = 0;

// Function to show the menu

function showMenu(div, x, y) {
    menuOpen = div;
    mainYPos = y;
    subOffset = 343 - mainYPos;
    idName = document.getElementById(div);
    if (navigator.appName.indexOf("Microsoft") != -1) {
        winWidth = document.body.offsetWidth;
        gutter = (winWidth - 770) / 2;
        xPos = (x + gutter) + "px";
        yPos = y + 9 + "px";
        scrollOffset = document.documentElement.scrollTop;
    } else if ((navigator.platform.indexOf("Mac") != -1) && (navigator.userAgent.indexOf("Firefox") != -1) && (parseInt(navigator.appVersion) >= 2)) {
        winWidth = window.innerWidth;
        gutter = (winWidth - 770) / 2;
        xPos = (x + gutter) + "px";
        yPos = y + "px";
        scrollOffset = document.documentElement.scrollTop;
    } else if (navigator.platform.indexOf("Mac") != -1) {
        winWidth = window.innerWidth;
        gutter = (winWidth - 770) / 2;
        xPos = (x + gutter) + "px";
        yPos = y + 12 + "px";
        scrollOffset = window.pageYOffset;
    } else {
        winWidth = window.innerWidth;
        gutter = (winWidth - 770) / 2;
        xPos = (x + gutter) + "px";
        yPos = y + "px";
        scrollOffset = document.documentElement.scrollTop;
    }
    idName.style.left = xPos;
    idName.style.top = yPos;
    idName.style.display = "block";
}

// Function to hide the menu

function hideMenu(div) {
    menuOpen = ""
    idName = document.getElementById(div);
    idName.style.display = "none";
}

// Function to hide all of the menus

function hideAll() {
    menuOpen = ""
    for(i in menus) {
        document.getElementById(menus[i]).style.display = "none";
    }
}

// Mouse listener event, to track when the mouse is outside of the menu

if (navigator.appName.indexOf("Microsoft") != -1) {
    document.attachEvent("onmousemove", checkMenu);
} else {
    document.addEventListener("mousemove", checkMenu, true);
}

function checkMenu(event) {
    if (menuOpen != "") {
        if (menuOpen == menus[0]) {
            xRightLimit = 400 + gutter;
            xLeftLimit = 140 + gutter;
            yTopLimit = 290 - subOffset - scrollOffset;
            yBottomLimit = 600 - subOffset - scrollOffset;
        } else if (menuOpen == menus[1]) {
            xRightLimit = 520 + gutter;
            xLeftLimit = 300 + gutter;
            yTopLimit = 290 - subOffset - scrollOffset;
            yBottomLimit = 420 - subOffset - scrollOffset;
        } else if (menuOpen == menus[2]) {
            xRightLimit = 600 + gutter;
            xLeftLimit = 380 + gutter;
            yTopLimit = 290 - subOffset - scrollOffset;
            yBottomLimit = 600 - subOffset - scrollOffset;
        } else if (menuOpen == menus[3]) {
            xRightLimit = 735 + gutter;
            xLeftLimit = 520 + gutter;
            yTopLimit = 290 - subOffset - scrollOffset;
            yBottomLimit = 440 - subOffset - scrollOffset;
        } else if (menuOpen == menus[4]) {
            xRightLimit = 760 + gutter;
            xLeftLimit = 565 + gutter;
            yTopLimit = 290 - subOffset - scrollOffset;
            yBottomLimit = 440 - subOffset - scrollOffset;
        }      
        if (navigator.appName.indexOf("Microsoft") != -1) {
            if ((window.event.clientX > xRightLimit) || (window.event.clientX < xLeftLimit) || (window.event.clientY < yTopLimit) || (window.event.clientY > yBottomLimit)) {
                hideMenu(menuOpen);
            }
        } else {
            if ((event.clientX > xRightLimit) || (event.clientX < xLeftLimit) || (event.clientY < yTopLimit) || (event.clientY > yBottomLimit)) {
                hideMenu(menuOpen);
            }
        }
    }
}
