	// JavaScript Document
	var mi_inicio = true;
	var midefault = true;	
	function valida(ID) //Recibe el numero con que identifica que va a validar y el id de la validacion
	{
		var x = regresaQueValido(ID);
		var la_id = regresaLaID(ID);
		var que_valido = +x;//El signo (+) es como si fuera en parseInt
		switch(que_valido)
		{
			case 0:				//======================= Todos los campos de la forma ================================
				var obj = null;			
				midefault = true;				
				try
				{
				    obj = document.forms[la_id];
					x = obj.length;
					//obj = document.getElementById(la_id); 					
				}
				catch(e)
				{
					obj = document.fvalida;					
					/*if(obj == null)
						obj = document.getElementById(la_id); 					*/
				}
				for(var i = 0; i < obj.length; i++)
				{
					try
					{
						//alert(obj.elements[i].id);
						if(!aprendeLore(obj.elements[i].id))
						{
							midefault = false;
						}
					}//End of try
					catch (e) 
					{
						alert("An excetion occurred in the script. Error name: " + e.name + ". Error message: " + e.message); 
					} 
				}
				return midefault;	
			break
			case 1:				//======================= Que no vayan nulos y solo letras ================================
				if(document.getElementById(ID).value == "")
				{
					document.getElementById(la_id + '_error').innerHTML = "Ingresa " + la_id;
					document.getElementById(ID).focus();					
					return false;
				}
				else
				{
					if(Check_Letters(document.getElementById(ID).value))
					{
						document.getElementById(la_id + '_error').innerHTML = "Solo letras en " + la_id;
						document.getElementById(ID).focus();						
						return false;
					}
					else
					{
						document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
						return true;
					}
				}
			break
			case 2:				//======================= Que no vayan nulos y solo numeros ================================
				if(document.getElementById(ID).value == "")
				{
					document.getElementById(la_id + '_error').innerHTML = "Ingresa " + la_id;
					document.getElementById(ID).focus();					
					return false;
				}
				else
				{
					if(Check_Numbers(document.getElementById(ID).value))
					{
						document.getElementById(la_id + '_error').innerHTML = "Solo números en " + la_id;
						document.getElementById(ID).focus();						
						return false;
					}
					else
					{
						document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
						return true;
					}
				}
			break
			case 3:				//======================= Validacion para el correo ================================
				if(document.getElementById(ID).value == "")
				{
					document.getElementById(la_id + '_error').innerHTML = "Ingresa " + la_id;
					document.getElementById(ID).focus();					
					return false;					
				}
				else
				{
					document.getElementById(ID).value = document.getElementById(ID).value.replace(/^\s+/,'').replace(/\s+$/,'');
					if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById(ID).value)))
						{
							document.getElementById(la_id + '_error').innerHTML = "Un correo valido es mail@correo.com";
							document.getElementById(ID).focus();
							return false;
						}//end of if
						else
						{
							document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
							return true;
						}//end of else  
				}//end of else
				return true;
			break
			case 4:				//======================= Solo nulidades. ================================
				if(document.getElementById(ID).value != "")
				{
					document.getElementById(la_id + '_error').style.visibility = 'hidden';
					document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
					return true;										
				}
				else
				{
					document.getElementById(la_id + '_error').style.visibility = 'visible';					
					document.getElementById(la_id + '_error').innerHTML = "Ingresa " + la_id;
					document.getElementById(ID).focus();
					return false;
				}
			break
			case 5:			//================== Los RadioButtons ==========================================
				return true;
				// Radio Button Validation
				// copyright Stephen Chapman, 15th Nov 2004,14th Sep 2005
				// you may copy this function but please keep the copyright notice with it
				/*function valButton(btn) {
					var cnt = -1;
					for (var i=btn.length-1; i > -1; i--) {
						if (btn[i].checked) {cnt = i; i = -1;}
					}
					if (cnt > -1) return btn[cnt].value;
					else return null;
				}*/
			break
			case 6:			//======================= Los Terminos ================================
				if(document.fvalida.terminos.checked == false)
				{
					document.getElementById(la_id + '_error').innerHTML = "Favor de Aceptar los Términos";
					return false;										
				}
				else
				{
					document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
					return true;
				}
			break
			case 9:				//======================= Los combo box ================================
				if(document.getElementById(ID).value == "nada")
				{
					document.getElementById(la_id + '_error').innerHTML = "Seleccione su " + la_id;
					return false;					
				}
				else
				{
					document.getElementById(la_id + '_error').innerHTML = "&nbsp;";
					return true;
				}
			break			
//			default
//				alert('Es el default');
		}//End of switch
	}//End of Function
	
	function Check_Letters(val)
	{
		var digits = "ABCDEFGHIJKLMN?OPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz., ";
		var temp;
		for(var i = 0; i < val.length; i++)
		{
			temp = val.substring(i,i+1);
			if(digits.indexOf(temp)==-1)
			{
				return true;	
			}
		}
		return false;
	}

	function Check_Numbers(num)//====================== Valida la existencia de solo numeros.
	{
		var numbers = "1234567890. ";
		var tempo;
		for(var i = 0; i < num.length; i++)
		{
			tempo = num.substring(i,i+1);
			if(numbers.indexOf(tempo)==-1)
			{
				return true;	
			}
		}
		return false;
	}

	function Check_Mail(mail) //===================== Valida la direccion de correo electronico
	{
		for(var i = 0; i < mail.length; i++)
		{
			if(mail.indexOf('@',0) ==-1 || mail.indexOf('.',0) ==-1)
			{
				return true;
			}
		}
		return false;
	}

	function regresaQueValido(par)
	{
		return par.charAt(0);
	}
	
	function regresaLaID(par)
	{
		var tmp = '';
		for( i = 1; i < par.length; i++)
		{
			tmp = tmp + par.charAt(i);
		}
		return tmp;
	}