

$(function(){
    if ($("div.Calendar").length > 0) {
        $("div.jcalendar").jcalendar(null, {
            dayClick: calendarioEvtDia,
            monthClick: calendarioEvtMes,
            end: calendarioEvtCallback
        });
    }
});


calendarioEvtDia = function(data, obj){
    //console.log(obj);
    if ($(obj).hasClass("marked")) {
        reqJSON({
            ano: data.year,
            mes: data.month
        }, data.day);
        $("span#bt_mostrar").toggleClass('bt_esconder');
        $('div#calendario_mostrado').toggle();
        $("input#agenda_dia, input#agenda_mes").attr("checked", false);
    }
    
}

calendarioEvtMes = function(data){
    reqJSON({
        ano: data.year,
        mes: data.month,
        mark: true
    });
}

calendarioEvtCallback = function(){
    if (!(window.evts)) {
        window.evts = window.evts ? window.evts : new Array();
        window.countEvts = {
            num: 0,
            total: 0
        };
        
        reqJSON();
    }
}


reqJSON = function(dado, dia){

    dado = dado ? dado : {
        ano: new Date().getFullYear(),
        mes: new Date().getMonth() + 1
    };
    evts["atual"] = $.extend(dado, {
        dia: dia
    });
	
    evts["mark"] = !(evts["mark"]) ? {
        all: true,
        mark: true
    } : dado.mark ? {
        all: false,
        mark: true
    } : {
        all: true,
        mark: false
    };
    delete dado.mark;
    var strEvt = "e" + dado.ano + dado.mes;
    if (!(evts[strEvt])) {
    
        $.ajax({
            url: "/cms/Waipa/Events/calendar.html",
            data: dado,
            dataType: "json",
            success: function(resp){
                evts["e" + dado.ano + dado.mes] = resp;
                buildTags(resp);
                //buildTags(returnEvts(resp, dia));
                //returnEvts(resp, dia);
            }
        });
        
    }
    else {
        buildTags(returnEvts(evts[strEvt], dia));
        
    }
    
    
}

returnEvts = function(dado, dia){
    //console.log(dado);

    dado.list = new Array();
    
    var k = 0;
    
    //console.log(dado.dia.length);
    
    /*if (!dia) {
        for (i = 0; i < dado.dia.length; i++) {
            for (j = 0; j < dado.dia[i].eventos.length; j++) {
                dado.dia[i].eventos[j].dia = dado.dia[i].num;
                dado.list[k] = dado.dia[i].eventos[j];
                k++;
            }
        }
        
    }
    else {
        for (i = 0; i < dado.dia.length; i++) {
            if (dado.dia[i].num == dia) {
                for (j = 0; j < dado.dia[i].eventos.length; j++) {
                    dado.dia[i].eventos[j].dia = dado.dia[i].num;
                    dado.list[k] = dado.dia[i].eventos[j];
                    k++;
                }
            }
        }
    }*/
    
    return dado;
}

markDays = function(dado){

    $("div.jcalendar a.marked").removeClass("marked").attr("href", "#");
    
    for (var i = 0; i < dado.length; i++) {
        //console.log($("div.jcalendar a[name=dia"+dado.dia[i].num+"]"));
        $("div.jcalendar a[name=dia" + dado[i].dia + "]").addClass("marked").attr("href", dado[i].link );
    }
    $("a.marked").unbind().bind("click", function(){
    	window.location = $(this).attr("href");
    });
    
}

buildTags = function(dado){
    if (evts["mark"].all) {
        evts["mark"].mark ? markDays(dado) : false;
    }
    else {
        evts["mark"].mark ? markDays(dado) : false;
    }
    
}



