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

    File:               res_show_rsv_ruimte.asp
    Description:        Tonen van het ruimte edit/select blok voor een reservering
    Parameters:
        rsv_ruimte_key  required, existing rsv_ruimte_key. Al het andere zoeken we er zelf bij
        urole           required
    Context:            (Altijd) subframe van res_reservering.asp
    Note:
 */
 %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="res_flexkenmerk.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/rater.inc" -->

<%
FCLTHeader.Requires({plugins: ["jQuery"]})
%>

<html>
  <head>
<%  FCLTHeader.Generate() %>
<%  // Required parameters
    var urole = getQParamSafe("urole");
    var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
    var auto_like = getQParamInt("autolike",0) == 1;

    var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
    var hasFOBOread = this_res.canReadFO || this_res.canReadBO;
    user.auth_required_or_abort(this_res.canReadAny);

    var fronto = urole == "fo"; // DEPRECATED
    var backo = urole == "bo";

    // rrr is een belangrijke globale: hij bevat 'allerlei' info uit het res_rsv_ruimte record
    //     en eventueel wat daar 1-op-1 uit afgeleid kan worden
    // conventie: altijd dezelfde naam als het database veld, maar dan zonder res_
    // Bestaande reservering
    {
      // Zoek zo snel mogelijk info van res_rsv_ruimte op. res_rsv_ruimte_key hebben we
      // gegarandeerd maar de rest kan nog erg dirty zijn.
      // dirty: zelfs alg_ruimte_key en res_opstel_key kunnen leeg zijn.

      sql = "SELECT rr.res_reservering_key, "
          + "       rr.res_reservering_ispool, "
          + "       res_rsv_ruimte_verwijder, "
          + "       rrr.res_status_fo_key, "
          + "       rrr.res_status_bo_key, "
          + "       rrr.res_rsv_ruimte_flag, "
          + "       rrr.res_rsv_ruimte_van, "
          + "       rrr.res_rsv_ruimte_tot, "
          + "       trunc(rrr.res_rsv_ruimte_tot) - trunc(rrr.res_rsv_ruimte_van) meerdaags, "
          + "       rrr.res_activiteit_key, "
          + "       sa.res_srtactiviteit_prefix, "
          + "       sa.res_srtactiviteit_key,"
          + "       res_rsv_ruimte_noshow, "       // Oude stijl
          + "       res_rsv_ruimte_bezoekers, "
          + "       res_rsv_ruimte_volgnr, "
          + "       res_rsv_ruimte_dirtlevel, "
          + "       res_rsv_ruimte_aanmaak, "
          + "       alg_ruimte_key, res_ruimte_opstel_key,"
          + "       COALESCE(res_rsv_ruimte_opmerking,'') res_rsv_ruimte_opmerking,"
          + "       rrr.res_rsv_ruimte_contact_key,"
          + "       rrr.res_rsv_ruimte_host_key,"
          + "       rrr.res_rsv_ruimte_omschrijving,"
          + "       rrr.res_rsv_ruimte_ordernr,"
          + "       res_rsv_ruimte_korting,"
          + "       res_rsv_ruimte_totaal,"
          + "       COALESCE (res_rsv_ruimte_kosten_klant, -1) res_rsv_ruimte_kosten_klant, "
          + "       kp.prs_kostenplaats_nr,"
          + "       COALESCE (kp.prs_kostenplaats_key, -1) prs_kostenplaats_key, "
          + "       res_rsv_ruimte_bezoekers_shown,"
          + "       rrr.res_rsv_ruimte_cvab_mode,"
          + "       sa.res_srtactiviteit_kpnverplicht,"
          + "       sa.res_srtactiviteit_metaantal,"
          + "       sa.res_srtactiviteit_metomschr,"
          + "       sa.res_srtactiviteit_metopmerk,"
          + "       rrr.res_rsv_ruimte_satisfaction,"
          + "       rrr.res_rsv_ruimte_satisfaction_op,"
          + "       res_rsv_ruimte_afgerond"
          + "  FROM res_rsv_ruimte rrr, "
          + "       res_activiteit ra, "
          + "       res_srtactiviteit sa, "
          + "       res_reservering rr,"
          + "       prs_kostenplaats kp"
          + " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
          + "   AND rrr.res_reservering_key = rr.res_reservering_key"
          + "   AND rrr.res_activiteit_key = ra.res_activiteit_key"
          + "   AND ra.res_srtactiviteit_key = sa.res_srtactiviteit_key"
          + "   AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)";

      oRs = Oracle.Execute(sql);

      var rrr = { rsv_ruimte_key      : rsv_ruimte_key,
                  reservering_key     : oRs("res_reservering_key").value,
                  reservering_ispool  : oRs("res_reservering_ispool").value == 1,
                  rsv_ruimte_verwijder: oRs("res_rsv_ruimte_verwijder").value,
                  status_fo_key       : oRs("res_status_fo_key").value,
                  status_bo_key       : oRs("res_status_bo_key").value || 2, // let op: bij CV is deze NULL
                  status_flag         : oRs("res_rsv_ruimte_flag").value||0,
                  activiteit_key      : oRs("res_activiteit_key").value,
                  rsv_ruimte_van      : new Date(oRs("res_rsv_ruimte_van").value),
                  rsv_ruimte_tot      : new Date(oRs("res_rsv_ruimte_tot").value),
                  rsv_ruimte_meerdaags: oRs("meerdaags").value!=0,
                  alg_ruimte_key      : oRs("alg_ruimte_key").value,
                  ruimte_opstel_key   : oRs("res_ruimte_opstel_key").value,
                  rsv_ruimte_noshow   : oRs("res_rsv_ruimte_noshow").value,
                  rsv_ruimte_bezoekers_shown : oRs("res_rsv_ruimte_bezoekers_shown").value,
                  rsv_ruimte_bezoekers: oRs("res_rsv_ruimte_bezoekers").value,
                  rsv_ruimte_volgnr   : oRs("res_rsv_ruimte_volgnr").value,
                  rsv_ruimte_dirtlevel: oRs("res_rsv_ruimte_dirtlevel").value,
                  rsv_ruimte_aanmaak  : new Date(oRs("res_rsv_ruimte_aanmaak").value),
                  contact_key         : oRs("res_rsv_ruimte_contact_key").value,
                  host_key            : oRs("res_rsv_ruimte_host_key").value,
                  rsv_ruimte_opmerking: oRs("res_rsv_ruimte_opmerking").value,
                  descript            : oRs("res_rsv_ruimte_omschrijving").value,
                  res_ordernr         : oRs("res_rsv_ruimte_ordernr").value,
                  // Verwijderde reservering met FO status die niet is vervallen(4): 0% korting doorberekenen.
                  ruimte_korting      : (oRs("res_rsv_ruimte_verwijder").value != null && oRs("res_status_fo_key").value != 4? 0 : oRs("res_rsv_ruimte_korting").value),
                  ruimte_totaal       : (oRs("res_rsv_ruimte_verwijder").value != null && oRs("res_status_fo_key").value != 4? 0 : oRs("res_rsv_ruimte_totaal").value),
                  kosten_klant        : oRs("res_rsv_ruimte_kosten_klant").value == 1,
                  kostenplaats_key    : oRs("prs_kostenplaats_key").value,
                  resnrtxt            : (oRs("res_srtactiviteit_prefix").value? oRs("res_srtactiviteit_prefix").value : "") + String(oRs("res_reservering_key").value) + "/"+ oRs("res_rsv_ruimte_volgnr").value,
                  srtactiviteit_kpnverplicht : oRs("res_srtactiviteit_kpnverplicht").value,
                  srtactiviteit_metaantal    : oRs("res_srtactiviteit_metaantal").value==1,
                  srtactiviteit_metomschr    : oRs("res_srtactiviteit_metomschr").value==1,
                  srtactiviteit_metopmerk    : oRs("res_srtactiviteit_metopmerk").value==1,
                  ab_mode             : oRs("res_rsv_ruimte_cvab_mode").value,
                  satisfaction        : oRs("res_rsv_ruimte_satisfaction").value,
                  satisfaction_op     : oRs("res_rsv_ruimte_satisfaction_op").value,
                  afgerond            : oRs("res_rsv_ruimte_afgerond").Value == 1
                };

      lcl.set_dialect(oRs("res_srtactiviteit_key").Value, "RES_SRTACTIVITEIT_KEY");

      // Afgeleide informatie
      if (oRs("res_ruimte_opstel_key").value)
        restype = "R";
      else
        restype = "CV"

      rrr.restype = restype;

      if (restype == "R") // zal rrr.ruimte_opstel_key gevuld zijn
      { // Get the existing res_rsv_ruimte information
        sql = "SELECT ro.res_ruimte_key"
            + "     , alg_locatie_key"
            + "     , res_ruimte_extern_id"
            + "  FROM res_ruimte_opstelling ro"
            + "     , res_v_res_ruimte_gegevens_all rrg" // _all omdat opbouw niet meer hoeft te bestaan
            + " WHERE ro.res_ruimte_opstel_key = " + rrr.ruimte_opstel_key
            + "   AND rrg.res_ruimte_key = ro.res_ruimte_key"
            + " ORDER BY rrg.res_alg_ruimte_verwijder DESC NULLS FIRST";

        oRs = Oracle.Execute(sql);
        rrr.res_ruimte_key = oRs("res_ruimte_key").Value;
	      rrr.alg_locatie_key = oRs("alg_locatie_key").Value;
      	rrr.res_ruimte_extern = oRs("res_ruimte_extern_id").Value != null;
        oRs.close();
      }
      else
      { // CV
        // Voor CV geldt de rsv_ruimte bo-status niet en nemen we de max van de onderdelen
        if (this_res.max_bo)
          rrr.status_bo_key = this_res.max_bo;
        else
          rrr.status_bo_key = -1; // Geen enkele catering/voorziening over of nog geen enkele aangemaakt

        sql = "SELECT rg.alg_ruimte_aanduiding"
            + "     , rg.alg_locatie_key"
            + "     , rg.alg_gebouw_key"
            + "     , rg.alg_verdieping_key"
            + "     , rg.alg_ruimte_key"
            + "  FROM alg_v_ruimte_gegevens_all rg" // _all omdat opbouw niet meer hoeft te bestaan
            + " WHERE rg.alg_ruimte_key = " + rrr.alg_ruimte_key
        oRs = Oracle.Execute(sql);

        rrr.alg_locatie_key = oRs("alg_locatie_key").value;
        rrr.alg_gebouw_key = oRs("alg_gebouw_key").value;
        rrr.alg_verdieping_key = oRs("alg_verdieping_key").value;
        rrr.alg_ruimte_key = oRs("alg_ruimte_key").value;
      }
    }
%>
    <script type="text/javascript">
      jQuery(document).ready(function() {
           $("#resFlex").toggle($("#k_all").val()>0); // verbergen als leeg
           $('textarea').resize(function () { FcltMgr.resized(window) } );
           $('textarea').autogrow();
<%         if (auto_like && this_res.canLike)
           { %>
             FcltMgr.fixActiveelementError();
             fac_like();
<%         } %>

      });

      function res_change()
      {
        if (FcltMgr.startEdit(window))
          window.location.href = "res_edit_rsv_ruimte.asp?urole=<%=this_res.canChangeUrole%>&rsv_ruimte_key=<%=rsv_ruimte_key%>"
      }

      function res_goedkeur()
      {
        if (confirm(L("lcl_res_goedkeur").format("<%=safe.jsstring(rrr.resnrtxt)%>")))
        { // Goedkeuren reservering
          var data = { rsv_ruimte_key: <%=rsv_ruimte_key%>
                     };
          protectRequest.dataToken(data);
          $.post( "res_goedkeur.asp"
                , data
                , FcltCallbackRefresh
                , "json"
                );
        }
      }

      function res_undelete()
      {
        if (FcltMgr.startEdit(window))
          window.location.href = "res_edit_rsv_ruimte.asp?urole=<%=this_res.canChangeUrole%>&rsv_ruimte_key=<%=rsv_ruimte_key%>&undelete=1"
      }

      function res_delete()
      {
        var url = "res_delete.asp?rsv_ruimte_key=<%=rsv_ruimte_key%>&urole=<%=urole%>";
        FcltMgr.openModalDetail(url, "<%=L("lcl_delete")%>",
                                    { callback: function (data)
                                      {
                                        if (data.refresh)
                                          FcltMgr.closeDetail(window, data);
                                      }
                                    }
                               );
      }

      function res_close()
      {
        var data = { partres_key: <%=rrr.rsv_ruimte_key%>
                   , part_type: "<%=rrr.restype%>"
                   , group: 1
                   , isroom: 1
                   };
        protectRequest.dataToken(data);
        $.post("res_close.asp",
               data,
               FcltCallbackClose,
               "json");
      }

      function res_print()
      {
        var url = '../res/res_xml.asp?res_key=<%=rrr.reservering_key%>&print_rsv_ruimte_key=<%=rsv_ruimte_key%>';
        // Share&Meet in een IFRAME gaf anders session expired
        // TODO: Conditioneel maken
        url += "<%= "&fac_id=" + customerId + "&userauth=" + user_key + "&userhmac=" + safe.url(protectHMAC.create(String(user_key))) %>";
        var wnd = window.open(url);
        try { wnd.focus() } catch(e) {};
        // doet de XSL maar: wnd.print();
      }

      function res_outlook()
      {
        var wnd = window.open('../res/res_outlook.asp?res_key=<%=rrr.reservering_key%>&print_rsv_ruimte_key=<%=rsv_ruimte_key%>');
        wnd.focus()
      }

      function resNoShow(row)
      {
          var subject = "<%=L("lcl_reservation") + ' ' + rrr.resnrtxt %>";
          url = "../res/res_noshow.asp?urole=<%=urole%>&rsv_ruimte_key=<%=rsv_ruimte_key%>";
          FcltMgr.openModalDetail(url, subject, {callback: FcltMgr.reload});
      }

      function res_mail()
      {
<%      // van de aanvrager=melder
        sql = " SELECT rr.res_rsv_ruimte_contact_key, res_rsv_ruimte_volgnr"
            + "   FROM res_rsv_ruimte rr"
            + "  WHERE rr.res_rsv_ruimte_key=" + rsv_ruimte_key;
        oRs = Oracle.Execute( sql);
        defemail_key = oRs("res_rsv_ruimte_contact_key").value;
        subject = L("lcl_reservation") + ' ' + rrr.resnrtxt;
        url = "../shared/queuemail.asp?pcode=RESMAI&defemail_key=" + defemail_key
            + "&key=" + rrr.reservering_key
            + "&xkey=" +rsv_ruimte_key
            + "&subject=" + Server.URLencode(subject)
            + "&mailfrom=" + (hasFOBOread? 1 : 0);
%>
        var subject = "<%=safe.jsstring(subject)%>";
        var url= "<%=safe.jsstring(protectQS.create(url))%>";
        FcltMgr.openModalDetail(url, subject);
      }

      function res_touch()
      {
        var url = '../pda/reserveringen.asp?res_ruimte_key=<%=rrr.res_ruimte_key%>&qrc=1';
        var wnd = window.open(url);
        try { wnd.focus() } catch(e) {};
      }

      function fac_like()
      {
         function disableAutolike()
         { // roep res_show_rsv_ruimte opnieuw aan, maar dan met autolike=0.
           window.location.href=window.location.href.replace("autolike=1", "autolike=0");
         }
         var url = "../fac/fac_like.asp?key=<%=rsv_ruimte_key%>" + "&node=reservering";
         FcltMgr.openModalDetail(url, L("lcl_fac_like"), {callback: disableAutolike});
      }

      function res_info(url)
      {
        var wnd = window.open(url);
        try { wnd.focus() } catch(e) {};
      }
    </script>
  </head>

  <body id="showbody">
<%  var buttons = [];
    if (rrr.rsv_ruimte_verwijder == null) // Anders mag je niets meer
    {
      // Undocumented 'DEMO' feature voor _FACILITOR
      // Hier (altijd) testen op user.checkAutorisation("WEB_FACFAC", true) vind ik te veel eer
      if ((user.oslogin() == "_FACILITOR") && S("mobile_enabled") && restype == "R")
      {
        buttons.push( {title: "Touch", icon: "../Pictures/hand_point.png", action: "res_touch()" });
      }

      if (this_res.canChange)
        buttons.push( {title: L("lcl_change"), icon: "wijzigen.png", action: "res_change()"});
      else if (this_res.canWriteNoShow)
        buttons.push({action: "resNoShow()", title: L("lcl_res_no_show"), icon: "noshow.png"});

      if (this_res.canGoedkeur)
        buttons.push( {title: L("lcl_goedkeur"), icon: "accept.png", action: "res_goedkeur()"});

      if (this_res.canDelete)
        buttons.push( {title: L("lcl_delete"), icon: "delete.png", action: "res_delete()"});

      if (this_res.canClose)
        buttons.push( {title: L("lcl_close"),  icon: "close.png",  action: "res_close()" });

      buttons.push({ icon: "print.png", title: L("lcl_print"),          action: "res_print()" });
      buttons.push({ icon: "email.png", title: L("lcl_noti_res_email"), action: "res_mail()" });
      if (S("res_vcalendar_link") == 1 && !rrr.res_ruimte_extern)
        buttons.push({ icon: "outlook.png", title: L("lcl_res_agenda"), action: "res_outlook()" });

      if (this_res.canLike)
        buttons.push({ icon: "flike_none.png", title: L("lcl_fac_oordeel"), action: "fac_like()" });
    }

    IFRAMER_HEADER(L("lcl_res_frame_algemeen"), buttons);
%>  <div id="show"><%
      if (rrr.rsv_ruimte_dirtlevel & res.dirtlevel.ruimte.notavailable)
      {
%>      <div class="fatal"><%=L("lcl_res_dirtyroom")%></div><%
      }
      if (rrr.rsv_ruimte_dirtlevel & res.dirtlevel.ruimte.nocatering)
      {
%>      <div class="warning"><%=L("lcl_res_no_CV_yet")%></div><%
      }
      if (rrr.rsv_ruimte_verwijder!=null)
      {
%>      <div class="res_deleted"><%=L("lcl_res_deleted_room")%> <%
        if (this_res.canDelete && S("res_allow_undelete"))
        {
%>        <a href="#" onclick="res_undelete()"><%=L("lcl_res_undelete_room")%></a> <%
        }
%>      </div> <%
      }
      if (rrr.rsv_ruimte_meerdaags && S("res_allow_multi_cat"))
      {
%>			<div class="warning"><%=L("lcl_res_multiday")%></div><%
			}
%>
      <form name="u2">
<div class='leftcontainer'>
<%      // PF:  dit blok includen omdat deze voor zowel SHOW als EDIT identiek zijn?
        if (restype == "R")
        {
          res_ruimte_data = res.res_ruimte_info(rrr.res_ruimte_key);
        }
        BLOCK_START("resPlaats" , L("lcl_res_plaats"));

        if (rrr.rsv_ruimte_tot.midnight().getTime() == rrr.rsv_ruimte_van.midnight().getTime())
        {
            ROFIELDTR("fldDateTime", L("lcl_date"), toDateString(rrr.rsv_ruimte_van));
            ROFIELDTR("fldDateTime", L("lcl_time"), toTimeString(rrr.rsv_ruimte_van)+ " "+ L("lcl_tot") + " " +  toTimeString(rrr.rsv_ruimte_tot));
        }
        else // meerdaags
        {
            ROFIELDTR("fldDateTime", L("lcl_date"), toDateTimeString(rrr.rsv_ruimte_van));
            ROFIELDTR("fldDateTime", L("lcl_res_endtime"), toDateTimeString(rrr.rsv_ruimte_tot));
        }

        var sql = "SELECT "
                + lcl.xsqla('a.res_activiteit_omschrijving', 'a.res_activiteit_key')
                + " FROM res_activiteit a"
                + " WHERE res_activiteit_key = " + rrr.activiteit_key
        oRs = Oracle.Execute(sql);
        ROFIELDTR("fld", L("lcl_activity"), oRs("res_activiteit_omschrijving").value);


        // if this_res.canReadNoShow??
        // De tekst noShow, met aantallen indien ingevuld
        var isNoShow = this_res.canReadNoShow && (rrr.rsv_ruimte_noshow ||  (rrr.rsv_ruimte_bezoekers_shown!=null && rrr.rsv_ruimte_bezoekers_shown != rrr.rsv_ruimte_bezoekers));
        if (isNoShow) {
          ROFIELDTR("noshow", L("lcl_visitors"),
                      (rrr.rsv_ruimte_bezoekers_shown!=null
                      ? rrr.rsv_ruimte_bezoekers_shown+"/"+(rrr.rsv_ruimte_bezoekers||0)+" "
                      : ""
                      ) + (rrr.rsv_ruimte_bezoekers_shown < rrr.rsv_ruimte_bezoekers ? L("lcl_res_noshow_indicator") : L("lcl_res_overshow_indicator")),
                      {id: "fldnoshow"});
        } else {
            ROFIELDTR("fldshort", L("lcl_visitors"), rrr.rsv_ruimte_bezoekers, {suppressEmpty: true});
        }

        if (restype == "CV")
        {
%>        <tr id="resafhbez"><td class="label" colspan="2">
            <label><span><%=rrr.ab_mode & 1? L("lcl_res_bezorgen_fixed") : L("lcl_res_afhalen_fixed")%>:</span></label>
          </td></tr>
<%      }
        if (restype == "R")
        {
          //======= FIELD 'Ruimte' =======
          FCLTplaatsselector(null, { locatiekey: rrr.alg_locatie_key,
                                     startlevel: 2, /*locatie*/
                                     eindlevel: 2, /*locatie*/
                                     readonly: true,
                                     no_table: true
                                   });
          var date_from = rrr.rsv_ruimte_van;
          var vervaldatum = res_ruimte_data.vervaldatum;
          ROFIELDTR("fldresroom" + (vervaldatum && vervaldatum < date_from? " res_fatal" : "") , L("lcl_room"), res_ruimte_data.ruimte_nr + (vervaldatum && vervaldatum < date_from? L("lcl_inactive_data_suffix") : ""))

          //  Opstelling
          for( i=0; i<res_ruimte_data.RoomConfigs.length; i++ )
          {
              if (res_ruimte_data.RoomConfigs[i].ruimte_opstel_key == rrr.ruimte_opstel_key)
                  ROFIELDTR("fld", L("lcl_config"), res_ruimte_data.RoomConfigs[i].opstelling_omschrijving + " (" + res_ruimte_data.RoomConfigs[i].bezoekers + " pers)");
          }
        }
        else
        { //restype == "CV")
          FCLTplaatsselector(null, { locatiekey: rrr.alg_locatie_key,
                                     gebouwkey: rrr.alg_gebouw_key,
                                     verdiepingkey: rrr.alg_verdieping_key,
                                     ruimtekey: rrr.alg_ruimte_key,
                                     startlevel: 2, /*locatie*/
                                     eindlevel: 5, /*ruimte*/
                                     readonly: true,
                                     no_table: true
                                   });
        }
        ROFIELDTR("fldresstatus", L("lcl_status_FO"), res.getfostatustext(rrr.status_fo_key));
        BLOCK_END()

        BLOCK_START("resUser",L("lcl_res_info"));
        if (rrr.satisfaction)
        {
          var ttl = rrr.satisfaction_op;
          if (!ttl && this_res.canLike)
            ttl = L("lcl_fac_oordeel");
          AFIELDTR("fld", L("lcl_res_beoordeling"), "", "", { onclick: (this_res.canLike?"fac_like()":"")
                                                            , rating: { id: "oordeel"
                                                                      , score: rrr.satisfaction
                                                                      , note: ttl
                                                                      }
                                                            }  );
        }
        //======= FIELD 'Aanvrager/contact' =======
        FCLTpersoonselector("person", "sgPerson",
                            {label: L("lcl_name"),
                             perslidKey: rrr.contact_key,
                             moreinfo: urole != 'fe',
                             readonly: true
                            })

        //======= FIELD 'Gastheer/host' =======
        if (rrr.host_key != rrr.contact_key)
          FCLTpersoonselector("personH", "sgHost",
                              {label: L("lcl_host"),
                               perslidKey: rrr.host_key,
                               moreinfo: urole != 'fe',
                               readonly: true})

        //======= FIELD 'Kostenplaats' =======
        if (rrr.srtactiviteit_kpnverplicht < 2 && rrr.kostenplaats_key>-1)
        {
          FCLTkostenplaatsselector("account", "sgAccount", rrr.kosten_klant? rrr.contact_key : user_key,
                                   {label: L("lcl_account"),
                                    kostenplaatsKey: rrr.kostenplaats_key,
                                    moreinfo: true,
                                    readonly: true
                                   });
        }

        ROFIELDTR("fldordernum", L("lcl_mld_inf_Ordernr"), rrr.res_ordernr, {suppressEmpty: true});
        ROFIELDTR("fldresdesc", L("lcl_descr"), rrr.descript, {suppressEmpty: true});
        ROTEXTAREATR('fldomschr', L("lcl_remark"), rrr.rsv_ruimte_opmerking, {suppressEmpty: true});
        BLOCK_END();

%></div><%

        BLOCK_START("resInfo", L("lcl_reservation") + " " + rrr.resnrtxt);

        if (this_res.readoReason)
        {
%>        <tr><td colspan="2" class="resreado"><%=this_res.readoReason%></td></tr><%
        }

        if (rrr.rsv_ruimte_verwijder != null)
        {
          ROFIELDTR("fld", L("lcl_deleted"), toDateString(rrr.rsv_ruimte_verwijder, true),
                    { infoPointer: { Url: "appl/shared/status_info.asp?rsv_ruimte_key=" + rsv_ruimte_key + "&urole=" + urole,
                                     Title: L("lcl_status_details") + " " + rrr.resnrtxt
                                   }
                    });

          sql = "SELECT res.getdeelresprijs(" + rsv_ruimte_key + ") prijs FROM DUAL";
          oRs = Oracle.Execute(sql);
          ROFIELDTR("fldroomkorting", L("lcl_res_ruimtekorting") + " " + S("currency_pref"), safe.curr(rrr.ruimte_korting), {suppressEmpty: true} );
          ROFIELDTR("fldroomtotaal", L("lcl_res_ruimtetotaal") + " " + S("currency_pref"), safe.curr(rrr.ruimte_totaal), {suppressEmpty: true} );
          ROFIELDTR("fldrvskosten", L("lcl_res_kostendoorberekend") + " " + S("currency_pref"), safe.curr(oRs("prijs").value), {suppressEmpty: true} );
        }

        if (rrr.status_bo_key != -1)
        {
          ROFIELDTR("fldresstatus", L("lcl_status_BO"), res.getbostatustext(rrr.status_bo_key),
                          { infoPointer: { Url: "appl/shared/status_info.asp?rsv_ruimte_key=" + rsv_ruimte_key + "&urole=" + urole,
                                           Title: L("lcl_status_details") + " " + rrr.resnrtxt
                                         }
                          });
          if (rrr.afgerond)
            ROFIELDTR("fldgoedgekeurd", "", L("lcl_res_resappr"));
          if (rrr.rsv_ruimte_verwijder == null)
          {
            sql = "SELECT res.getruimteprijs (" + rsv_ruimte_key + ", 1) orgruimteprijs"
                + "     , res.getdeelresprijs (" + rsv_ruimte_key + ") deelresprijs"
                + "     , (SELECT SUM (res.getartikelprijs (res_rsv_artikel_key))"
                + "          FROM res_rsv_artikel"
                + "         WHERE res_rsv_artikel_dirtlevel = 0"
                + "           AND res_rsv_ruimte_key = " + rsv_ruimte_key + ") artikelprijs"
                + "     , (SELECT SUM (res.getdeelprijs (res_rsv_deel_key))"
                + "          FROM res_rsv_deel"
                + "         WHERE res_rsv_deel_dirtlevel = 0"
                + "           AND res_rsv_ruimte_key = " + rsv_ruimte_key + ") deelprijs"
                + "  FROM DUAL";
            oRs = Oracle.Execute(sql)

            ROFIELDTR("fldroomkosten", L("lcl_res_ruimte_kosten") + " " + S("currency_pref"), safe.curr(oRs("orgruimteprijs").value), {suppressEmpty: true} );

            ROFIELDTR("fldroomkorting", L("lcl_res_ruimtekorting") + " " + S("currency_pref"), safe.curr(rrr.ruimte_korting), {suppressEmpty: true} );
            ROFIELDTR("fldroomtotaal", L("lcl_res_ruimtetotaal") + " " + S("currency_pref"), safe.curr(rrr.ruimte_totaal), {suppressEmpty: rrr.ruimte_totaal===null} );
            ROFIELDTR("fldvoorzkosten", L("lcl_res_voorzieningen_kosten") + " " + S("currency_pref"), safe.curr(oRs("artikelprijs").value + oRs("deelprijs").value), {suppressEmpty: true} );
            ROFIELDTR("fldrvskosten", L("lcl_res_rsv_kosten") + " " + S("currency_pref"), safe.curr(oRs("deelresprijs").value), {id: "kosten",suppressEmpty: true} );
          }
        }

        if (S("res_reservering_flags") > 0)
        {
          ROFIELDTR("fld", L("lcl_res_flags")
                         , L("lcl_res_flag"+rrr.status_flag)
                         , { html: "style='padding-left: 20px; background-repeat: no-repeat; background-image: url(../Pictures/resflag"+rrr.status_flag+".png)'"
                           , suppressEmpty: true
                           }
                         );
        }

        if (restype == "R")
        {
          // Haal de huidige opstelling uit array met roomconfigs.
          var opstelling = null;
          for (i=0; i<res_ruimte_data.RoomConfigs.length; i++)
          {
            if (res_ruimte_data.RoomConfigs[i].ruimte_opstel_key == rrr.ruimte_opstel_key)
              opstelling = res_ruimte_data.RoomConfigs[i];
          }
          var imagePath = (opstelling.imagePath ? opstelling.imagePath : (res_ruimte_data.imagePath ? res_ruimte_data.imagePath : ""));
          var imageOms  = (opstelling.imagePath ? L("lcl_res_image_config") : L("lcl_res_image_room"));

          if (imagePath) {
            %><tr>
                <td colspan="2" class="resroominfo" >
                  <img id="resphoto" src="<%=imagePath%>" title="<%=safe.jsstring(imageOms)%>" onclick="res_info('<%=safe.jsstring(imagePath)%>')">
                </td>
              </tr><%
          }
          if (res_ruimte_data.ruimte_omschrijving) {
            %><tr><td colspan="2" class="resroominfo"><div id="resdescript"><%=res_ruimte_data.ruimte_omschrijving.replace(/\n/,"<br>")%></div></td></tr><%
          }
          if (res_ruimte_data.ruimte_info_url) {
            %><tr><td><span class="details" readonly onclick="res_info('<%=safe.jsstring(res_ruimte_data.ruimte_info_url)%>')"><%=L("lcl_more_info")%></span></td></tr><%
          }
        }
        BLOCK_END();

        generateFlexKenmerkBlock( { urole: urole
                                 , res_key: rrr.reservering_key
                                 , act_key: rrr.activiteit_key
                                 , rsv_ruimte_key: rrr.rsv_ruimte_key
                                 , reado: true
                                 , flexcolumns: S("res_flexcolumns")
                                 }
                               );
%>
      </form>
    </div> <!-- edit -->
  </body>
</html>
