/*
     $Revision$
     $Id$

     File:        mld_show_opdr.js

*/

function mld_edit_typeopdr(img, opdr_key)
{
  FcltMgr.openModalDetail("../mld/mld_change_opdrtype.asp?opdr_key=" + opdr_key,
                          L("lcl_shared_order") + " " +(prefix||"") + mld_key + "/" + volgnr,
                          { callback: function(data) { if (data.refresh) FcltMgr.reload() } }
                         );
}

function opdr_timereg()
{
  var datefrom = new Date();
  datefrom.setDate(datefrom.getDate() - datefrom.getDay() + 1); // this week's monday
  var url = "appl/mld/opdr_edit_uren.asp?opdr_key=" + opdr_key + "&datefrom=" + datefrom.valueOf();
  FcltMgr.openDetail(url, L("lcl_mld_ord_weeklijst"));
}

function opdr_change(urole, finish)
{
  if (FcltMgr.startEdit(window))
    window.location.href = "mld_edit_opdr.asp?urole=" + urole + "&opdr_key=" + opdr_key + "&finish=" + (finish? 1 : 0);
}

function opdr_schedule(mode)
{
  FcltMgr.openModalDetail("../mld/opdr_schedule_confirm.asp?mode=" + mode + "&opdr_key=" + opdr_key, (mode == 1? L("lcl_mld_opdr_edit_plandate") : L("lcl_mld_opdr_edit_plandate2")), { callback: opdrCloseCallback });
}

function opdr_approve()
{
  FcltMgr.confirm(L("lcl_mld_opdr_approve").format(prefix + mld_key + "/" + volgnr), function() {
      // Fiatteer scherm
      var data = {
          opdr_key: opdr_key
      };
      protectRequest.dataToken(data);
      $.post("opdr_approve.asp", data, FcltCallbackRefresh, "json");
  });
}

function opdr_goedkeur_preference()
{
  $("#modalsfatext").text(L("lcl_mld_opdr_goedkeur").format(prefix + mld_key + "/" + volgnr));
  if (refiat)
    $("#sendforapproval").prop('checked', false); // Checkbox weer zetten indien die was uitgeschakeld.
  mld_show_goedkeurmodal();
}

function opdr_goedkeur()
{
  var fiat = $("#has_sendforapproval").length == 0 || ($("#has_sendforapproval").length && $("#sendforapproval")[0].checked)? 1 : 0;

  var data = { opdr_key: opdr_key,
               dofiat: fiat
             };
  protectRequest.dataToken(data);
  $.post( "opdr_goedkeur.asp"
        , data
        , FcltCallbackRefresh
        , "json"
        );
}

function opdr_send()
{
  FcltMgr.confirm(L("lcl_mld_opdr_send_confirm").format(prefix + mld_key + "/" + volgnr), function() {
    var data = { opdr_key: opdr_key,
                 send: 1
               };
    protectRequest.dataToken(data);
    $.post("order_mail.asp", data, FcltCallbackRefresh, "json");
  });
}

function opdr_setsent()
{
  FcltMgr.confirm(L("lcl_mld_opdr_setsent"), function() {
      var data = {
          opdr_key: opdr_key
      };
      protectRequest.dataToken(data);
      $.post("opdr_setsent.asp", data, FcltCallbackRefresh, "json");
  });
}
function opdr_accept()
{
  var confirmtekst = (activeopdr_key > 0 && (typeopdr_sequential & 4) != 4
                     ? L("lcl_mld_opdr_accept_hlt").format(prefix + mld_key + "/" + volgnr, activeopdracht)
                     : L("lcl_mld_opdr_accept").format(""));
  var url = "../mld/opdr_accept_confirm.asp?opdr_key=" + opdr_key + "&dorefresh=1";
  FcltMgr.openModalDetail(url, confirmtekst,
                               { callback: opdrAcceptCallback
                               });
}

function opdr_reject()
{
  FcltMgr.openModalDetail("../mld/opdr_reject.asp?opdr_key=" + opdr_key + "&urole=" + urole, L("lcl_mld_reject"), { callback: opdrCloseCallback });
}

function opdr_cancel()
{
  var url = "../mld/opdr_cancel_confirm.asp?opdr_key=" + opdr_key + "&dorefresh=1";
  FcltMgr.openModalDetail(url, L("lcl_mld_opdr_cancel"),
                                { callback: opdrCloseCallback
                                });
}

function opdr_close()
{
  if (kosten_verplicht_afm && opdr_kosten == null)
  {
    FcltMgr.alert(L("lcl_mld_opdr_kosten_verpl_afm"));
    return;
  }
  var url = "../mld/opdr_close_confirm.asp?opdr_key=" + opdr_key;
  FcltMgr.openModalDetail(url, L("lcl_mld_opdr_close"),
                                { callback: opdrCloseCallback
                                });
}

function opdr_finish(urole)
{
  opdr_change(urole, true)
}

function opdr_verwerk() {
  var confirmtekst = L("lcl_mld_opdr_verwerken").format(prefix + mld_key + "/" + volgnr);
  FcltMgr.confirm(confirmtekst, function () {
    var url = "../mld/opdr_verwerk_save.asp?opdr_key=" + opdr_key;
    var data = {
      opdr_key: opdr_key
    };
    protectRequest.dataToken(data);
    $.post(url, data, FcltCallbackRefresh, "json");
  });
}

function opdr_reset()
{
    var data = { opdr_key: opdr_key};
    protectRequest.dataToken(data);
    $.post("opdr_reset_changed.asp", data, FcltCallbackRefresh, "json");
}

function opdrAcceptOfferCallback(json, textStatus)
{
  // Automatisch een vervolg uitvoeringsopdracht (opdr_type is mld_typeopdr_typeopdr_key) aanmaken
  // Als er een typeopdr_key is gedefinieerd voor de offerte, wordt er  automatisch een opdracht aangemaakt. Anders refresh offerte.
  if (json.typeopdr_key > 0)
  { // Om een opdracht te kunnen kopieëren heb ik altijd "ORDBOF" rechten voor nodig. Dan kan ik ook altijd urole=bo meegeven.
    FcltMgr.setTitle(L("lcl_mld_opdr_uitvoeringopdracht"));
    parent.window.location.href = "mld_opdr.asp?urole=bo"
                                            + "&opdr_key=" + json.opdr_key
                                            + "&opdr_type=" + json.typeopdr_key
                                            + "&opdr_copy=1"
                                            + "&fromofferte=1";
  }
  else
    FcltCallbackRefresh(json, textStatus);
}

function opdr_accept_offer()
{
  FcltMgr.openModalDetail("../mld/opdr_accept_offer.asp?opdr_key=" + opdr_key,
                          L("lcl_mld_accept"),
                          { callback: opdrAcceptOfferCallback });
}

function opdr_reject_offer()
{
  FcltMgr.openModalDetail("../mld/opdr_reject_offer.asp?opdr_key=" + opdr_key,
                          L("lcl_mld_reject"),
                          { callback: FcltCallbackRefresh });
}

function opdr_copy()
{ // Om een opdracht te kunnen kopieëren heb ik altijd "ORDBOF" rechten voor nodig. Dan kan ik ook altijd urole=bo meegeven.
  FcltMgr.openDetail("appl/mld/mld_opdr.asp?urole=bo" + "&opdr_key=" + opdr_key + "&mld_key=" + mld_key + "&opdr_copy=1", L("lcl_mld_copy") + " " + L("lcl_shared_order").toLowerCase());
}

function opdr_add_invoice()
{
  FcltMgr.openDetail("appl/fin/fin_factuur.asp?referentie=" + prefix + mld_key + "/" + volgnr, (urole == "fe"? L("lcl_menu_fin_fe") : L("lcl_menu_fin_fo")));
}

function opdr_list_invoice()
{
  FcltMgr.openDetail("appl/fin/fin_search.asp?autosearch=1&fin_type=O&opdrnr=" + prefix + mld_key + "/" + volgnr, (urole == "fe"? L("lcl_menu_fin_fe_overz") : L("lcl_menu_fin_fo_overz")));
}

function opdr_print()
{
  FcltMgr.windowopen('./mld_opdr_xml.asp?opdr_key=' + opdr_key);
}

function opdr_delen()
{
  FcltMgr.openModalDetail('./mld_opdr_xml.asp?share=1&opdr_key=' + opdr_key);
}

function testafmeldscherm()
{
  FcltMgr.openDetail('appl/mld/mld_opdr_actions.asp?opdr_key=' + opdr_key);
}

function opdrMailCallback(data)
{
  FcltToast(L("lcl_mld_is_ordmai") + data.emails);
}

function mld_melding_materiaal()
{
  // Maximum lengte van url is 2083 karakters (maximum path lengte is 2048 karakters).
  // Daarom de strings niet via url (GET) meesturen maar via params van openModalDetail (Nadeel: nu wel clientside beschikbaar bij mld_opdr_materiaal.asp)
  var url = "mld_opdr_materiaal.asp?opdr_key=" + opdr_key + "&readonly=1" + "&uitv_key=" + $("#uitvoerende").val();

  FcltMgr.openModalDetail(url,
                          L("lcl_mld_materialen"),
                          { matkeystr: $("#matkeystr").val(),
                            matamountstr: $("#matamountstr").val(),
                            matpricestr: $("#matpricestr").val()
                          });
}

function opdr_onderbreken()
{
    var url = "../mld/opdr_halt_confirm.asp?opdr_key=" + opdr_key;
    FcltMgr.openModalDetail(url,
                            L("lcl_halt") + " " + opdracht,
                            { callback: FcltCallbackRefresh }
                           );
}

function opdr_hervatten()
{
  var confirmtekst = (activeopdr_key > 0
                     ? L("lcl_mld_opdr_rsm_hlt").format(prefix + mld_key + "/" + volgnr, activeopdracht)
                     : L("lcl_mld_opdr_rsm").format(prefix + mld_key + "/" + volgnr));
  FcltMgr.confirm(confirmtekst,
                  function()
                  {
                    var data = { opdr_key: opdr_key,
                                 rsm: 1 };
                    protectRequest.dataToken(data);
                    $.post("opdr_hltrsm.asp", data, FcltCallbackRefresh, "json");
                  });
}
