
/* 
function validaFormulario() {
			var error = 0;
			var mensaje = "";
			var ck = 0;
			
			if (compruebavacio(document.miform.titulo.value) == false) {
				error = 1;
				mensaje = mensaje + "Debe introducir un TITULO.\n"
			}
			if (compruebavacio(document.miform.descripcion.value)== false){
				error = 1;
				mensaje = mensaje + "Debe introducir una DESCRIPCION.\n"
			}
			
			if (document.miform.Tipo_Formulario.options[document.miform.Tipo_Formulario.selectedIndex].value == '') {
				error = 1;
				mensaje = mensaje + "Debe seleccionar un TIPO DE FORMULARIO."
			} 
			if (validaFecha (document.miform.Fecha_Alta)== false || compruebavacio(document.miform.Fecha_Alta.value)== false){
				error = 1;
				mensaje = mensaje + "Debe introducir una FECHA CORRECTA (dd/mm/yyyy).\n"
			}
			if (error == 1) {
				alert (mensaje);
				return false;
			} else return true
			
		}
*/



function validaFecha (fecha){
	    
			var err=0
			f1=fecha.value;
			
			var  n1 = f1.indexOf("/",0);
			//alert (n1);
			var  n2 = f1.lastIndexOf("/");
			//alert (n2);
			var ultimo =f1.length
			if (ultimo == 0) return true
			//alert (ultimo);
			
			if ( (n1 < 1) || (n1>2) || (n2<3) || (n2>5) ) {
				alert ("DEBE INTRODUCIR LA FECHA CORRECTAMENTE. (dd/mm/yyyy)");
				fecha.focus();
				return false;
			}
			
			d = Math.abs(f1.substring(0, n1))// day
			c = f1.substring(n1,n1+1)// '/'
			b = Math.abs(f1.substring(n1+1, n2))// month
			e = f1.substring(n2,n2+1)// '/'
			f = Math.abs(f1.substring(n2+1, ultimo))// year
			
			//alert (d+"-"+b+"-"+f+"    "+c+e);
			
			// test basico de error
			if (b<1 || b>12) err = 1
			if (c != '/') err = 1
			if (d<1 || d>31) err = 1
			if (e != '/') err = 1
			if (f<1900 || f>2099) err = 1
			
			if ( isNaN(d) ||  isNaN(b) || isNaN(f) ) err = 1
			
			
			//test avanzado de error
			// meses de 30 days
			if (b==4 || b==6 || b==9 || b==11){
				if (d==31) err=1
			}
			// february, leap year
			if (b==2){
				// feb
				var g=parseInt(f/4)
				if (isNaN(g)) {
					err=1
				}
				if (d>29) err=1
				if (d==29 && ((f/4)!=parseInt(f/4))) err=1
			}
			if (err==1){
				alert ("DEBE INTRODUCIR LA FECHA CORRECTAMENTE. (dd/mm/yyyy)");
				fecha.focus();
				return false
			}
			else{
				//alert('¡Correcto!');
				return true;
			} 
		}
	




function IsDigit()
{
	return (((event.keyCode >= 48) && (event.keyCode <= 57)) ||  (event.keyCode == 37))
}

function IsDigit_coma(obj)
{
	if (obj.value.length == 0){
		//primera pulsacion.  no controlar comas
		return (((event.keyCode >= 48) && (event.keyCode <= 57)) ||  (event.keyCode == 37) ||  (event.keyCode == 46))
	}else{
		var i;
		var longitud = obj.value.length;
		var caracter;
		var devolver = 0;
		for(i=0;i<longitud;i++){
			caracter = obj.value.charAt(i)
			if ((i == 0) && (caracter == '.')){
				//el primer caracter escrito es una coma, incorrecto
				alert('El primer digito no puede ser un punto')
				devolver = 1;
			}
			if ((caracter == ',') && (event.keyCode == 46)){
				alert('Solo puede introducir un punto')
				devolver = 1;
			}
		}
		if (devolver == 0){
			// no hay mas de una coma, correcto
			return (((event.keyCode >= 48) && (event.keyCode <= 57)) ||  (event.keyCode == 37) ||  (event.keyCode == 46))
		}else{
			// error
			obj.value = ''
			return false;
		}
	}
}


/* VALIDA SI ES NUMERICO

LLAMADA:
<cfinput type="Text" name="numtitulos" message="DEBE INTRODUCIR Nº TITULOS." validate="integer" required="Yes" size="3" maxlength="3" onchange="return isNumero(this)">  

*/
	function esNumerico (object_value)
    {
	   
	    if (object_value.length == 0)
	        return true;
	
		var start_format = " .+-0123456789";
		var number_format = " .0123456789";
		var check_char;
		var decimal = false;
		var trailing_blank = false;
		var digits = false;
	
	    //The first character can be + - .  blank or a digit.
		check_char = start_format.indexOf(object_value.charAt(0))
	    //Was it a decimal?
		if (check_char == 1)
		    decimal = true;
		else if (check_char < 1)
			return false;
	        
		//Remaining characters can be only . or a digit, but only one decimal.
		for (var i = 1; i < object_value.length; i++)
		{
			check_char = number_format.indexOf(object_value.charAt(i))
			if (check_char < 0)
				return false;
			else if (check_char == 1)
			{
				if (decimal)		// Second decimal.
					return false;
				else
					decimal = true;
			}
			else if (check_char == 0)
			{
				if (decimal || digits)	
					trailing_blank = true;
	        // ignore leading blanks
	
			}
		        else if (trailing_blank)
				return false;
			else
				digits = true;
		}	
	    //All tests passed, so...
	    return true;
		
    }
	
	
	
	
	function isNumero (valor) {
		if ( esNumerico(valor.value) == true)  {
			valor.form.submit()
			
		} else return false
		
		
	}

	
function compruebaSinBlancosSinCarExtranios (object_value) {
	var carateres_extranios = " %&$!\"\'/\\"
	
	for (var i = 0; i < object_value.length; i++)
	{
	check_char = carateres_extranios.indexOf(object_value.charAt(i))
	if (check_char >= 0 )
		return false;
		
	}	
	return true	
}
	
// Si es vacio devuelve FALSE
function compruebavacio(contenido)  {
     if (contenido.length==0) {
	      return false;
	   } else {
		   for (var i=0; i<contenido.length; ++i) {
		   	  if (contenido.charAt(i)!=' ' )
		         {
				   return true;
		         } 
		   }
	   }
	   return false; 
}

///Valida el C:Posta: EL CP debe tener 5 numeros.
//Nos dan el campo del CP y el campo del codigo de la provincia seleccionada.
function validarCP(obj, prov){
	var chr;
	        if (obj.value.length!=5)
	        {
	                obj.focus();
	                return false;
	        }
	   for (var i=0;i<obj.value.length;i++)
	   {
	      chr=obj.value.substring(i,i+1);
	      if ( (chr!="0") && (chr!="1") && (chr!="2") && (chr!="3") && (chr!="4") && (chr!="5") && (chr!="6") && (chr!="7") && (chr!="8") && (chr!="9") )
	            {
	               obj.focus();
	               return false;
	      }
	   }
	   //Comprobamos que los dos primeros digitos del CP coinciden con el cogigo de la provincia.
	   var cod_prov = prov.value;
	   if (cod_prov != Math.abs(obj.value.substring(0,2)) ){
	   		obj.focus();
	        return false;
	   }
	
	return true;
}

// Comprueba que el telefono tiene mas de 9 digitos, no tiene letras y empieza por 9 o 6.
function validaTelefono (obj)  {
	  var tamanio = obj.value.length
	  var primero = obj.value.charAt(0);
	  //alert (tamanio+'--'+primero);
	  if  (tamanio < 9)  {
	       //alert ('El telefono debe tener como minimo 9 numeros.')
		   obj.focus();
		   return false;
	   } else {
	   	   if (primero!='9' && primero!='6') {
		   	      alert ("El Telefono debe comenzar por '9' o '6'. ");
				  obj.focus();
				  return false;
		   } 
		    for (var i=0;i<obj.value.length;i++)
			   {
			      chr=obj.value.substring(i,i+1);
			      if ( (chr!="0") && (chr!="1") && (chr!="2") && (chr!="3") && (chr!="4") && (chr!="5") && (chr!="6") && (chr!="7") && (chr!="8") && (chr!="9") && (chr!=" ") &&  (chr!="-"))
			            {
						  obj.focus();
			              return false;
			      }
			   }
		   
	   }
	   //alert ('Telefono OK');
	   return true; 
   }
   
// Valida si es un email
function validaEmail(emailad) {
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,4}$/;
	
		if (emailad.value == "")
		{
			//alert("Debe introducir el email");
			//emailad.focus()
			//return false
			return true
			//Si esta vacio, el valor introducido en valido porque es un dato opcional.
		}	
	
	
		if(((emailad.value.search(exclude) != -1)||(emailad.value.search(check)) == -1)||(emailad.value.search(checkend) == -1))
		{
			//alert("Debe introducir un email correcto");
			//emailad.focus()
			return false;
		} else return true
}


   

// Valida el NIF incluyendo la letra que le corresponde. Se puede introducir el numero con puntos o sin puntos.
function  validarNIF(obj) {
  if (obj.value == "")
  {
    alert("Escriba el valor para el campo \"DNI\" .");
    obj.focus();
    return (false);
  }
  
  var tamanio = obj.value.length;
  var letra = obj.value.charAt(tamanio-1).toLowerCase();
  var penultima = obj.value.charAt(tamanio-2);
    
   
  var digitos = "0123456789.";
  var letras = "abcdefghijkmnopqrstvwyz"
  var chequeo ;
  var correcto = true;
  //alert (letra)
  if ( letras.indexOf(letra,0)< 0) {
  	alert("Debe de poner una Letra");
    obj.focus();
    return (false);
  
  } 
  
  if ( penultima == '-' ) {
  	chequeo = obj.value.substring(0,tamanio-2) 
  } else chequeo = obj.value.substring(0,tamanio-1) 
  
  
  var num =""
  for (i = 0;  i < chequeo.length;  i++)
  {
    ch = chequeo.charAt(i);
	if (ch!=".") 
	  	num=num+chequeo.charAt(i);
	for (j = 0;  j < digitos.length;  j++)
	  if (ch == digitos.charAt(j))
        break;
    if (j == digitos.length)
    {
      //alert("Escriba únicamente dígitos del 0 al 9 en el campo \"DNI\".");
      obj.focus();
      return (false);
    }
   }
   	//alert(num)
	var miletra;
	var ASC;
	ASC = num % 23;
	//alert ("asc:"+ASC)
	if ( ASC == 0) { miletra="T"; };
	if ( ASC == 1) { miletra="R"; };
	if ( ASC == 2) { miletra="W"; };
	if ( ASC == 3) { miletra="A"; };
	if ( ASC == 4) { miletra="G"; };
	if ( ASC == 5) { miletra="M"; };
	if ( ASC == 6) { miletra="Y"; };
	if ( ASC == 7) { miletra="F"; };
	if ( ASC == 8) { miletra="P"; };
	if ( ASC == 9) { miletra="D"; };
	if ( ASC == 10) { miletra="X"; };
	if ( ASC == 11) { miletra="B"; };
	if ( ASC == 12) { miletra="N"; };
	if ( ASC == 13) { miletra="J"; };
	if ( ASC == 14) { miletra="Z"; };
	if ( ASC == 15) { miletra="S"; };
	if ( ASC == 16) { miletra="Q"; };
	if ( ASC == 17) { miletra="V"; };
	if ( ASC == 18) { miletra="H"; };
	if ( ASC == 19) { miletra="L"; };
	if ( ASC == 20) { miletra="C"; };
	if ( ASC == 21) { miletra="K"; };
	if ( ASC == 22) { miletra="E"; };
	if ( ASC == 23) { miletra="T"; };
	
	if (miletra.toLowerCase()==letra) {
		 //alert ("Letras Iguales");
		 return true;
	} else {
		//alert ("Letras NO Iguales")
		return false;
	}
}




 // Comprueba si la longitud de TextArea es correcta
 // LLamada: <textarea name="OBSER_DG" cols="24" rows="3" onKeyUp="LongitudTextoArea(this, 250)"></textarea>
 function LongitudTextoArea(elemento, longitud) {
	 var longitud_maxima = longitud;
	 var longitud_texto = elemento.value.length;
	 if (longitud_texto > longitud_maxima) {
	  elemento.value = elemento.value.substring(0,longitud_maxima);
	  alert ("EL TEXTO TIENE QUE SER UN MAXIMO DE "+longitud_maxima+" CARACTERES.");
	  return false
	 } else {
	  return true;
	 }
	 
}

// Valida el sexo. Si se introdujo V de Varon o H de hembra
function validaSexo(s) {
	//alert(s.value.toLowerCase());
	if (s.value == "")
		{
			return true
			//Si esta vacio, el valor introducido en valido porque es un dato opcional.
		}	
	
	
		if( (s.value.toLowerCase() != 'v') && (s.value.toLowerCase() != 'h'))
		{
			alert("Debe introducir un valor correcto. (V / H)");
			s.focus()
			return false;
		}
}


function IsDigitFF(e)
{
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /[0-9]/;
return (reg.test(keychar) || e.keyCode == 8)
}


function IsDigitFFEuros(e)
{
	//permite numeros, el 'volver' y comas
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /[0-9]/;
return (reg.test(keychar) || e.keyCode == 8 || e.keyCode == 44)
}

