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

     File:        pda/gebouw.asp
                  Gebouwdetails+vervolgfuncties
     Context:     vanaf smartphone-gebouwlijst of direct via een QRC
     Parameters:  gebouw_key/bld_key
                  currentlocation=1 to select current building
*/
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./resultset_table.inc" -->
<!-- #include file="../alg/alg.inc" -->
<!-- #include file="../alg/alg_flexkenmerk.inc" -->
<!-- #include file="../Shared/discx3d.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="../mld/mld.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="./iface.inc" -->
<%

// gebouw_key evt via handmatige parameter (of menuitem)
// en bld_key via plaatsselector (van gebouw_list.asp)
var bld_key = getQParamInt("gebouw_key", getQParamInt("bld_key", -1));
var defaulttocurrentloc = getQParamInt("currentlocation", 0) == 1;
if (bld_key == -1  && defaulttocurrentloc)
    bld_key = user.alg_gebouw_key({withcurrent:true});

// Eerst een gebouw uitzoeken
if (bld_key == -1)
    Server.Transfer("gebouw_list.asp");

// Authorisatie
var sql = "SELECT alg_type"
        + "  FROM alg_v_allonroerendgoed"
        + " WHERE alg_onroerendgoed_keys = " + bld_key;
var oRs = Oracle.Execute(sql);
var onrgoedlvl = oRs("alg_type").Value;
oRs.Close();

var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse && (onrgoedlvl == "G" || onrgoedlvl == "T"));

var qrc   = getQParamInt("qrc", 0)  != 0;
var tiny  = getQParamInt("tiny", 0) != 0;
var transitParam = buildTransitParam(["qrc", "tiny"]);

var sql = "SELECT g.alg_gebouw_naam,"
        + "       g.alg_gebouw_code,"
        + "       g.alg_gebouw_omschrijving,"
        + "       g.alg_gebouw_aanmaak,"
        + "       g.alg_gebouw_email,"
        + "       g.alg_gebouw_getekend,"
        + "       g.alg_gebouw_bruto_vloeropp,"
        + "       g.alg_gebouw_omtrek,"
        + "       g.alg_gebouw_inhoud,"
        + "       g.alg_gebouw_opmerking,"
        + "       g.mld_adres_key,"
        + "       g.prs_kostenplaats_key,"
        + "       g.alg_gebouw_ordernr,"
        + "       g.alg_gebouw_dwgx,"
        + "       g.alg_gebouw_dwgy,"
        + "       g.alg_gebouw_x,"
        + "       g.alg_gebouw_y,"
        + "       g.alg_gebouw_bez,"
        + "       g.alg_gebouw_verwijder,"
        + "       g.mld_dienstniveau_key,"
        + "       g.alg_gebouw_beginuur,"
        + "       g.alg_gebouw_einduur,"
        + "       g.alg_gebouw_werkdagen,"
        + "       g.prs_perslid_key_verantw,"
        + "       g.prs_perslid_key_verantw2,"
        + "       g.alg_gebouw_vervaldatum,"
        + "       g.alg_gebouw_image,"
        + "       sg.alg_srtgebouw_omschrijving"
        + "  FROM alg_gebouw g, alg_srtgebouw sg"
        + " WHERE g.alg_gebouw_key = " + bld_key
        + "   AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
        + "   AND (   sg.alg_srtgebouw_verwijder IS NULL"
        + "        OR sg.alg_srtgebouw_verwijder < SYSDATE)";

var oRs = Oracle.Execute(sql);

var bld_srt     = oRs("alg_srtgebouw_omschrijving").Value;
var bld_naam    = oRs("alg_gebouw_naam").Value;
var bld_code    = oRs("alg_gebouw_code").Value;
var bld_descr   = oRs("alg_gebouw_omschrijving").Value;
// var bld_maak    = oRs("alg_gebouw_aanmaak").Value;
var bld_email   = oRs("alg_gebouw_email").Value;
// var bld_teken   = oRs("alg_gebouw_getekend").Value;
var bld_opp     = oRs("alg_gebouw_bruto_vloeropp").Value;
var bld_omtrek  = oRs("alg_gebouw_omtrek").Value;
var bld_inhoud  = oRs("alg_gebouw_inhoud").Value;
// var bld_opmerk  = oRs("alg_gebouw_opmerking").Value;
var mld_adres   = oRs("mld_adres_key").Value;
// var prs_kstpl   = oRs("prs_kostenplaats_key").Value;
// var bld_ordrnr  = oRs("alg_gebouw_ordernr").Value;
// var bld_dwgx    = oRs("alg_gebouw_dwgx").Value;
// var bld_dwgy    = oRs("alg_gebouw_dwgy").Value;
var bld_x       = oRs("alg_gebouw_x").Value;
var bld_y       = oRs("alg_gebouw_y").Value;
var bld_bez     = oRs("alg_gebouw_bez").Value;
var bld_deleted = oRs("alg_gebouw_verwijder").Value != null;
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
var beginuur    = oRs("alg_gebouw_beginuur").Value;
var einduur     = oRs("alg_gebouw_einduur").Value;
var werkdagen   = oRs("alg_gebouw_werkdagen").Value;
var verantw     = oRs("prs_perslid_key_verantw").Value;
var verantw2    = oRs("prs_perslid_key_verantw2").Value;
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
var image       = oRs("alg_gebouw_image").Value;
oRs.Close();

%>
<html>
<head>
<% FCLTMHeader.Generate({title: bld_code}); %>
</head>
<body>
<%
    PAGE_START({ "headerImage": S("alg_image_path") + "gebouw/" + image });
    HEADER ({title: L("lcl_building")+ " " + bld_code, back:!qrc, home:!qrc});
    CONTENT_START();

    if (bld_deleted)
    {
%>      <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
    }

      ROFIELD("fld", L("lcl_estate_gebouw_man_name"), bld_naam, { suppressEmpty: true });
      ROFIELD("fld", L("lcl_estate_gebouw_srtgebouw"), bld_srt ,  { suppressEmpty: true });
      ROFIELD("fld", L("lcl_estate_gebouw_man_descr"), bld_descr, { suppressEmpty: true });
      ROFIELD("fldmailto details", L("lcl_alg_gebouw_email"), bld_email, { suppressEmpty: true, type: "email" });

      if (verantw > 0)
          ROFIELD("fld", L("lcl_alg_verantw"),  new Perslid(verantw).naam(),  { suppressEmpty: true });
      if (verantw2 > 0)
          ROFIELD("fld", L("lcl_alg_verantw2"), new Perslid(verantw2).naam(), { suppressEmpty: true });

      if (!tiny)
      {

        var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
        ROFIELD("fld", L("lcl_estate_gebouw_floors_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppfloors, { suppressEmpty: true });
        ROFIELD("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.opprooms, { suppressEmpty: true });
        ROFIELD("fld", L("lcl_estate_ruimte_opp_alt1")       + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1,  { suppressEmpty: true });
        ROFIELD("fld", L("lcl_estate_ruimte_opp_alt2")       + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2,  { suppressEmpty: true });

        ROFIELD("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp,    { suppressEmpty: true });
        ROFIELD("fld", L("lcl_estate_gebouw_man_omtrek"),         bld_omtrek, { suppressEmpty: true });
        ROFIELD("fld", L("lcl_estate_gebouw_man_inhoud"),         bld_inhoud, { suppressEmpty: true });
        sql = "SELECT mld_adres_naam"
            + "  FROM mld_adres"
            + " WHERE mld_adres_key = " + mld_adres;
        oRs = Oracle.Execute(sql);
        if (!oRs.eof)
        {
            ROFIELD("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, { suppressEmpty: true });
        }
        oRs.Close();
        ROFIELD("fld", L("lcl_geoxcoord"), bld_x, { suppressEmpty: true });
        ROFIELD("fld", L("lcl_geoycoord"), bld_y, { suppressEmpty: true });
        var fldcls = "fld";
        if (vervaldatum <= new Date())
            fldcls += " expired2";

        ROFIELD(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), { suppressEmpty: true });

        if (bld_bez == 1)
            CHB_FIELD("fldalgbez", L("lcl_estate_gebouw_bez"), true, {disabled: true});

        if (beginuur !== null && einduur !== null && beginuur > -1 && einduur > -1)
            ROFIELD("fld", L("lcl_estate_gebouw_opening_hours"), toTimeString(beginuur) + " - " + toTimeString(einduur));
        else
        {
            ROFIELD("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), { suppressEmpty: true } );
            ROFIELD("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), { suppressEmpty: true } );
        }

        if (werkdagen == 1)
            CHB_FIELD("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), true, {disabled: true});

        if (dienstniveau_key > 0)
        {
            sql  = "SELECT   mld_dienstniveau_key, "
                 + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
                 + "    FROM mld_dienstniveau "
                 + "   WHERE mld_dienstniveau_key = " + dienstniveau_key;
            var toRs = Oracle.Execute(sql);
            ROFIELD("fld", L("lcl_mld_dienst_niveau"), toRs("mld_dienstniveau_omschr").value);
            toRs.Close();
        }

        // Plus flexkenmerken
        generateFlexKenmerkBlock ({
           onrgoed_key    : bld_key,
           onrgoed_niveau : onrgoedlvl,
           reado          : true,
           this_alg       : this_alg,
           mobile         : true
        });
      }

    CONTROLGROUP_START();

        var trackinglines = mobile.hastrackingpage("gebouw", bld_key);
        if (trackinglines > 0 && !tiny)
        {
            BUTTON(L("lcl_history")+" ({0})".format(trackinglines), {linkid: "#bld-2-"+bld_key, icon: "fa-list"});
        }

        var tsql = "SELECT COUNT(alg_ruimte_key), MAX(alg_ruimte_key)"
                 + "  FROM alg_ruimte r, alg_verdieping v"
                 + " WHERE r.alg_verdieping_key=v.alg_verdieping_key"
                 + "   AND alg_ruimte_verwijder IS NULL"
                 + "   AND v.alg_gebouw_key = " + bld_key;
        var toRs = Oracle.Execute(tsql);
        if (toRs(0).Value == 1) {
      	    var ruimte_key = toRs(1).Value;
            BUTTON(L("lcl_mobile_ruimten")+" (1)", {linkid: "ruimte.asp?ruimte_key=" + ruimte_key + transitParam, icon: "fa-info" });
        } else if (toRs(0).Value > 1) {
            BUTTON(L("lcl_mobile_ruimten")+" ({0})".format(toRs(0).value), {linkid: "ruimte_list.asp?bld_key=" + bld_key + transitParam, icon: "fa-info" });
        }
        toRs.Close();

        if (this_alg.canReadNotes)
        {
            BUTTON(L("lcl_alg_behandeling"), {linkid: rooturl + "/appl/pda/notitie.asp?node=gebouw&key=" + bld_key + "&lvl=G", icon: "fa-comment" });
        }

    CONTROLGROUP_END();
    CONTENT_END();
    FOOTER();
    PAGE_END();
    if (trackinglines>0) {
        PAGE_START({id: "bld-2-"+bld_key, dialog: true})
          mobile.trackingpage('gebouw', bld_key, bld_descr);
        PAGE_END();
    }
PDA_PAGE_END(); %>
	</body>
</html>
<% ASPPAGE_END(); %>
