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

     File:          bes_bedrijf_srtprod.asp
     Description:   Popupje om een weegfactor te bewerken of aan te maken
     Parameters:
     Context:
*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/save2db.inc" -->

<%
FCLTHeader.Requires({ plugins: ["jQuery"],
                      js: ["num2curr.js"]
                    });

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

var klant_key    = getQParamInt("klant_key");
var srtprod_key  = getQParamInt("srtprod_key", -1);
if (srtprod_key==-1) // dan multi
    var srtprod_keys  = getQParamIntArray("srtprod_keys");

var submitting   = getQParamInt("submit", 0) == 1;
var TransitParam = buildTransitParam(["klant_key", "srtprod_key", "srtprod_keys"]);

%>
<html>
  <head>
<%  FCLTHeader.Generate(); %>

<%  if (submitting)
    {
      if (srtprod_key>0)
        srtprod_keys = [srtprod_key];
      // lekker lui: eerst aanmaken voor zover niet aanwezig
      sql = "INSERT INTO bes_bedrijf_srtprod (prs_bedrijf_key, bes_srtprod_key)"
          + "     (SELECT "+klant_key+", bes_srtprod_key"
          + "        FROM bes_srtprod"
          + "       WHERE bes_srtprod_key IN ("+srtprod_keys.join(",")+")"
          + "       MINUS SELECT prs_bedrijf_key, bes_srtprod_key"
          + "               FROM bes_bedrijf_srtprod)";
      Oracle.Execute(sql);

      var fields =  [ { dbs: "bes_bedrijf_srtprod_weging",      typ: "float",   frm: "weging" },
                      { dbs: "bes_bedrijf_srtprod_prijs",       typ: "float",   frm: "prijs" },
                      { dbs: "bes_bedrijf_srtprod_opmerking",   typ: "varchar", frm: "opmerking", len: 320 }
                    ];
      // Nu alleen nog updates
      sql = buildUpdate("bes_bedrijf_srtprod", fields) + " prs_bedrijf_key = " + klant_key + " AND bes_srtprod_key IN ("+srtprod_keys.join(",")+")";
      var err = Oracle.Execute(sql, true);
      message = err.friendlyMsg;

%>
      <script type="text/javascript">
        FcltMgr.closeDetail( window,
                             { warning: "<%=safe.jsstring(message)%>"
                             });
      </script>
<%
      Response.End;
    }
    else // gewone formulier
    {
%>
      <script type="text/javascript">
        function bes_cancel()
        {
            FcltMgr.closeDetail(window, { cancel: true } );
        }

        function bes_submit(close)
        {
          if (!validateForm("u2"))
            return false;

          document.closeform.submit();
        }

        function calcTotal()
        {
          var vweging = parseFloat($("#weging").val().replace(',', '.'));
          var vprijs  = parseFloat($("#prijs").val().replace(',', '.'));
          var totaal = '';
          if ($("#weging").val() != '' && !isNaN(vweging) && $("#prijs").val() != '' && !isNaN(vprijs))
            totaal = num2currEditable(vweging * vprijs);

          $("#totaalprijs").val(totaal);
        }

        function calcPrijs()
        {
        	var vweging = parseFloat($("#weging").val().replace(',', '.'));
        	var vtotaal = parseFloat($("#totaalprijs").val().replace(',', '.'));
        	var prijs = '';
          if ($("#weging").val() != '' && !isNaN(vweging) && $("#totaalprijs").val() != '' && !isNaN(vtotaal))
        	  if (vweging != 0)
        	    prijs = num2currEditable(vtotaal / vweging);

        	$("#prijs").val(prijs);
        }

      </script>
<%
    }
%>
  </head>

  <body class="modal" id="mod_besweging">

    <form id="closeform" name="closeform" action="bes_bedrijf_srtprod.asp?submit=1<%=TransitParam%>" method="post">
<%
    if (srtprod_key > 0) // Eén product
    {
        var sql = " SELECT bs.bes_bedrijf_srtprod_key,"
                + "        bs.bes_bedrijf_srtprod_weging,"
                + "        bs.bes_bedrijf_srtprod_prijs,"
                + "        bs.bes_bedrijf_srtprod_opmerking,"
                + "        bes_srtprod_omschrijving,"
                + "        prs_bedrijf_naam||' '||prs_bedrijf_bezoek_plaats prs_bedrijf_naam"
                + "   FROM bes_bedrijf_srtprod bs,"
                + "        prs_bedrijf b,"
                + "        bes_srtprod p"
                + "  WHERE bs.prs_bedrijf_key(+) = " + klant_key
                + "    AND bs.bes_srtprod_key(+) = p.bes_srtprod_key"
                + "    AND b.prs_bedrijf_key = " + klant_key
                + "    AND p.bes_srtprod_key = " + srtprod_key;

        oRs = Oracle.Execute(sql);

        var weging = oRs("bes_bedrijf_srtprod_weging").value;
        var prijs = oRs("bes_bedrijf_srtprod_prijs").value;
        var totaalprijs = weging * prijs;
        var opmerking = oRs("bes_bedrijf_srtprod_opmerking").value;
        var prod = oRs("bes_srtprod_omschrijving").value;
        var bedrijf = oRs("prs_bedrijf_naam").value;
        oRs.close();
    }
    else // Multi
    {
        var sql = " SELECT prs_bedrijf_naam||' '||prs_bedrijf_bezoek_plaats prs_bedrijf_naam"
                + "   FROM prs_bedrijf b"
                + "  WHERE b.prs_bedrijf_key = " + klant_key;
        oRs = Oracle.Execute(sql);
        var bedrijf = oRs("prs_bedrijf_naam").value;
        oRs.close();

        var weging = null;
        var prijs = null;
        var totaalprijs = null;
        var opmerking = null;
        var prod = srtprod_keys.length  + " L("lcl_producten")";
    }

      BLOCK_START("besWeging", safe.html(prod));
        ROFIELDTR("fld", L("lcl_company"), bedrijf);
        RWFIELDTR("weging", "fld", L("lcl_bes_weging"), safe.editablefloat(weging), {datatype: "float", html: "onBlur='calcTotal()'"});
        RWFIELDTR("prijs", "fld", L("lcl_bes_price_per_unity"), safe.editablefloat(prijs), {datatype: "float", html: "onBlur='calcTotal()'"});
        RWFIELDTR("totaalprijs", "fld", L("lcl_r_price7"), safe.editablefloat(totaalprijs), {datatype: "float", html: "onBlur='calcPrijs()'"});
        RWTEXTAREATR("opmerking", "fld", L("lcl_bes_opmerking"), opmerking);

      BLOCK_END();
      var buttons =  [ {title: L("lcl_submit"), icon: "accept.png", action: "bes_submit()" },
                       {title: L("lcl_cancel"), icon: "cancel.png", action: "bes_cancel()" } ];
      CreateButtons(buttons);

IFACE.FORM_END();
%>
    </form>


  </body>
</html>
