﻿Dea.Bfs = {};
Dea.emsData = { "Features": "" };

Dea.Bfs.setFilterPosition = function(oToSet, startFromTag) {
    var widthOfFilters = oToSet.offsetWidth;
    var p = Dea.findPos(startFromTag);

    oToSet.style.left = (p[0] + 25 - widthOfFilters) + "px";
    oToSet.style.top = p[1] + 25 + "px";
    return;
}

Dea.Bfs.showFilters = function(fromTag) {
    _suppressTip = true;
    var o = Dea.Get("filterOptions");
    Dea.setDisplay(o, "inline");

    if (ems_isLite === "1") {
        o.style.width = "13.5em";
        Dea.setDisplay(ems_resetButton, "none");
    }
    else {
       o.style.width = "19em";
    }
    Dea.Bfs.setFilterPosition(o, fromTag);
    Dea.Get("BookDate").focus();
    return false;

}

Dea.Bfs.hideFilters = function() {
    _suppressTip = false;
    Dea.setDisplay("filterOptions", "none");
    return false;
}

Dea.Bfs.resetFilter = function() {
    var selects = document.getElementsByTagName("select");
    Dea.setValue("AreaId", -1, selects);
    Dea.setValue("FacilityId", -1, selects);
    Dea.Bfs.loadBuildings();
    Dea.setValue("RoomTypeId", -1, selects);
    Dea.setValue("FloorId", -1, selects);
    return false;
}

Dea.pageHandleCallback = function(emsResponse, context) {
    switch (context) {
        case "bookingTip":
            Dea.ToolTip.loadTipHtml(emsResponse, null, "white", "2px solid #cccccc");
            return true;
        case "moveDate":
            Dea.ResBook.rebuildBook(emsResponse);
            return true;
        case "loadBuildings":
            Dea.setHtml("facilitiesContainer", emsResponse.facilitiesHtml);
            Dea.facilities.load(emsResponse.addToFacilities);
            Dea.facilities.setTimezone(Dea.Get("AreaId") || Dea.Get("FacilityId"));
            Dea.setFiltersForFacilityChange(emsResponse);
            return true;
        case "getFiltersForFacility":
            Dea.setFiltersForFacilityChange(emsResponse);
            return true;

    }
    return false;
}


Dea.Bfs.showBook = function (e) {
    Dea.setDisplay("bookWrapper", "");
}

Dea.Bfs.loadBuildings = function () {
    Dea.setEmsData();
    Dea.makeCallback("loadBuildings");
}

Dea.getFiltersForFacility = function() {
    Dea.setEmsData(true);
    Dea.makeCallback("getFiltersForFacility");
}

Dea.setFiltersForFacilityChange = function(emsResponse) {
    Dea.setValue("ems_features", "");
    Dea.setHtml("floorsContainer", emsResponse.floorsHtml);
    Dea.setHtml("roomTypesContainer", emsResponse.roomTypesHtml);
    Dea.setHtml(ems_features, emsResponse.featuresHtml);
}

Dea.browser.addEvent(window, "load", Dea.Bfs.showBook);

