/*
     $Revision$
     $Id$

     File:               ins_deelkoppeling.js
*/

var rowIndex = -1;

function CreateRow(naar_key, srtdeel_name, naar_name, naar_desc)
{
  rowIndex++;
  var table = $("#naar_desctable>tbody")[0];

  // Insert data rows
  tr = table.insertRow(-1);
  tr.setAttribute("naar_key", naar_key);
  tr.value = rowIndex;

  // Create drop button
  cell = tr.insertCell(-1);
  cell.className = "result";
  cell.align = "center";
  cell.innerHTML = "<i class='fa fa-fw fa-trash' OnClick='delRow(this)' style='cursor:pointer'></i>";

  // innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen
  // Input velden moeten wel met innerHTML of outerHTML anders wordt het text

  // Deel omschrijving veld
  cell = tr.insertCell(-1);
  cell.className = "result";
  cell.innerHTML = naar_name;
  cell.align = "left";
  cell.style.whiteSpace = "nowrap";

  // srtdeel omschrijving veld
  cell = tr.insertCell(-1);
  cell.className = "result";
  cell.innerHTML = srtdeel_name;
  cell.align = "left";
  cell.style.whiteSpace = "nowrap";

  // naar_desc input veld
  cell = tr.insertCell(-1);
  cell.className = "result";
  cell.innerHTML = "<input type='text' id='desc" + rowIndex + "' name='desc" + rowIndex + "' value='" + naar_desc + "' maxlength='50'>"
                 + "<input type='hidden' id='naar" + rowIndex + "' name='naar" + rowIndex + "' value='" + naar_key + "'>";
  cell.align = 'left';

  document.getElementById("nrRows").value = parseInt(rowIndex) + 1;
}

function delRow(img)
{
  // Verwijder de aangeklikte deel uit de lijst (de regel)
  var tr = $(img).closest("tr")[0];
  if (tr.getAttribute("naar_key") != null)
  {
    document.getElementById("naar_desctable").deleteRow(tr.rowIndex);
  }
}

function ins_submit()
{
  document.forms.u2.submit();
}
function ins_cancel()
{
    FcltMgr.closeDetail(window, { cancel: true });
}

function ins_add()
{
  if ($("#naar_key").val() > 0)
  {
    var exist = false;
    //debugger;
    $("tr[naar_key]").each(function(i)
                              {
                                if ($("#naar_key").val() == $(this).attr("naar_key"))
                                  exist = true;
                              });
    if (!exist)
    {
      CreateRow($("#naar_key").val(),
                $("#naar_key_show")[0].getAttribute("sgExtraParam"),
                $("#naar_key_show").val(),
                "");
      FcltMgr.resized(window);
    }
  }
}

function onChangeDiscipline()
{
  //sgSrtgroep.setValue($("#stdm").val(), $("#stdm_show").val(), true, true, null, true);
  // Regel hierboven werkt niet goed omdat CheckExist een get call veroorzaakt om te kijken of waarde bestaat.
  // In de tussentijd verstoort CheckJustOne dit process met een $.getJSON()
  // Dus gewoon Groep leegmaken
  sgSrtgroep.setValue(-1, "", true, false, null, true);
  sgSrtgroep.CheckJustOne();
  $("#srtdeelmulti").empty();
}

function callback_ins_info(data, textStatus, jqXHR)
{ // Zet de discipline indien niet ingevuld
  // setValue(key, txt, doonChange, checkExist, extraParam, lastTry)
  if ($("#disc").val() == -1)
    sgDisc.setValue(data.disc_key, data.disc_omschr, false /*doonChange*/, true /*checkExist*/);
  if ($("#srtgroep").val() == -1)
    sgSrtgroep.setValue(data.srtgroep_key, data.srtgroep_omschr, false /*doonChange*/, true /*checkExist*/);
  if ($("#srtdeel").val() == -1)
    sgSrtdeel.setValue(data.srtdeel_key, data.srtdeel_omschr, false /*doonChange*/, true /*checkExist*/);
}

function onChangeSrtgroep(srtgroep_key)
{ // Zet de discipline indien niet ingevuld.
  if (srtgroep_key > 0 && $("#disc").val() <= 0 && typeof sgDisc != "undefined")
  {
    $.getJSON("../Shared/get_ins_info.asp",
              { srtgroep_key: srtgroep_key },
                callback_ins_info);
  }
  sgSrtdeel.setValue(-1, "", true, false, null, true);
  sgSrtdeel.CheckJustOne();
  sgDeel.setValue(-1, "", true, false, null, true);
  sgDeel.CheckJustOne();
}

function onChangeSrtdeel(srtdeel_key)
{
  if (srtdeel_key > 0 && ($("#srtgroep").val() <= 0 && typeof sgSrtgroep != "undefined"))
  {
    $.getJSON("../Shared/get_ins_info.asp",
              { srtdeel_key: srtdeel_key },
                callback_ins_info);
  }
  sgDeel.setValue(-1, "", true, false, null, true);
  sgDeel.CheckJustOne();
}

function onChangeDeel(deel_key)
{
  if (deel_key > 0 && ($("#srtdeel").val() <= 0 && typeof sgSrtdeel != "undefined"))
  {
    $.getJSON("../Shared/get_ins_info.asp",
              { deel_key: deel_key },
                callback_ins_info);
  }
}
