var GENERAL = {};

GENERAL.menu = function(menu_id) {
	$("#menu ul li").removeClass("activo");
	$("#" + menu_id).addClass("activo");
}

GENERAL.centrar = function(contenido,contenedor) {
	if($(contenido).length > 0) {
		$(contenido).each(function() {
			contenedor = (contenedor != null) ? contenedor : $(this).parent();
			if($(contenedor).length == 1) {
				var contenedor_alto = $(contenedor).height();
				var contenedor_ancho = $(contenedor).width();
				var contenido_alto = $(this).outerHeight();
				var contenido_ancho = $(this).outerWidth();
				if(contenedor_alto > contenido_alto) $(this).css("marginTop",((contenedor_alto - contenido_alto) / 2) + "px");
				if(contenedor_ancho > contenido_ancho) $(this).css("marginLeft",((contenedor_ancho - contenido_ancho) / 2) + "px");
			}
		});
	}
}

GENERAL.carrusel = function(carrusel,opciones) {
	opciones = (opciones != null) ? opciones : {};
	opciones.filas = ((opciones.filas != null) && !isNaN(opciones.filas) && (opciones.filas > 0)) ? opciones.filas : 1;
	opciones.columnas = ((opciones.columnas != null) && !isNaN(opciones.columnas) && (opciones.columnas > 0)) ? opciones.columnas : 1;
	opciones.orientacion = ((opciones.orientacion  != null) && (opciones.orientacion == "vertical")) ? "vertical" : "horizontal";
	opciones.pasos = ((opciones.pasos != null) && !isNaN(opciones.pasos)) ? opciones.pasos : opciones.visibles;
	opciones.intervalo = ((opciones.intervalo != null) && !isNaN(opciones.intervalo) && (opciones.intervalo > 0)) ? intervalo : 4000;
	opciones.animacion = ((opciones.animacion != null) && (opciones.animacion != "")) ? opciones.animacion : "carrusel";
	opciones.autoplay = ((opciones.autoplay != null) && (opciones.autoplay === true)) ? true : false;
	this.activar = function() {void(0)};
	if($(carrusel).length == 1) {
		$(".carrusel-ventana",$(carrusel)).css({"position": "relative", "overflow": "hidden"});
		$(".carrusel-contenidos",$(carrusel)).css({"position": "absolute"});
		var unidades = Math.ceil($(".carrusel-contenido",$(carrusel)).length/((opciones.orientacion == "vertical") ? opciones.columnas : opciones.filas));
		var visibles = (opciones.orientacion == "vertical") ? opciones.filas : opciones.columnas;
		if(unidades > 0) {
			var total_visibles = (unidades > visibles) ? (unidades - visibles) : 0;
			var total_paginas = 1 + Math.ceil((unidades - visibles)/opciones.pasos);
			var posicion = (opciones.orientacion == "vertical") ? $(".carrusel-contenidos",$(carrusel)).position().top : $(".carrusel-contenidos",$(carrusel)).position().left;
			var unidad = (opciones.orientacion == "vertical") ? $(".carrusel-contenido:first",$(carrusel)).outerHeight(true) : $(".carrusel-contenido:first",$(carrusel)).outerWidth(true);
			var desplazamiento = unidad * opciones.pasos;
			var pagina = 1 - Math.floor(posicion/desplazamiento);
			var posicionar = function(posicion,inicio) {
				inicio = ((inicio != null) && (inicio === true)) ? true : false;
				var pagina_posicion = 1 - Math.floor(posicion/desplazamiento);
				if(!inicio) {
					if(opciones.animacion == "fade") {
						$(".carrusel-contenidos",$(carrusel)).fadeOut(function() {
							if(opciones.orientacion == "vertical") $(".carrusel-contenidos",$(carrusel)).css({"top": posicion + "px"});
							else $(".carrusel-contenidos",$(carrusel)).css({"left": posicion + "px"});
							$(".carrusel-contenidos",$(carrusel)).fadeIn();
						});
					}
					else {
						if(opciones.orientacion == "vertical") $(".carrusel-contenidos",$(carrusel)).animate({"top": posicion + "px"},desplazamiento);
						else $(".carrusel-contenidos",$(carrusel)).animate({"left": posicion + "px"},desplazamiento);
					}
				}
				$(".carrusel-pagina",$(carrusel)).removeClass("activo");
				$(".carrusel-pagina:eq(" + (pagina_posicion - 1) + ")",$(carrusel)).addClass("activo");
				$(".carrusel-primero",$(carrusel)).removeClass("inactivo");
				$(".carrusel-anterior",$(carrusel)).removeClass("inactivo");
				$(".carrusel-siguiente",$(carrusel)).removeClass("inactivo");
				$(".carrusel-ultimo",$(carrusel)).removeClass("inactivo");
				if(pagina_posicion == 1) {
					$(".carrusel-primero",$(carrusel)).addClass("inactivo");
					$(".carrusel-anterior",$(carrusel)).addClass("inactivo");
				}
				if(pagina_posicion == total_paginas) {
					$(".carrusel-siguiente",$(carrusel)).addClass("inactivo");
					$(".carrusel-ultimo",$(carrusel)).addClass("inactivo");
				}
				if($.isFunction(opciones.onshow)) {
					var primero = (pagina_posicion - 1)*opciones.filas*opciones.columnas;
					var total = opciones.filas*opciones.columnas;
					$(".carrusel-contenido",$(carrusel)).filter(":eq(" + primero + "),:gt(" + primero + ")").filter(":lt(" + total + ")").each(function() {opciones.onshow(this)});
				}
			}
			this.activar = function(contenido) {
				if($(contenido,$(carrusel)).filter(".carrusel-contenido").length == 1) {
					var contenido_pagina = Math.floor($(".carrusel-contenido",$(carrusel)).index($(contenido,$(carrusel)))/((opciones.orientacion == "vertical") ? opciones.columnas : opciones.filas));
					var posicion = -(contenido_pagina-Math.floor((visibles - 1)/2))*desplazamiento;
					$(".carrusel-contenido",$(carrusel)).removeClass("activo");
					$(contenido,$(carrusel)).addClass("activo");
					if(posicion > -unidad) posicion = 0;
					else if(posicion <= -(total_visibles*unidad)) posicion = -total_visibles*unidad;
					posicionar(posicion);
				}
			};
			var posicion_inicial = posicion;
			if(posicion > 0) posicion_inicial = 0;
			if((posicion < -((unidades-1)*unidad))) posicion_inicial = -(total_visibles*unidad);
			posicionar(posicion_inicial,true);
			$(".carrusel-anterior",$(carrusel)).unbind('click').click(
				function() {
					var posicion = (opciones.orientacion == "vertical") ? $(".carrusel-contenidos",$(carrusel)).position().top : $(".carrusel-contenidos",$(carrusel)).position().left;
					if(posicion <= -unidad) {
						posicion = posicion+desplazamiento;
						posicionar(posicion);
					}
				}
			);
			$(".carrusel-primero",$(carrusel)).unbind('click').click(function() {posicionar(0)});
			$(".carrusel-siguiente",$(carrusel)).unbind('click').click(
				function() {
					var posicion = (opciones.orientacion == "vertical") ? $(".carrusel-contenidos",$(carrusel)).position().top : $(".carrusel-contenidos",$(carrusel)).position().left;
					if(posicion > -(total_visibles*unidad)) {
						posicion = posicion-desplazamiento;
						posicionar(posicion);
					}
				}
			);
			$(".carrusel-ultimo",$(carrusel)).unbind('click').click(function() {
				var posicion = -total_visibles*unidad;
				posicionar(posicion);
			});
			$(".carrusel-pagina",$(carrusel)).each(
				function(indice) {
					$(this).unbind('click').click(
						function() {
							var pagina = indice + 1;
							if(pagina > total_paginas) pagina = total_paginas;
							posicion = -(pagina-1)*desplazamiento;
							posicionar(posicion);
						}
					);
				}
			);
			var reproduccion = false;
			if(opciones.autoplay) {
				$(".carrusel-play").addClass("activo");
				$(".carrusel-pause").removeClass("activo");
				reproduccion =  setTimeout(function() {reproduccion_play()},opciones.intervalo)
			}
			var reproduccion_play = function() {
				$(".carrusel-play").addClass("activo");
				$(".carrusel-pause").removeClass("activo");
				var posicion = (opciones.orientacion == "vertical") ? $(".carrusel-contenidos",$(carrusel)).position().top : $(".carrusel-contenidos",$(carrusel)).position().left;
				if(posicion > -(total_visibles*unidad)) {
					posicion = posicion-desplazamiento;
					posicionar(posicion);
					reproduccion = setTimeout(function() {reproduccion_play()},opciones.intervalo);
				}
				else reproduccion_pause();
			}
			var reproduccion_pause = function() {
				$(".carrusel-play").removeClass("activo");
				$(".carrusel-pause").addClass("activo");
				clearTimeout(reproduccion);
				reproduccion = false;
			}
			$(".carrusel-play,.carrusel-pause",$(carrusel)).unbind('click').click(function() {
				if(!reproduccion) reproduccion_play();
				else reproduccion_pause();
			});
			if($.isFunction(opciones.onclick)) {
				$(".carrusel-contenido",$(carrusel)).click(function() {opciones.onclick(this)});
			}
			if(!$(".carrusel-contenidos",$(carrusel)).hasClass("carrusel-contenidos-ancho")) {
				$(".carrusel-contenidos",$(carrusel)).addClass("carrusel-contenidos-ancho");
				if(opciones.orientacion == "vertical") $(".carrusel-contenidos",$(carrusel)).height(unidades * unidad);
				else $(".carrusel-contenidos",$(carrusel)).width(unidades * unidad);
			}
		}
	}
}

GENERAL.noticias = function(pagina) {
	$.get("/backend/noticias.php",{origen: "ajax", pagina: pagina},function(respuesta) {
		$("#noticias .mas").remove();
		$("#noticias .noticias:last").after(respuesta);
		$("#noticias .noticias:gt(0) .noticia.primera").removeClass("primera");
		$("#noticias .noticias").show();
	});
	return false;
}

GENERAL.partidos = function() {
	var filtrar = function() {
		$(".partidos .partido").removeClass("activo_edad").removeClass("activo_sexo");
		if($(".filtros .filtro .edad .opcion.activo[valor]").length > 0) $(".filtros .filtro .edad .opcion.activo[valor]").each(function() {$(".partidos .partido[edad='" + $(this).attr("valor") + "']").addClass("activo_edad")});
		else $(".partidos .partido").addClass("activo_edad");
		if($(".filtros .filtro .sexo .opcion.activo[valor]").length > 0) $(".filtros .filtro .sexo .opcion.activo[valor]").each(function() {$(".partidos .partido[sexo='" + $(this).attr("valor") + "']").addClass("activo_sexo")});
		else $(".partidos .partido").addClass("activo_sexo");
		if($(".partidos .partido:visible").length > 0) $(".partidos .partido:visible").fadeOut(function() {$(".partidos .partido.activo_edad.activo_sexo").fadeIn()});
		else $(".partidos .partido.activo_edad.activo_sexo").fadeIn();
	}
	$(".filtros .filtro .opcion").click(function() {
		if($(this).hasClass("activo")) $(this).removeClass("activo");
		else $(this).addClass("activo");
		filtrar();
	});
}

