jQuery(function ($) {
  /* Agenda calendar updates */
  $("#agenda .prev, #agenda .next").click(function (e) {
    var el = $("span", $("#agenda_hdr .month"));
    var m  = ($(this).hasClass("prev")) ? -1 : ($(this).hasClass("next")) ? 1 : 0;
    
    $("#agenda_calendar").addClass("loading");

    $.ajax({
      type:    "GET",
      url:     "/json.php",
      data:    "func=upd_calendar&date=" + el.attr("lang") + "&m=" + m,
      success: function (result) {
        var json_data = JSON.parse(result);
        
        el.html(json_data.month.str);
        el.attr("lang", json_data.month.ts);
        
        $("tbody", $("#agenda_calendar")).html(json_data.calendar);
        $("#agenda_calendar").removeClass("loading");
      }
    });
    
    e.preventDefault();    
  });
  
  /* Agenda event updates */
  $("#agenda_calendar a").live("click", function (e) {
    var el = $(this);
    
    $("#agenda_events_lvo, #agenda_events_other").addClass("loading");
    
    $.ajax({
      type:    "GET",
      url:     "/json.php",
      data:    "func=upd_events&date=" + el.attr("rel"),
      success: function (result) {
        var json_data = JSON.parse(result);
        
        $("#agenda_calendar td").removeClass("today");
        el.closest("td").addClass("today");
        
        $("#agenda_events_lvo, #agenda_events_other").removeClass("loading");
        
        $("#agenda_events_lvo").html(json_data.events.lvo);
        $("#agenda_events_other").html(json_data.events.other);
      }
    });
    
    e.preventDefault();    
  });
});

