function convertTemperature(form) {
        if (form.elements["celcius"].value != "" && form.elements["celcius"].length != 0)
        {
                firstvalue = form.elements["celcius"].value;
                form.elements["fahrenheit"].value = formatvalue((1.8 * firstvalue) + 32, 6);
                return
        }
        if (form.elements["fahrenheit"].value != "" && form.elements["fahrenheit"].length != 0)
        {
                firstvalue = form.elements["fahrenheit"].value; 
                form.elements["celcius"].value = formatvalue(( firstvalue - 32) / 1.8, 6);
                return
        }
}

function convertDimensions(form) {
 var count = 8;
 var firstvalue = 0;
 var size = 7;
 for (var i = 0; i <= count; i++)
{

// metric to imperial 
 if (form.elements["mm"].value != "" && form.elements["mm"].value.length != 0)
       {
            firstvalue = form.elements["mm"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 0.039370079), size);
            form.elements["feet"].value = formatvalue((firstvalue * 0.00328084), size);
            form.elements["yard"].value = formatvalue((firstvalue * 0.001093613), size);
            form.elements["mile"].value = formatvalue((firstvalue * 6.21371E-07), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 1), size);
            form.elements["cm"].value = formatvalue((firstvalue * 0.1), size);
            form.elements["m"].value = formatvalue((firstvalue * 0.001), size);
            form.elements["km"].value = formatvalue((firstvalue * 0.000001), size);
                
                return;
                 break;
        }
 if (form.elements["cm"].value != "" && form.elements["cm"].value.length != 0)
       {
            firstvalue = form.elements["cm"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 0.393700787), size);
            form.elements["feet"].value = formatvalue((firstvalue * 0.032808399), size);
            form.elements["yard"].value = formatvalue((firstvalue * 0.010936133), size);
            form.elements["mile"].value = formatvalue((firstvalue * 6.21371E-06), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 10), size);
            form.elements["cm"].value = formatvalue((firstvalue * 1), size);
            form.elements["m"].value = formatvalue((firstvalue * 0.01), size);
            form.elements["km"].value = formatvalue((firstvalue * 0.00001), size);
                
                return;
                 break;
        }
 if (form.elements["m"].value != "" && form.elements["m"].value.length != 0)
       {
            firstvalue = form.elements["m"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 39.37007874), size);
            form.elements["feet"].value = formatvalue((firstvalue * 3.280839895), size);
            form.elements["yard"].value = formatvalue((firstvalue * 1.093613298), size);
            form.elements["mile"].value = formatvalue((firstvalue * 0.000621371), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 1000), size);
            form.elements["cm"].value = formatvalue((firstvalue * 100), size);
            form.elements["m"].value = formatvalue((firstvalue * 1), size);
            form.elements["km"].value = formatvalue((firstvalue * 0.001), size);
                
                return;
                 break;
        }
 if (form.elements["km"].value != "" && form.elements["km"].value.length != 0)
       {
            firstvalue = form.elements["km"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 39370.07874), size);
            form.elements["feet"].value = formatvalue((firstvalue * 3280.839895), size);
            form.elements["yard"].value = formatvalue((firstvalue * 1093.613298), size);
            form.elements["mile"].value = formatvalue((firstvalue * 0.621371192), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 1000000), size);
            form.elements["cm"].value = formatvalue((firstvalue * 100000), size);
            form.elements["m"].value = formatvalue((firstvalue * 1000), size);
            form.elements["km"].value = formatvalue((firstvalue * 1), size);
                
                return;
                 break;
        }
  // imperial to metric
  if (form.elements["inch"].value != "" && form.elements["inch"].value.length != 0)
       {
            firstvalue = form.elements["inch"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 1), size);
            form.elements["feet"].value = formatvalue((firstvalue * 0.083333333), size);
            form.elements["yard"].value = formatvalue((firstvalue * 0.027777778), size);
            form.elements["mile"].value = formatvalue((firstvalue * 1.57828E-05), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 25.4), size);
            form.elements["cm"].value = formatvalue((firstvalue * 2.54), size);
            form.elements["m"].value = formatvalue((firstvalue * 0.0254), size);
            form.elements["km"].value = formatvalue((firstvalue * 0.0000254), size);
                
                return;
                 break;
        }
 if (form.elements["feet"].value != "" && form.elements["feet"].value.length != 0)
       {
            firstvalue = form.elements["feet"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 12), size);
            form.elements["feet"].value = formatvalue((firstvalue * 1), size);
            form.elements["yard"].value = formatvalue((firstvalue * 0.333333333), size);
            form.elements["mile"].value = formatvalue((firstvalue * 0.000189394), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 304.8), size);
            form.elements["cm"].value = formatvalue((firstvalue * 30.48), size);
            form.elements["m"].value = formatvalue((firstvalue * 0.3048), size);
            form.elements["km"].value = formatvalue((firstvalue *0.0003048), size);
                
                return;
                 break;
        }
 if (form.elements["yard"].value != "" && form.elements["yard"].value.length != 0)
       {
            firstvalue = form.elements["yard"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 36), size);
            form.elements["feet"].value = formatvalue((firstvalue * 3), size);
            form.elements["yard"].value = formatvalue((firstvalue * 1), size);
            form.elements["mile"].value = formatvalue((firstvalue * 0.000568182), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 914.4), size);
            form.elements["cm"].value = formatvalue((firstvalue * 91.44), size);
            form.elements["m"].value = formatvalue((firstvalue * 0.9144), size);
            form.elements["km"].value = formatvalue((firstvalue * 0.0009144), size);
                
                return;
                 break;
        }
 if (form.elements["mile"].value != "" && form.elements["mile"].value.length != 0)
       {
            firstvalue = form.elements["mile"].value; 
            
            // imperial
            form.elements["inch"].value = formatvalue((firstvalue * 63360), size);
            form.elements["feet"].value = formatvalue((firstvalue * 5280), size);
            form.elements["yard"].value = formatvalue((firstvalue * 1760), size);
            form.elements["mile"].value = formatvalue((firstvalue * 1), size);
            
            // Metric
            form.elements["mm"].value = formatvalue((firstvalue * 1609344), size);
            form.elements["cm"].value = formatvalue((firstvalue * 160934.4), size);
            form.elements["m"].value = formatvalue((firstvalue * 1609.344), size);
            form.elements["km"].value = formatvalue((firstvalue * 1.609344), size);
                
                return;
                 break;
        }
               
}


}

function convertWeight(form) {
 var count = 8;
 var firstvalue = 0;
 var size = 9;
 for (var i = 0; i <= count; i++)
{

// metric to imperial 
 if (form.elements["g"].value != "" && form.elements["g"].value.length != 0) {
            firstvalue = form.elements["g"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 0.035273962), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 0.002204623), size);
            form.elements["tt"].value = formatvalue((firstvalue * 0.00000110231131), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 1), size);
            form.elements["kg"].value = formatvalue((firstvalue * 0.001), size);
            form.elements["mt"].value = formatvalue((firstvalue * 0.000001), size);
                
                return;
                 break;
        }

 if (form.elements["kg"].value != "" && form.elements["kg"].value.length != 0) {
            firstvalue = form.elements["kg"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 35.27396195), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 2.204622622), size);
            form.elements["tt"].value = formatvalue((firstvalue * 0.00110231131), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 1000), size);
            form.elements["kg"].value = formatvalue((firstvalue * 1), size);
            form.elements["mt"].value = formatvalue((firstvalue * 1000), size);
                
                return;
                 break;
        }

 if (form.elements["mt"].value != "" && form.elements["mt"].value.length != 0) {
            firstvalue = form.elements["mt"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 35273.9619), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 2204.62262), size);
            form.elements["tt"].value = formatvalue((firstvalue * 1.10231131), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 1000000), size);
            form.elements["kg"].value = formatvalue((firstvalue * 1000), size);
            form.elements["mt"].value = formatvalue((firstvalue * 1), size);
                
                return;
                 break;
        }


  // imperial to metric
 if (form.elements["ozm"].value != "" && form.elements["ozm"].value.length != 0) {
            firstvalue = form.elements["ozm"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 1), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 0.0625), size);
            form.elements["tt"].value = formatvalue((firstvalue * 0.000003125), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 28.34952313), size);
            form.elements["kg"].value = formatvalue((firstvalue * 0.028349523), size);
            form.elements["mt"].value = formatvalue((firstvalue * 2.83495E-06), size);
                
                return;
                 break;
        }

 if (form.elements["lbm"].value != "" && form.elements["lbm"].value.length != 0) {
            firstvalue = form.elements["lbm"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 16), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 1), size);
            form.elements["tt"].value = formatvalue((firstvalue * 0.0005), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 453.59237), size);
            form.elements["kg"].value = formatvalue((firstvalue * 0.45359237), size);
            form.elements["mt"].value = formatvalue((firstvalue * 0.000453592), size);
                
                return;
                 break;
        }

 if (form.elements["tt"].value != "" && form.elements["tt"].value.length != 0) {
            firstvalue = form.elements["tt"].value; 
            
            // imperial
            form.elements["ozm"].value = formatvalue((firstvalue * 32000), size);
            form.elements["lbm"].value = formatvalue((firstvalue * 2000), size);
            form.elements["tt"].value = formatvalue((firstvalue * 1), size);
            
            // Metric
            form.elements["g"].value = formatvalue((firstvalue * 907184.74), size);
            form.elements["kg"].value = formatvalue((firstvalue * 907.18474), size);
            form.elements["mt"].value = formatvalue((firstvalue * 0.90718474), size);
                
                return;
                 break;
        }


               
}


}

function convertVolume(form) {
 var count = 8;
 var firstvalue = 0;
 var size = 7;
 for (var i = 0; i <= count; i++) {

// metric to imperial 
if (form.elements["ml"].value != "" && form.elements["ml"].value.length != 0) {
            firstvalue = form.elements["ml"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 0.033814023), size);
            form.elements["pt"].value = formatvalue((firstvalue * 0.002113376), size);
            form.elements["qt"].value = formatvalue((firstvalue * 0.001056688), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0.000264172), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 1), size);
            form.elements["dl"].value = formatvalue((firstvalue * 0.1), size);
            form.elements["l"].value = formatvalue((firstvalue * 0.001), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.000001), size);
                
                return;
                 break;
        }
        
if (form.elements["dl"].value != "" && form.elements["dl"].value.length != 0) {
            firstvalue = form.elements["dl"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 3.38140227), size);
            form.elements["pt"].value = formatvalue((firstvalue * 0.211337642), size);
            form.elements["qt"].value = formatvalue((firstvalue * 0.105668821), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0.026417205), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 100), size);
            form.elements["dl"].value = formatvalue((firstvalue * 1), size);
            form.elements["l"].value = formatvalue((firstvalue * 0.1), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.001), size);
                
                return;
                 break;
        }
        
if (form.elements["l"].value != "" && form.elements["l"].value.length != 0) {
            firstvalue = form.elements["l"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 33.8140227), size);
            form.elements["pt"].value = formatvalue((firstvalue * 2.113376419), size);
            form.elements["qt"].value = formatvalue((firstvalue * 1.056688209), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0.264172052), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 1000), size);
            form.elements["dl"].value = formatvalue((firstvalue * 10), size);
            form.elements["l"].value = formatvalue((firstvalue * 1), size);
            form.elements["hl"].value = formatvalue((firstvalue * 1000), size);
                
                return;
                 break;
        }
         
if (form.elements["hl"].value != "" && form.elements["hl"].value.length != 0) {
            firstvalue = form.elements["hl"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 3381.40227), size);
            form.elements["pt"].value = formatvalue((firstvalue * 211.3376419), size);
            form.elements["qt"].value = formatvalue((firstvalue * 105.6688209), size);
            form.elements["gal"].value = formatvalue((firstvalue * 26.41720524), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 100000), size);
            form.elements["dl"].value = formatvalue((firstvalue * 1000), size);
            form.elements["l"].value = formatvalue((firstvalue * 100), size);
            form.elements["hl"].value = formatvalue((firstvalue * 1), size);
                
                return;
                 break;
        }
               
// imperial to metric
if (form.elements["ozf"].value != "" && form.elements["ozf"].value.length != 0) {
            firstvalue = form.elements["ozf"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 1), size);
            form.elements["pt"].value = formatvalue((firstvalue * 0.0625), size);
            form.elements["qt"].value = formatvalue((firstvalue * 0.03125), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0.0078125), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 29.57352956), size);
            form.elements["dl"].value = formatvalue((firstvalue * 0.295735296), size);
            form.elements["l"].value = formatvalue((firstvalue * 0.02957353), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.000295735), size);
                
                return;
                 break;
        }
        
if (form.elements["pt"].value != "" && form.elements["pt"].value.length != 0) {
            firstvalue = form.elements["pt"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 16), size);
            form.elements["pt"].value = formatvalue((firstvalue * 1), size);
            form.elements["qt"].value = formatvalue((firstvalue * 0.5), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0.125), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 473.176473), size);
            form.elements["dl"].value = formatvalue((firstvalue * 4.73176473), size);
            form.elements["l"].value = formatvalue((firstvalue * 0.473176473), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.004731765), size);
                
                return;
                 break;
        }
        
if (form.elements["qt"].value != "" && form.elements["qt"].value.length != 0) {
            firstvalue = form.elements["qt"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 32), size);
            form.elements["pt"].value = formatvalue((firstvalue * 2), size);
            form.elements["qt"].value = formatvalue((firstvalue * 1), size);
            form.elements["gal"].value = formatvalue((firstvalue * 0,25), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 946.352946), size);
            form.elements["dl"].value = formatvalue((firstvalue * 9.46352946), size);
            form.elements["l"].value = formatvalue((firstvalue * 0.946352946), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.009463529), size);
                
                return;
                 break;
        }
         
if (form.elements["gal"].value != "" && form.elements["gal"].value.length != 0) {
            firstvalue = form.elements["gal"].value; 
            
            // imperial
            form.elements["ozf"].value = formatvalue((firstvalue * 128), size);
            form.elements["pt"].value = formatvalue((firstvalue * 8), size);
            form.elements["qt"].value = formatvalue((firstvalue * 4), size);
            form.elements["gal"].value = formatvalue((firstvalue * 1), size);
            
            // Metric
            form.elements["ml"].value = formatvalue((firstvalue * 3785.411784), size);
            form.elements["dl"].value = formatvalue((firstvalue * 37.85411784), size);
            form.elements["l"].value = formatvalue((firstvalue * 3.785411784), size);
            form.elements["hl"].value = formatvalue((firstvalue * 0.037854118), size);
                
                return;
                 break;
        }

               }


}

function convertform(form) {
 var firstvalue = 0;
 for (var i = 0; i <= form.count; i++)
{
 // Find first non-blank entry
 if (form.elements[i].type != "button" &&  form.elements[i].value != "" && form.elements[i].value.length != 0)
{
 return false;
 firstvalue = form.elements[i].value / form.elements[i].factor;
 break;
 }
 
 if (firstvalue == 0) {
 clearform(form);
 return false;
 }
 for (var i = 1; i <= form.count; i++)
  if (form.elements[i].type != "button") {
 form.elements[i].value = formatvalue((firstvalue * form.elements[i].factor), form.rsize);
 }
 return true;
}
}

function formatvalue(input, rsize) {
 var invalid = "**************************";
 var nines = "999999999999999999999999";
 var strin = "" + input;
 var fltin = parseFloat(strin);
 if (strin.length <= rsize) return strin;
 if (strin.indexOf("e") != -1 ||
 fltin > parseFloat(nines.substring(0,rsize)+".4"))
 return invalid.substring(0, rsize);
 var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, rsize))));
 return rounded.substring(0, rsize);
}

function resetform(form) {
 clearform(form);
 form[1].value = 1;
 convertform(form);
 return true;
}

function clearform(form) {
 for (var i = 0; i <= form.count; i++)
  if (form.elements[i].value != "Clear")
  {
         form[i].value = "";
         }
 return true;
}

function cOn(tr) {

if(document.getElementById||(document.all && !(document.getElementById))) {
//tr.style.backgroundColor="#FEBB50";
tr.style.backgroundColor="#bdd5ed";
}
}

function cOut(tr) {

if(document.getElementById||(document.all && !(document.getElementById))){
tr.style.backgroundColor="#ffffff";
}
}


