﻿function showRoomTip(roomId)
{
    loadTipHtml(ems_PauseToLoadMsg, null, "", "2px solid black");
    clearTimer();
    currentTip = window.setTimeout("getRoomTip(" + roomId + ")", 1000);
   return false; 
}

function callBack(result, context)
{
    switch(context)
    {
        case "sortRoomSetupsGrid":
        case "groupByChangedRoomSetupsGrid":
        case "filterChanged":
            clearTimer(); 
            hideTip();  
            getObj("mainGrid").innerHTML = result;
            wireUpModals();   
            break;  
        case "roomTip":
           loadTipHtml(result, null, "white", "0px");
           break; 
        case "loadBuildings":
           var emsResponse = result.parseJSON();
           getObj("facilitiesContainer").innerHTML = emsResponse.facilitiesHtml;
          break; 
        default:
            alert("ctx = " + context + "\n result = " + result);  
    } 
    clearLoading(); 
}

function filterChanged()
{
    hideFilters();
    setEmsData();

    var oSave = getObjByEmsDataId("SaveFilterSettings");
    if (oSave.checked === true) {
        if (emsData.FacilityId > 0) {
            createCookie("EMSBrowseFacilitiesBuildingId", emsData.FacilityId, 365);
        }
        else {
            createCookie("EMSBrowseFacilitiesBuildingId", emsData.AreaId, 365);
        }
        createCookie("EMSBrowseFacilitiesRoomTypeId", emsData.RoomTypeId, 365);
        createCookie("EMSBrowseFacilitiesSetupTypeId", emsData.SetupTypeId, 365);
        
        oSave.checked = false;
    }

    if (emsData.RoomTypeId === "-1" && emsData.SetupTypeId == "-1") {
        if (ems_isLite === "1") {
            getObj(filterImg).style.display = "none";
        }
        else {
            if (emsData.AreaId === "-1" && emsData.FacilityId === "-1") {
                getObj(filterImg).style.display = "none";
            }
            else {
                getObj(filterImg).style.display = "";
            }
        }
    }
    else {
        getObj(filterImg).style.display = "inline";
    }
   
    makeCallback("filterChanged")
    return false;
}

function getRoomTip(roomId)
{
    clearTimer();
    setEmsData();
    emsData.roomId = roomId; 
    makeCallback("roomTip");
   return false; 
}


function showFilter(oLink)
{
    var o = getObj(filterDiv);
    var p = findPos(oLink);
   
   o.style.left = Number(p[0]) - 200 + "px";
   o.style.top = p[1] + oLink.offsetHeight +  "px";
    

    o.style.display = "";
   return false; 
}

function hideFilters()
{
   var o = getObj(filterDiv);
   hide(o);
   return;
}


function loadBuildings() {

    setEmsData();
    makeCallback("loadBuildings"); 
}




