<!--
//Devuelve true si un textarea sobrepasa la longitud máxima de caracteres pasada por parámetro.
function textarea_lng(objeto,campo,longitud)
{
	objeto = eval(objeto);	if(objeto.value.length>longitud)	{
		alert("El campo " + campo + " supera el número de caracteres permitidos\nSobran "+(objeto.value.length-longitud));
		objeto.focus();		//objeto.select();
		return true;	}
	else
	{		return false;	}
}//Comprueba que el formato del campo teléfono sean sólo números, sin guiones ni espacios de separación
function formatoTelf(objeto)
{
	objeto=eval(objeto);
	if(objeto.value!="")
	{	
		objeto.value=objeto.value.replace(".","");
		objeto.value=objeto.value.replace("e","");
		if (isNaN(objeto.value))
		{
			alert("Teléfonos o fax, introduzca sólo números.\nSin guiones ni espacios separación.");
			objeto.value="";
		}
		objeto.focus();
		return;
	}
	return true;
}function formatoCorreo(objeto)
{
	if(objeto.value!="")
	{
		/* var esEmail = /^(.+\/.+\/.+)*$/; */
		var esEmail = /^(.+\@.+\...+)*$/;
		//----------------------
   		if (!esEmail.test(objeto.value))
   		{
    		objeto.focus();
    		objeto.select();
			return false;
		}
	}
	return true;}function formatoFecha(objeto)
{
	fec = eval(objeto);
	if(fec.value != "")
	{
		var dia,mes,anyo;
		var i=fec.value.indexOf("/");
		dia=fec.value.substring(0,i);
		var cadena=fec.value.substring(i+1,fec.value.length+1);
		var j=cadena.indexOf("/");
		mes=cadena.substring(0,j);
		anyo=cadena.substring(j+1,cadena.length+1)
		//Obligo a introducir una cadena de números de formato "__/__/____" ó "__/__/__"
		var bError=false;
		/* var esFecha = /^(.+\/.+\/.+)*$/; */
		
        var esFecha = /^(..\/..\/....)*$/;
		var esFecha1 = /^(.\/..\/....)*$/;
		var esFecha2 = /^(..\/.\/....)*$/;
		var esFecha3 = /^(.\/.\/....)*$/;
		var esFecha4 = /^(..\/..\/..)*$/;
		var esFecha5 = /^(.\/..\/..)*$/;
		var esFecha6 = /^(..\/.\/..)*$/;
		var esFecha7 = /^(.\/.\/..)*$/;

		if (fec.value != "")
		{
   		 	if (!esFecha.test(fec.value )&& !esFecha1.test(fec.value) && !esFecha2.test(fec.value) && !esFecha3.test(fec.value )&& !esFecha4.test(fec.value)&& !esFecha5.test(fec.value )&& !esFecha6.test(fec.value )&& !esFecha7.test(fec.value) )
   		 	{
				bError=true;
			}
   		}
    	//---------------    	
    		if (bError)
    		{
    			objeto.focus();
    			objeto.select();
    			return false;
    		}
    		else
    		{
    			//Una vez comprobado el formato, si es correcto, compruebo que la fecha sean números:
			var m;
			var n;
			var strg;
    			m=fec.value.indexOf("/");
				if (isNaN(fec.value.substring(0,m)))
				{
					objeto.focus();
    				objeto.select();
					return false;
				}
				strg=fec.value.substring(m+1,fec.value.length+1);
				n=cadena.indexOf("/");
				if (isNaN(cadena.substring(0,n)))
				{
					objeto.focus();
    				objeto.select();
					return false;
				}
				if (isNaN(strg.substring(n+1,strg.length+1)))
				{
					objeto.focus();
    				objeto.select();
					return false;
				}
    		}
		//------------------------
		if (dia>31||dia<1||mes>12||mes<1)
		{
			objeto.focus();
    		objeto.select();
			return false;
		}
		if (dia==31)
		{
			if (mes==4||mes==6||mes==9||mes==11)
			{
				objeto.focus();
    			objeto.select();
				return false;
			}
		}
		if (dia>28&&mes=="2")
		{
			if (dia==30||dia==31)
			{
				objeto.focus();
    			objeto.select();
				return false;
			}
			else
			{
				var bisiesto;
				bisiesto=""+anyo/4;
				//Nota: he tenido que añadir una cadena vacía porque no se otra manera de convertir la variable numérica resultante en string.
				//Usando el método [variable].substring(a,b) ...
				//... a indica el orden de la cadena a partir del cual se comienza contar (¡ojo!, el primer elemento es el 0) ...
				//... y b indica el número de caracteres que se van a tomar contando desde el principio de la cadena.
				for (i=0;i<=bisiesto.length-1;i++)//También puede preguntarse:if(bisiesto.charAt(i)==".")...la función charat(i) devuelve el carácter que ocupa el lugar i de la cadena.
				{
					if(bisiesto.substring(i,i+1)==".")
					{
						objeto.focus();
    					objeto.select();
						return false;
					}
				}
			}
			if(anyo.length==4&&anyo.charAt(2)==0&&anyo.charAt(3)==0&&anyo.substring(1,anyo.length)!=000)
			{
				objeto.focus();
    			objeto.select();
				return false;
			}
		}
	}
	return true;
}//Cuando día, mes y año viene por separado (distinto de "dd/mm/aaaa"),//comprueba que fechas no contengan 30 de febrero, 31 de abril, etc
function ddmmaa(bdia, bmes, banyo)
{
	var dia;
	var mes;
	var anyo;	
	if(bdia.charAt(0) == "0")	{
		dia = parseInt(bdia.charAt(1));	}
	else
	{		dia = parseInt(bdia);
	}	if(bmes.charAt(0) == "0")	{
		mes = parseInt(bmes.charAt(1));	}
	else
	{		mes = parseInt(bmes);
	}	anyo = parseInt(banyo);		
	if (dia == 31)
	{
		if (mes == 4 || mes == 6 || mes == 9 || mes == 11)
		{
			return false;
		}
	}
	if (dia > 28 && mes == "2")
	{
		if (dia == 30 || dia == 31)
		{
			return false;
		}
		else
		{
			var bisiesto;
			bisiesto = "" + anyo / 4;
			//Nota: he tenido que añadir una cadena vacía porque no se otra manera de convertir la variable numérica resultante en string.
			//Usando el método [variable].substring(a,b) ...
			//... a indica el orden de la cadena a partir del cual se comienza contar (¡ojo!, el primer elemento es el 0) ...
			//... y b indica el número de caracteres que se van a tomar contando desde el principio de la cadena.
			for (i = 0; i <= bisiesto.length - 1; i++)//También puede preguntarse:if(bisiesto.charAt(i)==".")
			{
				if(bisiesto.substring(i, i+1) == ".")
				{
					return false;
				}
			}
		}	}	return true;
}
//PopUps
//onclick="NewWindow(this.href,'name','400','300','yes');return false"
var win= null;
function NewWindow(mypage, myname, w, h, scroll, bresizable){
  var winl = (screen.width-w)/2;
  var wint = (screen.height-h)/2;
  var settings  ='height='+h+',';
      settings +='width='+w+',';
      settings +='top='+wint+',';
      settings +='left='+winl+',';
      settings +='scrollbars=' + scroll + ',';
      settings +='resizable=' + bresizable;
  win = window.open(mypage, myname, settings);
  if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}

//Comprueba si un usuario ha introducido datos en un elemento del formulario.
function verificaDatos(objeto,campo)
{	objeto = eval(objeto);	if(objeto.value == "")	{
		alert("Introduzca " + campo);
		objeto.focus();
		return true;	}
	else
	{		return false;	}
}
//Idem q el anterior pero en vez de un alert escribe la alerta en el mismo área de texto.function bverificaDatos(objeto,campo)
{	objeto=eval(objeto);	if(objeto.value == "" || objeto.value == "Rellene los datos de " + campo)	{
		objeto.value = "Rellene los datos de " + campo;
		objeto.blur();
		objeto.focus();		objeto.select();
		return true;	}
	else
	{		return false;	}
}function verificaNulos(objeto)
{	objeto = eval(objeto);	v = (objeto.value == "")?true:false
	return v;
}

//Comprueba si el valor string de un objeto está formado SOLO POR ESPACIOS
function esVacio(valor)
{
    var sw = true;
        
    for(i=0;i<valor.length;i++)
    {
        if(valor.charAt(i)!=" ")
        {
            sw = false;
            break;
        }
    }
    return sw;  
}
//En un input type = file, asigna al elemento del formulario pasado por parámetro (valor), el nombre del fichero resultante de utilizar el botón "examinar", eliminando el resto de la ruta
function file_name(valor, fichero)
{
	fichero = eval(fichero);
	fichero.value = valor.substring((valor.lastIndexOf("\\")+1),valor.length);
}//-->