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

     File:           ins_search_list.asp
     Description:    Vangt de parameters van ins_search op en verwerkt die in een aanroep van ins_list
     Parameters:     urole
                     fgraph:           we are being called from FGraph
                     inspect:          Voeg inspectie filtervelden toe
                     Alle zoek-criteria van ins_search.asp
     Context:        - INS/ins_search.asp
                     - FGraph (<cust>_Report.asp)
                     - Self (when printing)
     Note:           For FGraph-selectable objects 'owner' selection is never applicable
                    as the objects will be place-bound
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="ins_list.inc" -->

<%
var urole = getQParamSafe("urole", "");   // Indien niet meegegeven, veronderstel dan frontend gebruik
var fronto = (urole == "fo");
var backo = (urole == "bo" || urole == "b2");
var backo2 = (urole == "b2");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));

// FORM parameters: de waarde indien aanwezig, anders null
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
// Vandaar dat een default van -1 ipv null ook mag
// In eerste instantie identificeren we elk veld gewoon 1-op-1.
var outputmode = getQParamInt("outputmode", 0); //  0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;

if (outputmode == 2 || outputmode == 6)
  Server.ScriptTimeout=600; // extra tijd voor Excel wat heel veel data kan zijn

// Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
var reg_key_arr = getQParamKeyArray("regiokey", []); // Regio
var dist_key_arr = getQParamKeyArray("districtkey", []); // District
var loc_key_arr = getQParamKeyArray("locatiekey", []); // Locatie
var bld_key_arr = getQParamKeyArray("gebouwkey", []); // Gebouw
var bttype = getQParam("bttype", ""); // Type van gebouw/terrein ("B", "T" of "BT"). Bepaal of bld_key_arr gebouw en/of terreinsector key's bevat.
var terr_key_arr = getQParamKeyArray("terr", []); // 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", ""); // Identificatie
var deel_opm = getQParam("deel_opm", ""); // Omschrijving
var note_text = getQParam("note_text", ""); // Note text
var disc_key_arr = getQParamKeyArray("disc", []); // Discipline

var insgroup_key_arr = getQParamKeyArray("srtgroep", []); // Groep
var objsrt_key_arr = getQParamKeyArray("srtdeel", []); // Objectsoort
var objsrtomschr = getQParam("srtdeelomschr", ""); // Soortdeel code en/of omschrijving
var groep = getQParam("groep", ""); // Groep
if (groep == -1) groep = "";
var ctrdisc_key_arr = getQParamIntArray("ctr_discipline", []); // Ctrdiscipline
var srtcontrole_key_arr = getQParamKeyArray("srtcontrole", []); // Periodieke taken.
var dep_key = getQParamInt("sDept_key", -1); // Organisatie key
var persoon_key = getQParamInt("sName_key", -1); // Persoon key
var okbutton = getQParamInt("okbutton", 0) == 1; // show okbutton
var inspsoonfrom = getQParamDate("inspsoon_from", null); // Periode van
var inspsoonto = getQParamDate("inspsoon_to", null); // Perdiode tot
var donedatefrom = getQParamDate("donedate_from", null); // Periode van
var donedateto = getQParamDate("donedate_to", null); // Perdiode tot
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
var beh_key = getQParamInt("sBeh_key", -1); // Beheerder key
var tiny = getQParamInt("tiny", null); //beknopte lijst
var groepering = getQParamInt("groupby", -1); // Groepering
var eigen = getQParamInt("self", 0); // Alleen mijn bezit (beperking op urole=fe)

var insObjIncl = getQParamInt("insObjIncl", 0) == 1; // Ook onderdelen
var expObjIncl = getQParamInt("expObjIncl", 0) == 1; // Ook vervallen objecten
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 insLentOut = getQParamInt("insLentOut", 0) == 1; // Uitgegeven
var insAvail = getQParamInt("insAvail", 0) == 1; // Beschikbaar
var lentoutAction = getQParamInt("lentoutAction", -1); // Niet in tracking zoeken
var lentoutDateFrom = getQParamDate("lentoutDate_from", null);
var lentoutDateTo = getQParamDate("lentoutDate_to", null);

var insSuccessY = getQParamInt("insSuccessY", 0) == 1; // Succes Ja.
var insSuccessN = getQParamInt("insSuccessN", 0) == 1; // Succes Nee.

var insInspect = getQParamInt("inspect", 0) == 1;
var inspDone = getQParamInt("insInspDone", 0) == 1;
var inspBusy = !inspDone && getQParamInt("insInspBusy", 0) == 1;
var inspClosed = !inspDone && getQParamInt("insInspClosed", 0) == 1;
var inspSoon = !inspDone && getQParamInt("insInspSoon", 0) == 1;

// FGII parameters
var fgraph = getQParamInt("fgraph", 0) == 1;
var ins_key_arr = getQParamIntArray("ins_key", []); // Was obj_key
//  terr_key  // Terrein, wordt hierboven al opgehaald
var rooms_keys = getQParamKeyArray("rooms", []); // Ruimten
var comp_key = getQParamInt("company", -1);

var room_key_arr = room_keys.concat(rooms_keys); // Voeg de twee ruimte key arrays samen.
var mjob = getQParamInt("mjob", 0) == 1; // mjob mode

// FORM score velden.
var fitness_score1_from = getQParamFloat("fitness_score1_from", -1);               // Conditie score van.
var fitness_score1_through = getQParamFloat("fitness_score1_through", -1);         // Conditie score t/m.
var gwfitness_score1_from = getQParamFloat("gwfitness_score1_from", -1);           // Grenswaarde conditie score van.
var gwfitness_score1_through = getQParamFloat("gwfitness_score1_through", -1);     // Grenswaarde conditie score t/m.
var priority_score2_from = getQParamInt("priority_score2_from", -1);             // Prioriteitsscore van.
var priority_score2_through = getQParamInt("priority_score2_through", -1);       // Prioriteitsscore t/m.

/***** End get webform parameters *****/
if (ctrdisc_key_arr.length == 1)
    lcl.set_dialect(ctrdisc_key_arr[0], "CTR_DISCIPLINE_KEY");
if (disc_key_arr.length == 1)
    lcl.set_dialect(disc_key_arr[0], "INS_DISCIPLINE_KEY");

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

var autfunction = "";
switch(urole)
{
  case "fe":
          autfunction = "WEB_INSUSE";
          break;
  case "fo":
          autfunction = "WEB_INSFOF";
          break;
  case "b2":
  case "bo":
          if (eigen == 1)  // icm bo
            autfunction = "WEB_INSMIN";
          else
            autfunction = "WEB_INSMAN";
          break;
}

var params = { urole : urole,
               outputmode: outputmode,
               showall: showall,
               tiny: tiny,
               groepering: groepering,
               reg_key_arr: reg_key_arr,
               dist_key_arr: dist_key_arr,
               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),
               deel_opm: deel_opm,
               note_text: note_text,
               disc_key_arr: disc_key_arr,
               insgroup_key_arr: insgroup_key_arr,
               objsrt_key_arr: objsrt_key_arr,
               objsrt_oms: objsrtomschr,
               groep: (groep != "" ? groep : null),
               ctrdisc_key_arr: ctrdisc_key_arr,
               srtcontrole_key_arr: srtcontrole_key_arr,
               dep_key: (dep_key != -1 ? dep_key : null),
               persoon_key: (persoon_key != -1 ? persoon_key : null),
               verantw_key: (verantw_key != -1 ? verantw_key : null),
               beh_key: (beh_key != -1 ? beh_key : null),
               dienst_key: getQParamInt("dienst_key", -1), // Dienst.
               cnt_bedrijf_key: getQParamInt("cnt_bedrijf_key", -1), // Bedrijf.
               fgraph: fgraph,
               inspect: insInspect,
               inspClosed: inspClosed,
               inspDone: inspDone,
               inspBusy: inspBusy,
               inspSoon: inspSoon,
               ins_key_arr: (ins_key_arr.length > 0? ins_key_arr : null),
               comp_key: (comp_key != -1 ? comp_key : null),
               inspsoonfrom: inspsoonfrom,
               inspsoonto: inspsoonto,
               donedatefrom: donedatefrom,
               donedateto: donedateto,
               insObjIncl: insObjIncl,
               expObjIncl: expObjIncl,
               inacObjIncl: inacObjIncl,
               insPhotoIncl: insPhotoIncl,
               insSensOnly: insSensOnly,
               insLentOut: insLentOut,
               insAvail: insAvail,
               lentoutAction: lentoutAction,
               lentoutDateFrom: lentoutDateFrom,
               lentoutDateTo: lentoutDateTo,
               insSuccessY: insSuccessY,
               insSuccessN: insSuccessN,
               mjob: mjob,
               fitness_score1_from : fitness_score1_from,
               fitness_score1_through : fitness_score1_through,
               gwfitness_score1_from : gwfitness_score1_from,
               gwfitness_score1_through : gwfitness_score1_through,
               priority_score2_from : priority_score2_from,
               priority_score2_through : priority_score2_through,
               eigen: eigen,
               withflex: true
             };
// Flags
params.flags = [];
for (flagkey=0; flagkey < S("ins_deel_flags"); flagkey++)
{
  if (getQParam("flag" + flagkey, "off") == "on")
      params.flags.push(flagkey);
}

ins_list(autfunction, params);
%><% ASPPAGE_END(); %>
