
// Define the conversion constants;
var mph = new Object;
mph.kph = 1.6090;
mph.knot = 0.869565217;
mph.ms =   0.446;
var kph = new Object;
kph.mph = 0.6214;
kph.knot = 0.543478261;
kph.ms = 0.277777778;
var knots = new Object;
knots.mph = 1.15;
knots.kph = 1.84;
knots.ms = 0.511111111;
var ms = new Object;
ms.mph = 2.24;
ms.kph = 3.599999997;
ms.knots = 1.956521739;
var pressure = new Object;
pressure.convert = 33.8653075;
// 1" Hg = 33.8653075 hPa or mb

function con(form)
{
    // alert('Recalculating unit conversion');

     var firstunit = form.firstunit.value;
	  var firstval = form.firstval.value;
	  var uv1 = form.unit1val;
	  var uv2 = form.unit2val;
	  var uv3 = form.unit3val;
	  
	  // alert(firstval);
	  
      if (firstunit == 'mph')
      {
          // alert('Converting from mph');
          uv1.value = rval(firstval * mph.kph);
          uv2.value = rval(firstval * mph.knot);
          uv3.value = rval(firstval * mph.ms);
      }
		else if (firstunit == 'kph')
		{
			uv1.value = rval(firstval * kph.mph);
         uv2.value = rval(firstval * kph.knot);
         uv3.value = rval(firstval * kph.ms);
		}
		else if (firstunit == 'knots')
		{
			uv1.value = rval(firstval * knots.mph);
         uv2.value = rval(firstval * knots.kph);
         uv3.value = rval(firstval * knots.ms);
		}
		else if (firstunit == 'ms')
		{
			uv1.value = rval(firstval * ms.mph);
         uv2.value = rval(firstval * ms.kph);
         uv3.value = rval(firstval * ms.knots);
		}
		else if (firstunit == 'C')
		{
			uv1.value = rval(((firstval / 5) * 9) + 32);
         uv2.style.visibility = 'hidden';
         uv3.value = '';
		}
		else if (firstunit == 'F')
		{
			uv1.value = rval(((firstval - 32) / 9) * 5);
			uv2.value = '';
         uv3.value = '';
		}
		else if (firstunit == 'inches')
		{
			uv1.value = rval(firstval * 25.4);
			uv2.value = '';
			uv3.value = '';
		}
		else if (firstunit == 'mm')
		{
			uv1.value = rval(firstval / 25.4);
			uv2.value = '';
			uv3.value = '';
		}
		else if (firstunit == 'inchesHg')
		{
			uv1.value = rval(firstval * pressure.convert);
			uv2.value = rval(firstval * 25.4);
			uv3.value = '';
		}
		else if (firstunit == 'mmHg')
		{
			uv1.value = rval((firstval / 25.4) * pressure.convert);
			uv2.value = rval(firstval / 25.4);
			uv3.value = '';
		}
		else if (firstunit == 'hpa')
		{
			uv1.value = rval(firstval / pressure.convert);
			uv2.value = rval((firstval / pressure.convert) * 25.4);
			uv3.value = '';
		}
		
		 

      return false;
 }
 
function rval(fval)
{
	// alert("fval = " + fval);
	var newnum = Math.round(fval * 100)/100;
	return newnum.toFixed(2);
} 

function isNumber(elem)
{
	var str = elem.value;
	var re = /^[-]?\d*\.?\d*$/;
	str = str.toString();
	if (!str.match(re))
	{
		alert("Please only enter numbers for conversion.");
		elem.value = '';
		return false;
	}
	return true;
}
 
function newUnits (sel)
{
	var sv = sel.value;
	var ut1 = document.getElementById("unit1");
	var ut2 = document.getElementById("unit2");
	var ut3 = document.getElementById("unit3");
	var euv1 = document.getElementById("unit1val");
	var euv2 = document.getElementById("unit2val");
	var euv3 = document.getElementById("unit3val");
	

	// alert("sv = " + sv);
	if (sv == 'mph')
	{
			ut1.firstChild.nodeValue = "KPH";
			ut2.firstChild.nodeValue = "Knots";
			ut3.firstChild.nodeValue = "m/s";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "visible";
			
	}
	else if (sv == 'kph')
	{
			ut1.firstChild.nodeValue = "MPH";
			ut2.firstChild.nodeValue = "Knots";
			ut3.firstChild.nodeValue = "m/s";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "visible";
			
	}
	else if (sv == 'knots')
	{
			ut1.firstChild.nodeValue = "MPH";
			ut2.firstChild.nodeValue = "KPH";
			ut3.firstChild.nodeValue = "m/s";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "visible";
			
	}
	else if (sv == 'ms')
	{
			ut1.firstChild.nodeValue = "MPH";
			ut2.firstChild.nodeValue = "KPH";
			ut3.firstChild.nodeValue = "Knots";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "visible";
			
	}
	else if (sv == 'C')
	{
			ut1.firstChild.nodeValue = "Fahrenheit";
			ut2.firstChild.nodeValue = "";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "hidden";
			euv3.style.visibility = "hidden";

	}
	else if (sv == 'F')
	{
			ut1.firstChild.nodeValue = "Centigrade";
			ut2.firstChild.nodeValue = "";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "hidden";
			euv3.style.visibility = "hidden";
	}
	else if (sv == 'mm')
	{
			ut1.firstChild.nodeValue = "Inches";
			ut2.firstChild.nodeValue = "";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "hidden";
			euv3.style.visibility = "hidden";

	}
	else if (sv == 'inches')
	{
			ut1.firstChild.nodeValue = "mm";
			ut2.firstChild.nodeValue = "";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "hidden";
			euv3.style.visibility = "hidden";

	}
	else if (sv == 'inchesHg')
	{
			ut1.firstChild.nodeValue = "hPa / mb";
			ut2.firstChild.nodeValue = "mm Hg";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "hidden";
	}
	else if (sv == 'mmHg')
	{
			ut1.firstChild.nodeValue = "hPa / mb";
			ut2.firstChild.nodeValue = "Inches Hg";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "hidden";
	}
	else if (sv == 'hpa')
	{
			ut1.firstChild.nodeValue = "Inches Hg";
			ut2.firstChild.nodeValue = "mm Hg";
			ut3.firstChild.nodeValue = "";
			euv2.style.visibility = "visible";
			euv3.style.visibility = "hidden";
	}
	
	con(document.forms['convert']);
 
 }
 
