
function reset_default_values(callbackfn)
{
    $.post("/a/default_values/", {},
        callbackfn
      );
}

function set_initial_values(value_initial, previous_value_initial)
{
  disable_selects();
  //alert('value_initial: '+value_initial+'\nprevious_value_initial: '+previous_value_initial);
  if (value_initial == "!")
  {
    //alert(1);
    $("#id_previous_value").val(previous_value_initial);
    previous_value_onchange();
    $("#id_value").val('!');
  }
  else if (previous_value_initial == "!")
  {
    //alert(2);
    $("#id_value").val(value_initial);
    value_onchange();
    $("#id_previous_value").val('!');
  }
  else
  {
    //alert(3);
    $("#id_value").val(value_initial);
    $("#id_previous_value").val(previous_value_initial);
    value_onchange();
    previous_value_onchange();
  }
  enable_selects();
}

function server_onchange() 
{
  if (jQuery.trim($('#id_server').val()) != "")
  {
    $('#id_value').attr('disabled', false);
    $('#id_previous_value').attr('disabled', false);
    $('#id_value_duration').attr('disabled', false); 
  } else 
  {
    reset_alert_fields();
  }
}

// dynamic menu modification stuff
function _buildOptionElement(optval, opttext)
{
  var theEl = document.createElement('option');
  theEl.value = optval;
  theEl.appendChild(document.createTextNode(opttext));
  return theEl
}

function value_onchange()
{
  var prev_val_prev_val = $('#id_previous_value option:selected').val();
  if ($('#id_value option:selected').val() != '!')
  {
    var value_text = $('#id_value option:selected').text(); 
    var value_val = $('#id_value option:selected').val(); 
    $("#id_previous_value").addOption("!", "NOT "+value_text, false);
    $("#id_value").removeOption("!");
    if ( (prev_val_prev_val == "!") || (prev_val_prev_val == value_val) )
    {
      $("#id_previous_value").val('!');
    }
  }
}

function previous_value_onchange()
{
  var val_prev_val = $('#id_value option:selected').val();
  if ($('#id_previous_value option:selected').val() != '!')
  {
    var previous_value_text = $('#id_previous_value option:selected').text();
    var previous_value_val = $('#id_previous_value option:selected').val();
    $("#id_value").addOption("!", "NOT "+previous_value_text, false);  
    $("#id_previous_value").removeOption("!");
    if ( (val_prev_val == "!") || (val_prev_val == previous_value_val) )
    {
      $("#id_value").val('!');
    }    
  }  
}

function reset_alert_fields()
{
    if (jQuery.trim($('#id_server').val()) = "") 
    {
        $('select#id_value').val('');
        $('select#id_previous_value').val('');
        $('select#id_value_duration').val('');
        
        $('select#id_value').attr('disabled', true);
        $('select#id_previous_value').attr('disabled', true);
        $('select#id_value_duration').attr('disabled', true);
        
        reset_default_values();
    }  
  
}

function disable_selects()
{
  $('select#id_server').attr('disabled', true);
  $('select#id_value').attr('disabled', true);
  $('select#id_previous_value').attr('disabled', true);
  $('select#id_value_duration').attr('disabled', true);
}

function enable_selects()
{
  $('select#id_server').attr('disabled', false);
  $('select#id_value').attr('disabled', false);
  $('select#id_previous_value').attr('disabled', false);
  $('select#id_value_duration').attr('disabled', false);
}

function get_alert_name(callback_fn, server_id, value_id, previous_value_id, value_duration)
{
  $.post("/a/generate_alert_name/", 
    { "server_id":server_id, "value_id":value_id, 
      "previous_value_id":previous_value_id, "value_duration":value_duration },
    callback_fn);
}


function toggle_enabled(alert_id, jel, jel_parent)
{
  var alert_id = jel.attr("alertid");
  //alert('alert_id: '+alert_id);
  $.post("/a/toggle_enabled/", 
    { "alert_id":alert_id },
    function(data){
      //alert(data + '\ndata = 1:'+(data = 1));
      if(data == 1){
        jel_parent.attr("class", "serverlistrow");
      }else {
        jel_parent.attr("class", "inactivealertrow");
      }
    });
}


function send_missing_feed_request(server_id)
{
  $.get("/feeds/request/"+server_id+"/");
}

