function build_currency_list() {
   for ( x = 0; x < document.currency.from.length; x++ ) {
      document.currency.to.options[x] = new Option( document.currency.from[x].text, document.currency.from[x].value );
   }
   document.currency.to.selectedIndex = 0;
}

function calculate() {
     var select1 = document.currency.from;
     var select2 = document.currency.to;
     var select1_text = select1[select1.selectedIndex].value;
     var select2_text = select2[select2.selectedIndex].value;
     var from_value = currency_price[select1_text];
     var to_value = currency_price[select2_text];

     if ( isNaN(parseFloat(from_value)) ) {
        alert('Currency rates for "' + select1[select1.selectedIndex].text + '" are not available');
        document.currency.result.value = "";
        select1.focus();
        return false;
     } else if ( isNaN(parseFloat(to_value)) ) {
        alert('Currency rates for "' + select2[select2.selectedIndex].text + '" are not available');
        document.currency.result.value = "";
        select2.focus();
        return false;
     }

     var amount = document.currency.amount.value;
     amount = amount.replace(",", "");

     if ( amount < 1 || isNaN(parseFloat(amount)) ) {
        alert('The amount field should contain a value above 1');
        document.currency.amount.focus();
        return false;
     } else {
        var result = (( amount * to_value ) / from_value );
        result = Math.round( result * Math.pow(10,6) ) / Math.pow(10,6);
        result = result.toString();
        if ( result.indexOf(".") == -1 ) {
           document.currency.result.value = result + ".00";
        } else {
           document.currency.result.value = result;
        }

        return false;
     }
}

