/* -----------------------------------------------------------------*/
//var RUTA_WEB='http://comsevilla.es.s108-176.furanet.com/';
var RUTA_WEB='http://www.comsevilla.es/';

function objFlash(nombre, ancho, alto, param) {	
    if (AC_FL_RunContent == 0) {
        alert("Esta página requiere el archivo AC_RunActiveContent.js.");
    } else {
        AC_FL_RunContent(
            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
            'width', ancho,
            'height', alto,
            'src', nombre,
            'quality', 'high',
            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
            'align', 'middle',
            'play', 'true',
            'loop', 'true',
            'scale', 'showall',
            'wmode', 'transparent',
            'devicefont', 'false',
            'id', nombre,
            'bgcolor', '#ffffff',
            'name', nombre,
            'menu', 'true',
            'allowFullScreen', 'false',
            'allowScriptAccess','sameDomain',
            'movie', nombre,
            'salign', '',
	    'flashvars', param
            ); 
    }
}
/* -----------------------------------------------------------------*/
var TAMANO_FUENTE = 100;
function aumentar_fuente()
{
	var obj = document.getElementById("main");
	if(TAMANO_FUENTE < 200) {	TAMANO_FUENTE += 10; }
	obj.style.fontSize = TAMANO_FUENTE + "%";
}
/* -----------------------------------------------------------------*/
function disminuir_fuente()
{
	var obj = document.getElementById("main");
	if(TAMANO_FUENTE > 100) { TAMANO_FUENTE -= 10; }
	obj.style.fontSize = TAMANO_FUENTE + "%";
}
/* -----------------------------------------------------------------*/
function imprimir()
{
	window.print();	
}
/* -----------------------------------------------------------------*/
function volver()
{
	history.back();
	return false;
}
/* -----------------------------------------------------------------*/
function verImg(ruta, ancho, alto)
{
	param = 'status=no,scrollbars=no,location=no,resizable=no,width='+ancho+',height='+alto+',left=100,top=100';
	url = 'inc/img.php?ruta=' + ruta + '&ancho=' + ancho + '&alto=' + alto;
	window.open(RUTA_WEB+url,'',param);
}
/* ---------------------------------------------------------------- */
function abrirPopup(url, ancho, alto)
{
	param = 'status=no,scrollbars=yes,location=no,resizable=no,width='+ancho+',height='+alto+',left=100,top=100';
	window.open(url,'',param);
}
/* ---------------------------------------------------------------- */


//Acceso a la sección privada, validará si están rellenos los campos...
function ingresar()
{
	var f=document.getElementById('form_login');
	var errores='';
	
	if(f.usuario.value.length==0 || f.clave.value.length==0)
	{
		errores+='\nUse su usuario y contraseña para acceder';
	}
	
	if(errores!='')
	{
		alert('Por favor:'+errores);
	}
	
	else
	{
		f.submit();
	}
}

function ingresar_desde_contenido()
{
	var f=document.getElementById('form_login_contenido');
	var errores='';

	if(f.usuario.value.length==0 || f.clave.value.length==0)
	{
		errores+='\nUse su usuario y contraseña para acceder';
	}

	if(errores!='')
	{
		alert('Por favor:'+errores);
	}

	else
	{
		f.submit();
	}
}

//Comprueba si al menos un radio está marcado.
function validar_radio(radio)
{	
	var i=0;	
	var resultado = false;		
	for (i; (!resultado && i < radio.length); i++) 				
        {
		if (radio[i].checked) 
		{
			resultado=true;		
		}
	}		
	return resultado;
}

//Valida NIF y NIE.
function validarNIF(nif) 
{
	//Este valida también NIE.
	if (!nif) return false;   
	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';   
	if (nif.length != 9) return false;   
	else 
	{
		letra = nif.substr(8, 1); letra = letra.toUpperCase();   
		dni = nif.substr(0, 8);   
		dni = dni.toUpperCase(); dni = dni.replace('X','0');  
		dni -= parseInt(dni/23) * 23;  
		if (letras.charAt(dni) != letra) return false;  
		else return true;  
	} 
}

//Valida un teléfono.
function validar_telefono(valor)
{
	if (valor.length==9 && parseInt(valor)==valor) return true;
	else return false;	
}

//Valida un email.
function validar_email(valor)
{	
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) return (true)
	else return (false);
}

//Valida una fecha en dd/mm/aaaa
function validar_fecha(recibida)
{  
     var Fecha= new String(recibida);
     var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length));
     var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")));
     var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")));
     if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900) return false;
     if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12) return false;
     if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31) return false;
     if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2)
     {
         if (Mes==2 && Dia > 28 || Dia>30)
	 {
			return false;
	 }
     }
   return true;
 }  

//Para el calendario... Carga un año y mes.
function recargar_calendario(v_mes, v_anho, actual)
{
	var peticion=new request_http;
	peticion.cargar
	(
		RUTA_WEB+'peticiones/agenda.php?mes='+v_mes+'&anho='+v_anho+'&fecha_activa_calendario='+actual,
		function(resultado)
		{
			//alert(resultado);
			document.getElementById('contenedor_calendario').innerHTML=resultado;
		}
	);
}	

//Abrir una imagen en pop up.
function pop_up(url, extraurl, ancho, alto, externo)
{
	var ventana;
	if(!externo) 
	{
		ventana = RUTA_WEB+url+extraurl;
	}
	else
	{
		ventana = url+extraurl;
	}

	param = 'status=no,scrollbars=no,location=no,resizable=no,width='+ancho+',height='+alto+',left=300,top=300';
	window.open(ventana, '' ,param);
}

//Otro pop... Este con todas sus barras.
function pop_up_completo(url, extraurl, ancho, alto, externo)
{
	var ventana;
	if(!externo) 
	{
		ventana = RUTA_WEB+url+extraurl;
	}
	else
	{
		ventana = url+extraurl;
	}

	param = 'status=yes,scrollbars=yes,location=yes,resizable=yes,width='+ancho+',height='+alto+',left=300,top=300';
	window.open(ventana, '' ,param);
}

//Elimina el contenido de algo...
function eliminar_contenido(elemento)
{
	if(elemento.hasChildNodes) 	
		while(elemento.childNodes.length >= 1 ) 
			elemento.removeChild(elemento.childNodes[0]);		
}

//Crea un elemento...
function montar_elemento(tipo, clases, contenido, padre)
{
	var temporal=document.createElement(tipo);
	temporal.className=clases;
	if(contenido) temporal.innerHTML=contenido;

	if(padre)
	{
		padre.appendChild(temporal);
	}
	return temporal;
}

//Añade un option a un select.
function insertar_opcion(valor, texto, campo, marca)
{
	var opcion = document.createElement('option'); 
	opcion.value=valor;
	opcion.text=texto;
	if(marca) opcion.selected=true;	
	campo.options.add(opcion);
}


//Comprueba si existe un campo con un valor en una tabla de la base de datos. Devuelve TRUE si no lo hay y FALSE si lo hay.
function comprobar_campo(tabla, campo, valor)
{
	var peticion=new request_http;
	peticion.cargar
	(
		'../peticiones/general.php?modo=comprobar_campo&tabla='+tabla+'&campo='+campo+'&valor='+valor,
		function(resultado)
		{
			if(resultado.substr(0, 2)=='si')
			{				
				resultado_final = true; //Esto es, el valor no está...			
				return resultado_final;
			}
			else if(resultado.substr(0, 2)=='no')
			{
				resultado_final = false;	//Esto es el valor está...			
				return resultado_final;
			}
			else
			{
				alert('Ha ocurrido un error al procesar su petici\xf3n');
			}
		}
	);

}

//El bloque de AJAX.
function request_http()
{		
	this.crear_request = function ()	//Esto, obviamente, no es mio... Nos ayuda a separar si es un objeto para IE o para el resto del mundo.
	{ 	
		if (typeof XMLHttpRequest != 'undefined') return new XMLHttpRequest(); 		//Para el resto del mundo.
		try { return new ActiveXObject("Msxml2.XMLHTTP");} 	//Para explorer...
		catch (e) 
		{ 
			try {return new ActiveXObject("Microsoft.XMLHTTP");}	//Para Dios sabe que otra versión de Explorer.
			catch (e) {} 
		} 
		return false; 	//Para Mosaic :P.
	}
	
	this.cargar = function(url, metodo)
	{					
		var funcion_respuesta = this.respuesta;	//Necesitamos hacer accesible al siguiente ámbito esto...
		var request_temporal=this.request;		//...y esto...			
		var funcion = function () {funcion_respuesta(request_temporal, metodo)}; //Y ahora creamos esto otro para poder usarlo de respuesta.			
		this.request.open("GET", url, true);	//Prepara...						
		this.request.onreadystatechange = funcion; //La respuesta cuando haya cambio			
		this.request.send(null);	//Lanza.						
	}
			
	this.respuesta = function(request_temporal, metodo)	//Cuando cambia el estado (según el método cargar()) lanzaremos esto, que recibe el request completo...
	{						
		if (request_temporal.readyState == 4) metodo(request_temporal.responseText);	//Cuando el estado sea 4 llamaremos a la función que pásamos... Nótese que al ser de ámbito global al objeto la podemos usar.
	}
	
	this.request = this.crear_request(); //Finalmente esto es lo primerísimo que ocurre cuando creamos un objeto: dentro del objeto se crea una instancia de XMLHTTPRequest en función del navegador que sea.		
}

function recordar_contrasena(boton)
{
	var login=document.getElementById('login_usuario').value;

	if(login=='')
	{
		alert('Por favor, escribe tu login');
	}
	else
	{
		var peticion=new request_http;
		peticion.cargar
		(
			'peticiones/recordar_pass.php?usuario='+login,
			function(resultado)
			{
				if(resultado.substr(0, 2)=='si')
				{
					eval(resultado.substr(2));
				}
				else
				{
					alert('No se pudo procesar el resultado');
				}
			}
		);
	}
}


function recordar_contrasena_contenido(boton)
{
	var login=document.getElementById('login_usuario_contenido').value;

	if(login=='')
	{
		alert('Por favor, escribe tu login');
	}
	else
	{
		var peticion=new request_http;
		peticion.cargar
		(
			'peticiones/recordar_pass.php?usuario='+login,
			function(resultado)
			{
				if(resultado.substr(0, 2)=='si')
				{
					eval(resultado.substr(2));
				}
				else
				{
					alert('No se pudo procesar el resultado');
				}
			}
		);
	}
}

function recargar_banner_navegacion(id_banner, id_script)
{
	var peticion=new request_http;
	var url='peticiones/banner_navegacion.ajax.php?modo=recargar_banner&id_banner='+id_banner+'&id_script='+id_script;

	peticion.cargar
	(
		url,
		function(resultado)
		{
			if(resultado.substr(0,2)=='si')
			{
				//document.getElementById('debug_banner').innerHTML+=resultado+'<br />';
				eval(resultado.substr(2));				
			}
		}
	);
}

function Pelicula_flash(v_padre, v_origen, v_ancho, v_alto, v_param)
{
	this.objeto=null;
	this.params=Array();
	this.elemento_embed=null;

	this.padre=v_padre;
	this.origen=v_origen;
	this.ancho=(v_ancho ? v_ancho : 500);
	this.alto=(v_alto ? v_alto : 400);
	this.param=(v_param ? v_param : null);

	this.crear();	
}


Pelicula_flash.prototype.crear=function()
{
	this.objeto=montar_elemento('etiqueta', null, null, this.padre);
	this.objeto.width=this.ancho;
	this.objeto.height=this.alto;
	this.objeto.id=this.id;

	this.params.push(Array('allowScriptAccess', 'always'));
	this.params.push(Array('allowFullScreen', 'false')); //true
	this.params.push(Array('src', this.origen));

	this.elemento_embed=montar_elemento('embed', null, null, this.objeto);
	this.elemento_embed.src=this.origen;
	this.elemento_embed.type='application/x-shockwave-flash';
	this.elemento_embed.allowScriptAccess='always';
	this.elemento_embed.allowFullScreen='false';
	this.elemento_embed.width=this.ancho;
	this.elemento_embed.height=this.alto;
//	this.elemento_embed.flashvars=this.param;

	var x;
	for(x in this.params)
	{
		this.objeto.appendChild(this.montar_param(this.params[x]));
	}

	this.padre.appendChild(this.objeto);

}

Pelicula_flash.prototype.montar_param=function(param)
{
	var temp=montar_elemento('param', null, null, null);
	temp.name=param[0];
	temp.value=param[1];

	return temp;
}

