var conversions = new Array();
conversions['Weight'] = 2.205
conversions['Volume'] = 0.264
conversions['Distance'] = 0.622
conversions['Length'] = 0.394
conversions['Temperature'] = 1.8

var offsets = new Array();
offsets['Weight'] = 0
offsets['Volume'] = 0
offsets['Distance'] = 0
offsets['Length'] = 0
offsets['Temperature'] = 32

var metricLabels = new Array();
metricLabels['Weight'] = 'Kilogram'
metricLabels['Volume'] = 'Liter'
metricLabels['Distance'] = 'Kilometer'
metricLabels['Length'] = 'Centimeter'
metricLabels['Temperature'] = 'Celsius'

var standardLabels = new Array();
standardLabels['Weight'] = 'Pound'
standardLabels['Volume'] = 'Gallon'
standardLabels['Distance'] = 'Mile'
standardLabels['Length'] = 'Inch'
standardLabels['Temperature'] = 'Farenheit'

function syncLabels()
{
  currentUnit = document.getElementById('unit-type').options[document.getElementById('unit-type').selectedIndex].value;
  jQuery("span#metric-label").text(metricLabels[currentUnit]);
  jQuery("span#standard-label").text(standardLabels[currentUnit]);
}

function doConversion()
{
  if(jQuery("input#metric").attr('value') != '')
  {
    convertMetric();
  }else if(jQuery("input#standard").attr('value') != '')
  {
    convertStandard();
  }
}

function convertMetric()
{
  metric = parseFloat(jQuery("input#metric").attr('value'));
  if(metric.toString() != "NaN")
  {
    currentUnit = document.getElementById('unit-type').options[document.getElementById('unit-type').selectedIndex].value;
    standard = metric * conversions[currentUnit] + offsets[currentUnit];
    jQuery('input#standard').attr('value',standard);
  }
}

function convertStandard()
{
  standard = parseFloat(jQuery("input#standard").attr('value'));
  if(standard.toString() != "NaN")
  {
    currentUnit = document.getElementById('unit-type').options[document.getElementById('unit-type').selectedIndex].value;
    metric = (standard - offsets[currentUnit]) / conversions[currentUnit];
    jQuery('input#metric').attr('value',metric);
  }
}

jQuery(document).ready(function(){
  syncLabels();
  doConversion();
  
  jQuery('select#unit-type').change(function(){
    syncLabels(); doConversion();
  });
  jQuery('input#metric').change(function(){
    convertMetric();
  });
  jQuery('input#standard').change(function(){
    convertStandard();
  });
  jQuery('input#metric').focus(function(){
    jQuery('input#standard').attr('value','');
  });
  jQuery('input#standard').focus(function(){
    jQuery('input#metric').attr('value','');
  });
});