function rif_bueno(el_rif)
{   
   var largo = 12; //el_rif.length;
   if (largo != 12)
      return false;
   else
   {
   var primero = el_rif.charAt(0);
   var segundo = el_rif.charAt(1);
   var penultimo = el_rif.charAt(largo-2);
   var ultimo = el_rif.charAt(largo-1);
   var resto = el_rif.substring(2, 10);
   var conjunto = /[A-Z]/;
   if (!solo_este_conjunto(primero, conjunto))
      return false;
   else
      if ((segundo != "-") || (penultimo != "-"))
	     return false;   
	  else
	  {
	     conjunto = /[0-9]/;
         if (!solo_este_conjunto(resto, conjunto))
            return false;
		 else
		 {
		    conjunto = /[0-9]/;
		    if (!solo_este_conjunto(ultimo, conjunto))
			   return false;
			else   
               return true;	
		 }
	  }
	}  
}
function validarEmail(cadena)
{ 
	  avalidar = cadena;
	  indiceArroba=avalidar.indexOf("@");
	  longitud= avalidar.length;
	  
	    if(indiceArroba<3)
		{
		  return false;
		}
	    indicepto=avalidar.lastIndexOf(".");
		verUltimo=longitud-indicepto;
		if(verUltimo<3)
		 {return false;}
		 middot=avalidar.indexOf(".",indiceArroba);
		 len1=middot-indiceArroba;
		 
		 if(len1<1)
		   return false;
		 else return true;
}

function validarCaracteres(cadena)
{  var caracteres = cadena.split(""); 
	   var ok= false;
	   var cont =0;
        for(i=0;i<caracteres.length;i++)	   
	  { if(isNaN(caracteres[i]))
	     { 
		  ok=true;
		  }
		 else 
		 { cont++; 
		   ok= false;
		 
		 }
	  }
	  if((ok==true)&&(cont==0))
        return true;
      else 
	  {  cont=0; 
	    return false;
	  }		
}
	
/*function validarNumeros(cadena)
{  var caracteres = cadena.split(""); 
	   var ok= false;
	   var cont =0;
      for(i=0;i<caracteres.length;i++)	   
	  { if(!isNaN(caracteres[i]))
		  ok=true;
		 else 
		 { cont++; 
		   ok= false;
		 
		 }
	  }
	  if((ok==true)&&(cont==0))
        return true;
      else 
	  {  cont=0; 
	    return false;
	  }		
}
*/
function validarNumeros(texto)
{ var n="";
  for(var i=0; i<texto.length; i++) 
  {
  var ch=texto.substring(i,i+1);
  if(ch < "0" || ch > "9") 
  {
    //alert("Debe Introducir Un Valor Numerico.");
    return false;
  }
   else return true;
  }
 
}     

function VerifySpace(form){
	text = form.Space.value;
	if(text.indexOf(' ',0)!=-1) {
		alert("Escriba una cadena de caracteres sin espacios.");
		return false;
	}
	else return true;
}

function VerifyLength(form, minimo){
	text = form.Length.value;
	if(text.length > minimo) {
		alert("La cadena de caracteres es mayor de la permitida.");
		return false;
	}
	else return true;
}

function VerifyNumeric(form){
	text = form.Length.value;
	for(var i=0; i<text.length; i++) {
		var ch=text.substring(i,i+1);
		if(ch < "0" || ch > "9") {
			alert("Escriba una valor numérico.");
			return false;
		}
		else return true;
}

}
function elimina_superfluos(la_tira)
{
var largo = la_tira.length;
var la_cadena = "";
var el_caracter;
for (var i=0; i< largo; i++)
{
   el_caracter = la_tira.charAt(i);
   if (el_caracter == " ")
   {
      if ((i !=0) && (la_tira.charAt(i-1) != " ")) 
	     la_cadena += el_caracter;
   }       
   else
      la_cadena += el_caracter;		 	  
} //cierra el for
largo = la_cadena.length;
if (la_cadena.charAt(largo-1) == " ")
   la_cadena = la_cadena.substr(0, largo-1);    
return la_cadena;
} //cierra la funcion

/*
dada una tira de caracteres y un conjunto de caracteres devuelve true si cada elemento de la tira está 
contenida en el conjunto, false en caso contrario
*/
function solo_este_conjunto(la_tira, el_conjunto)
{
var largo = la_tira.length;
var el_caracter;
for (var i=0; i< largo; i++)
{
   el_caracter = la_tira.charAt(i);
   if (el_caracter.search(el_conjunto) != 0)
   {
	  return false;
      break;
   }   //cierra el if (el_caracter.search(conjunto) != 0)
} //for
return true;   
} //cierra la funcion

/*
dada una tira de caracteres y un caracter especifico, devuelve el numero de veces que se encuentra ese 
caracter en la tira.
*/
function cuantos_hay(la_tira, el_char)
{
var largo = la_tira.length;
var el_caracter;
var contador = 0;
for (var i=0; i < largo; i++)
{
   el_caracter = la_tira.charAt(i);   
   if (el_caracter == el_char)
      contador++;	  
}
return contador;
}

/*
dada una tira de caracteres devuelve true si existe al menos un punto en la tira, de haber mas de uno 
no pueden ser consecutivos; el primer caracter de la tira no puede ser un punto; falso en caso contrario.
*/
function puntos_en_orden(la_tira) 
{
var largo = la_tira.length;
var cuenta_puntos = 0;
var el_caracter;
for (var i=0; i<largo; i++)
{   
   el_caracter = la_tira.charAt(i);
   if (el_caracter == ".")
      if (i ==0)
      {
         return false;
         break;	  
      }
	  else
      if (cuenta_puntos >= 1)
	     if (el_caracter == la_tira.charAt(i-1))
		 {		    
		    return false;
			break;
		 } //cierra el if
		 else
            cuenta_puntos++;      
      else
	      cuenta_puntos++;
}  //cierra el for 
if (cuenta_puntos == 0)
   return false;
else   
   return true;   
} //cierra la funcion

/*dada una tira de caracteres devuelve true si contiene solo numeros, false en caso contrario*/
function solo_numeros(la_tira)
{
var conjunto = /[0-9]/;
if (solo_este_conjunto(la_tira, conjunto))
   return true;
else 
   return false;    
}

/* dada una tira convierte los caracteres siguientes a un espacio en mayusculas y el resto en minusculas*/
function dar_formato(la_tira)
{
var cadena = "";
var el_caracter;
var sw = false;
var largo = la_tira.length;
for (var i = 0; i < largo; i++)
{
   el_caracter = la_tira.charAt(i);
   if (i == 0)
      cadena += el_caracter.toUpperCase();   
   else
   {//1
      if (el_caracter != " ") 
	  {
 	     if (sw)
		 {
            cadena += el_caracter.toUpperCase(); 
			sw = false;
	     }		
		 else	
		 {
		    cadena += el_caracter.toLowerCase(); 
			sw = false;
		 } //cierra el else
	  } //cierra el if (el_caracter != " ") 
      else   
	  {
	     cadena += " ";
		 sw = true;
	  }
   }//cierra el 1
}//cierra el for
return cadena;
}// cierra la función

/* dada una tira de caracteres devuelve true si contiene solo caracteres validos para un nombre o apellido,
en caso contrario false*/
function nombre_bueno(el_nombre)
{
var conjunto = /[a-z]|[A-Z]|[ ]/;
if (solo_este_conjunto(el_nombre, conjunto))
   return true;
else
   return false;   
}
function login_bueno(el_nombre)
{
var conjunto =  /[a-z]|[A-Z]|[0-9]|[-_@ &,.]/;
if (solo_este_conjunto(el_nombre, conjunto))
   return true;
else
   return false;   
}
function nombre_juridico_bueno(el_nombre)
{
var conjunto = /[a-z]|[A-Z]|[0-9]|[-_@ &,.]/;
if (solo_este_conjunto(el_nombre, conjunto))
   return true;
else
   return false;   
}

function direccion_buena(la_direccion)
{
var conjunto = /[a-z]|[A-Z]|[0-9]|[@ &,.#-]/;
if (solo_este_conjunto(la_direccion, conjunto))
   return true;
else
   return false;   
}

function rif_bueno(el_rif)
{   
   var largo = 12; //el_rif.length;
   if (largo != 12)
      return false;
   else
   {
   var primero = el_rif.charAt(0);
   var segundo = el_rif.charAt(1);
   var penultimo = el_rif.charAt(largo-2);
   var ultimo = el_rif.charAt(largo-1);
   var resto = el_rif.substring(2, 10);
   var conjunto = /[A-Z]/;
   if (!solo_este_conjunto(primero, conjunto))
      return false;
   else
      if ((segundo != "-") || (penultimo != "-"))
	     return false;   
	  else
	  {
	     conjunto = /[0-9]/;
         if (!solo_este_conjunto(resto, conjunto))
            return false;
		 else
		 {
		    conjunto = /[0-9]/;
		    if (!solo_este_conjunto(ultimo, conjunto))
			   return false;
			else   
               return true;	
		 }
	  }
	}  
}	  

/*
dada una tira de caracteres devuelve true si es una direccion de email valida, falso en caso contrario.
*/
function email_bueno(el_email)
{
var largo = el_email.length;
if ((el_email.charAt(0) == "@") || (el_email.charAt(0) == ".") || (el_email.charAt(largo-1) == "@") || (el_email.charAt(largo-1) == "."))   
   return false;
else //1
{
   var blancos = 0;
   var arrobas = 0;
   blancos = cuantos_hay(el_email, " ");   
   arrobas = cuantos_hay(el_email, "@");      
   if ((blancos != 0) || (arrobas != 1))
      return false;
   else //2
   {  	     
      var conjunto = /\w|[-_@.]/;
      if (!solo_este_conjunto(el_email, conjunto))   
         return false;				      
      else //3
      { 
         var vector = el_email.split("@");
         var cadena_1 = vector[0];
         var cadena_2 = vector[1];		  
         largo = cadena_1.length;
         if ((cadena_1.charAt(largo-1) == ".") || (!puntos_en_orden(cadena_2)))		
            return false;	
         else	 
		    if (!puntos_en_orden(cadena_1))
		    {
			   var el_caracter; 
			   for (var i = 1; i < largo-1; i++)
			   {
			      el_caracter = cadena_1.charAt(i);
     			  if (el_caracter == ".")        		     
				  {
                     return false;				      
					 break;
				   } //cierra el if (el_caracter == ".")				      				   
				}// cierra el for
			 }// cierra el if (!puntos_en_orden(cadena_1))   			    			 
 		 } //cierra el else 3    	  
       } //cierra el else 2 
   }//cierra el else 1   
return true;
} //cierra la funcion

function validarLongitud(texto,minimo)
{
  if(texto.length > minimo) {
  alert("La longitud de dato numerico introducido es mayor de la permitida.");
  return false;
  }
  else return true;
}
        


