// JavaScript Document 

//Variables Globales a todas las funciones
var numLoaderActivo = 1;
var numFondoActivo = 1;
var XMLFotos; // Variable XML que guardara las url's de las fotos a mostrar dentro de la galeria de imagenes
			  // ... Por algun motivo genera conflictos el pasarla como parametros dentro de un tag <a></a>

//---------------------------------------//

function ajustarPagina() {
	new Effect.Opacity('loader2', { from: 1.0, to: 0.0, duration: 0.0 });
	
	var anchoPantalla = (screen.width) - 10;
	var altoPantalla = (screen.height) - 150;
	var anchoFondo = $('fondo1').offsetWidth;
	var altoFondo = $('fondo1').offsetHeight;
	var altoPlayer = $('TDplayer').offsetHeight;
	var anchoTitulo = $('titulo').offsetWidth;
	var anchoPlayer = 390;
	
	
	var margenIzqFondo = (anchoPantalla - anchoFondo) / 2;
	var margenSupFondo = (altoPantalla - altoFondo) / 2;
	var margenSupMenu = margenSupFondo + altoFondo;
	var margenDerMenu = (anchoPantalla - (margenIzqFondo + anchoFondo))-50;
	var margenIzqLoaders = margenIzqFondo + 26;
	var margenSupLoaders = margenSupFondo + 26;
	var seccion = '';
	
	//Carga el player
	var flashvars = {};
	var params = {menu: "false", wmode: "transparent", quality: "hight", AllowScriptAccess: "always"};
	var attributes = {};
	swfobject.embedSWF("Reproductor.swf", "player", "380", "40", "8.0.0","",flashvars,params,attributes);
	
	
	//codigo para corregir errores del molesto IE
	if(navigator.appName == "Microsoft Internet Explorer") {
		margenDerMenu -= 25;
		$('loader1').style.left = 0;
	}
	
	for (i=2;i<7;i++) {
		$('fondo' + i).style.left = margenIzqFondo + "px";
		$('fondo' + i).style.top = margenSupFondo + "px";
		new Effect.Opacity('fondo' + i, { from: 1.0, to: 0.0, duration: 0.0 });
		switch (i) {
			case 2:
				seccion = "fechas";
				break;
			case 3:
				seccion = "fotos";
				break;
			case 4:
				seccion = "videos";
				break;
			case 5:
				seccion = "historia";
				break;
			case 6:
				seccion = "contacto";
				break;
		}
		$('fondo' + i).style.background = "url('img/" + seccion + ".jpg')";
	}
	$('fondo1').style.left = margenIzqFondo + "px";
	$('fondo1').style.top = margenSupFondo + "px";
	$('menu').style.top = margenSupMenu + "px";
	$('menu').style.right = margenDerMenu + "px";
	$('header').style.left = margenIzqFondo + "px";
	$('header').style.top = (margenSupFondo - altoPlayer - 7) + "px";
	$('header').style.width = anchoFondo;
	$('loader1').style.left = margenIzqLoaders + "px";
	$('loader2').style.left = margenIzqLoaders + "px";
	$('loader1').style.top = margenSupLoaders + "px";
	$('loader2').style.top = margenSupLoaders + "px";
	$('titulo').style.marginLeft = (anchoFondo - (anchoPlayer + anchoTitulo)) + "px";
	
}

function volverIndiceFotos() {
	var url = "secciones/fotos.php";
	var peticion = new Ajax.Request(url, { method:'post', onComplete:funcionReceptora } );
}

function cambiarPagina(fecha,numPag,numFoto) {
	var parametros = "fecha=" + fecha + "&numPag=" + numPag + "&numFoto=" + numFoto;
	var url = "secciones/seccionFotos/generarGaleriaFotos.php";
	
	var peticion = new Ajax.Updater("galeria", url, {method: "get", parameters: parametros} );
}

function cargarGaleria(fecha,numPag,numFoto) {
	//desaparece la tabla indice
	$('tablaFechas').fade();
	$('galeria').style.background = "url('img/fondoGaleriaFotos.png')";
	
	var parametros = "fecha=" + fecha + "&numPag=" + numPag + "&numFoto=" + numFoto;
	var url = "secciones/seccionFotos/generarGaleriaFotos.php";
	var peticion = new Ajax.Updater("galeria", url, {method: "get", parameters: parametros} );
	//var peticion = new Ajax.Request(url,{method: "get", parameters: parametros, onComplete: function(respuesta) { alert(respuesta.responseText);} } );
}

function generarIndiceGaleriaFotos(arrayFechas) {
	var url = "secciones/seccionFotos/generarIndiceFechas.php";
	var parametros = "fecha_0=" + arrayFechas[0];
	
	for(i=1; i<arrayFechas.length; i++) {
		parametros += "&fecha_" + i + "=" + arrayFechas[i];	
	}
	parametros += "&cantidadFechas=" + arrayFechas.length;
	
	var peticion = new Ajax.Updater("loader" + numLoaderActivo, url, {method: "post", parameters: parametros} );
}

function parsearXML(respuestaXML) {
	var respuestaParseada = new Array();
	var fechas = respuestaXML.getElementsByTagName("fecha");
	var cambio = true;
	
	for(i = 0; i < fechas.length; i++) {
		respuestaParseada[i] = fechas.item(i).firstChild.nodeValue;
	}
	//algoritmo de ordenamiento por seleccion en base a la funcion comparar fecha que evalua si la 1er
	//fecha pasada como parametro es mayor a la segunda
	minimo=0;
	for (i=0; i<fechas.length-1;i++) {
		maximo = i;
		for(j=i+1; j<fechas.length; j++) {
			if (compararFecha(respuestaParseada[j].substring(0,10),respuestaParseada[maximo].substring(0,10))) 
				maximo = j;
		}
		aux = respuestaParseada[maximo];
		respuestaParseada[maximo] = respuestaParseada[i];
		respuestaParseada[i] = aux;
	}
	//una vez ordenado, devuelvo el array para continuar con las opearaciones por parte de php
	return respuestaParseada;
}

function funcionReceptora(respuesta) {
	codigoHTML = respuesta.responseText;
	if (numFondoActivo == 3) {
		//fotos.php genera el indice de directorios de fotos (fechas) y lo devuelve como un XML
		//parseo ese XML y lo transformo en un array para poder pasarlo como parametro a php
		arrayFechas = parsearXML(respuesta.responseXML);
		//paso como parametro las fechas disponibles para poder generar el codigo HTML correspondiente
		generarIndiceGaleriaFotos(arrayFechas);
	}
	
	else {
		$('loader' + numLoaderActivo).innerHTML = codigoHTML;
	}
	
	$('loader' + numLoaderActivo).appear();
	$('fondo' + numFondoActivo).appear();
}

function abrirSeccion(numSeccion) {

	if (numFondoActivo != numSeccion) {
		//aplica efectos a las secciones activas
		$('loader' + numLoaderActivo).fade();
		$('fondo' + numFondoActivo).fade();
		switch (numSeccion) {
			case 1:
				seccion = "inicio";
				break;
			case 2:
				seccion = "fechas";
				break;
			case 3:
				seccion = "fotos";
				break;
			case 4:
				seccion = "videos";
				break;
			case 5:
				seccion = "historia";
				break;
			case 6:
				seccion = "contacto";
				break;
		}
		//cambia las secciones activas por las abiertas
		numFondoActivo = numSeccion;
		if (numLoaderActivo == 1)
			numLoaderActivo = 2;
		else
			numLoaderActivo = 1;
		
		var URLseccion = "secciones/" + seccion + ".php";
		var peticion = new Ajax.Request(URLseccion,{ method:'post', onComplete:funcionReceptora } );
	}
}

function cargarInicio() {
	var url = "secciones/inicio.php";
	var imagen = "img/inicio.jpg";
	var peticion = new Ajax.Request(url, { method:'post', onComplete:funcionReceptora } );
	$('fondo' + numFondoActivo).style.background = "url(" + imagen + ")";
}

function roll(img,ID) {
	url = "img/ico" + ID + img + ".png";
	$(ID).src = url;
}

function validarFormularios() {
	error = 0;
	email = $('email').value;
	
	//valida comentario
	if(!Field.present('comentario')) {
		Field.focus('comentario');
		new Effect.Highlight('comentario', { startcolor: '#8B4513', endcolor: '#ffffff' });
		error++;
	}
	
	//valida email
	if(!Field.present('email')) {
		Field.focus('email');
		new Effect.Highlight('email', { startcolor: '#8B4513', endcolor: '#ffffff' });
		error++;
	}
	
	else if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
		Field.focus('email');
		new Effect.Highlight('email', { startcolor: '#8B4513', endcolor: '#ffffff' });
		error++;
	}
	
	//valida nombre y apellido
	if(!Field.present('nombreApellido')) {
		Field.focus('nombreApellido');
		new Effect.Highlight('nombreApellido', { startcolor: '#8B4513', endcolor: '#ffffff' });
		error++;
	}
	
	return error;
}

function comentarioEnviado(respuesta) {
	var x = (screen.width - 450) / 2;
	var y = (screen.height - 190) / 2;
	var configuracionVentana ="toolbar=no,directories=no,status=no,location=no,menubar=no,scrollbar=no,resizable=no,width=450,height=190,left="+x+",top="+y;
	window.open("secciones/seccionContacto/enviado.html","Comentario Enviado",configuracionVentana);
	Field.clear("nombreApellido");
	Field.clear("email");
	Field.clear("comentario");
}

function errorAlEnviar(respuesta) {
	var x = (screen.width - 450) / 2;
	var y = (screen.height - 220) / 2;
	var configuracionVentana ="toolbar=no,directories=no,status=no,location=no,menubar=no,scrollbar=no,resizable=no,width=450,height=220,left="+x+",top="+y;
	window.open("secciones/seccionContacto/NOenviado.html","Comentario NO Enviado",configuracionVentana);
}

function enviarComentario() {
	var formOK = validarFormularios();
	
	if (formOK == 0) {
		var email = $('email').value;
		var nombreApellido = $('nombreApellido').value;
		var comentario = $('comentario').value;
		var url = "secciones/seccionContacto/guardarComentario.php";
		var parametros = "email=" + email + "&nombreApellido=" + nombreApellido + "&comentario=" + comentario;
		var peticion = new Ajax.Request(url,{method: 'get', parameters: parametros, onComplete: comentarioEnviado, onFailure: errorAlEnviar} );
	}
}

function compararFecha(fecha, fecha2)  
   {  
     var xMonth=fecha.substring(3, 5);  
     var xDay=fecha.substring(0, 2);  
     var xYear=fecha.substring(6,10);  
     var yMonth=fecha2.substring(3, 5);  
     var yDay=fecha2.substring(0, 2);  
     var yYear=fecha2.substring(6,10);  
     if (xYear> yYear)  
     {  
         return(true)  
     }  
     else  
     {  
       if (xYear == yYear)  
       {   
         if (xMonth> yMonth)  
         {  
             return(true)  
         }  
         else  
         {   
           if (xMonth == yMonth)  
           {  
             if (xDay> yDay)  
               return(true);  
             else  
               return(false);  
           }  
           else  
             return(false);  
         }  
       }  
       else  
         return(false);  
     }  
 }  
