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

    File:           bez/bez_make_contact.asp
    Description:    Maak handig nieuw bedrijf(+contactpersoon aan)
    Parameters:

    Context:        Bezoekers aanmelden (ontvangstbalie)
    Note:

*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="./bez.inc" -->
<!-- #include file="../prs/prs_flexkenmerk.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc"-->

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

var prs_key = getQParamInt("prs_key", -1);

var this_bez = bez.func_enabled_afspraak(-1);
user.auth_required_or_abort(this_bez.canContact);

%>

<html>
  <head>
<%  FCLTHeader.Generate();
    var submitting = getQParamInt("submit", 0) == 1;
    if (submitting)
    {
      var bedrijf_naam = getFParam("bdr_naam", "");
      var sql = "SELECT prs_bedrijf_key"
              + "  FROM prs_bedrijf"
              + " WHERE UPPER(prs_bedrijf_naam) = " + safe.quoted_sql_upper(bedrijf_naam);
      var oRs = Oracle.Execute(sql);

      if (oRs.EoF) // bedrijf met deze naam bestaat nog niet
      {
          // eerst het bedrijf aanmaken
          var fields =  [ { dbs: "prs_bedrijf_key",  typ: "key",     seq: "prs_s_prs_alluitvoerende_keys" },
                          { dbs: "prs_bedrijf_naam", typ: "varchar", val: bedrijf_naam }
                        ];
          var regIns = buildInsert("prs_bedrijf", fields);
          var bedrijf_key = regIns.sequences["prs_bedrijf_key"];
          sql = regIns.sql;
          var err = Oracle.Execute(sql, true);
          if (err.friendlyMsg)
            abort_with_warning(err.friendlyMsg);
      }
      else // het bedrijf met deze naam bestaat al wel, gebruik bestaande bedrijf_key
          var bedrijf_key = oRs("prs_bedrijf_key").Value;
      oRs.Close();

      // nu de contactpersoon aanmaken
      var fields =  [ { dbs: "prs_bedrijf_key",                 typ: "key",     val: bedrijf_key },
                      { dbs: "prs_contactpersoon_key",          typ: "key",     seq: "prs_s_prs_contactpersoon_key" },
                      { dbs: "prs_contactpersoon_naam",         typ: "varchar", frm: "prs_naam" },
                      { dbs: "prs_contactpersoon_voornaam",     typ: "varchar", frm: "prs_vrnaam" },
                      { dbs: "prs_contactpersoon_voorletters",  typ: "varchar", frm: "prs_voorl" },
                      { dbs: "prs_contactpersoon_tussenv",      typ: "varchar", frm: "prs_tsnvgs" }];

      var regIns = buildInsert("prs_contactpersoon", fields);
      var cont_key = regIns.sequences["prs_contactpersoon_key"];
      var err = Oracle.Execute(regIns.sql, true);
      if (err.friendlyMsg)
        abort_with_warning(err.friendlyMsg);

      var prs_string = getFParam("prs_naam")
                     + (getFParam("prs_voorl")? ", " + getFParam("prs_voorl") : "")
                     + (getFParam("prs_tsnvgs")? " " + getFParam("prs_tsnvgs") : "")
                     + (getFParam("prs_vrnaam")? " (" + getFParam("prs_vrnaam") + ")" : "");

      saveFlexKenmerken(cont_key, { kenmerkTable: "prs_kenmerklink",
                                    kenmerkParentKey : "prs_link_key",
                                    kenmerkWaarde: "prs_kenmerklink_waarde",
                                    kenmerkKey: "prs_kenmerk_key",
                                    requestQF: Request.Form,
                                    module: "PRS",
                                    moduleName: "prs_kenmerklink_niveau",
                                    moduleVal: "C",
                                    isNew: true,
                                    flexPath: "PRS/C"
                             });

%>    <script>

        FcltMgr.closeDetail(window, { success: true,
                                      cont_key: <%=cont_key%>,
                                      naam: "<%=safe.jsstring(prs_string)%>",
                                      bedrijf: "<%=safe.jsstring(bedrijf_naam)%>"
                                    } );
      </script><%
      Response.End;
    }
%>
    <script type="text/javascript">

      async function bez_submit()
      {
        document.activeElement.blur(); // trigger laatste onChanges
        if (!await validateForm("u2"))
            return false;
        document.forms.u2.submit();
      }

      function bez_cancel()
      {
        FcltMgr.closeDetail(window);
      }

      $(function()
      {
        $("#bdr_naam").focus();
      });

    </script>
  </head>

  <body class="fclt-modal" id="mod_edit_prs_modal" style="width:400px">
  <% MODAL_START(); %>
    <form name="u2"
          action="bez_make_contact.asp?submit=1"
          method="post"
          target="hidFrameSubmit"
          onSubmit="bez_submit();">
<%
      MODAL_BLOCK_START("bezBezoekers", L("lcl_prs_basisblok"), { icon: "fa-user-plus" });
      RWFIELDTR("bdr_naam",   "fld",      L("lcl_prs_companies_name"),            "", {required: true, maxlength: 60});
      RWFIELDTR("prs_naam",   "fld",      L("lcl_prs_companies_contact_naam"),    "", {required: true, maxlength: 30});
      RWFIELDTR("prs_vrnaam", "fld",      L("lcl_prs_companies_contact_voorn"),   "", {maxlength: 30});
      RWFIELDTR("prs_tsnvgs", "fldshort", L("lcl_prs_companies_contact_tussenv"), "", {maxlength: 15});
      RWFIELDTR("prs_voorl",  "fldshort", L("lcl_prs_companies_contact_voorl"),   "", {maxlength: 10});
      MODAL_BLOCK_END();

      generateFlexKenmerkCode ({link_key       : -1,
                                niveau         : "C",
                                reado          : false
                               });

      SIMPLE_BLOCK_START();
      CreateButtons([{ title: L("lcl_submit"), icon: "fa-fclt-save", action: "bez_submit()", importance: 1},
                     { title: L("lcl_cancel"), icon: "fa-fclt-cancel", action: "bez_cancel()", importance: 3}]);
      SIMPLE_BLOCK_END();
IFACE.FORM_END();
%>
    </form>
    <% MODAL_END(); %>
    <iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>

  </body>
</html>
<% ASPPAGE_END(); %>
