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

    File:        bes_srtdeel_search_list.asp
    Description: Vangt de parameters van bes_srtdeel_search op en verwerkt die tot een lijst
    Parameters:
    Context:     Vanuit bes_srtdeel_search.asp
    Note:
*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->

<%

var searchtext = getQParam("searchtext", null);
var disc_key = getQParamInt("disc", -1);
var lev_key = getQParamInt("lev_key", -1);
var bes_enddat = getQParamDate("bes_enddat", null);

var outputmode = getQParamInt("outputmode", 0); //  0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;

var authparams = user.checkAutorisation("WEB_BESMSU");

%>
<html>
  <head>
<%  FCLTHeader.Generate({outputmode: outputmode}); %>
    <script>
        function bes_edit(row)
        {
          var srtdeel_key = row.getAttribute("ROWKEY");
          var url = "appl/bes/bes_srtdeel.asp?disc_key=<%=disc_key%>&srtdeel_key="+srtdeel_key;
          FcltMgr.openDetail(url, "<%=L("lcl_bes_srtdeel")%>", {callback: FcltMgr.reload } );
        }
        function bes_new()
        {
          <% if (disc_key<0) { %>
            alert(L("lcl_bes_srtdeel_need_cat"));
          <% } else {
            var addurl = "appl/bes/bes_srtdeel.asp?disc_key=" + disc_key;
          %>
          FcltMgr.openDetail('<%=addurl%>', '<%=L("lcl_add")%>', {callback: FcltMgr.reload })
          <% } %>
        }

        function prod_sel(evt, srtdeel_key)
        {
          FcltMgr.stopPropagation(evt);
          var url = "../bes/bes_srtprod_sel.asp?srtdeel_key="+srtdeel_key;
          FcltMgr.openModalDetail(url, "<%=L("lcl_bes_srtdeel")%>", {callback: FcltMgr.reload } );
        }
    </script>
  </head>

  <body id="listbody">
<%
    var sql = "SELECT " + lcl.xsqla('d.ins_discipline_omschrijving', 'd.ins_discipline_key')
            + "     , " + lcl.xsqla('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
            + "     , " + lcl.xsqla('b.bes_srtdeel_eenheid', 'b.bes_srtdeel_key')
            + "     , b.bes_srtdeel_key"
            + "     , b.bes_srtdeel_nr"
            + "     , " + lcl.xsqla('b.bes_srtdeel_omschrijving', 'b.bes_srtdeel_key')
            + "     , b.bes_srtdeel_vervaldatum"
            + "     , bes.getsrtdeelprijs(b.bes_srtdeel_key, "+(bes_enddat ? bes_enddat.beginToSQL() : "NULL")+") actualprijs"
            + "     , bedr.prs_bedrijf_naam"
            + "     , b.bes_srtgroep_key"
            + "     , " + lcl.xsqla('p.bes_srtprod_omschrijving', 'p.bes_srtprod_key')
            + "  FROM bes_srtdeel B"
            + "     , bes_srtgroep g"
            + "     , bes_srtprod p"
            + "     , ins_tab_discipline d"
            + "     , prs_bedrijf bedr"
            + "  WHERE b.bes_srtgroep_key = g.bes_srtgroep_key"
            + "    AND bes_srtdeel_verwijder IS NULL"
            + "    AND g.ins_discipline_key = d.ins_discipline_key"
            + "    AND bedr.prs_bedrijf_key(+) = b.prs_bedrijf_key"
            + "    AND p.bes_srtprod_key(+) = b.bes_srtprod_key"
            + (disc_key>0?" AND g.ins_discipline_key = " + disc_key:"")
            + (lev_key>0?" AND b.prs_bedrijf_key = " + lev_key:"")
            + (bes_enddat?" AND (bes_srtdeel_vervaldatum IS NULL OR "
            + "                  bes_srtdeel_vervaldatum >= " + bes_enddat.beginToSQL() + ")":"")
            + (searchtext?" AND (UPPER(b.bes_srtdeel_nr) LIKE " + safe.quoted_sql_wild(searchtext + "%") + " OR "
            + "                  UPPER(b.bes_srtdeel_omschrijving) LIKE " + safe.quoted_sql_wild("%"+searchtext + "%") + ")" :"")
            + "  ORDER BY d.ins_discipline_omschrijving, g.bes_srtgroep_omschrijving, b.bes_srtdeel_nr";

    // TODO: gebruiken en actuele prijs highlighten?
    function fnrowClass(oRs)
    {
        // if laatste?
        return "expired2"; // Te laat
    }

    function fnProduct(oRs)
    {
        txt = oRs("bes_srtprod_omschrijving").Value || L("lcl_bes_selectsrtprod");

        var html = "<span class='details' onclick='prod_sel(event,"+oRs("bes_srtdeel_key").Value + ")'>"
                 + safe.html(txt)
                 + "</span>";

        return html;
    }

    buttons = {};
    //if (canAdd)
    {
      buttons = [{ icon: "plus.png", title: L("lcl_add"), action: "bes_new()" }];
    }

    if (lev_key > 0 || disc_key > 0) {  // TODO en BESMSU (write-)recht
        // Eerst maar eens: als de leverancier of catalogus gegeven is, mag ik een catalogus importeren
        // Strekking: als ik kan, het kan en het mag, dan kan ik hier naar de Importfunctie klikken.
        var impurl = "appl/imp/imp_search.asp?catonly=1";
        if (lev_key > 0) impurl += "&bedr_key="+lev_key;
        if (disc_key > 0) impurl += "&disc_key="+disc_key;
        buttons.push({ icon: "folder.png", title: L("lcl_import"), action: "FcltMgr.openDetail('" + impurl + "', '" + L("lcl_import") + "')" });
    }

    var rst = new ResultsetTable({ sql: sql,
                                   keyColumn: "bes_srtdeel_key",
                                   ID: "srtdeeltable",
                                   showAll: showall,
                                   outputmode: outputmode,
                                   title: L("lcl_bes_srtdeel_list"),
                                   buttons: buttons
                                 });

    if (disc_key<0)
        rst.addColumn(new Column({caption: L("lcl_bes_discipline"),  content: "ins_discipline_omschrijving"}));
    rst.addColumn(new Column({caption: L("lcl_bes_srtgroep_oms"),    content: "bes_srtgroep_omschrijving"}));
    rst.addColumn(new Column({caption: L("lcl_bes_srtdeel_nr"),      content: "bes_srtdeel_nr"}));
    if (lev_key<0)
        rst.addColumn(new Column({caption: L("lcl_bes_Supplier"),    content: "prs_bedrijf_naam"}));
    rst.addColumn(new Column({caption: L("lcl_bes_srtdeel_oms"),     content: "bes_srtdeel_omschrijving"}));
    rst.addColumn(new Column({caption: L("lcl_bes_unity"),           content: "bes_srtdeel_eenheid"}));
    rst.addColumn(new Column({caption: L("lcl_bes_price_per_unity"), content: "actualprijs", datatype: "currency"}));
    rst.addColumn(new Column({caption: L("lcl_bes_vervaldatum"),     content: "bes_srtdeel_vervaldatum", datatype: "date"}));
    if (user.checkAutorisation("WEB_PRDMSU", true)) {
        rst.addColumn(new Column({caption: L("lcl_bes_srtprod"),         content: fnProduct }));
    }
    rst.addAction({ action: "bes_edit", caption: L("lcl_edit"), isDefault: true});

    var cnt = rst.processResultset();
%>
  </body>
</html>
