Tengo un javascript que después de obtener una serie de datos, realiza un cálculo, pero ademas necesita relacionar el valor obtenido en este cálculo, (rangos de valores) a un color específico, que debe producir que cambie el color de fondo de una celda de una tabla 3x3.
Cuando se ejecuta el script, entrega los valores, pero el color que asigna al fondo de la celda, no es ninguno de los que debieran resultar de esa validación y no entiendo por que sucede.
Les dejo el código HTML y el javascript, por si alguien puede revisarlo y decirme cual es la razón del que no funcione adecuadamente y entregue el resultado que necesito.
Desde ya muchas gracias.
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Indice de Calor</title>
<script language="javascript" src="http://archivos.meteochile.gob.cl/portaldmc/meteochile/scripts/condicionactualmetar.js?">
var est_cons = '';
</script>
</head>
<body>
<table width="250" border="0" cellspacing="1" cellpadding="0">
<tbody><script language="javascript">est_cons = 'SCVD';</script>
<tr><script language="javascript" src="js/condicion_met.js"></script>
<td colspan="3"><script language="javascript" type="text/javascript">document.write(nomb_ciu);</script></td>
</tr>
<tr>
<td width="83" align="center" valign="middle">Temp.</td>
<td width="83" align="center" valign="middle">H.R.</td>
<td width="83" align="center" valign="middle">I. Calor</td>
</tr>
<tr>
<td align="center" valign="middle"><script language="javascript">document.write(temp + " °C");</script></td>
<td align="center" valign="middle"><script language="javascript">document.write(hrel + " %");</script></td>
<td align="center" valign="middle" bgcolor=cfondo alt=texto title=texto><script language="javascript">document.write(C_Ind);</script></td>
</tr>
</tbody>
</table>
</body>
</html>
Javascript
// JavaScript Document
// Extrae informacion Meteorologica de Estación
var obmetar = CondicionActualMetar[est_cons].split("|");
var estac = new Array();
var horahet= new Array();
var dddvto = new Array();
var fffvto = new Array();
var visib = new Array();
var vis1 = new Array();
var fenom = new Array();
var temp = new Array();
var cielo = new Array();
var tcono = new Array();
var hrel = new Array();
var condic = new Array();
var ciudad = new Array();
var sig = new Array();
var icon_f = new Array();
var ico1 = new Array();
var actualiza = CondicionActualMetar_actualizado;
estac = obmetar[0];
hramet = obmetar[1];
dddvto = obmetar[2];
dvto = Number(obmetar[2]);
fffvto = obmetar[3];
fvto = Number(obmetar[3]);
visib = obmetar[4];
fenom = obmetar[5];
temp = obmetar[6];
stem = parseInt(obmetar[6]);
cielo = obmetar[7];
icono = obmetar[8];
icon_f = obmetar[8].split(".");
ico1 = icon_f[0];
hrel = obmetar[9];
condic = obmetar[10];
// Busca la Estación consultada y define nombre
if (estac == "SCAP") {nomb_ciu = "Alto Palena";}
if (estac == "SCAR") {nomb_ciu = "Arica";}
if (estac == "SCAS") {nomb_ciu = "Puerto Aysén";}
if (estac == "SCAT") {nomb_ciu = "Copiapó";}
if (estac == "SCBA") {nomb_ciu = "Balmaceda";}
if (estac == "SCCC") {nomb_ciu = "Chile Chico";}
if (estac == "SCCF") {nomb_ciu = "Calama";}
if (estac == "SCCH") {nomb_ciu = "Chillán";}
if (estac == "SCCI") {nomb_ciu = "Punta Arenas";}
if (estac == "SCCY") {nomb_ciu = "Coyhaique";}
if (estac == "SCDA") {nomb_ciu = "Iquique";}
if (estac == "SCEL") {nomb_ciu = "Santiago - Aeropuerto";}
if (estac == "SCTB") {nomb_ciu = "Santiago - Centro";}
if (estac == "SCFA") {nomb_ciu = "Antofagasta";}
if (estac == "SCFM") {nomb_ciu = "Porvenir";}
if (estac == "SCFT") {nomb_ciu = "Futaleufú";}
if (estac == "SCGE") {nomb_ciu = "Los Angeles";}
if (estac == "SCGZ") {nomb_ciu = "Puerto Williams";}
if (estac == "SCHR") {nomb_ciu = "Cochrane";}
if (estac == "SCIC") {nomb_ciu = "Curicó";}
if (estac == "SCIE") {nomb_ciu = "Concepción";}
if (estac == "SCIP") {nomb_ciu = "Isla de Pascua";}
if (estac == "SCBA") {nomb_ciu = "Balmaceda";}
if (estac == "SCIR") {nomb_ciu = "Juan Fernández";}
if (estac == "SCJO") {nomb_ciu = "Osorno";}
if (estac == "SCMK") {nomb_ciu = "Melinka";}
if (estac == "SCNT") {nomb_ciu = "Puerto Natales";}
if (estac == "SCON") {nomb_ciu = "Quellón";}
if (estac == "SCRD") {nomb_ciu = "Rodelillo";}
if (estac == "SCRG") {nomb_ciu = "Rancagua";}
if (estac == "SCRM") {nomb_ciu = "Antártica";}
if (estac == "SCSE") {nomb_ciu = "La Serena/Coquimbo";}
if (estac == "SCSN") {nomb_ciu = "San Antonio/Cartagena";}
/*if (estac == "SCTE") {nomb_ciu = "Puerto Varas";}*/
if (estac == "SCTE") {nomb_ciu = "Puerto Montt";}
if (estac == "SCVD") {nomb_ciu = "Valdivia";}
if (estac == "SCVM") {nomb_ciu = "Viña del Mar/Valparaíso";}
if (estac == "SCQN") {nomb_ciu = "Santiago Centro";}
if (estac == "SCQP") {nomb_ciu = "Temuco";}
// Cálculo Indice de Calor
var stem = parseFloat(temp);
var relhn = parseFloat(hrel);
TF = 1.80 * stem + 32.0;
unidad = " °C";
HIndex = -42.379 + 2.04901523 * TF + 10.14333127 * relhn - 0.22475541 * TF * relhn - 6.83783 * (Math.pow(10, -3)) * (Math.pow(TF, 2)) - 5.481717 * (Math.pow(10, -2)) * (Math.pow(relhn, 2)) + 1.22874 * (Math.pow(10, -3)) * (Math.pow(TF, 2)) * relhn + 8.5282 * (Math.pow(10, -4)) * TF * (Math.pow(relhn, 2)) - 1.99 * (Math.pow(10, -6)) * (Math.pow(TF, 2)) * (Math.pow(relhn,2));
C_Ind = Math.round((HIndex - 32) * .556);
//
// Valida rangos de Indice de Calor
if (C_Ind < 27){C_Ind = 'n/c'; cfondo = '#00FF00'; texto = 'Aceptable';}
if (C_Ind >= 27 || C_Ind <= 32){cfondo = '#ECF410'; texto = 'Caluroso';}
if (C_Ind >= 33 || C_Ind <= 40){cfondo = '#F4AA0B'; texto = 'Precaución';}
if (C_Ind >= 41 || C_Ind <= 54){cfondo = '#F14515'; texto = 'Peligro';}
if (C_Ind > 54){cfondo = '#FF0000'; texto = 'Calor Extremo';}
El problema se produce, cuando al validar si el valor de C_Ind está dentro de un rango determinado, la celda donde queda el valor, debiera cambiar de color, pero no ocurre, o asigna un color cualquiera, que no corresponde a ninguno de los códigos predeficnidos.
Si alguien me pudiera indicar que error se produce y como solucionarlo, se lo agradeceré