// JavaScript Document

// FOCO: APLICADO A INPUTS TYPE=TEXT
function foco(obj) { obj.style.border = "1px solid #0000ff"; }

// DEJAR: APLICADO A INPUTS TYPE=TEXT
function dejar(obj) { obj.style.border = "1px solid #cccccc"; }

// NUMERIC DATA VALIDATION INCLUDING FLOAT OR INTEGER DETECTION
function onlyNumbers(evt,campo,dec){
	
	var b1=0;
	var cont=0;
		
	if(dec==undefined) {  dec = 0; }
	eval("var field = document.getElementById('"+campo+"').value;");
	evt = (evt) ? evt : event;
	
	if (navigator.appName == 'Microsoft Internet Explorer') { var retFFIE = "evt.returnValue = false;"; }
   if (navigator.appName == 'Netscape') { var retFFIE = "evt.preventDefault();"; }
		
   var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	if (charCode > 31  && (charCode < 48 || charCode > 57)  && charCode!= 8  && charCode!= 37 && charCode!= 39 && charCode!= 46 ) {
		eval(retFFIE);
		return false;
	}
	
	if ( charCode == 39 && evt.keyCode == 0 && navigator.appName == 'Netscape' ){
	   eval(retFFIE);
		return false;
	}
	
	if ( charCode == 39 && evt.keyCode == 39 && navigator.appName == 'Microsoft Internet Explorer' ){
	   eval(retFFIE);
		return false;
	}
		
	if (navigator.appName == 'Microsoft Internet Explorer'){ var keyData = 46; };
   if (navigator.appName == 'Netscape') { var keyData = 0 ; }
	
	b1= field.indexOf(".",0);
	// CONTROL PARA LA HABILITACIÓN DE DECIMALES EN EL CAMPO NUMÉRICO
	
	if(dec != 0){
   
   //CONTROL DEL PRIMER .
	var _piece = new Array();  
	_piece = field.split('.');
	//alert( charCode+ ' '+evt.keyCode );
	if ( _piece[0].length == 0 && charCode==46 && evt.keyCode == keyData ){
		eval("document.getElementById('"+campo+"').value ='0.';");
		eval(retFFIE);
	  	return false;
	}
	if(b1 != -1){
			// CONTROL PARA EVITAR UN SEGUNDO . INCORRECTO.
			if(charCode==46 && evt.keyCode == keyData ){
				alert("No se acepta otro punto");
				eval(retFFIE);
				return false;
			
			}
			else{
				// CONTADOR DE DECIMALES
			 var _flag = 0;
			 if (navigator.appName == 'Microsoft Internet Explorer'){ _flag = 0; }
          if (navigator.appName == 'Netscape'){
           		if ( evt.charCode == 0 && evt.keyCode == 46 ){ _flag = 1; };
           		           
           }	
				var _pcar = doGetCaretPosition(document.getElementById(campo));
				cont=field.length-b1;
				var _piece = new Array();  
				_piece = field.split('.');
								
				// CONTROL DE DECIMALES, NO PUEDE SUPERAR LA CANTIDAD ESPECIFICADA EN DEC.
				if(cont > dec && _piece[1].length == 2 && _pcar > _piece[0].length && _flag == 0 ){
				    if ( charCode!= 8 && charCode!= 37 && charCode!= 39 && charCode!= 9 && charCode != 13 ) {
					alert("Sobrepasa la cantidad de los aja "+dec+" decimales");
					eval(retFFIE);
			      return false;
			      
					
					}
				}
			} 
		}
		else{
		var _longcamp = field.length;
		var _pcarr = doGetCaretPosition(document.getElementById(campo));
			if ( ( _pcarr < _longcamp - dec ) && ( charCode==46 && evt.keyCode == keyData ) ){
				alert("Sobrepasa la cantidad de los "+dec+" decimales");
				eval(retFFIE);
				return false;
			}
		
		}
	}
	else{
	   // CONTROL PARA CAMPOS SIN DECIMALES
		if( charCode==46 && evt.keyCode==keyData ){
			alert("El campo "+campo+" debe ser Entero");
			eval(retFFIE);
			return false;
		}
	}
	return true;
}
