/*funciones de validaciones de introduccion de caracteres en evento onkeypress*/

/*inicio de funcion para solo numeros, mas backscape - tab - intro......  Usar en int*/
var nav1 = window.Event ? true : false;
function accepta_numero(evt){	
	var key = nav1 ? evt.which : evt.keyCode;	
	return (key == 0 || key == 8 || key == 9 || (key >= 48 && key <= 57));
}
/*fin de funcion para solo numeros*/


/*inicio de funcion para solo letras, mas backscape - tab - intro - espacio......... usar en casos especificos*/
var nav2 = window.Event ? true : false;
function accepta_letra(evt){
	var key = nav2 ? evt.which : evt.keyCode;	
	return (key == 0 || key == 8 || key == 9 || key == 32 || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || key == 180 || key == 193 || key == 196 || key == 201 || key == 203 || key == 205 || key == 207 || key == 209 || key == 211 || key == 214 || key == 218 || key == 220 || key == 225 || key == 228 || key == 233 || key == 235 || key == 237 || key == 239 || key == 241 || key == 243 || key == 246 || key == 250 || key ==252);
}
/*fin de funcion para solo letras*/


/*inicio de funcion para letras y numeros, mas backscape - tab - intro - espacio.........  usar en casos especificos*/
var nav3 = window.Event ? true : false;
function accepta_letranumero(evt){	
	var key = nav3 ? evt.which : evt.keyCode;	
	return (key == 0 || key == 8 || key == 9 || key == 32 || ((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122)) || key == 180 || key == 193 || key == 196 || key == 201 || key == 203 || key == 205 || key == 207 || key == 209 || key == 211 || key == 214 || key == 218 || key == 220 || key == 225 || key == 228 || key == 233 || key == 235 || key == 237 || key == 239 || key == 241 || key == 243 || key == 246 || key == 250 || key ==252);
}
/*Fin de funcion para letras y numeros*/


/*Inicio de funcion para aceptar todos menos ' y "................  usar en los varchar*/
var nav4 = window.Event ? true : false;
function accepta_todos(evt){
	var key = nav4 ? evt.which : evt.keyCode;
	return (key == 0 || key == 8 || key == 9 || key == 32 || key == 33 || (key >= 35 && key <= 38) || (key >= 40 && key <= 91) || key == 93 || key == 95 || (key >= 97 && key <= 125) || key == 161 || key == 176 || key == 180 || key == 186 || key == 191 || key == 193 || key == 196 || key == 201 || key == 203 || key == 205 || key == 207 || key == 209 || key == 211 || key == 214 || key == 218 || key == 220 || key == 225 || key == 228 || key == 233 || key == 235 || key == 237 || key == 239 || key == 241 || key == 243 || key == 246 || key == 250 || key ==252);
}
/*Fin  de Funcion para aceptar todos*/


/*inicio de funcion para decimal, mas backscape - tab - intro - puntos......  Usar en float y decimal*/
//Funcion que Formatea En Tiempo de Ejecución Formatos de Decimales
var nav5 = window.Event ? true : false;
function accepta_Decimales(evt,este){
	valor = este.value;
	var Encontre = valor.indexOf('.', 0);
	var pos = posicionCursor(este);
	var key = nav5 ? evt.which : evt.keyCode;
	if(key == 46 && valor.length == 0){
		return (key == 8);
	}else
	if(key == 46 && valor.substr(pos+1).length > 1){
		return (key == 8);
	}
	if(key == 46 && pos == 0){
		return (key == 8);
	}else{
		if(Encontre < 0){
			return (key == 0 || key == 8 || key == 9 || key == 46 || (key >= 48 && key <= 57));
		}else{
			if(valor.substr(Encontre+1).length > 1){
				return (key == 8);
			}else{
				return (key == 0 || key == 8 || key == 9 || (key >= 48 && key <= 57));
			}
		}
	}
}

//Indica la Posición del Cursor
function posicionCursor(tb){
       	var tb = tb;
        var cursor = -1;
       
        // IE
        if (document.selection && (document.selection != 'undefined'))
        {
            var _range = document.selection.createRange();
            var contador = 0;
            while (_range.move('character', -1))
                contador++;
            cursor = contador;
        }
       // FF
        else if (tb.selectionStart >= 0)
            cursor = tb.selectionStart;
   
       return cursor;
}

/*fin de funcion para decimal*/
