/* Función para que solo se puedan introducir números en un cuadro de texto */
function soloNumeros(){ 
	var key=window.event.keyCode;//codigo de tecla. 
	
	if (key < 48 || key > 57){	//si no es numero 
		window.event.keyCode=0; //anula la entrada de texto. 
	}
}

/** Función para que solo se puedan introducir números con decimales en un cuadro de texto
	Ej. onkeypress="soloNumerosFloat(this);" */
function soloNumerosFloat(objInputText){ 
	opc = false; 

	if (event.keyCode > 47 && event.keyCode < 58) 
		opc = true; 
	if (objInputText.value.search("[.*]") == -1 && objInputText.value.length != 0) 
		if (event.keyCode == 46) 
			opc = true; 

	if(opc == false) 
		event.returnValue = false; 
} 


/* Función para no dejar escribir texto */
function noModificable(){ 
	var key=window.event.keyCode;//codigo de tecla. 
	window.event.keyCode = 0; //anula la entrada de texto. 
}

/** Función que ordena la lista que se pasa como parámetro */
function ordenarLista(box)  {
	var temp_opts = new Array();
	var temp = new Object();
	for(var i=0; i<box.options.length; i++)  {
		temp_opts[i] = box.options[i];
	}
	for(var x=0; x<temp_opts.length-1; x++)  {
		for(var y=(x+1); y<temp_opts.length; y++)  {
			if(temp_opts[x].text > temp_opts[y].text)  {
				temp = temp_opts[x].text;
				temp_opts[x].text = temp_opts[y].text;
				temp_opts[y].text = temp;
			}
   		}
	}
	for(var i=0; i<box.options.length; i++)  {
		box.options[i].value = temp_opts[i].value;
		box.options[i].text = temp_opts[i].text;
	}
}

/** Comprueba si el caracter que se le pasa es un dígito numérico */
function esDigito(sChr){ 
	var sCod = sChr.charCodeAt(0); 
	return ((sCod > 47) && (sCod < 58)); 
} 

/** Valida que el separador sea correcto en una fecha con formato DD/MM/YYYY*/
function validaSeparador(oTxt){ 
	var bOk = false; 
	var sep1 = oTxt.value.charAt(2); 
	var sep2 = oTxt.value.charAt(5); 
	bOk = bOk || ((sep1 == "-") && (sep2 == "-")); 
	bOk = bOk || ((sep1 == "/") && (sep2 == "/")); 
	return bOk; 
} 

function finMes(oTxt){ 
	var nMes = parseInt(oTxt.value.substr(3, 2), 10); 
	var nAno = parseInt(oTxt.value.substr(6), 10); 
	var nRes = 0; 
	switch (nMes){ 
		case 1: nRes = 31; break; 
		case 2: nRes = 28; break; 
		case 3: nRes = 31; break; 
		case 4: nRes = 30; break; 
		case 5: nRes = 31; break; 
		case 6: nRes = 30; break; 
		case 7: nRes = 31; break; 
		case 8: nRes = 31; break; 
		case 9: nRes = 30; break; 
		case 10: nRes = 31; break; 
		case 11: nRes = 30; break; 
		case 12: nRes = 31; break; 
	} 
	return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0); 
} 

/** Valida que el día sea correcto en una fecha con formato DD/MM/YYYY*/
function validaDia(oTxt){ 
	var bOk = false; 
	var nDia = parseInt(oTxt.value.substr(0, 2), 10); 
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt))); 
	return bOk; 
} 

/** Valida que el mes sea correcto en una fecha con formato DD/MM/YYYY*/
function validaMes(oTxt){ 
	var bOk = false; 
	var nMes = parseInt(oTxt.value.substr(3, 2), 10); 
	bOk = bOk || ((nMes >= 1) && (nMes <= 12)); 
	return bOk; 
} 

/** Valida que el año sea correcto en una fecha con formato DD/MM/YYYY*/
function validaAnyo(oTxt){ 
	var bOk = true; 
	var nAno = oTxt.value.substr(6); 
	bOk = bOk && ((nAno.length == 2) || (nAno.length == 4)); 
	if (bOk){ 
		for (var i = 0; i < nAno.length; i++){ 
			bOk = bOk && esDigito(nAno.charAt(i)); 
		} 
	} 
	return bOk; 
} 

/** Valida la fecha con formato DD/MM/YYYY */
function validarFechaDDMMAAAA(objTexto){ 
	var bOk = true; 
	
	if (objTexto.value != ""){ 
		bOk = bOk && (validaAnyo(objTexto)); 
		bOk = bOk && (validaMes(objTexto)); 
		bOk = bOk && (validaDia(objTexto)); 
		bOk = bOk && (validaSeparador(objTexto)); 
		if (!bOk){ 
			return false;
		} else 
			return true;
	} 
} 

/** Poner a un número entero separadores de miles */
function ponerSeparadorMiles(valor){ 
	var sRes = ""; 
	for (var j, i = valor.length - 1, j = 0; i >= 0; i--, j++) 
		sRes = valor.charAt(i) + ((j > 0) && (j % 3 == 0)? ".": "") + sRes; 
		
	return sRes; 
}

/** Poner longitud máxima a un textarea 
	Se pone en el onKeyUp del TextArea.
	Ej. onKeyUp="return maximaLongitud(this,254)" */
function maximaLongitud(objTextArea, maxlong){ 
	var tecla, in_value, out_value; 
	
	if (objTextArea.value.length > maxlong) { 
		in_value = objTextArea.value; 
		out_value = in_value.substring(0,maxlong); 
		objTextArea.value = out_value; 
		return false; 
	} 
	return true; 
} 

function comprobarFechaMayorQue(fechaMenor, fechaMayor){

}


