var register_step;

function updateSpeeds2( obj, type ) {
    register_step = true;
    updateSpeeds( obj, type );
}

function updateSpeeds( obj, type ) {
    obj.options.length = 0;
    switch( type ) {
        case "5"    : fillDialup( obj );
                      break;
        case "4"    : fillISDN( obj );
                      break;
        case "3"    : fillCable( obj );
                      break;
        case "2"    : fillDSL( obj );
                      break;
        default     :
        case "1"    : fillColocated( obj );
                      break;
   }
}

function fillDialup( obj ) {
    obj.options[0] = new Option( "56K6", 5 );
    // Because there is only one option available,
    // there is no need to select anything else, so disable the control
    obj.disabled = true;
}

function fillISDN( obj ) {
    // Speed Array list is composed as follows :
    // "<description>", <speed in KByte/s>
    // KiloBYTES !, not bits !
    var colspeeds = [ "All", 0,
                      "Single ISDN (64 Kbit/s)", 8,
                      "Dual ISDN (128 Kbit/s)", 16,
                      "ISDN-30 (1,5 Mbit/s)", 192 ];

    fillList( obj, colspeeds );
    // Control might have been disabled when dial-up was previously selected,
    // so enable it again
    obj.disabled = false;
}

function fillCable( obj ) {
    var colspeeds = [ "All", 0,
                      "64 Kbit/s", 8,
                      "128 Kbit/s", 16,
                      "256 Kbit/s", 32,
                      "512 Kbit/s", 64,
                      "768 Kbit/s", 92,
                      "1 Mbit/s", 128,
                      "1,5 Mbit/s", 192,
                      "2 Mbit/s", 256,
                      "4 Mbit/s", 512 ];
    fillList( obj, colspeeds );
    obj.disabled = false;
}

function fillDSL( obj ) {
    var colspeeds = [ "All", 0,
                      "Lite 256 Kbit/s", 8,
                      "Basic 768 Kbit/s", 32,
                      "Fast 1,5 Mbit/s", 192,
                      "Pro 2 Mbit/s", 256,
                      "Max 8 Mbit/s", 1024 ];

    fillList( obj, colspeeds );
    obj.disabled = false;
}
                    
function fillColocated( obj ) {
    obj.options[0] = new Option( "100 Mbit/s", 12800 );
    obj.disabled = true;
}

function fillList( obj, list ) {
    var startItem = ( register_step ? 2:0 );
    for( x = startItem; x < list.length; x += 2 ) {
        obj.options[obj.options.length] = new Option( list[x], list[x+1] );
    }
}

