// (c) Cirris Systems Corp.  Script by JaB

var WireResistance = new Array(41);

for (i=0;i<40;i++) 
{
  WireResistance[i] = 0.0;
} 

// Resistance is in ohms per 100 feet
// for 0 to 40 gauge wire

WireResistance[0] = 0.009827;
WireResistance[1] = 0.01239;
WireResistance[2] = 0.01563;
WireResistance[3] = 0.01970;
WireResistance[4] = 0.02485;
WireResistance[5] = 0.03133;
WireResistance[6] = 0.03951;
WireResistance[7] = 0.04982;
WireResistance[8] = 0.06282;
WireResistance[9] = 0.07921;
WireResistance[10] = 0.09989;
WireResistance[11] = 0.1260;
WireResistance[12] = 0.1588;
WireResistance[13] = 0.2003;
WireResistance[14] = 0.2525;
WireResistance[15] = 0.3184;
WireResistance[16] = 0.4016;
WireResistance[17] = 0.5064;
WireResistance[18] = 0.6385;
WireResistance[19] = 0.8051;
WireResistance[20] = 1.015;
WireResistance[21] = 1.280;
WireResistance[22] = 1.614;
WireResistance[23] = 2.036;
WireResistance[24] = 2.567;
WireResistance[25] = 3.237;
WireResistance[26] = 4.081;
WireResistance[27] = 5.147;
WireResistance[28] = 6.490;
WireResistance[29] = 8.183;
WireResistance[30] = 10.32;
WireResistance[31] = 13.01;
WireResistance[32] = 16.41;
WireResistance[33] = 20.69;
WireResistance[34] = 26.09;
WireResistance[35] = 32.90;
WireResistance[36] = 41.48;
WireResistance[37] = 52.31;
WireResistance[38] = 65.96;
WireResistance[39] = 83.18;
WireResistance[40] = 104.90;


function ComputeWireResistance(WireGauge, WireLength, Units)
{
  var res;
	
  res = -1.0;
  if ((WireGauge <= 40) && (WireGauge >= 0) && (WireLength >= 0))
  {
	if (Units == 'Feet') 
		{
		// ohms per foot
			res = WireLength * WireResistance[WireGauge] / 100.0;
		}
		else if (Units == 'Inches')
		{
		// ohms per inch
			res = ((WireLength / 12.0) * WireResistance[WireGauge]) / 100.0;
		}
		else
		{
		// ohms per meter
			res = WireLength * WireResistance[WireGauge] / 30.48;
		}
		res = Math.round(res * 1000) / 1000;
	}
	return res;
}

function TemperatureVariation(TempVariation, TemperatureUnits)
{
  if (TemperatureUnits == 'F')
	{
	  return ((TempVariation - 68.0) * 0.393 / 1.8);
	}
	else
	{
	  return ((TempVariation - 20.0) * 0.393);
	}
}

function TemperatureResistanceFactor(TemperatureChange, TemperatureUnits)
{
  if (TemperatureUnits == 'F')
	{
	  return (TemperatureChange * 0.00393 / 1.8);
	}
	else
	{
	  return (TemperatureChange * 0.00393);
	}
}
