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

    File:               res_delete.asp
    Description:        Toon een dialoog om de huidige of toekomstige te verwijderen
                        Staat ook nog toe om de opmerking aan te passen
    Parameters:
        rsv_ruimte_key  start RES_RSV_RUIMTE to delete
    Context:            Popup vanuit res_show_rsv_ruimte.asp
    Note:
*/
 %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="res.inc" -->
<%
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
var urole = getQParamSafe("urole");

// Altijd handig
var sql = "SELECT res_reservering_key"
        + "     , rrr.res_rsv_ruimte_van"
        + "     , res_rsv_ruimte_volgnr"
        + "     , COALESCE(res_rsv_ruimte_opmerking,'') res_rsv_ruimte_opmerking"
        + "     , alg_ruimte_key"
        + "     , res_status_fo_key"
        + "  FROM res_rsv_ruimte rrr"
        + " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
oRs = Oracle.Execute(sql);
var rrr = { rsv_ruimte_key       : rsv_ruimte_key,
            reservering_key      : oRs("res_reservering_key").value,
            rsv_ruimte_van       : new Date(oRs("res_rsv_ruimte_van").value),
            rsv_ruimte_volgnr    : oRs("res_rsv_ruimte_volgnr").value,
            rsv_ruimte_opmerking : oRs("res_rsv_ruimte_opmerking").value,
            restype              : (oRs("alg_ruimte_key").value != null? "CV" : "R"),
            res_status_fo_key    : oRs("res_status_fo_key").value
          }

oRs.Close();
res.res_set_dialect(rsv_ruimte_key);
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
user.auth_required_or_abort(this_res.canDelete);
%>
<html>
  <head>
<%  FCLTHeader.Generate()

    // Aantal toekomst
    var sql = "SELECT count(distinct res_rsv_ruimte_volgnr)"
            + " FROM  res_v_aanwezigrsv_ruimte rr,"
            + "       res_v_aanwezigrsv_deel rd,"
            + "       res_v_aanwezigrsv_artikel ra"
            + " WHERE res_reservering_key = " + rrr.reservering_key
            + "   AND ra.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
            + "   AND rd.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
            + "   AND res_rsv_ruimte_van >= " + rrr.rsv_ruimte_van.toSQL()
            + "   AND rr.res_rsv_ruimte_key <> " + rsv_ruimte_key;
    oRs = Oracle.Execute(sql);
    var aantalLater = oRs(0).value;

    // Aantal verleden
    var sql = "SELECT count(distinct res_rsv_ruimte_volgnr)"
            + " FROM  res_v_aanwezigrsv_ruimte rr,"
            + "       res_v_aanwezigrsv_deel rd,"
            + "       res_v_aanwezigrsv_artikel ra"
            + " WHERE res_reservering_key = " + rrr.reservering_key
            + "   AND ra.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
            + "   AND rd.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
            + "   AND res_rsv_ruimte_van < " + rrr.rsv_ruimte_van.toSQL()
            + "   AND rr.res_rsv_ruimte_key <> " + rsv_ruimte_key;
    oRs = Oracle.Execute(sql);
    var aantalEerder = oRs(0).value;
    oRs.Close();

    // Maximale kostendoorberekening van de te verwijderen reservering ophalen
    var kosten = this_res.max_dbkosten;

    buttons = [];
    if (aantalEerder > 0 || aantalLater > 0)
    {
      buttons.push({ title: L("lcl_res_btn_current"),
                     icon: "delete.png",
                     action: "doDelete(false, false);",
                     tooltip: L("lcl_res_del_txt_current") + " " + rrr.rsv_ruimte_volgnr});
    }
    if (aantalEerder > 0 && aantalLater > 0)
    {
      buttons.push({ title: L("lcl_res_btn_future"),
                     icon: "delete.png",
                     action: "doDelete(false, true);",
                     tooltip: L("lcl_res_del_txt_future")});
    }
    if (urole != 'fe' || aantalEerder == 0)
    {
      buttons.push({ title: L("lcl_res_btn_total"),
                     icon: "delete.png",
                     action: "doDelete(true);",
                     tooltip: L("lcl_res_del_txt_total")});
    }
    buttons.push({ title: L("lcl_cancel"),
                   icon: "cancel.png",
                   tooltip: L("lcl_cancel"),
                   action: "FcltMgr.closeDetail(window, { cancel: true } )"});


%>
    <script type="text/javascript">
      // full: complete reservering weggooien
      // bonWards: vanaf datum huidige res_rsv_ruimte voorwaarts
      function doDelete(bFull, bonWards)
      {
        $("#deletefull").val(bFull?1:0);
        $("#deletefuture").val(bonWards?1:0);
        // Niet overdrijven met vragen: if (confirm(L("lcl_R_U_sure")))
        $.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");
      }
    </script>
  </head>
  <body class="modal" id="mod_resdelete">
    <form name="u2" action="res_delete_save.asp?rsv_ruimte_key=<%=rsv_ruimte_key%>" method="post">
      <input type='hidden' id='deletefull' name='deletefull' value='0'>
      <input type='hidden' id='deletefuture' name='deletefuture' value='0'>

<%    BLOCK_START("resDelete", L("lcl_res_deel_head1") + " " + (aantalEerder + 1 + aantalLater) + " " + L("lcl_res_deel_head2"));
%>    <tr><td><label><%=L("lcl_remark")%>:</label></td></tr>
<%    RWTEXTAREATR("opmerk", "fldomschr", "", (rrr.rsv_ruimte_opmerking || ""), {html: "rows='4'"});

      // Als de kosten hoger zijn als nul dan was de annuleringshorizon verstreken
      if (rrr.restype == "CV" && (kosten > 0) && urole != 'fe')
      {
%>
        <tr>
          <td colspan=2>
            <b><%=L("lcl_res_kostendoorbelast").format(kosten)%></b>
            <input type="hidden" id="cost_recharge" name="cost_recharge" value="on">
          </td>
        </tr>
<%    }
      else if (rrr.restype == "R" && urole != 'fe')
      {
        if (  ((S("res_delete_ask_kosten") == 1) && (kosten > 0))                                 // na annuleringshorizon
           || ((S("res_delete_ask_kosten") == 2) && (rrr.res_status_fo_key == 2))                 // definitieve reservering
           || ((S("res_delete_ask_kosten") == 3) && (rrr.res_status_fo_key == 2) && (kosten > 0)) // definitieve reservering na annuleringshorizon
           )
        {
%>
        <tr>
          <td colspan=2>
            <label for="cost_recharge"><%=L("lcl_res_kostendoorbelasten")%>&nbsp;(<%=L("lcl_maximal")%>&nbsp;<%=kosten%>%)</label><% CHECKBOX("", "cost_recharge") %>
          </td>
        </tr>
<%
        }
        // in alle andere gevallen is cost_recharge niet aanwezig, en krijgt daardoor in res_delete_save de waarde "off"
      }
%>
      <tr>
        <td colspan=2>
<%        //divje
          CreateButtons(buttons, { isDialog: true, vertical: true, showIcons: true }); %>
        </td>
      </tr>

<%    BLOCK_END();
      IFACE.FORM_END();
%>
    </form>
  </body>
</html>