
var PapelDigital = {

    mostrarMes: true,
    daysArray: null,

    // -------------------------------------------------------------------------
    init: function() {

        $('.pdigital-loader').css({ opacity: 0.7 });

        $.datepicker.setDefaults($.datepicker.regional.es);
        $('#pdigital-date').datepicker({
            dateFormat: 'yymmdd',
            onSelect: PapelDigital.onSelect,
            beforeShowDay: PapelDigital.beforeShowDay,
            onChangeMonthYear: PapelDigital.onChangeMonthYear
        });
    },

    // -------------------------------------------------------------------------
    onChangeMonthYear: function(year, month, inst) {

        //alert('cambiandoMesAño: ' + year + ' , ' + month);
        if(month < 10) {month = '0'+month;}
        var theUrl = '/papeldigital/data/ediciones'+year+month+'.xml';
        PapelDigital.bloquearCalendario(true);
        PapelDigital.daysArray = null;
        $.ajax({
            //cache: true,
            dataType: 'xml',
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                //PapelDigital.handleError(theUrl, XMLHttpRequest, textStatus, errorThrown);
                PapelDigital.mostrarMes = false;
                $('#pdigital-date').datepicker('refresh');
                PapelDigital.bloquearCalendario(false);

            },
            success: function(data, textStatus, XMLHttpRequest) {
                PapelDigital.mostrarMes = true;
                //for(x in data) {
                var arr = [];
                $(data).find('edic').each(function() {
                    arr[$(this).attr('dir')] = $(this).attr('pags');
                });
                PapelDigital.daysArray = arr;
                $('#pdigital-date').datepicker('refresh');
                PapelDigital.bloquearCalendario(false);
            },
            url: theUrl
        });
        return false;
    },

    // -------------------------------------------------------------------------
    beforeShowDay: function(date) {

        //alert(date)
        if(PapelDigital.mostrarMes) {
            if(PapelDigital.daysArray === null) {
                return [true, '', ''];
            }
            var d = date.getDate();
            var m = date.getMonth() + 1;
            var y = date.getFullYear();
            if(d < 10) {d = '0'+d;}
            if(m < 10) {m = '0'+m;}
            var ymd = '' + y + m + d;
            //alert(ymd);
            if(typeof PapelDigital.daysArray[ymd] !== 'undefined') {
                return [true, '', ''];
            } else {
                return [false, '', ''];
            }
        } else {
            return [false, '', ''];
        }
    },

    // -------------------------------------------------------------------------
    onSelect: function(dateText, inst) {

        var np = PapelDigital.daysArray[dateText];
        PapelDigital.openWinPapel(dateText, np);

    },

    // -------------------------------------------------------------------------
    openWinPapel: function(dateText, np) {

        var theUrl = '/papeldigital/pub.html?fp='+dateText+'&np='+np;
        Utiles.subWin(theUrl, 'edicionImpresa', screen.width, screen.height, 0, 0);
    },

    // -------------------------------------------------------------------------
    bloquearCalendario: function(flag) {
        if(flag) {
//            var w = $('.pdigital-exterior').width();
//            var h = $('.pdigital-exterior').height();
            //alert(w+', '+h);
//            $('.pdigital-loader').width(w);
//            $('.pdigital-loader').height(h);
            //$('.pdigital-loader').height($('div.ui-datepicker').height());
            $('.pdigital-loader').show();
        } else {
            $('.pdigital-loader').fadeOut();
        }
    },

    // -------------------------------------------------------------------------
    handleError:   function(url, XMLHttpRequest, textStatus, errorThrown) {
        alert('Server error procesando request ajax:\nURL invocada:' +
                url + '\ntextStatus=' +
                textStatus + '\nXMLHttpRequest.status=' +
                XMLHttpRequest.status + '-' + XMLHttpRequest.statusText +
                '\nXMLHttpRequest.responseText=' + XMLHttpRequest.responseText +
                '\nResponseHeaders=' + XMLHttpRequest.getAllResponseHeaders());
    }

};
