﻿$(document).ready(function() {
    //Set right column height on Home template
    {
        setTimeout(function() {
            if ($("div.home div#rightColumn").size() > 0) {
                var maxHeight = 0;
                var columns = $("div#leftColumn, div#content, div#rightColumn");

                columns.each(function() {
                    var height = $(this).height();

                    if (height > maxHeight)
                        maxHeight = height;
                });

                $("div#rightColumn").height(maxHeight);
            }
        }, 100);
    }

    // Search results collapse/expand
    {
        $("div.searchResultsContainer div.header").live("click", function() {
            $(this).parents("div.searchResultsContainer").toggleClass("collapsed");
        });
    }

    // Textbox default values
    {
        $("input:text, textarea").each(function() {
            var title = $(this).prop("title");

            if (title !== null && title !== "" && $.trim($(this).val()) === "") {
                $(this).addClass("default");

                $(this).val(title);
            }

            $(this).focus(function() {
                $(this).removeClass("default");

                var title = $(this).prop("title");

                if (title !== null && title !== "" && $(this).val() === title)
                    $(this).val("");
            });

            $(this).blur(function() {
                var title = $(this).prop("title");

                if (title !== null && title !== "" && $.trim($(this).val()) === "") {
                    $(this).addClass("default");
                    $(this).val(title);
                }
            });
        });
    }

    // Quick Links functionality
    {
        $("div#quickLinks select").change(function() {
            var selectedValue = $(this).val();

            if (selectedValue != null && selectedValue != "") {
                window.location.href = selectedValue;
            }
        });
    }

    // Search functionality
    {
        $("div#search a.go").click(function() {
            Search();
        });

        $("div#search input#txtSearch").keydown(function(event) {
            if (event.keyCode === 13) {
                Search();

                return false;
            }
        });
    }

    // Find a Physician Widget
    {
        $("div#findAPhysician a.find").click(function() {
            var specialtyId = null;

            if (!isNaN(($(this).siblings("select#adultSpecialties").val())))
                specialtyId = parseInt($(this).siblings("select#adultSpecialties").val());
            else if (!isNaN(($(this).siblings("select#pediatricSpecialties").val())))
                specialtyId = parseInt($(this).siblings("select#pediatricSpecialties").val());

            FindAPhysician(null, specialtyId, null, null);

            return false;
        });

        $("div#container.findAPhysician div.formSubmit a").click(function() {
            var lastName = null;

            if ($("div#container.findAPhysician input.lastName").val() != "")
                lastName = $("div#container.findAPhysician input.lastName").val();

            var specialtyId = null;

            if (!isNaN(($("div#container.findAPhysician select.adultSpecialty").val())))
                specialtyId = parseInt($("div#container.findAPhysician select.adultSpecialty").val());
            else if (!isNaN(($("div#container.findAPhysician select.pediatricSpecialty").val())))
                specialtyId = parseInt($("div#container.findAPhysician select.pediatricSpecialty").val());

            var city = null;

            if ($("div#container.findAPhysician select.cityTown").val() !== "Select city/town")
                city = $("div#container.findAPhysician select.cityTown").val();

            var language = null;

            if ($("div#container.findAPhysician select.foreignLanguage").val() !== "Select foreign language")
                language = $("div#container.findAPhysician select.foreignLanguage").val();

            FindAPhysician(lastName, specialtyId, city, language);

            return false;
        });
    }
});

function Search() {
    var textbox = $("div#search input#txtSearch");

    if (!textbox.hasClass("default")) {
        var searchTerm = textbox.val();

        window.location.href = currentSiteUrl + "/search-results?search=" + searchTerm;
    }
    else {
        alert("Please enter a search term.");

        return false;
    }
}

function FindAPhysician(lastName, specialtyId, city, language) {
    var requestUrl = "http://physicians.umassmemorial.org/directory/list.asp";
    var queryString = "?dbase=main&setsize=10";

    var siteAbbreviation = "ummc";

    if (currentSite === "ClintonHospital")
        siteAbbreviation = "ch";
    else if (currentSite === "HealthAllianceHospital")
        siteAbbreviation = "hah";
    else if (currentSite === "MarlboroughHospital")
        siteAbbreviation = "mh";
    else if (currentSite === "WingMemorialHospital")
        siteAbbreviation = "wmh";
    else if (currentSite === "UMassMemorialHealthCare")
        siteAbbreviation = "corp";

    if (siteAbbreviation !== null && siteAbbreviation != "")
        queryString += "&view=" + siteAbbreviation;

    if (lastName !== null && lastName != "")
        queryString += "&last=" + lastName;

    if (specialtyId !== null && specialtyId != "")
        queryString += "&specialty=" + specialtyId;

    if (city !== null && city != "")
        queryString += "&city=" + city;

    if (language !== null && language != "")
        queryString += "&language=" + language;

    requestUrl = requestUrl + queryString;

    requestUrl = requestUrl.replace("?&", "?");

    window.location.href = requestUrl;

    return false;
}
