<%@ language="javascript"%>
<% /*
     $Revision$
     $Id$
     Status:             95%
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->

<%
//protectRequest.validateToken();
var inskenmerkdeelkey = getQParamInt("inskenmerkdeelkey", -1);
var aanmaakdatum_prev;
var insdeelkey_next;
var getInsdeelkeyNext = false;
var getAanmaakDatumPrev = true;
sql = "SELECT kd.ins_kenmerkdeel_aanmaak"
    + ", kd.ins_kenmerkdeel_key"
    + " FROM ins_kenmerkdeel kd"
    + ", ins_kenmerk k"
    + ", ins_srtkenmerk sk"
    + " WHERE sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key"
    + " AND k.ins_kenmerk_key = kd.ins_kenmerk_key"
    + " AND kd.ins_kenmerkdeel_verwijder IS NOT NULL"
    + " AND kd.ins_deel_key ="
      + " (SELECT kd1.ins_deel_key"
      + " FROM ins_kenmerkdeel kd1"
      + " WHERE kd1.ins_kenmerkdeel_key = " + inskenmerkdeelkey + ")"
    + " ORDER BY ins_kenmerkdeel_aanmaak DESC"
oRs = Oracle.Execute(sql);

while (!oRs.eof)
{
  if (getInsdeelkeyNext)
  {
    insdeelkey_next = oRs("ins_kenmerkdeel_key").value;
    getInsdeelkeyNext = false;
    break;
  }

  if (oRs("ins_kenmerkdeel_key") == inskenmerkdeelkey)
  {
    getAanmaakDatumPrev = false;
    getInsdeelkeyNext = true;
  }

  if (getAanmaakDatumPrev)
    aanmaakdatum_prev = oRs("ins_kenmerkdeel_aanmaak").value;

  oRs.MoveNext();
}

var sqlfailed = false;
var errormsg = "";
if (inskenmerkdeelkey > 0)
{
  try
  {
    sql = "DELETE FROM ins_kenmerkdeel"
        + " WHERE ins_kenmerkdeel_key = " + inskenmerkdeelkey;
    oRs = Oracle.Execute(sql);
  }
  catch (e1)
  {
    sqlfailed = true;
  }

  if (sqlfailed)
  {
    errormsg = L("lcl_row_delete_failed1");
  }
  else
  {
    if (typeof(aanmaakdatum_prev) == "date" && insdeelkey_next)
    {
      sqlfailed = false;

         sql = "UPDATE ins_kenmerkdeel"
            + " SET ins_kenmerkdeel_verwijder =" + new Date(aanmaakdatum_prev).beginToSQL()
            + " WHERE ins_kenmerkdeel_key = " + insdeelkey_next;

        Oracle.Execute(sql);

     /* catch (e1)
      {
        sqlfailed = true;
      } */
      if (sqlfailed)
      {
        errormsg = L("lcl_internal_error");
      }
    }
  }
}

var result = {message: errormsg};
Response.Write(JSON.stringify(result));
%>
