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

    File:        opdr_search.asp (formerly orders_search.asp;35, ComplainsReportAll.asp;72)
    Description:   Toont zoekvelden voor lijst van opdrachten
    Parameters:    {NADER UITWERKEN}
      urole        gebruikers rol (fe|fo|bo|mi) REQUIRED
      accept = 1   als ik MLDBO3 autorisatie heb, mag ik alleen accepteren
      close = 1    als ik MLDBO2 autorisatie heb, mag ik de melding alleen afsluiten
      mld_key      melding key van de melding
      cnt          aanroep vanuit een contract
      skey         x
      ckey         contract key
      pkey         melder (key)van de melding
      bes          x
      locatie_key  initiële locatie key
      gebouw_key   initiële gebouw key
    Context:       Vanuit portal, melding, of cnt_list, of..
    Note:          In principe kan voor elk veld een parameter worden gegeven (conventies hanteren!)
                   Note: Toevoegen gaat niet meer hier vandaan, dus er is heel wat verdwenen
*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/uitvoerendeselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<!-- #include file="mld.inc" -->

<%
// suggest en jQuery worden door persoonselector.inc, plaatsselector.inc en afdelingselector.inc al als plugin toegevoegd
// plaatsselector.js wordt door plaatsselector.inc als js script toegevoegt
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"],
                      js: ["../MLD/opdr_search.js"]
                    });

/***** Get webform parameters *****/
var urole = getQParamSafe("urole");

// FSN#674 Intention: backo may fully handle its orders (including Add), fronto has limited rights
var fronto = urole == "fo";
var backo = urole == "bo";
var minfo = urole == "mi"; // NOT APPLICABLE?
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));

// LET OP: voorheen keken we of MLDBO2 of MLDBO3 wellicht gold als MLDBOF
// niet geldig was. Nu doen we dat door parameters
var justClose  = (urole == "b2");

// PREFILL PARAMETERS:
var mld_key = getQParamInt("mld_key", -1);
var autosearch = getQParamInt("autosearch", 0) == 1;
var opdr_num = getQParam("opdr_key", -1); // unsafe
var cnt = (getQParamInt("cnt", 0) == 1);
var bes = (getQParamInt("bes", 0) == 1);
var offerte = getQParamInt("offerte", -1); // Opdrachttype is een offerteaanvraag. Kan -1:don't care, 0:niet, 1:wel zijn.
var cnt_key = getQParamInt("ckey", -1);
var pkey = (frontend ? user_key : -1)
var behandel_key = getQParamInt("behandel_key", -1); // Behandelaar
var locatie_key = getQParamInt("locatie_key", -1);
var gebouw_key = getQParamInt("gebouw_key", -1);
var opdrtype_key = getQParamInt("opdrtype_key", -1);
var date_from = getQParamDate("date_from", null);
var date_to = getQParamDate("date_to", null);
var handler_key = getQParamInt("handler_key", -1); // Uitvoerende
var FreezeHandler = getQParamInt("fh", -1) ==  1; // FreezeHandler
var searchtekst = getQParam("searchtekst", ""); // Zoektekst

// Voor het praktisch toepassen moet er ook een handler zijn voor initKey
FreezeHandler = FreezeHandler && (handler_key != -1 || (frontend && !justClose));

var alg_startlevel = getQParamInt("alg_startlevel", (bes? 3 : 2)); // Startlevel van plaatsselector (Regio/Locatie). Standaard is locatie (2) of gebouw (3)
var srtdisc = getQParamInt("srtdisc", -1); // Soort melding
var disc_key_arr = getQParamIntArray("disc_key_str", []); // Productgroep
var meldinggrp_key = getQParamInt("meldinggrp_key", -1); // Meldinggroep
var behandelgrp_key = getQParamInt("behandelgrp_key", -1); // Behandelgroep
var stdm_arr = getQParamIntArray("stdm_str", []); // Melding (Stdmelding)
if (stdm_arr.length != 0 && disc_key_arr.length == 0 && srtdisc == -1)
{
  sql = "SELECT mld_ins_discipline_key"
      + ", ins_srtdiscipline_key"
      + " FROM mld_stdmelding s"
      + ", mld_discipline m"
      + " WHERE s.mld_ins_discipline_key = m.ins_discipline_key"
      + " AND mld_stdmelding_key IN (" + stdm_arr.join(",") + ")";
  oRs = Oracle.Execute(sql);
  if (!oRs.eof)
  {
    disc_key_arr = [oRs("mld_ins_discipline_key").value];
    srtdisc = oRs("ins_srtdiscipline_key").value;
  }
}

if (opdrtype_key > 0)
    lcl.set_dialect(opdrtype_key, "MLD_TYPEOPDR_KEY");

/***** End get webform parameters *****/

// So what authorization must we check?
var autfunction = {fe: "WEB_MLDORD", bo: "WEB_ORDBOF", b2: "WEB_ORDBO2"}[urole];

//@@@ Er stond in 4.81 ook nog:   if (func_enabled[cnt? "WEB_CNTMAN" : autfunction]) ...
// MGE: Je hebt dus WEB_CNTMAN rechten nodig als je wordt aangeroepen vanuit contracten => Ook even checken of je die wel hebt
if (cnt)
  var authparams = user.checkAutorisation("WEB_CNTUSE"); // Stelling: Als je WEB_CNTMAN rechten hebt moet je ook dezelfde WEB_CNTUSE rechten hebben/krijgen.
var authparams = user.checkAutorisation(autfunction);
%>

<html>
  <head>
    <% FCLTHeader.Generate(); %>

    <script type="text/javascript">
      function doSubmit()
      {
<% if (xd.enabled()) { %>
        if ($("#xd").is(":checked"))
        {
              $("form[name=u2]").attr("action", "opdr_search_list_xd.asp");
        } else {
              $("form[name=u2]").attr("action", "opdr_search_list.asp");
        }
<% } %>
          doSubmitWithKenmerken();
      }
<% if (xd.enabled()) { %>
      function xdclicked()
      {
        var doxd = document.getElementById("xd").checked;
        $(".noxd").toggle(!doxd);
        $(".onlyxd").toggle(doxd);
        iface_toggleSecondarySearchblock(false); // altijd uitschakelen
      }
<% } %>
      function myModal()
        {
          if ($('#opdrtype').val() == -1)
          {
            alert(L("lcl_select_notypeopdr_selected"));
            return;
          }

          var key = $('#opdrtype').val();
          var url = "load_kenmerk.asp?opdr_type=" + $('#opdrtype').val()
                  + "&urole=<%=urole%>"
                  + "&advanced=1";
          var titel = "<%=L("lcl_mld_ord_kenmerken")%>";
          showKenmerkModal(url, titel)
        }
<%
      if (autosearch)
      {
%>      $(document).ready(doSubmit);
<%    } %>
    </script>
  </head>

  <body id="searchbody">
    <div id="search">
      <form action="opdr_search_list.asp" method="get" name="u2" target="workFrame">
<%      BLOCK_START("searchtable", L("lcl_filterblok"));%>
        <tr>
          <td class="searchkolom1">
        <input type="hidden" name="urole" value="<%=urole%>">
        <input type="hidden" name="user_key" value="<%=user_key%>">
        <input type="hidden" name="bes" value="<%=bes? 1 : 0%>">
        <input type="hidden" name="offerte" id="offerte" value="<%=offerte%>">
            <table><!-- x rijen, 2 kolommen: label + veld -->
<%
            if (xd.enabled())
                RWCHECKBOXTR("xd", "fldxd", L("lcl_xd_crossdomain"), false, {html: "onclick='xdclicked()'"});
%>
            <tr class="primsearch">
              <!-- Opdrachtnummer -->
              <td class="label"><label for="opdr_key"><%=L("lcl_mld_order_nr")%>:</label></td>
              <td>
                <input type="text" class="fldopdrnr" name="opdr_key" <%=(opdr_num != -1) ? "value='" + safe.htmlattr(opdr_num) + "'" : ""%>>
              </td>
            </tr>

<%          if (cnt)
            { // <!-- Extern nummer -->
                sql = "SELECT c.cnt_contract_key"
                    + ", c.cnt_contract_nummer || ' - ' || b.prs_bedrijf_naam"
                    + " FROM cnt_v_aanwezigcontract c"
                    + ", prs_v_aanwezigbedrijf b"
                    + " WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key"
                    + "    AND c.cnt_contract_status IN (0, 1)"
                    + " ORDER BY 2";

                FCLTselector("contract",
                             sql,
                             { initKey: cnt_key,
                               label: L("lcl_cnt_contractnr"),
                               emptyOption: "",
                               trclass:"primsearch noxd",
                               initEmpty: true, // Altijd lege waarde tonen, ook als er maar 1 waarde is.
                               readonly: (cnt_key > 0)
                             })
%>
              <!-- Contractnummer -->
              <tr class="primsearch noxd">
                <td class="label"><label for="cntnr"><%=L("lcl_cnt_intern_nr")%>:</label></td>
                <td>
                  <input type="text" class="fldcntnr<%=cnt_key > 0? " readonly" : ""%>" name="cntnr" <%=cnt_key != -1? 'value="' + cnt_key + '"':''%> <%=cnt_key > 0? "readonly" : ""%>>
                </td>
              </tr>
<%          } // cnt
%>
            <!-- Zoektekst -->
            <tr class="primsearch">
              <td class="label"><label for="searchtekst"><%=L("lcl_search_diff_fields")%>:</label></td>
              <td>
                <input type="text" class="fldsrch wildcard" name="searchtekst" value="<%=safe.htmlattr(searchtekst)%>">
              </td>
            </tr>
<%
            // <!-- Opdrachttype -->
%>
                <tr class="primsearch onlyxd hidden">
                  <td class="label"><label for="ordertypetekst"><%=L("lcl_mld_typeopdr")%>:</label></td>
                  <td>
                    <input type="text" class="fldsrch wildcard" name="ordertypetekst" value="">
                  </td>
                </tr>

<%           
           if (opdrtype_key == -1)
           {
             sql = "SELECT t.mld_typeopdr_key"
                  + ",   "+ lcl.xsqla('t.mld_typeopdr_omschrijving', 't.mld_typeopdr_key')
                  + "  FROM mld_typeopdr t"
                  + (offerte >= 0
                    ? " WHERE t.mld_typeopdr_isofferte = " + offerte
                    : "")
                  + " ORDER BY 2";
                  
              var sqlcnt = "SELECT COUNT ( * ) nropdrtype"
                         + "  FROM ("  + sql + ")";
              
              var oRs2 = Oracle.Execute(sqlcnt);
              if (oRs2("nropdrtype").Value == 1)
              {
                var oRs = Oracle.Execute(sql);
                opdrtype_key = oRs("mld_typeopdr_key").Value;
                oRs.close(); 
              }                    
              oRs2.close();
              
              if (opdrtype_key == -1)
              {                                                                                     
                FCLTselector("opdrtype",
                             sql,
                             { initKey: opdrtype_key,
                               label: L("lcl_mld_typeopdr"),
                               trclass:"primsearch noxd",
                               emptyOption: ""
                             });
              } 
           }
           
          if (opdrtype_key > -1)
          {
            %><input type='hidden' id='opdrtype' name='opdrtype' value='<%=opdrtype_key%>'><%
          }                                       
                         %>

<%

            // <!-- Uitvoerende -->
            // Ben ik toevallig een contactpersoon van een extern bedrijf? Dan mag ik automatisch
            // alleen de opdrachten van mijn bedrijf/bedrijven zien (AADS#)
            var exhandler = mld.iamContact();

            if (FreezeHandler)
            { // Uitvoerende is vast
                %><input name="handler" id="handler" type="hidden" value="<%=(handler_key != -1 ? handler_key : user_key)%>"><%
            } else {
%>
                <tr class="primsearch onlyxd hidden">
                  <td class="label"><label for="suppliertekst"><%=L("lcl_handler")%>:</label></td>
                  <td>
                    <input type="text" class="fldsrch wildcard" name="suppliertekst" value="">
                  </td>
                </tr>

<%              FCLTuitvoerendeselector("handler",
                                       "sgUitv",
                                       { uitvoerendekey: handler_key,
                                         label: L("lcl_handler"),
                                         trclass:"primsearch noxd",
                                         autlevel: authparams.PRSreadlevel,
                                         whenEmpty: L("lcl_search_generic"),  // want filter
                                         filtercode: "M",
                                         lutype: "B",   // Eeh, filtercode en lutype hebben toch alles met elkaar te maken, lutype wegwerken?
                                         exhandler: exhandler
                                       });
            }

            // Als een srtdisc meegegeven dan geen lege optie
            sql = "SELECT DISTINCT sd.ins_srtdiscipline_key"
                + ", "+ lcl.xsqla('sd.ins_srtdiscipline_omschrijving', 'sd.ins_srtdiscipline_key')
                + " FROM ins_srtdiscipline sd"
                + (offerte >= 0
                  ? "       , mld_typeopdr_srtdiscipline tsd"
                    + "     , mld_typeopdr mto"
                    + " WHERE sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
                    + "   AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
                    + "   AND mto.mld_typeopdr_isofferte = " + offerte
                  : " WHERE 1 = 1")
                + " AND EXISTS (SELECT 'x'"
                  + " FROM mld_stdmelding ms"
                  + ", mld_v_aanwezigdiscipline m1"
                  + " WHERE m1.ins_discipline_key = ms.mld_ins_discipline_key"
                  + " AND ms.mld_stdmelding_verwijder IS NULL)"
                + " AND EXISTS (SELECT 'y'"
                  + " FROM fac_v_my_disciplines md"
                  + " , mld_v_aanwezigdiscipline m1"
                  + " WHERE fac_functie_code = " + safe.quoted_sql(autfunction) + " "
                  + " AND prs_perslid_key = " + user_key
                  + " AND m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
                  + " AND md.ins_discipline_key = m1.ins_discipline_key"
                  + ") "
                + (srtdisc != -1
                  ? " AND ins_srtdiscipline_key IN(" + srtdisc + ") "
                  : " ")
                + " ORDER BY 2"
            FCLTselector("srtdisc",
                         sql,
                         { initKey: srtdisc,
                           label: L("lcl_vakgroup_type"),
                           trclass: "secsearch noxd",
                           onChange: 'updateDisc("' + urole + '", "' + autfunction + '");',
                           emptyOption: (srtdisc == -1? L("lcl_all") : null) // Als een srtdisc is meegegeven dan geen lege optie
                         }) %>

            <!-- Productgroep -->
<%          // LET OP!!
            // De options van deze selector wordt on-change dynamisch vervangen door ../shared/loadDisc.asp!
            // Wat hier staat is dus alleen de initiele situatue.
            // SQL-queries uit loadDisc:
            var discsql_aut = "SELECT ins_discipline_key"
                        + "  FROM fac_v_webgebruiker g"
                        + ", fac_functie f"
                        + " WHERE g.prs_perslid_key = " + user_key
                        + " AND f.fac_functie_key = g.fac_functie_key"
                        + " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
                        + " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen

            var discsql = "SELECT DISTINCT m1.ins_discipline_key"
                    + ", CASE "
                      + " WHEN sd.ins_srtdiscipline_prefix IS NULL"
                      + " THEN ''"
                      + " ELSE sd.ins_srtdiscipline_prefix || '-'"
                      + " END"
                      + " || "+lcl.xsqla('m1.ins_discipline_omschrijving', 'm1.ins_discipline_key')
                    + " FROM mld_v_aanwezigdiscipline m1"
                    + ", ins_srtdiscipline sd"
                    + (offerte >= 0
                      ? "   , mld_typeopdr_srtdiscipline tsd"
                        + " , mld_typeopdr mto"
                      : "")
                    + " WHERE m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)"
                    + (offerte >= 0
                      ? " AND sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
                        + " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
                        + " AND (tsd.ins_discipline_key IS NULL OR tsd.ins_discipline_key = m1.ins_discipline_key)"
                        + " AND mto.mld_typeopdr_isofferte = " + offerte
                      : "")
                    + " AND EXISTS (SELECT 'x'"
                      + " FROM mld_stdmelding ms"
                      + " WHERE m1.ins_discipline_key = ms.mld_ins_discipline_key"
                      + " AND ms.mld_stdmelding_verwijder IS NULL)"
                    + " AND m1.ins_discipline_key IN (" + discsql_aut + ")"
                    + (srtdisc != -1
                      ? " AND m1.ins_discipline_key IN (SELECT ins_discipline_key"
                        + " FROM mld_discipline"
                        + " WHERE ins_srtdiscipline_key IN (" + srtdisc + "))"
                      : "")
                    + (disc_key_arr.length != 0
                      ? " AND m1.ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
                      : "")
                    + " ORDER BY 2"

            FCLTselector("discmulti",
                         discsql,
                         { initKey: disc_key_arr.join(","),
                           label: L("lcl_vakgroup"),
                           onChange: 'updateStdm("' + urole + '", "' + autfunction + '");',
                           trclass: "secsearch noxd",
                           multi: true,
                           emptyOption: (disc_key_arr.length == 0? L("lcl_all") : null) // Als een disc_key_arr is meegegeven dan geen lege optie
                         }) %>

            <!-- Melding (Stdmelding) -->
<%          // LET OP!!
            // deze selector wordt on-change dynamisch en totaal vervangen door ../Shared/loadStdmelding.asp!
            // Wat hier staat is dus alleen de initiele situatie.
            // SQL-queries uit loadStdmelding:
            var stdmsql_aut = "SELECT ins_discipline_key"
                            + "  FROM fac_v_webgebruiker g"
                            + ", fac_functie f"
                            + " WHERE g.prs_perslid_key = " + user_key
                            + " AND f.fac_functie_key = g.fac_functie_key"
                            + " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
                            + " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen

            var stdmsql = "SELECT DISTINCT s.mld_stdmelding_key"
                        + ", " + lcl.xsqla('s.mld_stdmelding_omschrijving','s.mld_stdmelding_key')
                        + ", s.mld_ins_discipline_key"
                        + " FROM mld_stdmelding s"
                        + ", mld_discipline d"
                        + (offerte >= 0
                          ? ", ins_srtdiscipline sd"
                            + ", mld_typeopdr_srtdiscipline tsd"
                            + ", mld_typeopdr mto"
                          : "")
                        + " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
                        + (offerte >= 0
                          ? " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
                            + " AND sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
                            + " AND (tsd.ins_discipline_key IS NULL OR tsd.ins_discipline_key = d.ins_discipline_key)"
                            + " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
                            + " AND mto.mld_typeopdr_isofferte = " + offerte
                          : "")
                        + " AND s.mld_stdmelding_verwijder IS NULL"
                        + " AND d.ins_discipline_verwijder IS NULL"
                        + (fronto || backo
                          ? ""
                          : " AND s.mld_stdmelding_notfrontend = 0")
                        // srtdisc wordt impliciet afgedwongen via afhankelijkheid
                        + (disc_key_arr.length != 0
                          ? " AND s.mld_ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
                          : "")
                        + " AND s.mld_ins_discipline_key IN (" + stdmsql_aut + ")"
                        + " ORDER BY "+ lcl.xsql('s.mld_stdmelding_omschrijving','s.mld_stdmelding_key');

            FCLTselector("sm", // heette stdmmulti maar nu korte naam om url kort te houden
                         stdmsql,
                         { initKey: stdm_arr.join(","),
                           label: L("lcl_complain"),
                           trclass: "secsearch noxd",
                           multi: true,
                           emptyOption: L("lcl_all")
                         });

            // Meldinggroep
            // Laat alle meldinggroepen zien die voorkomen onder de disciplines die ik mag zien.
            var grpsql_aut = "SELECT ins_discipline_key"
                           + "  FROM fac_v_webgebruiker g"
                           + ", fac_functie f"
                           + " WHERE g.prs_perslid_key = " + user_key
                           + " AND f.fac_functie_key = g.fac_functie_key"
                           + " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
                           + " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen

            var grpsql = "SELECT G.mld_stdmeldinggroep_key akey"
                       + ", " + lcl.xsqla('G.mld_stdmeldinggroep_naam','G.mld_stdmeldinggroep_key')
                       + " FROM mld_stdmelding M"
                       + "    , mld_stdmeldinggroep G"
                       + " WHERE M.mld_stdmeldinggroep_key = G.mld_stdmeldinggroep_key"
                       + "   AND M.mld_stdmelding_verwijder IS NULL"
                       + " AND M.mld_stdmeldinggroep_key IS NOT NULL"
                       + (srtdisc != -1
                         ? " AND mld_ins_discipline_key IN (SELECT ins_discipline_key"
                           + " FROM mld_discipline"
                           + " WHERE ins_srtdiscipline_key = " + srtdisc + ")"
                         : "")
                       + (disc_key_arr != 0
                         ? " AND mld_ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
                         : "")
                       + " AND mld_ins_discipline_key IN (" + grpsql_aut + ")"
                       + " GROUP BY G.mld_stdmeldinggroep_key, mld_stdmeldinggroep_naam"
                       + " ORDER BY 2";

            FCLTselector("meldinggrp_key",
                          grpsql,
                          { initKey: meldinggrp_key,
                            label: L("lcl_mld_meldinggroep"),
                            trclass: "secsearch noxd",
                            emptyOption: ""
                          });

            // Behandelgroep-filter (indien die er zijn)
            var behsql = "SELECT mld_behandelgroep_key,"
                       + lcl.xsqla('mld_behandelgroep_naam', 'mld_behandelgroep_key')+", "
                       + lcl.xsqla('mld_behandelgroep_oms', 'mld_behandelgroep_key')
                       + "  FROM mld_behandelgroep";
            oRs = Oracle.Execute(behsql);
            if (!oRs.eof)
            {
                FCLTselector("behandelgrp_key",
                              behsql,
                              { initKey: behandelgrp_key,
                                label: L("lcl_mld_behandelgroep"),
                                trclass: "secsearch noxd",
                                emptyOption: ""
                              });
            }

%>
            </table>
          </td><!-- end column 1 -->

          <!-- Second column -->
          <td class="searchkolom2">
            <table><!-- x rijen, 2 kolommen: label + veld -->
            <!-- Soort melding -->
<%
            // <!-- Periode tot -->
            FCLTcalendar("date_from",
                         { label: L("lcl_period_from"),
                           trclass: "secsearch",
                           initEmpty: (date_from ? false : true),
                           date: date_from
                         });

            // <!-- Periode tot -->
            FCLTcalendar("date_to",
                         { label: L("lcl_period_to"), //L("lcl_mld_enddate_to"),
                           initEmpty: (date_to ? false : true),
                           date: date_to
                         });

            // <!-- Behandelaar -->
            FCLTpersoonselector("behandel_key",
                                "sgBehandelaar",
                                { perslidKey: behandel_key,
                                  label: L("lcl_mld_behandelaar"),
                                  filtercode: justClose && exhandler? "BEHOC" : "BEHO",
                                  trclass: "primsearch noxd", /* als wel xd: _self zou leuk zijn */
                                  autlevel: authparams.PRSreadlevel,
                                  autlevelALG: authparams.ALGreadlevel,
                                  whenEmpty: L("lcl_search_generic")  // want filter
                                });

            //  Melder
            FCLTpersoonselector("sName_key",
                                "sgPerson",
                                { label: L("lcl_caller"), // L("lcl_name")
                                  filtercode: "O",
                                  trclass: "secsearch noxd",
                                  autlevel: authparams.PRSreadlevel,
                                  whenEmpty: L("lcl_search_generic")  // want filter
                                });

            // Locatie en gebouw
            FCLTplaatsselector(authparams.ALGreadlevel, { locatiekey: locatie_key,
                                                          gebouwkey: gebouw_key,
                                                          startlevel: alg_startlevel,
                                                          eindlevel: 3, // gebouw
                                                          trclass: "noxd",
                                                          filtercode: "FAC",
                                                          whenEmpty: L("lcl_search_generic")  // want filter
                                                        });
            // Afleveradres
            FCLTselector("adr_key",
                         "SELECT mld_adres_key, mld_adres_naam"
                         + " FROM mld_adres"
                         + " WHERE mld_adres_verwijder IS NULL"
                         + " ORDER BY 2",
                         {    emptyOption: "",
                              label : L("lcl_bes_del_place"),
                              trclass: "secsearch"
                         });
%>
           </table>
          </td><!-- end column 2 -->
        </tr>

        <!-- Status checkboxen -->
<%
    // Alleen lastigvallen met Afgerond vinkje als *iemand* WEB_ORDAFR heeft en dat vinkje ooit heeft kunnen zetten.
    var sql = "SELECT 1"
            + "  FROM fac_v_webgebruiker fw, "
            + "       fac_functie ff"
            + " WHERE fw.fac_functie_key = ff.fac_functie_key"
            + "   AND fac_functie_code = 'WEB_ORDAFR'";
    var oRs = Oracle.Execute(sql);
    var anyORDAFR = !oRs.Eof;
    oRs.Close();
%>
        <tr>
          <td colspan="2">
            <div id="statusboxes">
              <label><%=L("lcl_opdr_statusfilters")%></label>
                <input type="checkbox" class="fldopdrnew" name="opdrNew" id="opdrNew" value="1"    CHECKED><label for="opdrNew" ><%=L("lcl_opdr_chk_bo_opdrNew")%></label>
                <input type="checkbox" class="fldopdrbusy" name="opdrBusy" id="opdrBusy" value="1" CHECKED><label for="opdrBusy"><%=L("lcl_opdr_chk_bo_opdrBusy")%></label>
                <input type="checkbox" class="fldopdrrej" name="opdrRej" id="opdrRej" value="1" ><label for="opdrRej"><%=L("lcl_opdr_chk_bo_opdrRej")%></label>
                <input type="checkbox" class="fldopdrafm" name="opdrAfm" id="opdrAfm" value="1" ><label for="opdrAfm"><%=L("lcl_opdr_chk_bo_opdrAfm")%></label>
<% if (anyORDAFR) { %>
                <input type="checkbox" class="fldopdrafr" name="opdrAfr" id="opdrAfr" value="1" ><label for="opdrAfr"><%=L("lcl_opdr_chk_bo_opdrAfr")%></label>
<% } %>
                <input type="checkbox" class="fldopdrver" name="opdrVer" id="opdrVer" value="1" ><label for="opdrVer"><%=L("lcl_opdr_chk_bo_opdrVer")%></label>
            </div>
          </td>
        </tr>
<%      BLOCK_END();
      var buttons = [{ title: L("lcl_search"), action: "doSubmit();"}];
      buttons.push ( {title: L("lcl_shared_more"),  action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess", xclass: "noxd" } );
      buttons.push({ title: L("lcl_obj_advanced"), action: "myModal()", xclass: "noxd"});
      CreateButtons(buttons, { entersubmit: true });
%>
      </form>
    </div> <!-- search -->

    <div id="result">
      <iframe width="100%" height="100%"
              src="../Shared/empty.asp"
              name="workFrame" id="workFrame"
              onload="FcltMgr.iframeLoaded(this)"
              frameborder="0" scrolling="no">
      </iframe>
    </div>
  </body>
</html>
