//*****************************************************************************
//		Función que solo permite introducir números		 
//*****************************************************************************

	function onlyNumbers(e) {
		
		if(window.event){
			keyChar = window.event.keyCode;
			if (keyChar < 48 || keyChar > 57) 
				return false;
			return true;
		}
		else{
		var teclaN = e.which
		var teclaReal = String.fromCharCode(teclaN)
		//alert("Número: "+ teclaN + "\nReal: " + teclaReal);
		if(teclaN!=8 && teclaN!=0){
			patron = /\d/;
  			return patron.test(teclaReal);
  		}
  		else{
  			return true;
  		}
		
		}
		
	}
	function onlyNumbersAndBarra(e) {
		
		if(window.event){
			keyChar = window.event.keyCode;
			if (keyChar < 47 || keyChar > 57) 
				return false;
			return true;
		}
		else{
		var teclaN = e.which
		var teclaReal = String.fromCharCode(teclaN)
		//alert("Número: "+ teclaN + "\nReal: " + teclaReal);
		if(teclaN!=8 && teclaN!=0){
			patron = /[0-9\/]/;
  			return patron.test(teclaReal);
  		}
  		else{
  			return true;
  		}
		
		}
		
	}
	
//******************************************************************
//     Función que solo permite introducir números y letras
//******************************************************************

	function onlyNumbersAndText(e) {
		if(window.event){
			keyChar = window.event.keyCode;
			if (keyChar >= 48 && keyChar <= 57) 
				return true;
			else if (keyChar >= 65 && keyChar <= 90) 
				return true;
			else if (keyChar >= 97 && keyChar <= 122) 
				return true;
			return false;
		}
		else{
			var teclaN = e.which
			var teclaReal = String.fromCharCode(teclaN)
			//alert("Número: "+ teclaN + "\nReal: " + teclaReal);
			if(teclaN!=8 && teclaN!=0){
				patron = /\w/; // Acepta números y letras
				return patron.test(teclaReal);
			}
			else{
				return true;
			}
		}

}
//	función jtrim
// quita los espacios en blanco tanto a la izquierda como a la derecha
// cadena  cadena a cambiar
function jtrim(texto)
{
	while (texto.charAt(0) == " ") {
		texto = texto.substring(1, texto.length);
	}
	
	while (texto.charAt(texto.length) == " ") {
		texto = texto.substring(0, texto.length-1);
	}

	return texto;
} 
/*
	Función ponerInputFecha:
		Mostrará en pantalla dos celdas, una con el titulo y otra con el input que contiene la fecha.
	Parámetros:
		esModificable:	True -> Indica si el input es modificable.
										False -> el input no es modificable.
		valor: Valor que toma el input por defecto, cadena de texto que muestra en el html.
		nombre: identificador del input
		titulo: Titulo del primer TD
		formato: Formato en el que se deben mostrar las fechas
		ancho: número que indica el ancho de la fecha, por defecto será ANCHO
		extrasTD1: Opcional. Atributos, estilos y eventos extra a añadir a una fila.
		extrasTD2: Opcional. Atributos, estilos y eventos extra a añadir a una fila.
		extraxInput: Opcional. Atributos, estilos y eventos extra a añadir a un Input.
		eventoOnFocus: Opcional. Código javascript a ejecutar en el evento onFocus
		eventoOnBlur: Opcional. Código javascript a ejecutar en el evento onBlur
*/

function ponerInputFecha(esModificable, valor, nombre, titulo, formato, ancho, extrasTD1, extrasTD2, extrasInput, eventoOnFocus, eventoOnBlur,cambiarColumna)
{

		// Parametros por defecto
	extrasInput = extrasInput || "";
	extrasTD2 = extrasTD2 || "";
	extrasTD1 = extrasTD1 || "";
	ancho = ancho || ANCHO;
	titulo = titulo || "";
	nombre = nombre || "";
	formato = (formato || PATRON_DEFECTO).toLowerCase();
	textoOnBlur="if(this.value=='') this.value='"+formato+"'";
	textoOnFocus="if(this.value=='" + formato + "') this.value='' ";
	cambiarColumna = cambiarColumna==null?true:cambiarColumna;


	//debido a que inputFecha ejecuta ya un evento onFocus se hace necesario el que sea posible el ejecutar código adicional
	//al que se ejecuta en el eventoOnFocus
	if (eventoOnFocus!=null&&eventoOnFocus!="")
		 textoOnFocus=eventoOnFocus+"; "+textoOnFocus;

	//debido a que inputFecha ejecuta ya un evento onBlur se hace necesario el que sea posible el ejecutar código adicional
	//al que se ejecuta en el eventoOnBlur
	if (eventoOnBlur!=null&&eventoOnBlur!="")
		 textoOnBlur=eventoOnBlur+"; "+textoOnBlur;

	if (valor == null || valor==PATRON_DEFECTO ) valor = formato;

	var datCambioFila = " ";

	 datCambioFila = " </td> "+ "<td "+extrasTD2+"> "


	document.open();

	document.write("<td " +extrasTD1+"> "+ titulo +	datCambioFila
		+ "<input type=text name='" + nombre + "' value='" + valor + "' width='"+ancho+"' style='width:"+ancho+"' maxlength="+formato.length+" "+extrasInput+" ");
	if (esModificable)
		document.write("onFocus=\""+textoOnFocus+"\" "
			+ "onBlur=\""+textoOnBlur+"\" "
			+ "onkeyPress=\"return ponerCaracter(this)\">");
	else
		document.write("readonly class=\"inactivo\">");

	if(cambiarColumna) {
		document.write("</td>");
	}

	document.close();
}
