function SoloNum(e) {
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.

	if (document.all) {
		tecla = e.keyCode;
	} else {
		tecla = e.which;
	}

    if ((tecla==8) || (tecla==0)) { // teclas de borrar (8), suprimir, izq. y der (0).
		return true;
	}
    
	patron = /[0-9]/; 

    te = String.fromCharCode(tecla); 

	return patron.test(te); 
}

function SoloNumDecimal(e) {
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.

	if (document.all) {
		tecla = e.keyCode;
	} else {
		tecla = e.which;
	}

    if ((tecla==8) || (tecla==0)) { // teclas de borrar (8), suprimir, izq. y der (0).
		return true;
	}
    
	patron = /[0-9]/; 

    te = String.fromCharCode(tecla); 

	return patron.test(te); 
}

function SoloFecha(e) {
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.

	if (document.all) {
		tecla = e.keyCode;
	} else {
		tecla = e.which;
	}
	
    if ((tecla==8) || (tecla==0)) { // teclas de borrar (8), suprimir, izq. y der (0).
		return true;
	}
    
	patron = /[0-9/]/; 

    te = String.fromCharCode(tecla); 

	return patron.test(te); 
}

function SoloHora(e) {
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.

	if (document.all) {
		tecla = e.keyCode;
	} else {
		tecla = e.which;
	}

    if ((tecla==8) || (tecla==0)) { // teclas de borrar (8), suprimir, izq. y der (0).
		return true;
	}
    
	patron = /[0-9:]/; 

    te = String.fromCharCode(tecla); 

	return patron.test(te); 
}

function CambiaComillaPegado(formulario){
//Propósito:	Sustituir la comilla simple por el acento cuando pegan en todos los campos del formulario.
//Efectos:		Si se pega la comilla['] se reemplazará por el acento[´].

	var iNumCampos = document.forms[formulario].length-1

	for (i=0;i<=iNumCampos;i++)
	{
		sTexto=document.forms[formulario].elements[i].value;
		if(sTexto){
		while (sTexto.search("'") != -1){
			sTexto=sTexto.replace("'", "´");
			}
		}
		document.forms[formulario].elements[i].value=sTexto;
	}

}

function Trim(sCadena) {
//Propósito:	Evitar que se escriban cadenas con espacios en blanco en los lados
//Entradas:		sCadena=texto a revisar.
//Efectos:		Elimina los espacios en blanco del principio y fin de la cadena y
//				los dobles espacios en el medio de la misma.
	if (typeof sCadena != "string"){ 
		return sCadena;
	}
	var sCadenaTratada = sCadena;
	var sCheck = sCadenaTratada.substring(0, 1);
	while (sCheck == " ") { // Se comprueban los espacias al principio de la cadena
		sCadenaTratada = sCadenaTratada.substring(1, sCadenaTratada.length);
		sCheck = sCadenaTratada.substring(0, 1);
	}
	sCheck = sCadenaTratada.substring(sCadenaTratada.length-1, sCadenaTratada.length);
	while (sCheck == " ") { // Se comprueban los espacias al final de la cadena
		sCadenaTratada = sCadenaTratada.substring(0, sCadenaTratada.length-1);
		sCheck = sCadenaTratada.substring(sCadenaTratada.length-1, sCadenaTratada.length);
	}
	while (sCadenaTratada.indexOf("  ") != -1) { // Se comprueba que no existan dobles espacios dentro de la cadena
		sCadenaTratada = sCadenaTratada.substring(0, sCadenaTratada.indexOf("  ")) + sCadenaTratada.substring(sCadenaTratada.indexOf("  ")+1, sCadenaTratada.length);
	}
	return sCadenaTratada; // Se devuelve la cadena tratada al usuario
} // Fin de la función de Trim

function MaxLen(iLen, ctrCampo){
//Propósito:	Evitar que se escriba más de lo que debe en textareas.
//Entradas:		iLen=Longitud máxima que permite ese campo.
//				ctrCampo=TextArea sobtre la que se actua.
//Efectos:		Si se pulsa una tecla y se sobrepasa el número marcado no se escribe nada.

	if (ctrCampo.value.length > iLen){ // si es más largo del máximo no deja escribir
		ctrCampo.value = ctrCampo.value.substring(0, iLen);
	// si es menor que el máximo de caracteres actualiza el contado
	}
}

function SoloPass(e) {
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.

	if (document.all) {
		tecla = e.keyCode;
	} else {
		tecla = e.which;
	}
	
    if ((tecla==8) || (tecla==0)) { // teclas de borrar (8), suprimir, izq. y der (0).
		return true;
	}
	patron = /[0-9 A-Z a-z . _ -]/; 	
	
    te = String.fromCharCode(tecla); 

	return patron.test(te); 
}