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

    File:               ins_deel_move.asp
    Description:        Move an object (Mobile version) to another location/building/floor/room.
    Parameters:         urole
                        ins_key      (bv via QRC)
                        roo_key      Geselecteerde ruimte in de plaatsselector
                        return_from  url van het vorige scherm van ins_deel (te bereiken met back-knop)

*/
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../ins/ins.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="./iface.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"],
                      js: ["jquery-ui.js"]
                    });
var urole = getQParamSafe("urole", "bo");
var ins_key = getQParamInt("ins_key");
var new_alg_type = getQParamSafe("alg_type", "");
var new_loc_key = getQParamInt("loc_key", -1);
var new_bld_key = getQParamInt("bld_key", -1);
var new_flr_key = getQParamInt("flr_key", -1);
var new_roo_key = getQParamInt("roo_key", -1);
var return_from = getQParam("return_from", ""); // Dit moet het vorige scherm worden als men weer in ins_deel is.
                                                // Nodig om te voorkomen dat de plaatsselector opnieuw aangeroepen wordt.

var new_alg_key = -1;
switch (new_alg_type)
{
    case "R": new_alg_key = new_roo_key; break;
    case "V": new_alg_key = new_flr_key; break;
    case "G": new_alg_key = new_bld_key; break;
    case "T": new_alg_key = new_bld_key; break;
    case "L": new_alg_key = new_loc_key; break;
};

var canmove = false;
var autfunction = ["WEB_INSMAN", "WEB_INSUSE"];
user.checkAutorisation(autfunction);
if (ins_key > 0)
{
    var sql = " SELECT id.ins_deel_omschrijving"
            + "      , " + lcl.xsqla("sd.ins_srtdeel_omschrijving", "sd.ins_srtdeel_key")
            + "      , id.ins_deel_key"
            + "      , id.ins_srtdeel_key"
            + "      , id.ins_alg_ruimte_type"
            + "      , id.ins_alg_ruimte_key"
            + "      , id.ins_alg_ruimte_key_org"
            + "      , sg.ins_srtgroep_omschrijving"
            + "      , dp.ins_discipline_omschrijving"
            + "   FROM ins_v_deelenonderdeel id"
            + "      , ins_srtdeel sd"
            + "      , ins_srtgroep sg"
            + "      , ins_discipline dp"
            + "  WHERE sd.ins_srtdeel_key = id.ins_srtdeel_key"
            + "    AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
            + "    AND sg.ins_discipline_key = dp.ins_discipline_key"
            + "    AND id.ins_deel_key = " + ins_key;
    var oRs = Oracle.Execute(sql);
    if (!oRs.eof)
    {
        var deel_omschr       = oRs("ins_deel_omschrijving").Value;
        var srtdeel_omschr    = oRs("ins_srtdeel_omschrijving").Value;
        var srtdeel_key       = oRs("ins_srtdeel_key").Value;;
        var ruimte_type       = oRs("ins_alg_ruimte_type").Value;
        var ruimte_key        = oRs("ins_alg_ruimte_key").Value;
        var srtgroep_omschr   = oRs("ins_srtgroep_omschrijving").Value;
        var discipline_omschr = oRs("ins_discipline_omschrijving").Value;
        var subject = L("lcl_ins_move") + " " + srtdeel_omschr + " " + deel_omschr;

        var locatie_key = -1;
        var plaats_niveau = "R";
        if (ruimte_type == "R")
        {
            var sql_r = "SELECT CASE WHEN SUBSTR(alg_gebouw_code,1,1)     = '_' THEN 'L'"
                      + "            WHEN SUBSTR(alg_verdieping_code,1,1) = '_' THEN 'G'"
                      + "            WHEN SUBSTR(alg_ruimte_nr,1,1)       = '_' THEN 'V'"
                      + "            ELSE 'R'"
                      + "       END alg_niveau"
                      + "     , alg_locatie_key"
                      + "  FROM alg_v_onroerendgoed_gegevens"
                      + " WHERE alg_ruimte_key = " + ruimte_key;
            var oRs_r = Oracle.Execute(sql_r);
            if (!oRs_r.eof)
            {
                plaats_niveau = oRs_r("alg_niveau").Value;
                locatie_key = oRs_r("alg_locatie_key").Value;
            }
            oRs_r.Close();
        }

    }
    oRs.Close();

    var this_ins = ins.func_enabled_deel(ins_key);
    var verplaatsbaar = (ruimte_type == "R" || ruimte_type == "T");
    canMove = (verplaatsbaar && this_ins.canChangeAlg && (this_ins.canWrite("WEB_INSMAN") || this_ins.canWrite("WEB_INSUSE")) );
}
user.auth_required_or_abort(canMove);

var plaats_afdeling_oud   = ins.getBindingItemString(ruimte_type, ruimte_key, -1);
var plaats_afdeling_nieuw = ins.getBindingItemString((new_alg_type==""?ruimte_type:new_alg_type), new_alg_key, -1);

var return_to_param = safe.url("ins_deel_move.asp?urole="+urole+ "&ins_key="+ins_key);
var return_from_param = (return_from.length ? "&return_from=" + safe.url(return_from) : "");
if (new_alg_key == -1)
{
    var verplaats_params = "?x=b"
                     + "&urole=" + urole
                     + "&startlevel=2" // is default in plaatsselector
                     + "&eindlevel=5"  // is default in plaatsselector
                     + "&autlevel=-1"
                     + "&autoopen=2"
                     + "&return_to=" + return_to_param
                     + return_from_param;
    var url = "plaatsselector.asp" + verplaats_params;
}

%>
<html>
  <head>
<% FCLTMHeader.Generate({title: subject}); %>
<script>

$(function()
    {
        var new_alg_key = <%=new_alg_key%>;
        if (new_alg_key == -1)
        {
            v_url = "<%=url%>" ;
            window.location.replace(v_url); // Ga naar de plaatsselector.
        }
    });

    function move_submit()
    {
        $.post( $("form[name=movedeel]")[0].action
              , $("[name=movedeel]").serialize()
              , McltCallbackAndThenAlways(move_callback)
              , "json"
              );
    }

    function move_callback()
    {
        v_urole = "<%=urole%>";
        v_ins_key = <%=ins_key%>;
        v_return_from = "<%=return_from_param%>";
        window.location.replace("ins_deel.asp?urole="+v_urole+"&ins_key="+v_ins_key+v_return_from);
    }

</script>
  </head>
<body>

<%
if (new_alg_key != -1)
{
    PAGE_START();
        HEADER({title: subject, back:true, home: true});
        CONTENT_START();
            var formaction = "../ins/ins_edit_deel_save.asp?urole=" + urole + "&ins_key=" + ins_key;
            FORM_START("movedeel", {action: formaction, method: "post"});
                switch(new_alg_type)
                {
                    case "R": HIFIELD("ruimtekey",     new_alg_key); break;
                    case "T": HIFIELD("gebouwkey",     new_alg_key); break;
                }
                HIFIELD("srtdeel", srtdeel_key);
                HIFIELD("desc", deel_omschr);
                // Tonen oude en nieuwe waarde van plaats
                ROFIELD("fld", L("lcl_from"), plaats_afdeling_oud);
                ROFIELD("fld", L("lcl_ins_move_to"), plaats_afdeling_nieuw);
                CONTROLGROUP_START()
                    BUTTON(L("lcl_submit"), {click:  "move_submit()", icon: "fa-fclt-save", singlepress: true});
                    BUTTON(L("lcl_cancel"), {datarel: "back", icon: "fa-fclt-cancel"} );
                CONTROLGROUP_END()
            FORM_RVT();
            FORM_END();
        CONTENT_END();
        FOOTER();
    PAGE_END();
}
PDA_PAGE_END(); %>
	</body>
</html>
<% ASPPAGE_END(); %>
