function val_calculate(){
    type = document.getElementById('valute_type').value;
    summ = Math.abs(document.getElementById('valute_prop').value.replace(',', '.'));
    
    if (type == 'rur') {
        for (var key in valutes) {
            document.getElementById(key + '_summ').innerHTML = number_format(summ / valutes[key][0], 2, ',', ' ');
            document.getElementById(key + '_val').innerHTML = key.toUpperCase();
        }
    }
    else {
        /* сколько получим рублей? */
        rur = summ * valutes[type][1];
        for (var key in valutes) {
            document.getElementById(key + '_summ').innerHTML = number_format(rur / valutes[key][1], 2, ',', ' ');
            document.getElementById(key + '_val').innerHTML = key.toUpperCase();
        }
        document.getElementById(type + '_summ').innerHTML = number_format(rur, 2, ',', ' ');
        document.getElementById(type + '_val').innerHTML = 'RUR';
    }
    
    return false;
}

function number_format(number, decimals, dec_point, thousands_sep){
    var n = number, prec = decimals;
    var toFixedFix = function(n, prec){
        var k = Math.pow(10, prec);
        return (Math.round(n * k) / k).toString();
    };
    
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
    
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
    
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
        
        _[0] = s.slice(0, i + (n < 0)) +
        _[0].slice(i).replace(/(\d{3})/g, sep + '$1');
        s = _.join(dec);
    }
    else {
        s = s.replace('.', dec);
    }
    if (s.indexOf(dec) === -1 && prec > 1) {
        s += dec + new Array(prec).join(0) + '0';
    }
    return s;
}
