﻿var LaylaCalendar = {
    calendarHolder: null,
    init: function (objData) {
        Object.extend(LaylaCalendar, objData);
        LaylaCalendar.calendarHolder = new scal(objData.calendarContainerID, objData.calendarUpdateDateID, { prevbutton: '<img src=\"' + DomainURL + '/images/layla/little_arrow_right.gif" \/>', nextbutton: '<img src=\"' + DomainURL + '/images/layla/little_arrow_left.gif" \/>', dayheadlength: 5, tabular: true, oncalchange: function (d) {
            var selectedDate = d.date.toJSON()
            selectedDate = selectedDate.replace(/"/g, '');
            var data = {
                TodayDate: selectedDate,
                IntMaxEventsToLoad: 100
            };
            $.json('GetDateListByRange', { url: 'json/jsonLayla.aspx?action=', postBody: data, onSuccess: function (json, state) {
                LaylaCalendar.setDaysDisplay(json.eventDates);
            }
            })
        }
        });
        // need to take current time from server
        LaylaCalendar.calendarHolder.setCurrentDate(new Date());
        LaylaCalendar.setDaysDisplay(objData.days);
    },
    setDaysDisplay: function (arrDays) {
        var arrDays = arrDays.uniq();
        for (var i = 0; i < arrDays.length; i++) {
            var td = LaylaCalendar.calendarHolder.getElementByDate(new Date(arrDays[i]));
            //$(td).setStyle({ background: 'yellow' });
            $(td).addClassName('has-event');

            $(td).observe('click', function (date) {
                var curDate = new Date(date);
                var newDate = curDate.getDate() + '/' + (Number(curDate.getMonth()) + Number(1)) + '/' + curDate.getFullYear();
                var eventLink = 'Events/EventSearch.aspx?FromDate={0}&ToDate={0}&Category={1}&lyl=1';
                eventLink = eventLink.replace(/\{0\}/g, newDate);
                eventLink = eventLink.replace(/\{1\}/g, LaylaCalendar.categoryID);
                MoveToPage(DomainURL + eventLink);
            } .curry(arrDays[i]))
        }
    }


}

var LaylaTab = {
    selectedTab: null,
    init: function (objData) {
        Object.extend(LaylaTab, objData);
    },
    setTab: function (tab) {
        $(tab.tabTextID).update(tab.areaTitle);
        $(tab.tabID).observe('click', function () {
            LaylaTab.selectArea(tab.areaID);
            LaylaTab.setSelected(tab);

        });
        if (tab.isSelected) {
            LaylaTab.setSelected(tab);
        }
    },
    selectArea: function (areaID) {
        var data = {
            intMaxTopEvents: 6,
            AreaCode: areaID
        };
        $.json('GetEventListByAreaCode', { url: 'json/jsonLayla.aspx?action=', postBody: data, onSuccess: function (json, state) {
            if (state) {
                //$('ctl00_ctl00_BasicMasterPage_cphLaylaContainer_dvNoEvents').hide();
                $(LaylaTab.contextContainerID).update(json.control);
            } else {
                $(LaylaTab.contextContainerID).update($('dvNoEvents').innerHTML);
                //$('ctl00_ctl00_BasicMasterPage_cphLaylaContainer_dvNoEvents').show();
            }
        }
        })
    },
    setSelected: function (tab) {
        if (LaylaTab.selectedTab !== null) {
            $(LaylaTab.selectedTab.tabID).removeClassName('layla-event-tab-selected');
        };
        $(tab.tabID).addClassName('layla-event-tab-selected');
        LaylaTab.selectedTab = tab;
    }
}

var LaylaAlbumAreaTab = {
    selectedTab: null,
    init: function (objData) {
        Object.extend(LaylaAlbumAreaTab, objData)
    },
    setTab: function (tab) {
        $(tab.tabTextID).update(tab.areaTitle);
        $(tab.tabID).observe('click', function () {
            LaylaAlbumAreaTab.selectArea(tab.areaID, tab.allLinkPath);
            LaylaAlbumAreaTab.setSelected(tab)
        });
        if (tab.isSelected) {
            LaylaAlbumAreaTab.setSelected(tab);
        }
    },
    selectArea: function (areaID, allLinkPath) {
        var data = {
            AreaCode: areaID
        };
        
        setdvLoaderGenericHeightAlbum('dvAlbumCont', 'dvLoaderAlbum');

        $.json('GetAlbumsListByAreaCode', { url: 'json/jsonLayla.aspx?action=', postBody: data, loader: 'dvLoaderAlbum', onSuccess: function (json, state) {
            if (state) {
                $(LaylaAlbumAreaTab.contextContainerID).update(json.control);
                if (allLinkPath)
                    $(LaylaAlbumAreaTab.linkToAllID).href = allLinkPath;
                else
                    $(LaylaAlbumAreaTab.linkToAllID).href = LaylaAlbumAreaTab.defaultLinkPath;
            }
        }
        })
    },
    setSelected: function (tab) {
        if (LaylaTab.selectedTab !== null) {
            $(LaylaTab.selectedTab.tabID).removeClassName('layla-event-tab-selected');
        };
        $(tab.tabID).addClassName('layla-event-tab-selected');
        LaylaTab.selectedTab = tab;
    }
}

function setdvLoaderGenericHeightAlbum(ContName, LoaderName) {
    var dvLoaderGenericHeight = $(ContName).getHeight();
    dvLoaderGenericHeight = dvLoaderGenericHeight + "px";
    $(LoaderName).setStyle({ 'height': dvLoaderGenericHeight });
}
