/*
 * Archivo: JavaScript/funciones.js
 * Descripcion: Script de funciones varias y necesarias en JavaScript
 * Autor: Ing. Carlos Yerena <cyerena@aztecomp.com>
 * Fecha: 07/05/2008
 * 
 */

// ************************************************************
// ESTAS FUNCIONES DEBEN SER USADAS CON EL EVENTO onKeyPress
// ************************************************************


// Función que sólo acepta números y un solo punto
function moneda(e,objeto){
	var aceptados = ['1','2','3','4','5','6','7','8','9','0','.'];
	var aceptado = false;
	var tecla;
	var caracter;
	var cadena = objeto.value; 
	
	if(window.event){ 
		tecla=e.keyCode; 
	} else { 
		tecla=e.which; 
	}; 
	
	caracter = String.fromCharCode(tecla);

	for(recorre = 0; recorre < aceptados.length; recorre++){
		if(aceptados[recorre]==caracter){
			if((cadena.indexOf(".") > -1) && caracter == "."){
				aceptado = false;
			} else {
				aceptado = true;
			}
		}
	}
	
	if(tecla == 0 || tecla == 8 || tecla == 13 || (tecla >= 37 && tecla <= 40))
		aceptado = true;
		
	return aceptado;
}

// Función que sólo acepta números
function numero(e,objeto){
	var aceptados = ['1','2','3','4','5','6','7','8','9','0'];
	var aceptado = false;
	var tecla;
	var caracter;
	var cadena = objeto.value; 
	
	if(window.event){ 
		tecla=e.keyCode; 
	} else { 
		tecla=e.which; 
	}; 
	
	caracter = String.fromCharCode(tecla);
	
	for(recorre = 0; recorre < aceptados.length; recorre++){
		if(aceptados[recorre]==caracter){
			aceptado = true;
		}
	}
	
	if(tecla == 0 || tecla == 8 || tecla == 13 || (tecla >= 37 && tecla <= 40))
		aceptado = true;
		
	return aceptado;
}

// Función que sólo acepta letras (sin caracteres especiales, espacios, signos de cualquier tipo)
function letra(e,objeto){
	var aceptados = ['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'];
	var aceptado = false;
	var tecla;
	var caracter;
	var cadena = objeto.value; 
	
	if(window.event){ 
		tecla=e.keyCode; 
	} else { 
		tecla=e.which; 
	}; 
	
	caracter = String.fromCharCode(tecla);
	
	for(recorre = 0; recorre < aceptados.length; recorre++){
		if(aceptados[recorre]==caracter){
			aceptado = true;
		}
	}
	
	if(tecla == 0 || tecla == 8 || tecla == 13 || (tecla >= 37 && tecla <= 40))
		aceptado = true;
		
	return aceptado;
}


// Función que sólo acepta letras y numeros (sin caracteres especiales, espacios, signos de cualquier tipo)
function letraNumero(e,objeto){
	var aceptados = ['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 aceptado = false;
	var tecla;
	var caracter;
	var cadena = objeto.value; 
	
	if(window.event){ 
		tecla=e.keyCode; 
	} else { 
		tecla=e.which; 
	}; 
	
	caracter = String.fromCharCode(tecla);
	
	for(recorre = 0; recorre < aceptados.length; recorre++){
		if(aceptados[recorre]==caracter){
			aceptado = true;
		}
	}
	
	if(tecla == 0 || tecla == 8 || tecla == 13 || (tecla >= 37 && tecla <= 40))
		aceptado = true;
		
	return aceptado;
}


/**************************************************
 * Función que simula position:fixed
 * ***********************************************/
	// Uso por medio de 
	// window.onload = function() {setInterval("divFijo('idElemento','Xpx','Ypx')", milisegundos)}
	// window.onload = function() {setInterval("divFijo('agua','','275')", 100)}
	
	var posxAnt = 0;
	var posyAnt = 0;
	var posx = 0;
	var posy = 0;
	function divFijo(idDiv,X,Y){
		var elemento = document.getElementById(idDiv);
		if (document.body) {
			posx = document.body.scrollLeft;
			posy = document.body.scrollTop;
			if(document.body.scrollLeft == 0 && document.body.scrollTop == 0){
				posx = document.documentElement.scrollLeft;
				posy = document.documentElement.scrollTop;
			}
		} else {
			posx = window.pageXOffset;
			posy = window.pageYOffset;
		}
		
		if(parseInt(X) >= 0){
			posx += parseInt(X);
			if(posx != posxAnt){
				elemento.style.left = posx + "px";
			}
		}
		
		if(parseInt(Y) >= 0){
			posy += parseInt(Y);
			if(posy != posyAnt){
				elemento.style.top = posy + "px";
			}
		}
		posxAnt = posx;
		posyAnt = posy;
	}

