function oNumero(numero)
{
	//Propiedades
  this.valor = numero || 0
  this.dec = -1;

	//Métodos
  this.formato = numFormat;
  this.ponValor = ponValor;

	//Definición de los métodos
	function ponValor(cad)
  {
		if (cad =='-' || cad=='+') return
    if (cad.length ==0) return
    if (cad.indexOf('.') >=0) this.valor = parseFloat(cad);
    else this.valor = parseInt(cad);
}

function numFormat(dec, miles)
{
	var num = this.valor, signo=3, expr;
	var cad = ""+this.valor;
	var ceros = "", pos, pdec, i;
	for (i=0; i < dec; i++) ceros += '0';
	pos = cad.indexOf('.')
   if (pos < 0) cad = cad+"."+ceros;
   else
   {
			pdec = cad.length - pos -1;
			if (pdec <= dec)
			{
				for (i=0; i< (dec-pdec); i++)
				cad += '0';
			}
			else
			{
				num = num*Math.pow(10, dec);
				num = Math.round(num);
				num = num/Math.pow(10, dec);
				cad = new String(num);
			}
		}
	pos = cad.indexOf('.')
	if (pos < 0) pos = cad.lentgh
	if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') signo = 4;
	if (miles && pos > signo)
		do{
			expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
			cad.match(expr)
			cad=cad.replace(expr,RegExp.$1+','+RegExp.$2)
		}
		while (cad.indexOf(',') > signo)
  		if (dec<0) cad = cad.replace(/\./,'')
			//return cad;
			var cad2= cad.replace(/\./,'#');
			cad2= cad2.replace(/\,/,'.');
			cad2= cad2.replace(/\#/,',');
			return cad2;
		}
}


function CambiaAltura(mes,alt0,alt1,alt2,alt3,alt4,alt5,alt6,alt7,alt8)
{
	if (mes == 0)
	{
		document.forms.formu2.mes[0].checked = true;
	}
	if (mes == 1)
	{
		document.forms.formu2.mes[1].checked = true;
	}
	if (mes == 2)
	{
		document.forms.formu2.mes[2].checked = true;
	}	
	var altMax = 159;
	
	
	var Altura0 = new Array((altMax * alt0) / 10,(altMax * alt1) / 10,(altMax * alt2) / 10);
	var Altura1 = new Array((altMax * alt3) / 10,(altMax * alt4) / 10,(altMax * alt5) / 10);
	var Altura2 = new Array((altMax * alt6) / 10,(altMax * alt7) / 10,(altMax * alt8) / 10);
	var Total = 3;	
	

	<!--formateo el número a dos decimales y cambio el punto por la coma-->
	alt0 = new oNumero(alt0);
	alt0 = alt0.formato(2, false);
	//alert (alt0);
	alt1 = new oNumero(alt1);
	alt1 = alt1.formato(2, false);
	//alert (alt1);
	alt2 = new oNumero(alt2);
	alt2 = alt2.formato(2, false);
	alt3 = new oNumero(alt3);
	alt3 = alt3.formato(2, false);
	alt4 = new oNumero(alt4);
	alt4 = alt4.formato(2, false);
	alt5 = new oNumero(alt5);
	alt5 = alt5.formato(2, false);
	alt6 = new oNumero(alt6);
	alt6 = alt6.formato(2, false);
	alt7 = new oNumero(alt7);
	alt7 = alt7.formato(2, false);
	alt8 = new oNumero(alt8);
	alt8 = alt8.formato(2, false);
	
	/*var Num0 = new Array(alt0,alt1,alt2);
	var Num1 = new Array(alt3,alt4,alt5);
	var Num2 = new Array(alt6,alt7,alt8);*/
	
	var Numero0 = new Array(alt0,alt1,alt2);
	var Numero1 = new Array(alt3,alt4,alt5);
	var Numero2 = new Array(alt6,alt7,alt8);
	
	for (i=0;i < Total;i++)
	{
		var aux = 'document.Barra' + i + '.height = Altura' + mes + '[' + i + ']';
		var aux2 = 'document.forms.formu2.Num' + i + '.value = Numero' + mes + '[' + i + ']';
		eval(aux);
		eval(aux2);
	}
}

function compruebaRangosAF ()
{
	var valMin = document.getElementById('valMin').value;
	var valMax = document.getElementById('valMax').value;
	if (!IsNum(valMin))
	{
		alert (document.getElementById('txt0').value);
		document.getElementById('valMin').value = '';
		document.getElementById('valMin').focus();
		return false;
	}
	else
	{
		valMin = parseInt(valMin);
	}
	if (!IsNum(valMax))
	{
		alert (document.getElementById('txt0').value);
		document.getElementById('valMax').value = '';
		document.getElementById('valMax').focus();
		return false;		
	}
	else
	{
		valMax = parseInt(valMax);
	}
	if (valMin > valMax)
	{
		alert (document.getElementById('txt1').value);
		document.getElementById('valMin').value="0";
		document.getElementById('valMax').value="10";
		document.getElementById('valMin').focus();
		return false;
	}
	else if (valMax > 10)
	{
		alert (document.getElementById('txt2').value);
		document.getElementById('valMax').value="10";
		document.getElementById('valMax').focus();
		return false;
	}
	else if (valMin > 9)
	{
		alert (document.getElementById('txt3').value);
		document.getElementById('valMin').value="0";
		document.getElementById('valMin').focus();
		return false;	
	}
	else
	{
		return true;		
	}
}

/*
*	NOMBRE			ISNum
*
*	DESCRIPCION		Comprueba que una cadena determinada sea un número.
*					Formato entrada: ####.##
*
*	ENTRADA			Cadena:		Valor de un campo de formulario que se va a comprobar si es de un formato numérico Válido.
*
*/
function IsNum(numstr) {
	// Return immediately if an invalid value was passed in
	if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")
		return false;

	var isValid = true;
	var decCount = 0; // number of decimal points in the string

	numstr += "";

	for (i = 0; i < numstr.length; i++)
	{
		// track number of decimal points
		if (numstr.charAt(i) == ".")
			decCount++;

		if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") ||	(numstr.charAt(i) == "-") || (numstr.charAt(i) == ".")))
		{
			isValid = false;
			break;
		}
		else if ((numstr.charAt(i) == "-" && i != 0) ||	(numstr.charAt(i) == "." && numstr.length == 1) ||	(numstr.charAt(i) == "." && decCount > 1))
		{
			isValid = false;
			break;
		}

	} // END for

	return isValid;
} // end IsNum
