function generar_fecha() {
    var fecha = new Date();
    var dia_letra = fecha.getDay();
    var dia = fecha.getDate();
    var mes = fecha.getMonth();
    var anyo = fecha.getFullYear();

    switch(dia_letra) {
        case 0: dia_letra = "Domingo"; break;
        case 1: dia_letra = "Lunes"; break;
        case 2: dia_letra = "Martes"; break;
        case 3: dia_letra = "Miércoles"; break;
        case 4: dia_letra = "Jueves"; break;
        case 5: dia_letra = "Viernes"; break;
        case 6: dia_letra = "Sábado"; break;
        default: dia_letra = "Domingo"; break;
    }
    switch(mes) {
        case 0: mes = "enero"; break;
        case 1: mes = "febrero"; break;
        case 2: mes = "marzo"; break;
        case 3: mes = "abril"; break;
        case 4: mes = "mayo"; break;
        case 5: mes = "junio"; break;
        case 6: mes = "julio"; break;
        case 7: mes = "agosto"; break;
        case 8: mes = "septiembre"; break;
        case 9: mes = "octubre"; break;
        case 10: mes = "noviembre"; break;
        case 11: mes = "diciembre"; break;
        default: mes = ""; break;
    }
    document.write(dia_letra+", "+dia+" de "+mes+" de "+anyo);
}

function windowopener(URL,ancho,alto,toolbar)
{
	var propiedades;
	if (toolbar == null || toolbar == "")
		toolbar = "no";
		
	propiedades = "toolbar="+toolbar+",directories=no,menubar=no,status=no,scrollbars=yes,resizable=yes,width=" + ancho + ",height=" + alto;
	window.open(URL,'',propiedades)
	if (navigator.appVersion.indexOf("(X11") != -1 || navigator.appVersion.indexOf("(mac") != -1)
	window.open(URL,'',propiedades)
}

function enviarFormulario(formulario) {
	eval("document." + formulario + ".submit();");
}

function reSubmit(URL) {
	document.forms[0].method='post';
	document.forms[0].action = URL;
	document.forms[0].submit();
}

/***
 * Reenvía la información del formulario a la url especificada.
 *
 * Parámetros:
 *	url:		destino al que se enviará la información.
 *	formulario:	formulario que contiene los datos.
 *	target:	ventana destino del post.
 **/
function PostData(url,formulario,target) {
	var formObj = document.forms[formulario];
	if (!formObj && document.forms.length > 0) {
		formObj = document.forms[0];
	}
	
	if (formObj) {
		if (url != "" && url != null) {
			formObj.action = url;
		}
		
		if (target) {
			formObj.target = target;
		}
		formObj.submit();
	}
}

function AbreNuevaVentana(URL,ancho,alto)
{
	var propiedades;
	propiedades = "toolbar=no,directories=no,menubar=no,status=no,scrollbars=yes,resizable=yes,width=" + ancho + ",height=" + alto;
        window.open(URL,'newWin',propiedades)
        if (navigator.appVersion.indexOf("(X11") != -1 || navigator.appVersion.indexOf("(mac") != -1)
        window.open(URL,'newWin',propiedades)
}



function gotoURL (url)
{
	window.location.href = url;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Convierte una cadena de texto en fecha.
function string2fecha(cadena) {
	if (!cadena)
		return new Date();
				
	trozos = cadena.split("/");
	if (trozos.length != 3 || isNaN(trozos[0]) || isNaN(trozos[1]) || isNaN(trozos[2])) {
		return new Date();
	}
				
	return new Date(trozos[2],trozos[1]-1,trozos[0]);
}

// Convierte una fecha en cadena de texto.
function fecha2string(fecha) {
	var dia = new String(fecha.getDate());
	var mes = new String(fecha.getMonth()+1);
	var anio = new String(fecha.getFullYear());
			
	if (dia.length == 1)
		dia = "0" + dia;
				
	if (mes.length == 1)
		mes = "0" + mes;
				
	return dia + "/" + mes + "/" + anio;
}


// *******************************************
var intTimeoutValue;
intTimeoutValue = 6500;

var nSecciones;
nSecciones = 11;

var aSeccion = new Array();
	aSeccion[0] = '';
	aSeccion[1] = '';
	aSeccion[2] = '';
	aSeccion[3] = '';
	aSeccion[4] = '';
	aSeccion[5] = '';
	aSeccion[6] = '';
	aSeccion[7] = '';
	aSeccion[8] = '';
	aSeccion[9] = '';
	aSeccion[10] = '';

var intTimeoutID;
// *******************************************
function Rota(){
	var fecha = new Date();
	var aleatorio = fecha.getSeconds() % nElementos;
	return ( arrayHTML[aleatorio] );
}
// *******************************************
function Cambia(){
	var newdata;
	var str;
	if (document.all)
		{
			document.all.item('aleat').innerHTML = Rota();
			window.clearTimeout(intTimeoutID);
			intTimeoutID = window.setTimeout('Cambia();', intTimeoutValue);
			str = "try{newdata = new ActiveXObject('msxml');newdata.URL = aSeccion[Seccion()];}catch(e){}";
			eval(str);
		}
}

/*funciones para construir los combos de las fechas*/
	function populateDias(max)
	{
		var diaSelect=document.forms[0].dia;
		var selected=diaSelect.options.selectedIndex;
		diaSelect.options.length=0;
		if(max==undefined)
		{
			max=31
		}
		diaSelect.options[0]=new Option("-Día-",-1);
		for(var i=1;i<=max;i++)
		{
			diaSelect.options[i]=new Option(i,i)
		}
		if(selected<=max&&selected!=-1)
		{
			diaSelect.selectedIndex=selected
		}
	}
	function isBisiesto(year)
	{
		var isBisiesto=parseInt(year);
		return(isBisiesto%4==0)&&((isBisiesto%100!=0)||(isBisiesto%400==0))
	}
	function ajustarDias()
	{
		var mesText=document.forms[0].mes.options[document.forms[0].mes.options.selectedIndex].text;
		var yearValue=document.forms[0].year.value;
		var maxDia;
		if(mesText=='Febrero')
		{
			if(isBisiesto(yearValue))
			{
				maxDia=29
			}
			else
			{
				maxDia=28
			}
		}
		else if(mesText=='Abril'||mesText=='Junio'||mesText=='Septiembre'||mesText=='Noviembre')
		{
			maxDia=30
		}
		else
		{
			maxDia=31
		}
		populateDias(maxDia)
	}
/*FIN*/

function trim(cadena)
{
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return cadena;
}

/* OJO esta función siempre tiene que ir acompañada de la de que se llama "trim" sino no funciona*/
function verificaCampo(formulario, campo, valor, valorDefecto)
{
	var campoFormulario;
	campoFormulario = trim(eval("document.forms['" + formulario + "']." + campo));
	if(campoFormulario.value == '' || campoFormulario.value == valorDefecto)
	{
		campoFormulario.value = valor;
	}
}

function permite(elEvento, permitidos) {
    // Variables que definen los caracteres permitidos
    var numeros = "0123456789";
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    var numeros_caracteres = numeros + caracteres;
    var numeros_caracteres_fechas = numeros + "/"
    var teclas_especiales = [8, 9, 46, 37, 39];
    // 8 = BackSpace, 9 = Tab, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha


    // Seleccionar los caracteres a partir del parámetro de la función
    switch (permitidos) {
        case 'num':
            permitidos = numeros;
            break;
        case 'car':
            permitidos = caracteres;
            break;
        case 'num_car':
            permitidos = numeros_caracteres;
            break;
        case 'num_fechas':
            permitidos = numeros_caracteres_fechas;
            break;
    }

    // Obtener la tecla pulsada 
    var evento = elEvento || window.event;
    var codigoCaracter = evento.charCode || evento.keyCode;
    var caracter = String.fromCharCode(codigoCaracter);

    // Comprobar si la tecla pulsada es alguna de las teclas especiales
    // (teclas de borrado y flechas horizontales)
    var tecla_especial = false;
    for (var i in teclas_especiales) {
        if (codigoCaracter == teclas_especiales[i]) {
            tecla_especial = true;
            break;
        }
    }

    // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
    // o si es una tecla especial
    return permitidos.indexOf(caracter) != -1 || tecla_especial;
}

function seleccionaCheck(formulario, campo, obj)
{
	var campoCheck = eval("document.forms['" + formulario + "']." + campo);
	//var activos = campoActivos.value;
	
	//activos = activos.split (",");

	i=0;		
	while(i <= campoCheck.length-1)
	{
		//alert(campoCheck[i]);
		if (!obj.checked)
		{
			campoCheck[i].checked = false;
		}
		else
		{
			campoCheck[i].checked = true;
		}
		i = i+1;
	}
				
}

function compruebaFormulario(formulario, funcion)
{
	var i = 0;
	var idAnterior;
	var hayDatos = false;
	var formulario = eval("document.forms['" + formulario + "']");

	//alert(formulario[0].type);
	//return;

	//while(i <= formulario.length-1)


	for(i=0; i<formulario.length; i++)
	{
		if (formulario[i].id != '')
		{
			if (formulario[i].id != idAnterior)
			{
				if (!hayDatos && i > 0)
				{
					//formulario[i].focus();
					alert ('Es obligatorio seleccionar alguna opción de todos los criterios para realizar la búsqueda.');
					return;
				}
				hayDatos = false;
			}
			if (formulario[i].type == 'checkbox')
			{

				if (formulario[i].checked)
					hayDatos = true;
			}
			else
			{
				hayDatos = true;
				if (formulario[i].value == '')
				{
					alert ('Es obligatorio indicar un periodo.');
					return;
				}
			}
			idAnterior = formulario[i].id;
		}
	}
	
	formulario.funcion.value = funcion;
	//formulario.action = url;
	formulario.submit();
}

