function validarCampoVacio(campo){  // Solo admite numeros
 var valor_CajaTexto;
 var valor_A_Evaluar=campo.value;
 var numeroErrores = 0;
 var resultadoFuncion = 1;  // 1 si es correcto, 0 si es incorrecto
 for(var i=0;i<(valor_A_Evaluar.length);i++){
    valor_CajaTexto=valor_A_Evaluar.charAt(i);
    //var es_Caracter=parseFloat(valor_CajaTexto);
   //if((valor_CajaTexto)==""){
   if(valor_A_Evaluar.charAt(i) == ""){
       numeroErrores = eval("numeroErrores + 1");
    }//fin if
 }//fin for
 if (numeroErrores != 0){
    resultadoFuncion = 0;
	alert("se acepta espacios en blanco");
    campo.value="";
    for(var i=0;i<(valor_A_Evaluar.length-numeroErrores);i++){
       campo.value=campo.value + valor_A_Evaluar.charAt(i);
    }
 }
 return resultadoFuncion;
}


function validarNumerico(campo){  // Solo admite numeros
 var valor_CajaTexto;
 var valor_A_Evaluar=campo.value;
 var numeroErrores = 0;
 var resultadoFuncion = 1;  // 1 si es correcto, 0 si es incorrecto
 for(var i=0;i<(valor_A_Evaluar.length);i++){
    valor_CajaTexto=valor_A_Evaluar.charAt(i);
    var es_Caracter=parseFloat(valor_CajaTexto);
    if((isNaN(es_Caracter)==true)){
       numeroErrores = eval("numeroErrores + 1");
    }//fin if
 }//fin for
 if (numeroErrores != 0){
    resultadoFuncion = 0;
    campo.value="";
    for(var i=0;i<(valor_A_Evaluar.length-numeroErrores);i++){
       campo.value=campo.value + valor_A_Evaluar.charAt(i);
    }
 }
 return resultadoFuncion;
}


function validarFecha(campo){
    var a, mes, dia, anyo, febrero,val;
	val = 1;
	/**
    * funcion para comprobar si una año es bisiesto
    * argumento anyo > año extraido de la fecha introducida por el usuario
    */
	if (campo.value != 0){
		validar(campo);
	}	
    function anyoBisiesto(anyo)
    {
        /**
        * si el año introducido es de dos cifras lo pasamos al periodo de 1900. Ejemplo: 25 > 1925
        */
        if (anyo < 100)
            var fin = anyo + 1900;
        else
            var fin = anyo ;

        /*
        * primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto
        * es decir, obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
        */
        if (fin % 4 != 0)
            return false;
        else
        {
            if (fin % 100 == 0)
            {
                /**
                * si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
                */
                if (fin % 400 == 0)
                { return true;
                }
                /**
                * si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
                */
                else
                { return false;
                }
            }
            /**
            * si es divisible por 4 y no es divisible por 100 > el año es bisiesto
            */
            else
            { return true;
            }
        }
    }
    
    /**
    * funcion principal de validacion de la fecha
    * argumento fecha > cadena de texto de la fecha introducida por el usuario
    */
    function validar(fecha)
    {
		
//       alert("hola");
	   /**
       * obtenemos la fecha introducida y la separamos en dia, mes y año
       */
       a=fecha.value;
       /*dia=a.split("/")[0];
       mes=a.split("/")[1];
       anyo=a.split("/")[2];*/
	   /*FORMATO DE FECHA AAAA/MM/DD*/
	   anyo=a.split("/")[0];
	   mes=a.split("/")[1];
	   dia=a.split("/")[2];
		/* Ejemplo de split()
			var cadena = 'El Programador|El Novato|El Experimentado'.split('|');
			window.alert(cadena[0]+'\n'+cadena[1]+'\n'+cadena[2]);

		*/

       if (!isNaN(dia) && !isNaN(mes) && !isNaN(anyo)){
	   	
			   if(anyoBisiesto(anyo))
				   febrero=29;
			   else
				   febrero=28;
			   /**
			   * si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
			   */
			   if ((mes<1) || (mes>12))
			   {
				   alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
				   fecha.focus();
				   fecha.select();
				   //return;
				   val = 0;
			   }
			   /**
			   * si el mes introducido es febrero y el dia es mayor que el correspondiente 
			   * al año introducido > alertamos y detenemos ejecucion
			   */
			   if ((mes==2) && ((dia<1) || (dia>febrero)))
			   {
				   alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
				   fecha.focus();
				   fecha.select();
				   //return;
				   val = 0;
			   }
			   /**
			   * si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
			   */
			   if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
			   {
				   alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
				   fecha.focus();
				   fecha.select();
				   //return;
				   val = 0;
			   }
			   /**
			   * si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
			   */
			   if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
			   {
				   alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
				   fecha.focus();
				   fecha.select();
				   //return;
				   val = 0;
			   }
			   /**
			   * si el mes año introducido es menor que 1900 o mayor que 2020 > alertamos y detenemos ejecucion
			   * NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
			   */
			   if ((anyo<1900) || (anyo>2020))
			   {
				   alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2020");
				   fecha.focus();
				   fecha.select();
				   val = 0;
			   } 
			   /**
			   * en caso de que todo sea correcto > enviamos los datos del formulario
			   * para ello debeis descomentar la ultima sentencia
			   */
			   //else
				 // alert("La fecha introducida es correcta. Gracias por su colaboración");
				  //document.forms[0].submit();    
		}else{
				 alert("La fecha introducida es Incorrecta!");   
				 fecha.focus();
  			     fecha.select();
				 val = 0;
		}		 
 	}
	return val;
}


function reVisarNN4(campo)
{
	contador=campo.value.length + 1;
   
    if(contador==5)
    { 	campo.value=campo.value+"/";
    }
    if(contador==8)
    {
     campo.value=campo.value+"/";
    }
	
}



function Valcampo(campo){
	if (campo==""){
		alert("No ha ingresado Dato");
	}
}


function validarCampoNumerico(campo){  // Solo admite numeros
 var valor_CajaTexto;
 var valor_A_Evaluar=campo.value;
 var numeroErrores = 0;
 var resultadoFuncion = 1;  // 1 si es correcto, 0 si es incorrecto
 for(var i=0;i<(valor_A_Evaluar.length);i++){
    valor_CajaTexto=valor_A_Evaluar.charAt(i);
    var es_Caracter=parseFloat(valor_CajaTexto);
    if((isNaN(es_Caracter)==true)){
       numeroErrores = eval("numeroErrores + 1");
    }//fin if
 }//fin for
 if (numeroErrores != 0){
    resultadoFuncion = 0;
    alert("Este campo sólo acepta valores numéricos, tampoco acepta espacios en blanco");
    campo.value="";
    for(var i=0;i<(valor_A_Evaluar.length-numeroErrores);i++){
       campo.value=campo.value + valor_A_Evaluar.charAt(i);
    }
 }
 return resultadoFuncion;
}

function comboVacio(combo)
 {
            if(combo.options[combo.selectedIndex].text == ""){
                    alert("seleccione un tipo de documento");
                    combo.focus();
            }
 }

/* Centrar una Pagina web*/
function centrar() {
iz=(screen.width-document.body.clientWidth) / 2;
de=(screen.height-document.body.clientHeight) / 2;
moveTo(iz,de);
}


/*****************************************************************************
Código para colocar los indicadores de miles  y decimales mientras se escribe
Script creado por Tunait!
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.

http://javascript.tunait.com
tunait@yahoo.com  27/Julio/03
******************************************************************************/
function puntitos(donde,caracter,campo)
{
var decimales = false
/*campo = eval("donde.form." + campo)
//alert(campo.length);  //kgc
for (d =0; d < campo.length; d++)
		{
		if(campo[d].checked == true)
			{
			dec = new Number(campo[d].value)
			break;
			}
		}
	if (dec != 0)
		{decimales = true}*/


dec = 0; //kgc //Esta variable indica cuantos decimales se van a colocar. si es 0 no va con decimales

pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
valor = donde.value
largo = valor.length
crtr = true
if(isNaN(caracter) || pat.test(caracter) == true)
	{
	if (pat.test(caracter)==true) 
		{caracter = "\\" + caracter}
	carcter = new RegExp(caracter,"g")
	valor = valor.replace(carcter,"")
	donde.value = valor
	crtr = false
	}
else
	{
	var nums = new Array()
	cont = 0
	for(m=0;m<largo;m++)
		{
		if(valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",")
			{continue;}
		else{
			nums[cont] = valor.charAt(m)
			cont++
			}
		
		}
	}

if(decimales == true) {
	ctdd = eval(1 + dec);
	nmrs = 1
	}
else {
	ctdd = 1; nmrs = 3
	}
var cad1="",cad2="",cad3="",tres=0
if(largo > nmrs && crtr == true)
	{
	for (k=nums.length-ctdd;k>=0;k--){
		cad1 = nums[k]
		cad2 = cad1 + cad2
		tres++
		if((tres%3) == 0){
			if(k!=0){
				cad2 = "," + cad2
				}
			}
		}
		
	for (dd = dec; dd > 0; dd--)	
	{cad3 += nums[nums.length-dd] }
	if(decimales == true)
	{cad2 += "." + cad3}
	 donde.value = cad2
	}
donde.focus()
}

/***********
//Mostrar un número entero usando separadores de miles
//nNmb = cadena numerica
*************/
function formatNmb(nNmb){
    var sRes = ""; 
    for (var j, i = nNmb.length - 1, j = 0; i >= 0; i--, j++) 
     sRes = nNmb.charAt(i) + ((j > 0) && (j % 3 == 0)? ",": "") + sRes; 
    return sRes; 
} 

/*****************************************************************************
Código para colocar los indicadores de miles  y decimales mientras se escribe
Script creado por Tunait!
@parametros:
	donde = es el objeto (campo)
	caracter = el caracter que se va digitando en el campo
	dec = no. de decimales que va a sacar.  Maximo 3.
Nota: esta funcion se llama por el evento onKeyUp del campo q va a ir formateado
p.e: <input type="text" name="textfield" onKeyUp="puntitos(this,this.value.charAt(this.value.length-1),1)">
http://javascript.tunait.com
tunait@yahoo.com  27/Julio/03
******************************************************************************/
function puntitos(donde,caracter,dec){

var decimales = false;
//alert(donde.value);
if (dec != 0){decimales = true;}

pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/;
valor = donde.value;
largo = valor.length;

/*if(valor==0 && caracter==0){
	donde.value='';
	return;
}*/

crtr = true;
if(isNaN(caracter) || (pat.test(caracter) == true)){
	if(pat.test(caracter)==true){
		caracter = "\\" + caracter;
	}
	carcter = new RegExp(caracter,"g");
	valor = valor.replace(carcter,"");
	donde.value = valor;
	crtr = false;
}
else if(largo==2&&valor.charAt(0)==0){//*****
 donde.value='';
 donde.value=caracter;
 return;	
}//*****
else{
	var nums = new Array();
	cont = 0;	
	
	for(m=0;m<largo;m++){
		if((valor.charAt(m) == ".") || (valor.charAt(m) == " ") || (valor.charAt(m) == ",")){
			continue;
		}else{
			nums[cont] = valor.charAt(m);
			cont++;
		}
	}
}

if(decimales == true){
	ctdd = eval(1 + dec);
	nmrs = 1;
}else{
	ctdd = 1; nmrs = 3;
}
var cad1="",cad2="",cad3="",tres=0;
if(largo > nmrs && crtr == true){
	for (k=nums.length-ctdd;k>=0;k--){
		cad1 = nums[k];
		cad2 = cad1 + cad2;
		tres++;
		if((tres%3) == 0){
			if(k!=0){
				cad2 = "," + cad2
			}
		}
	}
		
	for (dd = dec; dd > 0; dd--){
		cad3 += nums[nums.length-dd];
	}
	if(decimales == true){
		cad2 += "." + cad3;
	}
	donde.value = cad2;
}
donde.focus();
}	
/**
Sombrea el contenido de un campo seleccionado
**/
function limpiar(obj){
	//obj.value = "";
	obj.select()
}

function validaEmail(campo)
 {
  if(campo.value == "")return;
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(campo.value))
   {
     return (true)
   }
  else
   {
    alert("La dirección de email no es valida! (p.e. nombre@clave2000.com)");
    campo.focus();
	return false;
   }
 }