﻿
//classe aidant aux appels ajax
var CalendarManagement = Base.extend({

    //Constructor
    constructor: function(minMonth, minYear, maxMonth, maxYear) {
        this.minMonth = minMonth;
        this.minYear = minYear;
        this.maxMonth = maxMonth;
        this.maxYear = maxYear;
    },

    minMonth: null,
    minYear: null,
    maxMonth: null,
    maxYear: null,

    //Appelle les méthods du WS
    callWSEvents: function(methodName, myData, mySuccess) {

        $.callWS({
            url: '/WS/wsEvents.asmx/' + methodName,
            data: myData,
            success: mySuccess,
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.responseText);
            }
        });
    },
    showNextMonth: function() {
        if (currentYear < this.maxYear || (currentYear == this.maxYear && currentMonth < this.maxMonth)) {
            var dataBuilder = new DataBuilder();
            dataBuilder.clear();
            dataBuilder.add('currentMonth', currentMonth);
            dataBuilder.add('currentYear', currentYear);
            dataBuilder.add('currentDay', -1);
            dataBuilder.add('lang', '\'' + lang + '\'');

            var context = this;

            this.callWSEvents('GetEventsInNextMonth', dataBuilder.toJSONString(), function(data, textStatus) {
                $("#Contenu").html(data.d.html);
                currentMonth = data.d.month;
                currentYear = data.d.year;
                currentDay = -1;
            });
        }
        return false;
    },
    showPreviousMonth: function() {
        if (currentYear > this.minYear || (currentYear == this.minYear && currentMonth > this.minMonth)) {
            var dataBuilder = new DataBuilder();
            dataBuilder.clear();
            dataBuilder.add('currentMonth', currentMonth);
            dataBuilder.add('currentYear', currentYear);
            dataBuilder.add('currentDay', -1);
            dataBuilder.add('lang', '\'' + lang + '\'');

            var context = this;
            this.callWSEvents('GetEventsInPreviousMonth', dataBuilder.toJSONString(), function(data, textStatus) {

                $("#Contenu").html(data.d.html);
                currentMonth = data.d.month;
                currentYear = data.d.year;
                currentDay = -1;
            });
        }
        return false;
    },
    showDay: function(pDay, pMonth, pYear) {
        var dataBuilder = new DataBuilder();
        dataBuilder.clear();

        dataBuilder.add('currentDay', pDay);
        dataBuilder.add('currentMonth', pMonth);
        dataBuilder.add('currentYear', pYear);
        dataBuilder.add('lang', '\'' + lang + '\'');

        var context = this;
        this.callWSEvents('GetEventsInDay', dataBuilder.toJSONString(), function(data, textStatus) {

            $("#Contenu").html(data.d.html);
            currentMonth = data.d.month;
            currentYear = data.d.year;
            currentDay = data.d.day;
        });

        return false;
    }
});