//Javascript code to add/remove items from a subset
// Requires JavaScript 1.1
//

//Globals
var currentURL; //The url of the page to reload.(Clear Subset)

function subsetSelection(id, addURL, removeURL)
  {
  var c = null;         // reference to selection control
  if(document.all) 
    {
    c = eval('document.all["subset_' + id + '"]');
    }
  else if(document.getElementById)
    {
    c = document.getElementById("subset_"+id);
    }
  if(c == null || c == undefined) 
    {
    return;
    }

  //check if control is checked
  var url;
  if(c.checked)
    {
    //Checked, add it
    url = addURL;
    }
  else
    {
    //Unchecked, remove it
    url = removeURL;
    }
  var asyncId;
  
  asyncId = asyncRequests.Load(url);
  subsetSelectionWait(asyncId);
  }

//var subsetSelectionTimerId = 0;
function subsetSelectionWait(asyncId)
  {
  if(!asyncRequests.IsComplete(asyncId))
    {
    setTimeout("subsetSelectionWait(" + asyncId + ")", timerTickAmount);
    }
  //transaction completed, check status of result
  else if(!asyncRequests.Success(asyncId))
    {
    //error, check errorsAreAllerts for how to handle them
    if(errorsAreAlerts == 0)
      {
      //In frame
      SetInnerHTML('<font color=red>'+asyncRequests.ErrorMessage(asyncId)+
		   '</font>', '_subset');
      }
    else if(errorsAreAlerts == 1)
      {
      //as alert
      alert("Subset action error " + asyncRequests.ErrorMessage(asyncId));
      }
    //else Not displayed
    }
  else
    {
    //Toggle StateDisplay subsetViewURLSUBSETTYPE based on content
    var url = asyncRequests.GetUrl(asyncId);
    var subset = url.substring(url.indexOf("subset=", 0), url.length);
    subset = subset.substring(7, subset.indexOf("&"));
    var cmd = subset + ".Display('";
    
    if(parseInt(asyncRequests.Content(asyncId)) > 0)
      {
      cmd = cmd + "Enabled";
      }
    else
      {
      cmd = cmd + "Disabled";
      }
    cmd = cmd + "')";
    eval("subsetView" + cmd);
    if(subset != "COMBINEDLoT")
      {
      eval("subsetClear" + cmd);
      }
    asyncRequests.Free(asyncId);
    }
  }


//Build URL and load clear subset url in iframe.
function subsetClear(clearURL, refreshURL)
  {
    currentURL = refreshURL;
    clearURL += "ssclear=1&";
    window.frames['pageLoader'].window.location.replace(clearURL);
  }

//Refresh main page called from iframe(Subset Refresh)
function refreshPage()
  {
    window.location.replace(currentURL);
  }
