<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

     File:           ins_list.asp
     Description:    Vangt de parameters op en verwerkt die in een aanroep van ins_list
     Parameters:     urole
                     Alle zoek-criteria van ins_search.asp
     Context:        - anywhere where a object list is required
     Note:           More generic version of ins_search_list.asp
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="ins_list.inc" -->

<%
// TODO: enige read-scope controle toevoegen
var urole= getQParamSafe("urole", "bo");
var outputmode = getQParamInt("outputmode", 0); //  0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;

// Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
var loc_key_arr = getQParamKeyArray("locatiekey", []); // Locatie
var bld_key_arr = getQParamKeyArray("gebouwkey", []); // Gebouw
var bttype = getQParam("bttype", ""); // Type van gebouw/terrein ("B", "T"). Bepaald of bld_key een gebouw of terreinsector key bevat.
var terr_key_arr = []; // Terrein
var flr_key_arr = getQParamKeyArray("verdiepingkey", []); // Verdieping
var room_keys = getQParamKeyArray("ruimtekey", []); // Ruimte
var wpl_key = getQParamInt("werkplekkey", -1); // Werkplek
var deel = getQParam("deel", ""); // Identieficatie
var disc_key = getQParamInt("disc", -1); // Discipline
var insgroup_key = getQParamInt("srtgroup", -1); // Groep
var objsrt_key = getQParamInt("srtdeel", -1); // Objectsoort
var srtcontrole_key = getQParamInt("srtcontrole_key", -1); // Objectsoort
var dep_key = getQParamInt("sDept_key", -1); // Organisatie key
var persoon_key = getQParamInt("sName_key", -1); // Persoon key
var cpersoon_key = getQParamInt("cps_key", -1); // Contactpersoon key
var mld_key = getQParamInt("mld_key", -1); // Melding key (voor daaraan gekoppelde objecten)
var checkout = getQParamInt("checkout", 0) == 1; // Tijdens uitchecken bezoeker.

var insObjIncl = getQParamInt("insObjIncl", 0) == 1; // Ook onderdelen
var expObjIncl = getQParamInt("expObjIncl", 0) == 1; // Ook vervallen objecten
var insLentOut = getQParamInt("insLentOut", 0) == 1; // Uitgegeven
var insAvail = getQParamInt("insAvail", 0) == 1; // Beschikbaar
var inacObjIncl = getQParamInt("inacObjIncl", 0) == 1; // Ook inactieve objecten
var insPhotoIncl = getQParamInt("insPhotoIncl", 0) == 1; // Ook afbeeldingen
var insSensOnly = getQParamInt("insSensOnly", 0) == 1; // Alleen sensoren
var groepering = getQParamInt("groupby", -1); // Groepering
if (groepering != 1 && groepering != 2 && groepering != 3 &&
    groepering != 5 && groepering != 6 && groepering != 11 &&
    groepering != 12 && groepering != 13 && groepering != -1)
  groepering = -1;

// FGII parameters
var fgraph = getQParamInt("fgraph", 0) == 1;
var ins_key_arr = getQParamIntArray("ins_key", []); // Was obj_key
var parent_key = getQParamInt("parent_key", -1);
var koppel_key = getQParamInt("koppel_key", -1);
var terr_key = getQParamInt("terr", -1); // Terrein
var rooms_keys = getQParamKeyArray("rooms", []); // Ruimten
var comp_key = getQParamInt("company", -1);
var embedded = getQParamInt("embedded", -1);
var tiny = getQParamInt("tiny", -1);

var room_key_arr = room_keys.concat(rooms_keys);  // Voeg de twee ruimte key arrays samen.
/***** End get webform parameters *****/

if (parent_key > 0)
{
    var sql = "SELECT 1 FROM ins_deel"
            + " WHERE ins_deel_parent_key = " + parent_key;
    cache.whenNoRecords(sql);
}
if (koppel_key > 0)
{
    var sql = "SELECT 1 FROM ins_deelkoppeling"
            + " WHERE ins_deelkoppeling_naar_key = " + koppel_key
            + "    OR ins_deelkoppeling_van_key = " + koppel_key;
    cache.whenNoRecords(sql);
}

if (!fgraph && bttype == "T")
{ // bld_key_arr is een terrein key
  terr_key_arr = bld_key_arr;
  bld_key_arr = [];
}

var autfunction = "";
switch(urole)
{
  case "fe": autfunction = "WEB_INSUSE";
           break;
  case "fo": autfunction = "WEB_INSFOF";
           break;
  case "bo": autfunction = "WEB_INSMAN";
           break;
}

ins_list ( autfunction,
           { urole : urole,
             outputmode: outputmode,
             showall: showall,
             loc_key_arr: loc_key_arr,
             bld_key_arr: bld_key_arr,
             terr_key_arr: terr_key_arr,
             flr_key_arr: flr_key_arr,
             room_key_arr: room_key_arr,
             wpl_key: (wpl_key != -1 ? wpl_key : null),
             deel: (deel != ""? deel : null),
             disc_key_arr: (disc_key != -1 ? [disc_key] : []),
             insgroup_key_arr: (insgroup_key != -1 ? [insgroup_key] : []),
             objsrt_key_arr: (objsrt_key != -1 ? [objsrt_key] : []),
             srtcontrole_key_arr: (srtcontrole_key != -1 ? [srtcontrole_key] : []),
             dep_key: (dep_key != -1 ? dep_key : null),
             persoon_key: (persoon_key != -1 ? persoon_key : null),
             cpersoon_key: (cpersoon_key != -1 ? cpersoon_key : null),
             mld_key: (mld_key != -1 ? mld_key : null),
             fgraph: fgraph,
             ins_key_arr: (ins_key_arr.length > 0? ins_key : null),
             parent_key: (parent_key != -1 ? parent_key : null),
             koppel_key: (koppel_key != -1 ? koppel_key : null),
             room_key_arr: (room_key_arr.length > 0 && room_key_arr.join(",").indexOf("-1") == -1? room_key_arr : null),
             comp_key: (comp_key != -1 ? comp_key : null),
             checkout: checkout,
             insObjIncl: insObjIncl,
             expObjIncl: expObjIncl,
             insLentOut: insLentOut,
             insAvail: insAvail,
             inacObjIncl: inacObjIncl,
             insPhotoIncl: insPhotoIncl,
             insSensOnly: insSensOnly,
             groepering: groepering,
             embedded: (embedded != -1? embedded : null),
             tiny: (tiny != -1? tiny : null)
           }
         );
%><% ASPPAGE_END(); %>
