function VNum(objText, lngKeyCode, posDecimales, blnNegativos){
	/*	Julio 2003-Oliver Lopez
			
			Esta funcion solo permitira introducir numeros, y una coma, sustituyendo el punto por una coma
			Solo permitira introducir un numero de decimales especificado por parametro,
			blnNegativos permitira negativos o no.
			Esta funcion no emplementa usar codigos del tipo 00004
	*/
	
	var intLongitud = objText.value.length;
	var intPosComa = objText.value.lastIndexOf(",");
	
	if (lngKeyCode == 17){
		event.keyCode = 0;
		return false;
	}
	
	//Si permite negativos y el primer caracter es -
	if ( blnNegativos ){ 
		if (( intLongitud == 0 ) && ( lngKeyCode == 45 ) ){
			event.keyCode = 45;
			return false;
		}
	}
	
	//Si el primer caracter que escribe es un cero solo puede escribir una coma a continuacion
	if ( ( intLongitud == 1 ) && ( objText.value == "0" ) && 
											(lngKeyCode != 46) && (lngKeyCode != 44) ){
			event.keyCode = 0;
			return false;
	}
	
	//Si el primer caracter es una coma no le dejamos
	if ( ( intLongitud == -1 ) && ((lngKeyCode == 46) || (lngKeyCode == 44) )){
			event.keyCode = 0;
			return false;
	}
	
	
	//-- Si existe una coma controlamos las posiciones decimales
	if (objText.value.indexOf(',') != -1){
		if ( (intLongitud - intPosComa) > posDecimales ){
			//alert('Solo se permiten ' + posDecimales + ' decimales');
			event.keyCode = 0;
			return false;
		}
	}	
	
	
	if ((lngKeyCode < 48) || (lngKeyCode) > 57){
		if ((lngKeyCode != 46) && (lngKeyCode != 44)){  
				event.keyCode = 0;
			
		}else{ // Tratamos las comas
			
			//solo puede escribir una coma si ha escrito por lo menos un numero
			// y si el numero de decimales es distinto de 0
			if(intLongitud == 0 || posDecimales == 0){
				event.keyCode = 0;
				return false;
			}
			
			//Comprobamos que no exista ya una coma
			if (objText.value.indexOf(',') != -1){
				event.keyCode = 0;
				return false;
					
			}else{
				if (lngKeyCode == 46){
					event.keyCode = 44;
				}
			}
		}
	}
}

//Comprueba que solo se introducen numeros enteros
function VCodigo(objText, lngKeyCode){
	if ((lngKeyCode < 48) || (lngKeyCode) > 57){
		event.keyCode = 0;
		return false;
	}
}

//Comprueba que solo se introducen horas en el formato hh:mm
function VHora(objText, lngKeyCode){
	if ((lngKeyCode < 48) || (lngKeyCode) > 58){
		event.keyCode = 0;
		return false;
	}
}

// Devuelve un trim del texto indicado
function Trim(s){
	var iLen = s.length;
	var iIni;
	var iFin;
	// A la izquierda
	for (iIni = 0; iIni < iLen; iIni++){
		if (s.charAt(iIni) != " ") break;
	}
	if(iIni != iLen){
		// A la derecha
		for(iFin = iLen - 1; iFin >= 0; iFin--){
			if (s.charAt(iFin) != " ") break;
		}
		return s.substring(iIni, iFin + 1);
	}
	else
		return '';
}




//Comprueba que solo se introducen numeros enteros
function VCodigo(objText, lngKeyCode){
	    if ((lngKeyCode < 48) || (lngKeyCode) > 57)
	    {
		    event.keyCode = 0;
		    return false;
	    }
	    
    }
 
//Comprueba que solo se introducen numeros enteros, sin cero   
 
 function VCodigo_sincero(objText, lngKeyCode){ 

      if (lngKeyCode ==48)
	    {
	      event.keyCode = 0;
		    return false;
	    }
		
	    if ((lngKeyCode < 48) || (lngKeyCode) > 57)
	    {
		    event.keyCode = 0;
		    return false;
	    }
	  }
    
  //VARIABLE GLOBAL
    var textoAnterior = '';

    //ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO
    function cumpleReglas(simpleTexto)
        {
            //la pasamos por una poderosa expresión regular
            var expresion = new RegExp("^(|([0-9]{1,5}(\\,([0-9]{1,2})?)?))$");
            //si pasa la prueba, es válida
            if(expresion.test(simpleTexto))
                return true;
            return false;
        }//end function checaReglas

    //ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN
    function revisaCadena(textItem)
        {
          // Reemplazamos el punto por una coma, mantenemos asi la
          // configuracion regional de españa
          textItem.value = textItem.value.replace(".",",");
          
            //si comienza con un punto, le agregamos un cero
            if(textItem.value.substring(0,1) == ',') 
                textItem.value = '0' + textItem.value;

            //si no cumples las reglas, no te dejo escribir
            if(!cumpleReglas(textItem.value))
                textItem.value = textoAnterior;
            else //todo en orden
                textoAnterior = textItem.value;
        }//end function revisaCadena
    
