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

    File:               pda/bezoeker.asp
    Description:        Add/wijzig melding (Mobile version)
    Parameters:         afs_key voor bestaande melding
                        afs_key=-1 voor nieuwe melding

    Note:

*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/suggest/suggest.inc" -->
<!-- #include file="../bez/bez.inc" -->
<!-- #include file="../bez/bez_flexkenmerk.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="./resultset_table.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="./iface.inc" -->

<%

FCLTHeader.Requires({ plugins:["suggest"],
                      js: ["./modernizr-3.3.0.custom.min.js"] });
FCLTHeader.Requires({ js: ["jquery.timepicker-table.js"],
                      css: ["timePicker-table.css"] });

var afs_key = getQParamInt("afs_key"); // Bezoekers toevoegen aan bestaande afspraak.
var qrc = getQParamInt("qrc", 0) != 0;
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1);

var urole = "fe";

var isReservering = false;

if (rsv_ruimte_key != -1)
{
  var sql = "SELECT bez_afspraak_key"
          + "  FROM bez_afspraak"
          + " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key;
  var oRs = Oracle.Execute(sql);
  if (!oRs.Eof)
    afs_key = oRs("bez_afspraak_key").Value;
  oRs.Close();
  //
  // Als afs_key == -1 dan zijn er nog geen bezoekers bij een reservering aangemeld.
  // Haal de benodigde informatie uit de reservering.
  var rsv = res.res_rsv_ruimte_info(rsv_ruimte_key);
  isReservering = true;
}


var this_bez = bez.func_enabled_afspraak(afs_key);
user.auth_required_or_abort(this_bez.canReadAny);
var authparams = user.checkAutorisation("WEB_BEZUSE");

var aantal_gebter = 0;
if (afs_key != -1)
{
  var bez_info = bez.bez_afspraak_info(afs_key);
  // Heeft de locatie parkeerplaatsen?
  var gebtersql = bez.getgebouwterrein_sql(bez_info.bez_afspraak_datum, bez_info.bez_afspraak_eind, bez_info.locatie_key);
  oRs = Oracle.Execute(gebtersql);
  while (!oRs.eof)
  {
    aantal_gebter++;
    oRs.MoveNext();
  }
  oRs.Close();
}

var subject = isReservering
              ? L("lcl_mobile_bezoek")
              : L("lcl_vis_appointment") + " " + afs_key;
%>
<html>
  <head>
<%  FCLTMHeader.Generate({title:  subject }); %>
    <script type="text/javascript">
      function bez_submit_callback(json)
      {
        window.location.href = "afspraak.asp?afs_key=" + json.afspraak_key; // Terug naar het afspraken scherm
      }

      function validateBezoekers()
      {
        var find = 0;
        if ($("#bez1"))
          if ($("#bez1").val() != "")
          {
            // Voor elke blok met bezoekers-gegevens de classes ophalen.
            // Zit er een class "requiredxxxx" bij, dan een aparte class "required" toevoegen voor alle flexvelden
            // die verplicht zijn en dezelfde groep xxxx hebben.
            // Heeft een blok met bezoekersgegevens geen classes dan kan dit overgeslagen worden.
            if ($("#bez1").attr("class"))
            {
              var bez_classnames = $("#bez1").attr("class").split(/\s+/);
              $.each( bez_classnames
                    , function(i, bez_class)
                      {
                        if (bez_class.indexOf("required") == 0)
                        {
                          var groep = bez_classnames[i].replace("required", "")
                          checkRequiredGroup(groep); // zet eventuele flexkenmerken op required als deze bezoeker is ingevuld.
                        }
                      }
                    )
            }
            find++;
          }
        if (find == 0)
        {
          alert(L("lcl_bez_geef_bezoeker"));
          return false;
        }
        return true;
      }

      function bez_submit()
      {
        // Verwijderen parkeerplaats(en).
        if (!$("#prk1").is(":checked"))
          $("#gebouwkey1").val(-1);
        if (!validateBezoekers())
          return false;

        var submit_url = $("form[name=bezoekers]")[0].action
                       + (<%=rsv_ruimte_key%> != -1 ? "&rsv_ruimte_key=<%=rsv_ruimte_key%>" : "");
        $.post( submit_url
              , $("form[name=bezoekers]").serialize()
              , McltCallbackAndThen(bez_submit_callback)
              , "json");
        return false;
      }
    </script>
  </head>
  <body>
    <div>
<%
  PAGE_START({id: "page-1-"+afs_key});
    HEADER({title: subject, back:!qrc, home: !qrc, datatheme: jQFrontEndTheme });
    CONTENT_START();
%>
      <form name="bezoekers"
            id="bezoekers"
            action="../bez/bez_edit_bezoekers_save.asp?urole=fe&mobile=1&afspr_key=<%=afs_key%>&rsv_ruimte_key=<%=rsv_ruimte_key%>"
            method="post">
        <input type="hidden" name="next_vis" value="2">
<%
      var rij = 0;
      GRID_START(2);
        COL_START(1);
          RWFIELD("bez1", L("lcl_vis_name"), "" , { pclass: " required"});
        COL_END();
        COL_START(2);
          RWFIELD("bed1", L("lcl_vis_company"), "");
        COL_END();
        // Als de locatie parkeerplaatsen heeft, dan de parkeerplaats checkbox plaatsen.
        // Ook al kun je geen parkeerplaats boeken op de aangegeven locatie.
        // Mocht je dan toch het vinkje hebben gezet, dan krijg je tijdens het boeken wel de melding dat de parkeerplaats niet geboekt kon worden.
        if (S("vis_parking_key") != -1 && this_bez.canWritePrk && aantal_gebter > 0)
        {
          COL_START(1, {width: 100});
            CHB_FIELD("prk1", L("lcl_vis_park"), false, {readonly: false});
            // Voor mobile altijd checkboxen ("S"=suggestboxen, "C"=checkboxen). nodig voor het opslaan
            // Voor nieuwe bezoeker altijd "C".
%>          <div style="display: none">  <%
%>            <input type="text" id="prkselect1" name="prkselect1" value="C">  <%
%>          </div>  <%
%>          <input type="hidden" id="gebouwkey1" name="gebouwkey1" value="-1">  <%
          COL_END();
        }

        COL_START(1, {width: 100});
          CONTENT_START({});
%>          <table id="bezFlexList1"><tbody>  <%
              generateFlexKenmerkCode ({ urole: urole
                                       , bez_key : -1
                                       , afspraak_key: afs_key
                                       , reado: false
                                       , flexcolumns: 1
                                       , beznum: 1
                                       , requiredbyfield: "bez1"
                                       , mobile: true
                                       });
%>          </tbody></table>  <%
          CONTENT_END();
        COL_END();
      GRID_END();

      CONTROLGROUP_START();
        BUTTON(L("lcl_submit"), {click: "bez_submit()", dataicon: "refresh"});
      CONTROLGROUP_END();
      IFACE.FORM_END();
%>
      </form>
<%
    CONTENT_END();
    FOOTER();
  PAGE_END();
%>
    </div>
  </body>
</html>
