//
// planit.js
// common javascript functions for planit
//

function advancedGraphOptionsChanged()
{
    var pie_img = document.getElementById("chart_type_pie");
    var chart_type = document.getElementById("chart_type").value;
    var image_name = getImageNameForChartSettings();

    if (chart_type == "pie")
    {    
        var preview_img = document.getElementById("preview_image");
        preview_img.src = image_name;
        pie_img.src = image_name;
    }
}

function getImageNameForChartSettings()
{
    var chart_type = document.getElementById("chart_type").value;
    var donut = document.getElementById("pie_doughnut");
    var exploded = document.getElementById("pie_explode");
    var ordered = document.getElementById("pie_order");

    var image_name = "/images/compere/planit/" + chart_type;
    if (chart_type == "pie")
    {
        if (donut.checked)
        {
            image_name+="_donut";
        }
    
        if (exploded.checked)
        {
            image_name+="_exploded";
        }
    
        if (ordered.checked)
        {
            image_name+="_ordered";
        }
    }
    
    image_name+=".jpg";
    return image_name;
}

function graphDisplayFullSize()
{
  if (checkForm())
  {
    var planit_form = document.forms["planit_form"];
    planit_form.preview_mode.value="no";  
    submitHtml();
  }
}

function graphTypeChanged(do_update)
{
    var planit_form = document.forms["planit_form"];
    var chart_type = planit_form.chart_type;
    var type = chart_type.value;

    if (typeof(type) == "undefined")
    {
        type = "bar";
        setImageFieldValue('chart_type', 'bar');
    }

    var current = 'options_' + type;
    var allow_grid_lines = (type != 'pie')
    
    var tags = document.getElementsByTagName('div');
    for (var i = 0; i < tags.length; ++i)
    {
        //Hide all options but current type
        if (tags[i].id == current)
        {
            tags[i].style.display = '';
        }
        else if (tags[i].id.substr(0, 8) == 'options_' && tags[i].id != current)
        {
            tags[i].style.display = 'none';
        }

        //Disable gridlines
        if (tags[i].id == 'grid_lines_div')
        {
            if (allow_grid_lines)
            {
                tags[i].style.display = "";
                document.getElementById("h_grid_lines").disabled = false;
                document.getElementById("v_grid_lines").disabled = false;
            }
            else
            {
                tags[i].style.display = "none";
                document.getElementById("h_grid_lines").disabled = true;
                document.getElementById("v_grid_lines").disabled = true;
            }
        }
    }
    hideGraphOptions(type);

    //special case for the pie chart: disable the Z axis and rename the X axis
    var grouping1 = document.getElementById("grouping_1")
    var grouping1_top = document.getElementById("grouping_1_top");
    
    var grouping0_desc   = document.getElementById("grouping0_desc");
    var grouping1_desc   = document.getElementById("grouping1_desc");

    var presentation = document.getElementById("presentation_ready");
    var penetrationMode = document.getElementById("penetrationMode");
    
    if (type == "pie")
    {
        grouping1.disabled = true;
        grouping1_top.disabled = true;
        grouping0_desc.innerHTML = "Dataset:";
        grouping1_desc.className = "fieldname_disabled";
        presentation.disabled = false;
        penetrationMode.checked = false;
        penetrationMode.disabled = true;
        setPenetrationMode();
    }
    else if (type == "area")
    {
        grouping1.disabled = false;
        grouping1_top.disabled = false;
        grouping0_desc.innerHTML = "X-Axis:";
        grouping1_desc.className = "";
        penetrationMode.disabled = false;
        presentation.disabled = true;
        setPenetrationMode();
        graphOptionChanged();
    }
    else
    {
        grouping1.disabled = false;
        grouping1_top.disabled = false;
        grouping0_desc.innerHTML = "X-Axis:";
        grouping1_desc.className = "";
        presentation.disabled = false;
        penetrationMode.disabled = false;
        setPenetrationMode();
        graphOptionChanged();
    }

    //while we're here, make sure that the correct graph icon is highlighted
    if (type.length > 0)
    {
        setImageFieldValue('chart_type', type);
    }
}

function setSelectedGraphType()
{
// get selected chart type and set its options to a visible state
  var chart_type = document.forms["planit_form"].chart_type;
  // got selected chart type - show its options
  graphTypeChanged(chart_type.value, false)
}

function hideGraphOptions(type)
{
  var two_scales            = (type == 'combination');
  var allow_grid_lines      = (type != 'pie');
  var allow_legend_position = (type != 'pie');

  tags = document.forms['planit_form'].getElementsByTagName('input');
  for (var i = 0; i < tags.length; ++i)
  {
    if (tags[i].name == 'combination_same_scale' && tags[i].checked)
    {
      two_scales = false;
    }
    if (tags[i].name == 'legend_position')
    {
      tags[i].disabled = !allow_legend_position;
    }
  }


  tags = document.getElementsByTagName('div');

  for (var i = 0; i < tags.length; ++i)
  {
    if (tags[i].id == 'legend_position_div')
    {
      tags[i].disabled = !allow_legend_position;
    }
  }
}

function graphOptionChanged()
{
    //var presentation = document.getElementById("presentation_ready");
    //var presentation_mode = presentation.checked && !presentation.disabled;
}
