/*
     $Revision$
     $Id$

*/
// This file is used both on terrain and on room-level
// In some functions 'Rooms' is used as a synonym for 'Terreinsector'

// Result: comma-separated list of room-keys as selected in the list-box
// where is terr or rooms
function selectedRoomsList(where) {
    var sl1s = document.getElementById(where)
    var dt1s = "";
    var op1s = sl1s.options;
    for( i1s=0; i1s<op1s.length; i1s++ ) {
        if( op1s[i1s].selected && op1s[i1s].value != "-1")
            dt1s = dt1s + op1s[i1s].value + ", ";
    }
    if( dt1s != "" ) // Laatste komma er af
    {
        dt1s = dt1s.substring( 0, dt1s.length - 2 );
    }
    return dt1s;
}

// Ga naar (highlight) een specifiele ruimte.
// Als daar een andere tekening voor nodig is wordt die automatisch voorgehaald.
// data heeft { rui_key, floor_key, floor_oms etc. }
// disc is een optionele discipline_key die in de listbox aangezet wordt
// data
function gotoRoom( data, disc )
{
    var i;
    if (disc != null)
    {
        var opts = document.getElementById("sDiscsIn").options;
        for(i=0;i<opts.length;i++)
        {
            if( opts[i].value == disc )
                opts[i].selected = true;
        }
    }

    if (floor_key != data.flr_key)
    {
        sgLoc.setValue(data.loc_key, data.loc_oms, false/*doonChange*/);
        sgBld.setValue(data.bld_key, data.bld_oms, false/*doonChange*/);
        // Let wel: mogelijk zijn de goede ruimtes nog niet geladen.
        // Uiteindelijk komt dat allemaal wel goed doordat we forceRoom zetten
        forceRoom = data.rui_key;
        sgFlr.setValue(data.flr_key, data.flr_oms, true/*doonChange*/);
    }
    else
    {
        sl = document.getElementById("rooms");
        if( sl.selectedIndex == -1 || sl.options[sl.selectedIndex].value != data.rui_key )
        {
            for( i=0; i<sl.length; i++ ) {
                if( sl.options[i].value == data.rui_key ) {
                  sl.selectedIndex = i;
                  myRefresh();
                }
            }
        }
    }
    return;
}

// Laad de project ruimtes. Als er nog geen scenario was dan wordt die nu aangemaakt
function updatePRJRooms(floor_key, scenario_key)
{
    var loadUrl = "../prj/loadPRJRuimteOptions.asp?floor_key="+floor_key+'&scenario_key='+scenario_key;
    $("#rooms").load(loadUrl, // eerste poging
            function(data)
            {
                if ($("#rooms")[0].options.length==1) // alleen de lege is er nog maar
                {
                    FcltMgr.confirm(L("lcl_prj_addfloor"), function() {
                        $.getJSON("../prj/scenario_init.asp?scenario_key=" + scenario_key + "&floor_key=" + floor_key,
                            function(data) // Tweede poging
                            {
                                if (data.warning)
                                    FcltMgr.alert(data.warning)
                                if (data.success)
                                    $("#rooms").load(loadUrl, myRefresh);
                            });
                    });
                }
                else
                {
                    myRefresh();
                }
            });
}
