$(document).ready(function () {
	$("ul.sf-menu > li").each(function () {
		if ($(this).find("ul").size() > 0) {
			$(this).find("a:first").css("cursor","default").click(function (e) { e.preventDefault(); });
		}
	});

	function checkLimBotones() {
		var liminicio = $("div.calendario").attr("data-inicio");
		var limfin = $("div.calendario").attr("data-fin");
		
		var primerafecha = $("div.actualsemana").find("div.diaevento:first-child").find("div.dianumero").attr("data-fecha");
		var ultimafecha = $("div.ultimasemana").find("div.diaevento:last-child").find("div.dianumero").attr("data-fecha");
		
		if (primerafecha < liminicio) {
			$("a.izqcalendario").css("display","none").parent().css("width","").css("height","");
		}
		else {
			$("a.izqcalendario").css("display","block");
		}

		if (ultimafecha > limfin) {
			$("a.dercalendario").css("display","none").parent().css("width","").css("height","");
		}
		else {
			$("a.dercalendario").css("display","block");
		}
	}
	
	function cambiaPunterosSemanasIzq() {
		var act = $("div.actualsemana");
		act.prev().addClass("actualsemana");
		act.removeClass("actualsemana");
		$("span.nombremes").html("<span class='middle-right'></span>" + $("div.actualsemana").attr("data-mes"));
		
		var ult = $("div.ultimasemana");
		ult.prev().addClass("ultimasemana");
		ult.removeClass("ultimasemana");	
	}

	function cambiaPunterosSemanasDer() {	
		var act = $("div.actualsemana");
		act.next().addClass("actualsemana");
		act.removeClass("actualsemana");
		$("span.nombremes").html("<span class='middle-right'></span>" + $("div.actualsemana").attr("data-mes"));
		
		var ult = $("div.ultimasemana");
		ult.next().addClass("ultimasemana");
		ult.removeClass("ultimasemana");
	}
	
	checkLimBotones();	
	var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
	ancho = ancho * 4;
	$("div.calendario").animate({left:"-=" + ancho + "px"});	
	
	$("select[name=pueblo]").change(function () {		
		var fechainicial = $("div.actualsemana").find("div.diaevento:first-child").find("div.dianumero").attr("data-fecha");
		var pueblo = $(this).val();
		var tipo = "";
		if ($("a.actualtipo").size() > 0) {
			tipo = $("a.actualtipo").attr("href");
			tipo = tipo.replace("?","&");
		}
			
		var url = "?p=" + pueblo + "&f=" + fechainicial + tipo;
		
		$.ajax({
			url: url,
			type: "post",
			contentType: "application/x-www-form-urlencoded; charset=utf-8",
			data: {},
			beforeSend: function () {
				$("select[name=pueblo]").attr("disabled","disabled");
				$("li.ajaxloader").css("background","url('/image/ajax-loader.gif') no-repeat right 10px").css("width","40px").css("height","32px");

				$("ul.tipos").css("display","none");				
				$("a.izqcalendario").css("display","none");
				$("a.dercalendario").css("display","none").parent().css("width","62px").css("height","44px");
			},
			success: function (r) {
				if (r != "") {									
					var pos1 = r.lastIndexOf("<body>") + 6;
					var pos2 = r.lastIndexOf("</body>");
					r = r.substring(pos1,pos2);
					
					var newcalen = $(r).find("#listing");
					
					$("#listing").slideUp('slow',function () {
						$(this).height($(this).height());
						$(this).html( newcalen.html() );
						$(this).css("height","auto");
						$(this).slideToggle(function () {
							var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
							ancho = ancho * 4;
							$("div.calendario").animate({left:"-=" + ancho + "px"});																		
						});
					});													

					$("li.ajaxloader").css("background","");
					$("ul.tipos").css("display","block");
					$("a.izqcalendario").css("display","block");
					$("a.dercalendario").css("display","block");
					$("select[name=pueblo]").attr("disabled","");
					
					checkLimBotones();
				}
				else {
					$("ul.tipos").css("background-color","#A55");
				}
			}
		});
	});	
	
	$("a.tipoevento").click(function (e) {
		e.preventDefault();
		
		$("a.tipoevento").removeClass("actualtipo");
		$(this).addClass("actualtipo");
		
		var url = $(this).attr("href");		
		var fechainicial = $("div.actualsemana").find("div.diaevento:first-child").find("div.dianumero").attr("data-fecha");
		var pueblo = $("select[name=pueblo]").val();
		
		url = url + "&f=" + fechainicial;
		
		if ($("select[name=pueblo]").size() > 0) {
			url = url + "&p=" + pueblo;
		}
		
		$.ajax({
			url: url,
			type: "post",
			contentType: "application/x-www-form-urlencoded; charset=utf-8",
			data: {},
			beforeSend: function () {
				$("select[name=pueblo]").attr("disabled","disabled");
				$("ul.tipos").css("display","none");
				$("ul.tipos").parent().css("background","url('/image/ajax-loader.gif') no-repeat 45px 10px").css("width", "100%").css("height","44px");
				
				$("a.izqcalendario").css("display","none");
				$("a.dercalendario").css("display","none").parent().css("width","62px").css("height","44px");
			},
			success: function (r) {
				if (r != "") {									
					var pos1 = r.lastIndexOf("<body>") + 6;
					var pos2 = r.lastIndexOf("</body>");
					r = r.substring(pos1,pos2);
					
					var newcalen = $(r).find("#listing");				
					
					$("#listing").slideUp('slow',function () {
						$(this).html( newcalen.html() );
						$(this).slideToggle(function () {
							var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
							ancho = ancho * 4;
							var tamcal = parseInt($("div.calendario").css("left"));
							tamcal = (tamcal - ancho) + 'px';
							$("div.calendario").css("left", tamcal);																		
						});
					});													
/*				
					var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
					ancho = ancho * 4;
					//$("div.calendario").animate({left:"-=" + ancho + "px"});				
					var tamcal = parseInt($("div.calendario").css("left"));
					tamcal = (tamcal + ancho) + 'px';
					$("div.calendario").css("left", tamcal);				
*/
					$("ul.tipos").parent().css("background","");
					$("ul.tipos").css("display","block");
					$("a.izqcalendario").css("display","block");
					$("a.dercalendario").css("display","block");
					$("select[name=pueblo]").attr("disabled","");
					
					checkLimBotones();
				}
				else {
					$("ul.tipos").css("background-color","#A55");
				}
			}
		});
	});
	
	$("a.izqcalendario").click(function (e) {
		e.preventDefault();

		var fecha = $("div.calendario div.semana:first-child").find("div.diaevento:first-child").find("div.dianumero").attr("data-fecha");
		
		if ($("div.actualsemana").prev().size() == 0) {		
			var self = this;
			var url = document.location.href;
			var data = {"ajax":"1","fecha":fecha,"atras":"1"};
			
			$.ajax({
				url: url,
				type: "post",
				contentType: "application/x-www-form-urlencoded; charset=utf-8",
				data: data,
				beforeSend: function () {				
					$("a.izqcalendario").css("display","none");
					$("a.izqcalendario").parent().css("background","url('/image/ajax-loader.gif') no-repeat 20px 10px").css("width","62px").css("height","44px");
					$("a.dercalendario").css("display","none").parent().css("width","62px").css("height","44px");
				},
				success: function (r) {
					if (r != "") {									
						var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
						$("div.calendario").css("left","-"+ancho+"px");
						$("div.calendario").prepend($(r));
						
						$("div.calendario").animate({left:"+=" + ancho + "px"});
											
						$("a.izqcalendario").parent().css("background","");
						$("a.izqcalendario").css("display","block");
						$("a.dercalendario").css("display","block");
						
						cambiaPunterosSemanasIzq();

						checkLimBotones();						
					}
					else {
						$("a.izqcalendario").parent().css("background-color","#A55");
					}
				}
			});					
		}
		else {
			var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
			$("div.calendario").animate({left:"+=" + ancho + "px"});
			
			cambiaPunterosSemanasIzq();
			
			checkLimBotones();
		}
		
	});

	$("a.dercalendario").click(function (e) {
		e.preventDefault();

		var fecha = $("div.calendario div.semana:last-child").find("div.diaevento:last-child").find("div.dianumero").attr("data-fecha");
		
		if ($("div.ultimasemana").next().size() == 0) {		
			var self = this;
			var url = document.location.href;
			var data = {"ajax":"1","fecha":fecha};
			
			$.ajax({
				url: url,
				type: "post",
				contentType: "application/x-www-form-urlencoded; charset=utf-8",
				data: data,
				beforeSend: function () {				
					$("a.dercalendario").css("display","none");
					$("a.dercalendario").parent().css("background","url('/image/ajax-loader.gif') no-repeat 20px 10px").css("width","62px").css("height","44px");
					$("a.izqcalendario").css("display","none").parent().css("width","62px").css("height","44px");
				},
				success: function (r) {
					if (r != "") {
						$("div.calendario").append($(r));
											
						var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
						$("div.calendario").animate({left:"-=" + ancho + "px"});
											
						$("a.dercalendario").parent().css("background","");
						$("a.dercalendario").css("display","block");
						$("a.izqcalendario").css("display","block");
						
						cambiaPunterosSemanasDer();
						
						checkLimBotones();
					}
					else {
						$("a.dercalendario").parent().css("background-color","#A55");
					}
				}
			});		
		}
		else {
			var ancho = parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").width()) + parseInt($("div.calendario div.semana:first-child").find("div.diaevento:first-child").css("margin-right"));
			$("div.calendario").animate({left:"-=" + ancho + "px"});
			
			cambiaPunterosSemanasDer();
			
			checkLimBotones();
		}
		
	});	
});

