/*
 * Rewrite of Stefans calc.js using Sencha instead of YUI
 *
 * @version $Id: calc.js 28 2010-07-01 13:05:10Z alappe $
 * @author Andreas Lappe <nd@off-pist.de>
 * @author Stefan Isak <stefanisak@googlemail.com>
 */
Ext.onReady(function(){

        var rate,
            credit = {},
            totalCredit;

        var calculate = function(event, element) {
            var metal = element.id.substr(0,2),
                elementId = element.id,
                valid = false;

            switch(metal) {
            case 'au':
                if(elementId.substr(2,1) == '1') {
                    rate = prices.au.bankpurchase;
                } else {
                    rate = prices.au.meltpurchase;
                }
                valid = true;
                break;

            case 'ag':
                if(elementId.substr(2,1) == '1') {
                    rate = prices.ag.bankpurchase;
                } else {
                    rate = prices.ag.meltpurchase;
                }
                valid = true;
                break;

            case 'pt':
                if(elementId.substr(2,1) == '1') {
                    rate = prices.pt.bankpurchase;
                } else {
                    rate = prices.pt.meltpurchase;
                }
                valid = true;
                break;
            }

            var alloy = parseInt(elementId.substr(2,6)); 
            if(alloy == 1000 || alloy == 9999) {
                alloy = 1;
            } else {
                alloy = alloy / 10000;
            }

            var valueTmp = element.value.replace(/,/g,'.');

            if(valid) credit[elementId] = parseFloat(valueTmp) ? parseFloat(valueTmp)*alloy*rate : 0;

            totalCredit = parseFloat(0);

            Ext.iterate(credit, function(item){
                    totalCredit = totalCredit + credit[item];
            });
            /*
            for(var item in credit){
                totalCredit = totalCredit + credit[item];
            }
            */

            totalCredit = totalCredit.toFixed(4);
            totalCredit = totalCredit.split(".");
            len = totalCredit[0].length;
            if(len > 3) totalCredit[0] = totalCredit[0].substr(0,len - 3) + ' ' + totalCredit[0].substr(len - 3, len);
            Ext.getDom('credit').value = totalCredit[0]+','+totalCredit[1].substr(0,2)+' '+prices.au.currency;
        }

        Ext.EventManager.addListener(document, 'keyup', calculate);

});

