(function($){
	$.Agenda = {

		__constructor : function(){
			var me = this;
			me.initConfig();

			// targets (bind em elementos passando o evento)
			me.addListeners();
			$('#maincontentAgenda td.first a').click();
		},

		addListeners : function(){
			var me = this;
			$("#agendacultura td a.ativo").hover(function() {

			});
			$('#agendacultura #agenda-arrowleft').click(function(e){
				me.recuarCalendario(e);
			});
			$('#agendacultura #agenda-arrowright').click(function(e){
				me.avancarCalendario(e);
			});
			$('#maincontentAgenda td a').click(function(e){
				me.atualizarListaEventos(e);
			});
		},

		avancarCalendario : function(e){
			var me = this;
			$('#contentAgenda .carregando').show();
			var timeStamp = $('#agendacultura #nextTime').val();
			me.atualizarAgenda(e, timeStamp);
		},

		recuarCalendario : function(e){
			var me = this;
			$('#contentAgenda .carregando').show();
			var timeStamp = $('#agendacultura #previousTime').val();
			me.atualizarAgenda(e, timeStamp);
		},

		atualizarAgenda : function(e, timeStamp){
			var me = this;
			$('#agendacultura').load(
				"inc.agendacultural",
				{
					date : timeStamp
				},
				function(responseText, textStatus, XMLHttpRequest){
					me.addListeners();
					$('#contentAgenda .carregando').hide();
				}
			);
		},

		atualizarListaEventos : function(e){
			var me = this;
			$('.listaagenda').html("carregando...");
			$('.listaagenda').load(
				"ajax.agenda.list",
				{
					date : $(e.target).attr('name')
				}
			);
		},

		initConfig: function() {
			var me = this;
			$('#maincontentAgenda tr:eq(1) td:first').addClass('first');
			$('#maincontentAgenda tr:eq(1) td:last').addClass('last');
			var preloader = new Image();
			preloader.src = "img/preloader_transparent.gif";
		}

	}
})(jQuery);