﻿Dea.BrowseFacilities = {};
Dea.emsData = {
    "FacilityId": "-1"
}

Dea.pageHandleCallback = function(emsResponse, context) {
    switch (context) {
        case "sortRoomSetupsGrid":
        case "groupByChangedRoomSetupsGrid":
        case "filterChanged":
            Dea.ToolTip.hideTip();
            Dea.setHtml("mainGrid", emsResponse);
            wireUpModals();
            return true;
        case "roomTip":
            Dea.ToolTip.loadTipHtml(emsResponse, null, "white", "0px");
                Dea.ToolTip.setPosition();
            return true;
        case "loadBuildings":
            Dea.setHtml("facilitiesContainer", emsResponse.facilitiesHtml);
            Dea.setFiltersForFacilityChange(emsResponse);
            return true;
        case "getFiltersForFacility":
            Dea.setFiltersForFacilityChange(emsResponse);
            return true;
    }
    return false;
}

Dea.getFiltersForFacility = function() {
    Dea.setEmsData(true);
    Dea.makeCallback("getFiltersForFacility");
}

Dea.setFiltersForFacilityChange = function(emsResponse) {
    Dea.setHtml("roomTypesContainer", emsResponse.roomTypesHtml);
    Dea.setHtml("setupTypeContainer", emsResponse.setupTypesHtml);
}

Dea.BrowseFacilities.applyFilter = function() {
    Dea.ToolTip.hideTip();
    Dea.setEmsData();
    var oSave = Dea.Get("SaveFilterSettings");
    if (oSave && oSave.checked === true) {
        if (Dea.emsData.FacilityId > 0) {
            Dea.createCookie("EMSBrowseFacilitiesBuildingId", Dea.emsData.FacilityId, 365);
        }
        else {
            Dea.createCookie("EMSBrowseFacilitiesBuildingId", Dea.emsData.AreaId, 365);
        }
        Dea.createCookie("EMSBrowseFacilitiesRoomTypeId", Dea.emsData.RoomTypeId, 365);
        Dea.createCookie("EMSBrowseFacilitiesSetupTypeId", Dea.emsData.SetupTypeId, 365);
        oSave.checked = false;
    }

    if (Dea.emsData.RoomTypeId === "-1" && Dea.emsData.SetupTypeId == "-1") {
        if (ems_isLite === "1") {
            Dea.setDisplay(filterImg, "none");
        }
        else {
            if (Dea.emsData.AreaId === "-1" && Dea.emsData.FacilityId === "-1") {
                Dea.setDisplay(filterImg, "none");
            }
            else {
                Dea.setDisplay(filterImg, "inline");
            }
        }
    }
    else {
        Dea.setDisplay(filterImg, "inline");
    }

    Dea.makeCallback("filterChanged")
    Dea.BrowseFacilities.hideFilters();
    return false;
}

Dea.BrowseFacilities.resetFilter = function() {
    var selects = document.getElementsByTagName("select");
    Dea.setValue("AreaId", -1, selects);
    Dea.setValue("FacilityId", -1, selects);
    Dea.BrowseFacilities.loadBuildings();
    Dea.setValue("RoomTypeId", -1, selects);
    Dea.setValue("SetupTypes", -1, selects);
    return false;
}
Dea.BrowseFacilities.showFilter = function(oLink) {
    _suppressTip = true;
    var p = Dea.findPos(oLink);
    Dea.setDisplay(filterDiv, "", Number(p[0]) - 15 + "px", p[1] + oLink.offsetHeight + "px")
    try {
       Dea.Get("AreaId").focus();
    }
    catch(areaNotVisible) {
        try {
            Dea.Get("FacilityId").focus();
        }
        catch(facilityNotVisible) {
            Dea.Get("RoomTypeId").focus();
        }
    }
    return false;
}

Dea.BrowseFacilities.hideFilters = function() {
_suppressTip = false;
    Dea.setDisplay(filterDiv, "none")
    return;
}


Dea.BrowseFacilities.loadBuildings = function() {
    Dea.setEmsData();
    Dea.makeCallback("loadBuildings"); 
}


