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

    File:               bez_show_afspraak.asp
    Description:        Detailscherm voor afspraken
    Parameters:         urole (required)
                        afspr_key (required)
                        -
    Context:
    Note:               Denkbaar is dat een afpraak al verwijderd werd (en nog in overzicht stond)
                        We knallen dan hier geen INTERNAL ERROR, maar gewoon niks.

*/ %>

<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/plaatsselector.inc" -->
<!--#include file="bez_list.inc" -->
<!--#include file="bez.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest", "jQuery"],
                        js: ["date.js"]});

// AUTORISATIEPARAMETERS
var afspr_key = getQParamInt("afspr_key");
if (afspr_key > 0)
    var urole = getQParamSafe("urole", "fe");
else
    var urole = getQParamSafe("urole");

var this_bez = bez.func_enabled_afspraak(afspr_key);
var hasFOBOread = this_bez.canReadFOF || this_bez.canReadBOF;
user.auth_required_or_abort(this_bez.canReadAny);

var transitParam = buildTransitParam(["urole", "afspr_key", "contactonly"], { urole: urole });

// TODO: deze bepalen met bez.canReadBOF enzo. Dan weet ik verderop of ik bv moreinfo mag doen

var bez_afspraak = bez.bez_afspraak_info(afspr_key);

bsql = "SELECT COUNT(bez_bezoekers_done) done, COUNT(bez_bezoekers_out) out, COUNT(bez_bezoekers_key) totaal "
     + "FROM bez_bezoekers WHERE bez_afspraak_key = " + afspr_key;
boRs = Oracle.Execute (bsql);
var binnen = boRs("done").value;
var buiten = boRs("out").value;
var aantal = boRs("totaal").value;
boRs.close();
var subjectMail = L("lcl_vis_register_title") + ' ' + afspr_key;
var urlMail = "../shared/queuemail.asp?pcode=BEZMAI&defemail_key=" + bez_afspraak.contact_key
            + "&key=" + afspr_key
            + "&subject=" + Server.URLencode(subjectMail)
            + "&mailfrom=" + (hasFOBOread? 1 : 0);
%>
<html>
  <head>
<%
    FCLTHeader.Generate();
%>
    <script type="text/javascript">

      $(function()
      {
        $('textarea').resize(function () { FcltMgr.resized(window) } );
        $('textarea').autogrow();
      });

      function bez_change()
      {
        if (FcltMgr.startEdit(window))
          window.location.href = "bez_edit_afspraak.asp?x=1<%=transitParam%>"
      }

<%    if (bez_afspraak.res_rsv_ruimte_key > 0)
      { %>
      function res_bez_change(res_rsv_ruimte_key)
      {
        var url = "appl/res/res_reservering.asp?urole=<%=urole%>&rsv_ruimte_key=" + res_rsv_ruimte_key + "&bez_edit=1";
        var ttl = L("lcl_reservation") + " <%=bez_afspraak.res_reservering_key%>/<%=bez_afspraak.res_rsv_ruimte_volgnr%>";
        FcltMgr.openDetail(url, ttl);
      }
<%    } %>

      function bez_delete()
      {
        FcltMgr.confirm(L("lcl_bez_confirm_delete_afspraak"),
            function() {
                var data = {
                    level: "A",
                    afspr_key: <%=afspr_key%>,
                    urole: "<%=urole%>"
                };
                <% protectRequest.dataToken("data"); %>
                $.post("bez_delete.asp",
                    data,
                    FcltCallbackClose,
                    "json");
            });
      }

      function bez_mail()
      {
        var subject = "<%=safe.jsstring(subjectMail)%>";
        var url = "<%=safe.jsstring(protectQS.create(urlMail))%>";
        FcltMgr.openModalDetail(url, subject);
      }

      function bez_multi()
      {
        if (FcltMgr.mayEdit(window))
          FcltMgr.openModalDetail("./bez_multi.asp?urole=<%=urole%>&afspr_key=<%=afspr_key%>", L("lcl_res_add_deelres"));
      }

      function bez_print()
      {
        FcltMgr.windowopen('bez_xml.asp?afspr_key=<%=afspr_key%>');
      }

    </script>
  </head>

  <body class="showmode">
  <%
        var buttons = [];
      if (!bez_afspraak.res_rsv_ruimte_key)
      {
        if (this_bez.canChange)
          buttons.push({ title: L("lcl_change"),          icon: "fa-fclt-edit",   action: "bez_change()" });
        if (this_bez.canRead)
          buttons.push({ title: L("lcl_res_add_deelres"), icon: "fa-repeat",  action: "bez_multi()"  });
        if (this_bez.canDelete)
          buttons.push({ title: L("lcl_delete"),          icon: "fa-trash-alt",     action: "bez_delete()" });
      }
      buttons.push ({title: L("lcl_print"),           icon: "fa-print",  action:"bez_print()" },
                    {title: L("lcl_noti_bez_email"),  icon: "fa-envelope",  action:"bez_mail()" });

  SUBFRAME_START();
  IFRAMER_HEADER(L("lcl_bez_frame"), buttons);%>
    <form name="u2" onSubmit="return false;">
<%
      BLOCK_START("bezAfspraak", L("lcl_date_time"), {ishtmlsafe: true, icon: "fa-clock"});
        ROFIELDTR("fld", L("lcl_date"), toDateString(bez_afspraak.bez_afspraak_datum));
        ROFIELDTR("fld", L("lcl_vis_start_date"), toTimeString(bez_afspraak.bez_afspraak_datum));
        if (toDateString(bez_afspraak.bez_afspraak_eind) == toDateString(bez_afspraak.bez_afspraak_datum))
          ROFIELDTR("fld", L("lcl_vis_end_date"), toTimeString(bez_afspraak.bez_afspraak_eind));
        else
          ROFIELDTR("fld", L("lcl_vis_end_date"), toDateTimeString(bez_afspraak.bez_afspraak_eind));

        /* ik zocht een smoes om toegang tot de tracking te krijgen */
        var statusstr = "";
        if (aantal == buiten)
          statusstr = L("lcl_bez_voorbij");
        else if (aantal == binnen && buiten > 0)
          statusstr = L("lcl_bez_deelsbinnen1");  // en deels al weer vertrokken
        else if (aantal == binnen)
          statusstr = L("lcl_bez_binnen");    // allemaal binnen
        else if (binnen > 0 && buiten == 0)
          statusstr = L("lcl_bez_deelsbinnen2");  // nog niet allemaal binnen
        else if (binnen == 0)
          statusstr = L("lcl_bez_nognietbinnen");  //  niet allemaal binnen
        else
          statusstr = L("lcl_bez_nietbinnen");  //  niet meer allemaal binnen

        ROFIELDTR("fld", L("lcl_status"), statusstr);
      BLOCK_END();

      BLOCK_START("bezAfspraak", L("lcl_vis_visit"), {ishtmlsafe: true, icon: "fa-user-tie"});
        if ((urole=="bo" || urole=="fo") && bez_afspraak.gastheer_key)
          params = {infoPointer: {Url:"appl/fac/fac_user_info.asp?prs_key=" + bez_afspraak.gastheer_key, Title:L("lcl_details")}};
        else
          params = {};
        ROFIELDTR("fld", L("lcl_host"), bez_afspraak.gastheer, params);

        if (urole=="bo" || urole=="fo")
          params = {infoPointer: {Url:"appl/fac/fac_user_info.asp?prs_key=" + bez_afspraak.contact_key, Title:L("lcl_details")}};
        else
          params = {};
        ROFIELDTR("fld", L("lcl_vis_contactperson"), bez_afspraak.aanvrager, params);

        ROFIELDTR("fld", L("lcl_phone"), bez_afspraak.telf_nr, { suppressEmpty: true, type: "telefoon" });
        ROFIELDTR("fld", L("lcl_action"), bez_afspraak.actie_omschrijving, {suppressEmpty: true});
        ROTEXTAREATR("fldtxt", L("lcl_vis_remark"), bez_afspraak.opm, {suppressEmpty: true});
      BLOCK_END();

      if (bez_afspraak.res_rsv_ruimte_key > 0)
      {
        var blockid = "bezResAfspraak";
        var blocktitle = bez_afspraak.activiteit_omschrijving;
        var blockicon = bez_afspraak.activiteit_image;
      }
      else if(bez_afspraak.mld_opdr_key > 0)
      {
        var blockid = "bezOpdrAfspraak";
        var blocktitle = bez_afspraak.typeopdr_omschrijving;
        var blockicon = bez_afspraak.mld_typeopdr_image;
      }
      else
      {
        var blockid = "bezAfspraak";
        var blocktitle = L("lcl_place");
        var blockicon = "fa-map-marker";
      }
      BLOCK_START(blockid, blocktitle, {icon: blockicon});
        if (bez_afspraak.res_rsv_ruimte_key > 0)
        {
          var ttl = bez_afspraak.res_reservering_key +"/" + bez_afspraak.res_rsv_ruimte_volgnr;
          if (bez_afspraak.res_rsv_ruimte_omschrijving)
            ttl += ", " + bez_afspraak.res_rsv_ruimte_omschrijving;
          var params = { infoPointer: { Url: "appl/res/res_reservering.asp?urole=" + urole + "&rsv_ruimte_key=" + bez_afspraak.res_rsv_ruimte_key,
                                        Title: L("lcl_reservation") + " " + ttl
                                      }
                       }
          ROFIELDTR("fld", L("lcl_reservation"), ttl, params);
        }

        if (bez_afspraak.mld_opdr_key > 0)
        {
          var params = { infoPointer: { Url: "appl/mld/mld_opdr.asp?urole=" + urole + "&opdr_key=" + bez_afspraak.mld_opdr_key,
                                        Title: bez_afspraak.mld_opdr_id
                                      },
                         suppressEmpty: true
                     };
          ROFIELDTR("fld", L("lcl_mld_opdr_number"), bez_afspraak.mld_opdr_id + ", " + bez_afspraak.stdmelding_omschrijving, params); // Referentienr.
        }

        var eindlevel_nr = 2;
        if (S("vis_afspraak_onrgoed_uses_keys") == 1)
        {
          switch (S("vis_show_alg_level"))
          {
            case "L": eindlevel_nr = 2; break;
            case "G": eindlevel_nr = 3; break;
            case "V": eindlevel_nr = 4; break;
            case "R": eindlevel_nr = 5; break;
          }
        }
        FCLTplaatsselector(null, {
                            locatiekey: bez_afspraak.locatie_key,
                            ruimtekey: bez_afspraak.alg_onrg_key,
                            startlevel: 2, //Locatie
                            eindlevel: eindlevel_nr,
                            suppressEmpty: true,
                            readonly: true });
        if (S("vis_afspraak_onrgoed_uses_keys") != 1)
        {
          if (S("vis_mandatory_alg_level") != "L")
          {
            var roomlcl = "";
            switch (S("vis_mandatory_alg_level"))
            {
              case "G" : roomlcl = L("lcl_building"); break;
              case "V" : roomlcl = L("lcl_floor"); break;
              case "R" : roomlcl = L("lcl_room"); break;
            }
            ROFIELDTR("fld", roomlcl, bez_afspraak.ruimte, {suppressEmpty: true});
          }
        }
      BLOCK_END();

      var btns = [];
      if (bez_afspraak.res_rsv_ruimte_key > 0)
          btns.push({ title: L("lcl_change"), action: "res_bez_change(" + bez_afspraak.res_rsv_ruimte_key + ")", importance: 1, icon: "fa-fclt-edit" });

      // zie noot in afspraak.asp
      if (true || !bez_afspraak.res_rsv_ruimte_key) // dan heeftie zelf wel een frame
      {
        BLOCK_START("bezBezoekers", L("lcl_vis_visitors"), { wide: true, icon: "fa-users", buttons: btns });
          bez_list("*", {urole : urole,
                         afspr_key: afspr_key,
                         tiny: true,
                         noPrint: true,
                         noHeader: true, // die hebben we zelf al gedaan
                         outputmode: 0,
                         showProperties: true,
                         hideUpdated: true,  // only highlight new visitors in lists, not in detail screeen
                         nofloating: true   // no floating headers
                        });
        BLOCK_END();
      }
%>  </form>
<% SUBFRAME_END(); %>
  </body>
</html>
<% ASPPAGE_END(); %>
