﻿var medicalServicesPopUp;
var medicalServicesPopUpCaller;
var walkInWaitTimesPopUp;

window.addEvent('load', function() {
    medicalServicesPopUp = $('medicalServicesPopUp');
    walkInWaitTimesPopUp = $('walkInWaitTimesPopUp');
    var closeIcon = new Element('img', {
        'src': '/Images/Icons/window_close.gif',
        'alt': 'Close',
        'title': 'Close',
        'class': 'IMGR'
    });
    closeIcon.setStyle('cursor', 'pointer');
    closeIcon.addEvent('click', function() {
        hidePopUp(medicalServicesPopUp);
    });
    closeIcon.injectBefore(medicalServicesPopUp.getElement('.navigationContainerFooter a'));

    var clonedCloseIcon = Element.clone(closeIcon);
    clonedCloseIcon.addEvent('click', function() {
        hidePopUp(walkInWaitTimesPopUp);
    });
    clonedCloseIcon.injectBefore(walkInWaitTimesPopUp.getElement('.navigationContainerFooter a'));

    $('showSpecialtiesListLink').addEvent('click', function(event) {
        showMedicalServicesPopUp(medicalServicesPopUp, "SpecialtiesList");
        setPopUpPosition(this, medicalServicesPopUp);
        event = new Event(event);
        event.preventDefault();
    });
    $('showProgramsListLink').addEvent('click', function(event) {
        showMedicalServicesPopUp(medicalServicesPopUp, "ProgramsList");
        setPopUpPosition(this, medicalServicesPopUp);
        event = new Event(event);
        event.preventDefault();
    });
    $('showWalkInWaitTimesLink').addEvent('click', function(event) {
        hidePopUp(medicalServicesPopUp);
        showPopUp(walkInWaitTimesPopUp);
        setPopUpPosition(this, walkInWaitTimesPopUp);
        event = new Event(event);
        event.preventDefault();
    });
});

function showPopUp(popUp) {
    if (!popUp.hasClass('visible')) {
        popUp.addClass('visible');
    }
}

function hidePopUp(popUp) {
    if (popUp.hasClass('visible')) {
        popUp.removeClass('visible');
    }
}

function showMedicalServicesPopUp(popUp, tabToSelectId) {
    hidePopUp(walkInWaitTimesPopUp);
    showPopUp(popUp);
    var tabToSelect = $(tabToSelectId);
    if (tabToSelect) {
        tabToSelect.fireEvent('click');
    }
}

function setPopUpPosition(launchingAnchor, popUp) {
    var anchorCoords = launchingAnchor.getCoordinates();
    var popUpCoords = popUp.getCoordinates();
    var distanceFromTopOfWindow = anchorCoords.top - popUpCoords.height;
    var distanceFromLeftOfWindow = anchorCoords.left;

    popUp.setStyles({
        'top': (distanceFromTopOfWindow < window.getScrollTop() ? window.getScrollTop() + 5 : distanceFromTopOfWindow),
        'left': (distanceFromLeftOfWindow < window.getScrollLeft() ? window.getScrollLeft() + 5 : distanceFromLeftOfWindow)
    });
    popUpCoords = popUp.getCoordinates();
    var windowWidth = typeof (window.innerWidth) == 'number' ? window.innerWidth : document.documentElement.clientWidth;
    if (popUpCoords.right > windowWidth) {
        var distanceToMoveLeft = popUpCoords.left - (popUpCoords.right - windowWidth);
        popUp.setStyle('left', distanceToMoveLeft < window.getScrollLeft() ? window.getScrollLeft() : popUpCoords.left - (popUpCoords.right - windowWidth));
    }
}