// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function sustituirImagenIzquierda(ruta, descripcion)
{
	var imagenIzquierda = $("imagen-ampliada").getElementsByTagName("img")[0];	
	imagenIzquierda.src = ruta;
	var p = $("imagen-ampliada").getElementsByTagName("p")[0];	
	Element.update(p, descripcion);
	
}

function prev_antigua()
{
	var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible").first().previousSiblings().first();
	//Si hay alguna imagen hacia la izquierda, corro la fila
	if (!imagenIzquierda.hasClassName("anterior")){
		imagenIzquierda.removeClassName("oculto")
		imagenIzquierda.addClassName("visible")	
		
		var imagenDerecha = $("tira-de-imagenes").getElementsByClassName("visible").last();
		imagenDerecha.removeClassName("visible")
		imagenDerecha.addClassName("oculto")	
			
	}
	imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible").first().previousSiblings().first();
	//Si después no hay más imágenes hacia la izquierda, desactivo la flecha
	if (imagenIzquierda.hasClassName("anterior")){
		//imagenIzquierda.removeClassName("oculto")
		imagenIzquierda.addClassName("oculto")	
			
	}
	
	var imagenDerecha = $("tira-de-imagenes").getElementsByClassName("oculto").last()//.nextSiblings().first();
	//Si la flecha hacia la derecha está desactivada, la vuelvo a mostrar
	if (imagenDerecha.hasClassName("siguiente")){
		imagenDerecha.removeClassName("oculto")			
	}
		
}

function sig_antigua()
{
	var imagenDerecha = $("tira-de-imagenes").getElementsByClassName("visible").last().nextSiblings().first();
	//Si hay alguna imagen hacia la derecha, corro la fila
	if (!imagenDerecha.hasClassName("siguiente")){
		imagenDerecha.removeClassName("oculto")
		imagenDerecha.addClassName("visible")	
		
		var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible").first();
		imagenIzquierda.removeClassName("visible")
		imagenIzquierda.addClassName("oculto")				
	}
	
	imagenDerecha = $("tira-de-imagenes").getElementsByClassName("visible").last().nextSiblings().first();
	//Si después no hay más imágenes a la derecha, desactivo la flecha
	if (imagenDerecha.hasClassName("siguiente")){
		//imagenDerecha.removeClassName("oculto")
		imagenDerecha.addClassName("oculto")				
	}
	
	var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("oculto").first()//.previousSiblings().first();
	//Si la flecha hacia la izquierda está desactivada, la vuelvo a mostrar
	if (imagenIzquierda.hasClassName("anterior")){
		imagenIzquierda.removeClassName("oculto")			
	}
}


function ficha_prev()
{
	var imagenIzquierda = $("tira-de-imagenes-ficha").getElementsByClassName("visible")[0].previousSiblings()[0];
	//var tira = $("tira-de-imagenes-ficha");
	//var visibles = tira.getElementsBySelector(".visible");
	//var imagenIzquierda = visibles[0].previousSiblings()[0];
	//Si hay alguna imagen hacia la izquierda, corro la fila
	//if (imagenIzquierda.readAttribute("class") != "anterior"){
	if (imagenIzquierda.readAttribute("class") != "anterior"){
		imagenIzquierda.removeClassName("oculto");
		imagenIzquierda.addClassName("visible");	
		
		var visibles = $("tira-de-imagenes-ficha").getElementsByClassName("visible");
		var imagenDerecha = visibles[visibles.length - 1];
		imagenDerecha.removeClassName("visible");
		imagenDerecha.addClassName("oculto");	
			
	}
	imagenIzquierda = $("tira-de-imagenes-ficha").getElementsByClassName("visible")[0].previousSiblings()[0];
	//Si después no hay más imágenes hacia la izquierda, desactivo la flecha hacia la izquierda
	if (imagenIzquierda.readAttribute("class") == "anterior"){
		imagenIzquierda.replace('<img class="flecha-off-izq anterior" src="/sites/1/images/comunes/flecha_iz_gris.gif" alt="flecha Izquierda" />');
			
	}
	
	//var imagenDerecha = $("tira-de-imagenes-ficha").getElementsByClassName("siguiente").last()//.nextSiblings().first();
	var siguientes = $("tira-de-imagenes-ficha").getElementsByClassName("siguiente");
	var imagenDerecha = siguientes[siguientes.length -1];
	//Si la flecha hacia la derecha está desactivada, la vuelvo a mostrar
	if (imagenDerecha){
		imagenDerecha.replace('<a class="siguiente" href="#ficha-izquierda" onclick="ficha_sig()" title="Desplazar a la derecha"><img src="/sites/1/images/comunes/flecha_de_negro.gif" alt="flecha Derecha" /></a>');
	}	
	limpia("tira-de-imagenes-ficha");
		
}

function ficha_sig()
{
	var tira = $("tira-de-imagenes-ficha");
	var visibles = tira.getElementsByClassName("visible");
	var imagenDerecha = visibles[visibles.length - 1].nextSiblings()[0];
	//Si hay alguna imagen hacia la derecha, corro la fila
	if (imagenDerecha.readAttribute("class") != "siguiente"){
		imagenDerecha.removeClassName("oculto");
		imagenDerecha.addClassName("visible");
		
		var imagenIzquierda = $("tira-de-imagenes-ficha").getElementsByClassName("visible")[0];
		imagenIzquierda.removeClassName("visible");
		imagenIzquierda.addClassName("oculto");				
	}
	
	visibles = $("tira-de-imagenes-ficha").getElementsByClassName("visible");
	imagenDerecha = visibles[visibles.length-1].nextSiblings()[0];
	//Si después no hay más imágenes a la derecha, desactivo la flecha hacia la derecha
	if (imagenDerecha.readAttribute("class") == "siguiente"){
		imagenDerecha.replace('<img  class="flecha-off-der siguiente" src="/sites/1/images/comunes/flecha_de_gris.gif" alt="flecha Derecha" />');
						
	}
	
	var imagenIzquierda = $("tira-de-imagenes-ficha").getElementsByClassName("flecha-off-izq")[0];
	//imagenIzquierda = imagenIzquierda[0]//.previousSiblings().first();
	//Si la flecha hacia la izquierda está desactivada, la vuelvo a mostrar
	if (imagenIzquierda){
		imagenIzquierda.replace(' <a class="anterior" href="#ficha-izquierda" onclick="ficha_prev()" title="Desplazar a la izquierda"><img src="/sites/1/images/comunes/flecha_iz_negro.gif" alt="flecha Izquierda" /></a>');
	}
	limpia("tira-de-imagenes-ficha");
}

function prev()
{
	var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible")[0].previousSiblings()[0];
	//Si hay alguna imagen hacia la izquierda, corro la fila
	if (!imagenIzquierda.hasClassName("anterior")){
		imagenIzquierda.removeClassName("oculto");
		imagenIzquierda.addClassName("visible");	
		
		var visibles = $("tira-de-imagenes").getElementsByClassName("visible");
		var imagenDerecha = visibles[visibles.length -1]
		imagenDerecha.removeClassName("visible");
		imagenDerecha.addClassName("oculto");	
			
	}
	imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible")[0].previousSiblings()[0];
	//Si después no hay más imágenes hacia la izquierda, desactivo la flecha hacia la izquierda
	if (imagenIzquierda.hasClassName("anterior")){
		imagenIzquierda.replace('<img class="flecha-off-izq anterior" src="/sites/1/images/comunes/flecha_iz_off.gif" alt="flecha Izquierda" />');
			
	}
	
	//var imagenDerecha = $("tira-de-imagenes").getElementsByClassName("siguiente").last()//.nextSiblings().first();
	//Si la flecha hacia la derecha está desactivada, la vuelvo a mostrar
	var siguientes = $("tira-de-imagenes").getElementsByClassName("siguiente");
	var imagenDerecha = siguientes[siguientes.length - 1 ];
	if (imagenDerecha){
		imagenDerecha.replace('<a class="siguiente" href="#ficha-izquierda" onclick="sig()" title="Desplazar a la derecha"><img src="/sites/1/images/comunes/flecha_de.gif" alt="flecha Derecha" /></a>');
	}
	limpia("tira-de-imagenes");
		
}

function sig()
{
	var visibles = $("tira-de-imagenes").getElementsByClassName("visible");
	var imagenDerecha = visibles[visibles.length -1].nextSiblings()[0];
	//Si hay alguna imagen hacia la derecha, corro la fila
	if (!imagenDerecha.hasClassName("siguiente")){
		imagenDerecha.removeClassName("oculto");
		imagenDerecha.addClassName("visible");
		//imagenDerecha.show();	
		
		var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("visible")[0];
		imagenIzquierda.removeClassName("visible");
		imagenIzquierda.addClassName("oculto");
		//imagenIzquierda.hide();				
	}
	
	visibles = $("tira-de-imagenes").getElementsByClassName("visible");
	imagenDerecha = visibles[visibles.length - 1].nextSiblings()[0];
	//Si después no hay más imágenes a la derecha, desactivo la flecha hacia la derecha
	if (imagenDerecha.hasClassName("siguiente")){
		imagenDerecha.replace('<img  class="flecha-off-der siguiente" src="/sites/1/images/comunes/flecha_de_off.gif" alt="flecha Derecha" />');
						
	}
	
	var imagenIzquierda = $("tira-de-imagenes").getElementsByClassName("anterior")[0];//.previousSiblings().first();
	//Si la flecha hacia la izquierda está desactivada, la vuelvo a mostrar
	if (imagenIzquierda){
		imagenIzquierda.replace(' <a class="anterior" href="#ficha-izquierda" onclick="prev()" title="Desplazar a la izquierda"><img src="/sites/1/images/comunes/flecha_iz.gif" alt="flecha Izquierda" /></a>');
	}
	
	limpia("tira-de-imagenes");
}

function limpia(div_id)
{
	var hijos = $$("#" + div_id + " img");
	for(i=0; i<hijos.size(); i++){
		if(!hijos[i].readAttribute("src")){
			hijos[i].remove();
		}
			
		
	}
	
}

//Cambia el icono (+) por (-) al abrir un folder(en el menu, categorias..) y viceversa
function Cambia_icono_folder(el) {
	if(el.innerHTML == '(+)'){
		el.innerHTML = '(-)';
	}else{
		el.innerHTML = '(+)';
	}
}


			/*
			* Given two dates (in seconds) find out if date1 is bigger, date2 is bigger or
			 * they're the same, taking only the dates, not the time into account.
			 * In other words, different times on the same date returns equal.
			 * returns -1 for date1 bigger, 1 for date2 is bigger 0 for equal
			 */

			var startDate;
			var endDate;
			function compareDatesOnly(date1, date2) {
				var year1 = date1.getYear();
				var year2 = date2.getYear();
				var month1 = date1.getMonth();
				var month2 = date2.getMonth();
				var day1 = date1.getDate();
				var day2 = date2.getDate();

				if (year1 > year2) {
					return -1;
				}
				if (year2 > year1) {
					return 1;
				}

				//years are equal
				if (month1 > month2) {
					return -1;
				}
				if (month2 > month1) {
					return 1;
				}

				//years and months are equal
				if (day1 > day2) {
					return -1;
				}
				if (day2 > day1) {
					return 1;
				}

				//days are equal
				return 0;


				/* Can't do this because of timezone issues
				var days1 = Math.floor(date1.getTime()/Date.DAY);
				var days2 = Math.floor(date2.getTime()/Date.DAY);
				return (days1 - days2);
				*/
			}

			function filterDates1(cal) {
				startDate = cal.date;
				/* If they haven't chosen an 
				end date before we'll set it to the same date as the start date This
				way if the user scrolls in the start date 5 months forward, they don't
				need to do it again for the end date.
				*/
				if (endDate == null) { 
					Zapatec.Calendar.setup({
						inputField     :    "noticia_fecha_hasta",
						button         :    "noticia_fecha_hasta_trigger",  // What will trigger the popup of the calendar
						ifFormat       :    "%d/%m/%Y ",
						date           :     startDate,
						disableFunc    :    dateInRange2, //the function to call
						singleClick	   :	true,
						onUpdate       :    filterDates2
					});
				}
			}

			function filterDates2(cal) {
				endDate = cal.date;
			}

			/*
			* Both functions disable and hilight dates.
			*/
			
			/* 
			* Can't choose days after the
			* end date if it is choosen, hilights start and end dates with one style and dates between them with another
			*/



			function dateInRange1(date) {

				if (endDate != null) {

					// Disable dates after end date
					var compareEnd = compareDatesOnly(date, endDate);
					if  (compareEnd < 0) {
						return (true);
					}

					// Hilight end date with "edges" style
					if  (compareEnd == 0) {
						{return "edges";}
					}


					// Hilight inner dates with "between" style
					if (startDate != null){
						var compareStart = compareDatesOnly(date, startDate);
						if  (compareStart < 0) {
							return "between";
						} 
					} 
				}


				//all other days are enabled
				return false;
				//alert(ret + " " + today + ":" + date + ":" + compareToday + ":" + days1 + ":" + days2);
				return(ret);
			}




			/* 
			* Can't choose days before the
			* start date if it is choosen, hilights start and end dates with one style and dates between them with another
			*/

			function dateInRange2(date) {
				if (startDate != null) {
					// Disable dates before start date
					var compareDays = compareDatesOnly(startDate, date);
					if  (compareDays < 0) {
						return (true);
					}

					// Hilight end date with "edges" style
					if  (compareDays == 0) {
						{return "edges";}
					}

					// Hilight inner dates with "between" style
					if ((endDate != null) && (date > startDate) && (date < endDate)) {
						return "between";
					} 
				} 

				//all other days are enabled
				return false;
			}

