function validaPreguntaAbierta(campo,validacion,num_caracteres,obligatorio) 
{    
  	 Ctrl = campo;
		
	 if(Ctrl.value == "" &&  obligatorio=="NO")
	 {return (true);}

	 if(Ctrl.value == "")
	 {
         validatePrompt (Ctrl, "Precaución: Llenar este campo");	 
	     return (false);	
	 }

	 if(Ctrl.value.length > num_caracteres)
	 {
         validatePrompt (Ctrl, "Precaución: Este campo no debe tener mas de "+num_caracteres+" caracteres.");
	     return (false);	
	 }	

	 if(validacion=="Numérico")
	 {
	     if ( validaSoloNumeros(Ctrl.value) == false)
         {
             validatePrompt (Ctrl, "Este campo no admite caracteres alfabéticos");
             return (false);  
         }
		 else
		     return (true);  
	 }
	 else  if(validacion=="Texto")
	 {
	     if ( validaSoloLetras(Ctrl.value) == false)
         {
             validatePrompt (Ctrl, "Este campo no admite números");
             return (false);  
         }
		 else
		     return (true);  
	
	 } 
	 else  if(validacion=="Correo lectrónico")
	 {
	     if ( valida_correo(Ctrl.value) == false)
         {
             validatePrompt (Ctrl, "Este campo no tiene un correo electrónico valido");
             return (false);  
         }
		 else
		     return (true);  
	 }
	 else  if(validacion=="URL")
	 {
	     if ( valida_url(Ctrl.value) == false)
         {
             validatePrompt (Ctrl, "Este campo no tiene una url valida");
             return (false);  
         }
		 else
		     return (true);  
	 }
	 else
	    return (true);  
}  

function validaRadios(Ctrl,obligatorio) 
{    
     var encontro = false;
  
     if(obligatorio=="NO") return true;
  
     for(x=0;x<Ctrl.length;++x)
	 {
	               if (Ctrl[x].checked)
                   {
						 encontro = true;	   
                   }
     }

     if(encontro == false)
	 {
         validatePrompt (Ctrl[0], "Precaución: Llenar una de las siguientes opciones");	 
	     return (false);	
	 }	 
  
 	 return (true);
}  


function validaCheck(obligatorio,variables,numElementos) 
{    
    var campo;
    encontro = false;	
	
	if(obligatorio == "NO") return true;
	
    for (var x = 0; x<numElementos; x++)
    { 
 	     campo = document.getElementById(variables[x]);
	     if (campo.checked==true)  encontro = true;	
	}

   if(encontro == false)
	 {
         validatePrompt (document.getElementById(variables[0]), "Precaución: Llenar minimo una de las siguientes opciones");	 
	     return (false);	
	 }	 

 return (true);
}  
    
 	
function validaFechas(Ctrl,obligatorio) 
{    
     if(obligatorio=="NO") return true;

     if(Ctrl.value == "")
	 {
         Ctrl.disabled=false;
         validatePrompt (Ctrl, "Precaución: Llenar la siguiente fecha");	 
         Ctrl.disabled=true;
	     return (false);	
	 }	 
  
 	 return (true);
}  


function validaSoloLetras(s)
{
    for(var i = 0; i < s.length; i++) 
    { 
      var c = s.charAt(i);
	  // Si encuentra un numero automaticamente retorna false
      if ((c == '1') || (c == '2') || (c == '3') || (c == '4') || (c == '5') || (c == '6') || (c == '7') || (c == '8') || (c == '9') || (c == '0')) 
         return false;    
    }
     return true;	// solo contiene letras  con otros caracteres dif a numero		
}


function validaSoloNumeros(s)
{
    for(var i = 0; i < s.length; i++) 
    { 
      var c = s.charAt(i);
 	  // Si encuentra algún simbolo diferente de numero automaticamente retorna false
      if ((c != '1') && (c != '2') && (c != '3') && (c != '4')&& (c != '5')&& (c != '6')&& (c != '7')&& (c != '8')&& (c != '9')&& (c != '0')) 
         return false;    
    }
     return true;	// solo contiene letras  con otros caracteres dif a numero		
} 
function validatePrompt (Ctrl, PromptStr) 
{
	alert (PromptStr)
	Ctrl.focus();
	return;
}