function round_one(num) {
  return Math.round(num*10)/10 
}

function get_unit() {
    var s = document.getElementById( 'unit' ); 
    var r = s.options[s.selectedIndex].value;  
    return r;
}

function unit_change() { 
    var s = document.getElementById( 'size_1' );
    s.innerHTML = get_size_str('A4', 'long'); 
    s = document.getElementById( 'radio_1' );
    s.value     = get_size_str('A4', 'short');
    
    s = document.getElementById( 'size_2' );
    s.innerHTML = get_size_str('A3', 'long');
    s = document.getElementById( 'radio_2' );
    s.value     = get_size_str('A3', 'short');

    s = document.getElementById( 'size_3' );
    s.innerHTML = get_size_str('Letter', 'long');
    s = document.getElementById( 'radio_3' );
    s.value     = get_size_str('Letter', 'short');

    s = document.getElementById( 'size_4' );
    s.innerHTML = get_size_str('Legal', 'long');
    s = document.getElementById( 'radio_4' );
    s.value     = get_size_str('Legal', 'short');

    s = document.getElementById( 'size_5' );
    s.innerHTML = get_size_str('Tabloid', 'long');
    s = document.getElementById( 'radio_5' );
    s.value     = get_size_str('Tabloid', 'short');

    s = document.getElementById( 'unit_1' );
    s.innerHTML = get_unit();

    s = document.getElementById( 'unit_spacing')
    var unit = get_unit();
    if (unit == 'inches') unit = 'in';
    s.value = unit;  

    s = document.getElementById( 'unit_bt' );
    s.value = unit;
    s = document.getElementById( 'unit_bl' );
    s.value = unit;
    s = document.getElementById( 'unit_br' );
    s.value = unit;
    s = document.getElementById( 'unit_bb' );
    s.value = unit;
 
} 

function get_size_str(type, length) { 
    var unit = get_unit(); 
    var factor = 0;
    var h = 0;
    var w = 0;
    switch(unit) {
        case 'mm' : factor=1;
                    break; 
        case 'cm' : factor=0.1;
                    break;
        case 'inches' : factor = 1/25.4;
                    break;
    }

    switch(type) {
        case 'A4':
                   w = 210;
                   h = 297;
                   break;
        case 'A3':
                   w = 297;
                   h = 420;
                   break;
        case 'Tabloid':                  
                   h = 431.8;
                   w = 279.4;
                   break;
        case 'Letter' : 
                   h = 279.4;
                   w = 215.9;
                   break;
        case 'Legal' : 
                   h = 355.6;
                   w = 215.9;
                   break;
    }
    if (length == 'long') {
        return type + ' (' + round_one(factor*w) + ' x ' + round_one(factor*h) + ' ' + unit + ')';
    } else { 
        return round_one(factor*w) + ' x ' + round_one(factor*h);
    }
}
