// Version 2 - Added temperature Conversion 09-03-03
var x = 0;
var y = 0;
var z = 0;
var clearflag = true;
var lastop = "";
var op = "";
function addDigit(form, digit)
{
  if(clearflag) form.display.value = "";
  form.display.value += digit;
  lastop = "";
  clearflag = false;
}
function clearForm(form){
  form.display.value = "0";
  x = 0;
  y = 0;
  op = "";
  lastop = "";
  clearflag = true;
}

function clearentry(form)
{
  form.display.value = "0";
  lastop = "";
  clearflag = true;
}
function mPlus(form)
{
  z += parseFloat(form.display.value);
  lastop = "";
  clearflag = true;
}
function mMinus(form)
{
  z -= parseFloat(form.display.value);
  lastop = "";
  clearflag = true;
}
function mStore(form)
{
  z = parseFloat(form.display.value);
  lastop = "";
  clearflag = true;
}
function mClear(form)
{
  z = 0;
  lastop = "";
}
function mRecall(form)
{
  form.display.value = z;
  lastop = "";
  clearflag = true;
}
function add(form)
{
  if(op!="") {
     eq(form)
  }
  x = parseFloat(form.display.value);
  op = "+";
  lastop = "";
  clearflag = true;
}
function sub(form)
{
  if(op!="") {
     eq(form);
  }
  x = parseFloat(form.display.value);
  op = "-";
  lastop = "";
  clearflag = true;
}
function mul(form)
{
  if(op!="") {
     eq(form);
  }
  x = parseFloat(form.display.value)
  op = "*";
  lastop = "";
  clearflag = true;
}
function div(form)
{
  if(op!="") {
     eq(form);
  }
  x = parseFloat(form.display.value);
  op = "/";
  lastop = "";
  clearflag = true;
}
function pwr(form)
{
  if(op!="") {
     eq(form);
  }
  x = parseFloat(form.display.value);
  op = "^";
  lastop = "";
  clearflag = true;
}
function reverseSign(form)
{
  form.display.value = -parseFloat(form.display.value);
  lastop = "";
  clearflag = true;
}
function eq(form)
{
  if(lastop=="") {
     y = parseFloat(form.display.value);
  }
  else
  {
     x = parseFloat(form.display.value);
     op = lastop;
  }
  if(op=="+") {
     form.display.value = x+y;
  }
  if(op=="-") {
     form.display.value = x-y;
  }
  if(op=="*") {
     form.display.value = x*y;
  }
  if(op=="/") {
     form.display.value = x/y;
  }
  if(op=="^") {
     form.display.value = math.pow(x, y);
  }
  lastop = op;
  op = "";
  clearflag = true;
}
// ----------------------------------------------------------------

function calcTemp(form){
    var theInUnits = "";
    var theOutUnits = "";
    form.outpt.value = "";
// Decide what to convert to what based on the radio buttons
    for (var i=0; i < form.inptUnits.length; i++){
       if (form.inptUnits[i].checked){ 
            theInUnits = form.inptUnits[i].value;
       }   
    }
    for (var i=0; i < form.outptUnits.length; i++){
       if (form.outptUnits[i].checked){ 
            theOutUnits = form.outptUnits[i].value;}
    }
// If Converting FROM Centegrade
     if(theInUnits == "C"){
        if (theOutUnits == "F") {
            form.outpt.value = (form.inpt.value * 9/5)+32;
        }
        else{
        if (theOutUnits == "K") {
            form.outpt.value = (form.inpt.value*1 + 273.15);
        }
        else {form.outpt.value = form.inpt.value;}
        }
     }
    else{       
     if(theInUnits == "F"){
        if (theOutUnits == "C") {
            form.outpt.value = (form.inpt.value-32)*5/9;
        }
        else{
        if (theOutUnits == "K") {
            form.outpt.value = ((form.inpt.value-32)*5/9) + 273.15;
        }
        else {form.outpt.value = form.inpt.value;}
        }
     }
	 else{       
     if(theInUnits == "K"){
        if (theOutUnits == "C") {
            form.outpt.value = form.inpt.value-273.15;
        }
        else{
        if (theOutUnits == "F") {
            form.outpt.value = ((form.inpt.value-273.15) * 9/5)+32;
        }
        else {form.outpt.value = form.inpt.value;}
        }
      }
    }
  }     
}
// ----------------------------------------------------------------
function convertMe (form)
    {
    inptIndex = form.inptList.selectedIndex;
    if (inptIndex == -1)
        {inptIndex=0;
        form.inptList.selectedIndex =0}
    outptIndex = form.outptList.selectedIndex;
    if (outptIndex == -1)
        {outptIndex=0;
        form.outptList.selectedIndex =0}
    answer = form.inpt.value * form.inptList.options[inptIndex].value;
    answer = answer / form.outptList[outptIndex].value
    if (answer >= 10000 )
        {roundedAnswer = Math.round(answer * 10) /10 }
    else if (answer >= 1)
        {roundedAnswer = Math.round(answer * 1000) /1000}
    else if (answer >= .01)
        {roundedAnswer = Math.round(answer * 10000)/10000}
    else
        roundedAnswer = answer
    form.outpt.value = roundedAnswer
    }


