/*
     $Revision$
     $Id$

     File:          fac_report.js
*/
var params_js = (params_js ? params_js : { model: "report" });

$(function ()
{
  setTimeout("init_reportx()", 100);
});

function init_reportx()
{
    if (params_js.model == "report")
    {
        $("input[name=fac_usrrap_functie1]").change(function() {change_styling(); });
        $("input[name=fac_usrrap_functie2]").change(function() {change_styling(); });
        $("#graph").change(function() {change_graph(); });
        if ($("#graph").val() != 0)
            $("#graph_type").addClass("required");
    }
    else if (params_js.model == "columns")
    {
        $("#filter").change( change_filter );
        if ($("#filter").val() == "P")
            $("#expression").removeClass("required").prop("disabled", true);

        if ($("#urllink"))
        {
            $("#urllink").change(change_urllink);
            if ($("#urllink").val())
            {
                $("#visible option[value='V']").attr("disabled", true);
                $("#visible option[value='I']").attr("disabled", true);
                $("#visible option[value='S']").attr("disabled", true);
            }
            else
            {
                $("#visible option[value='U']").attr("disabled", true);
            }
        }

        if (!params_js.hasfactab && params_js.id == -1)
        {
            $("#name").closest("tr").hide();
            $("#expression").closest("tr").hide();
            FcltMgr.resized();
            // Ga bij toevoegen zonder FACAB gelijk naar kenmerkwizard.
            kenmerkkolom(true);
        }
    }
}

function change_styling()
{
  var graph_enabled = true;

  $("input[name=fac_usrrap_functie1]:checked").each( function ()
    {
      graph_enabled = graph_enabled && ($(this).val() == 0);
    });

  $("input[name='fac_usrrap_functie2']:checked").each( function ()
    {
      graph_enabled = graph_enabled && ($(this).val() == 0);
    });

  if (graph_enabled)
  {
    $("#graph").prop("disabled", false);
  }
  else
  {
    $("#graph").prop("disabled", true);
    $("#graph_type").val(0);
  }
}

function change_graph()
{
    if ($("#graph").val() == 2 || $("#graph").val() == 3)
    {
        $("#graph_type").addClass("required").prop("disabled", false);
    }
    else
    {
        $("#graph_type").val(0);
        $("#graph_type").removeClass("required").prop("disabled", true);
    }
}

function show_report(key)
{
    var url = "appl/fac/fac_report.asp?usrrap_key=" + key;
    FcltMgr.openDetail(url);
}

function change_filter()
{
    var filter_code = $("#filter").val();
    if (filter_code == "P")
    {
        $("#expression").removeClass("required").prop("disabled", true);
    }
    else
    {
        $("#expression").addClass("required").prop("disabled", false);
    }
}

function change_urllink()
{
  if ($("#urllink").val())
  {
    $("#visible option[value='V']").attr("disabled", true);
    $("#visible option[value='I']").attr("disabled", true);
    $("#visible option[value='S']").attr("disabled", true);
    $("#visible option[value='U']").attr("disabled", false);
    $("#visible").val("U");
  }
  else
  {
    $("#visible option[value='V']").attr("disabled", false);
    $("#visible option[value='I']").attr("disabled", false);
    $("#visible option[value='S']").attr("disabled", false);
    $("#visible option[value='U']").attr("disabled", true);
    $("#visible").val("I");
  }
}

function pre_submit()
{
  $("#visible").attr("disabled", false);
  $("#visible option[value='U']").removeAttr('disabled');
  return true;
}

function kenmerkkolom(p_autostart)
{
  if ($("#expression").is(":disabled")) {
    return false;
  }
  var col_id = -1;
  var rap_id = $("#fac_usrrap_key").val();
  // Haal id van reportcolumns uit de url-parameters.
  var url_params = $("form[name=u2]")[0].action.split("?")[1].split("&");

  for (var i=0; i<url_params.length; i++)
  {
    if (url_params[i].substr(0,3) == "id=")
      col_id = url_params[i].substr(3);
  }

  var autostart = (p_autostart ? "&autostart=1" : "");
  var url = "../fac/fac_edit_reportcolumn.asp?rap_id="+rap_id+"&col_id="+col_id + autostart;
  FcltMgr.openModalDetail( url
                         , L("lcl_usrrap_property_wizard")
                         , { callback: kenmerkkolom_callback
                           , noClose: true
                           }
                         );
}

function kenmerkkolom_callback(data)
{
    if (typeof data.autoclose == "function")
    {
        data.autoclose();
    }
    else
    {   // Vul de gegevens uit fac_edit_reportcolumn in
        $("#name").val(data.kenmerk_kolom);
        $("#datatype").val(data.data_type);
        $("#caption").val(data.kenmerk_naam);
        $("#expression").val(data.sql_expressie);

        // Voeg tekst toe zodat de gebruiker kan zien dat er een sql-expressie gemaakt is.
        if ($("#expression").closest("tr").css("display") == "none")
        {
            $("#name").closest("#scfrestList").find("tbody").append("<tr><td>"+L("lcl_rap_expression")+"</td><td>"+L("lcl_inserted0").format("")+"</tr>");
            FcltMgr.resized();
        }
    }
}
