	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
	}
	 
	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}
	 
	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}

	function f_CaracteresEspeciales(prm_campo,prm_etiqueta,prm_AceptarVacio,prm_AceptarEspecial,prm_objeto,prm_AceptarExcepciones){
		var l_Permitidos = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z','á','é','í','ó','ú','A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z','Á','É','Í','Ó','Ú','1','2','3','4','5','6','7','8','9','0','_');
		//var l_Permitidos = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','_');
		var l_Excepciones = new Array(' ','.',',',';',':','?','¿','-','¡','!','#','%','/','º','[',']','*','+','<','>','{','}','(',')','$','&','|');

		if (prm_campo.length < 1)
		{
			if (prm_AceptarVacio == "si")  
			{
				return true; 
			}
			else
			{
				alert("Por favor ingrese su " + prm_etiqueta);
				eval("document.forms[0]." + prm_objeto + ".focus()");
                        	return false;
			}
		}else{
			if(trim(prm_campo)==''){
				alert("Por favor ingrese su " + prm_etiqueta);
				eval("document.forms[0]." + prm_objeto + ".focus()");
                        	return false;
			}
		}


		if (prm_AceptarEspecial == "si")
		{
			return true;
		} 

		for (var i=0 ; i < prm_campo.length ; i++)
		{
			var l_CaracterEncontrado = "no";
			for (var j=0 ; j < l_Permitidos.length ; j++)
			{
				if (prm_campo.charAt(i) == l_Permitidos[j])
				{
					l_CaracterEncontrado = "si";
					break;
				}
			}
			if (l_CaracterEncontrado == "no")
			{
				if (prm_AceptarExcepciones == "si")
				{
					for (var z=0 ; z < l_Excepciones.length ; z++)
					{
						if (prm_campo.charAt(i) == l_Excepciones[z])
						{
							l_CaracterEncontrado = "si";
							break;
						}
					}
				}
				if (l_CaracterEncontrado == "no")
				{

					if ( prm_campo.charAt(i) == ' ' )
					{
						var sCaracter = 'Espacio en Blanco';
					}
					else
					{
						var sCaracter = prm_campo.charAt(i);
					}

					alert("El campo " + prm_etiqueta + " contiene caracteres no permitidos como " + sCaracter);
					eval("document.forms[0]." + prm_objeto + ".focus()");
					return false;
				}
			}
		}
		if (l_CaracterEncontrado == "si")
		{
			return true;
		}
	}


	function f_CaracteresEspecialesTelefono(prm_campo,prm_etiqueta,prm_AceptarVacio,prm_AceptarEspecial,prm_objeto,prm_AceptarExcepciones){
		var l_Permitidos = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z','á','é','í','ó','ú','A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z','Á','É','Í','Ó','Ú','1','2','3','4','5','6','7','8','9','0','_');
		//var l_Permitidos = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','_');
		var l_Excepciones = new Array(' ','-','(',')','/','#',':','=');

		if (prm_campo.length < 1)
		{
			if (prm_AceptarVacio == "si")  
			{
				return true; 
			}
			else
			{
				alert("Por favor ingrese su " + prm_etiqueta);
				eval("document.forms[0]." + prm_objeto + ".focus()");
                        	return false;
			}
		}


		if (prm_AceptarEspecial == "si")
		{
			return true;
		} 

		for (var i=0 ; i < prm_campo.length ; i++)
		{
			var l_CaracterEncontrado = "no";
			for (var j=0 ; j < l_Permitidos.length ; j++)
			{
				if (prm_campo.charAt(i) == l_Permitidos[j])
				{
					l_CaracterEncontrado = "si";
					break;
				}
			}
			if (l_CaracterEncontrado == "no")
			{
				if (prm_AceptarExcepciones == "si")
				{
					for (var z=0 ; z < l_Excepciones.length ; z++)
					{
						if (prm_campo.charAt(i) == l_Excepciones[z])
						{
							l_CaracterEncontrado = "si";
							break;
						}
					}
				}
				if (l_CaracterEncontrado == "no")
				{

					if ( prm_campo.charAt(i) == ' ' )
					{
						var sCaracter = 'Espacio en Blanco';
					}
					else
					{
						var sCaracter = prm_campo.charAt(i);
					}

					alert("El campo " + prm_etiqueta + " contiene caracteres no permitidos como " + sCaracter);
					eval("document.forms[0]." + prm_objeto + ".focus()");
					return false;
				}
			}
		}
		if (l_CaracterEncontrado == "si")
		{
			return true;
		}
	}
