// ------------------------------------------
function openResults() {
  if(thisPage.changePage('results',90,'results')) {
    initResults();
  }
}
// ------------------------------------------
function quitResults() {
  if(thisPage.changePage('simulation',700,'simulation'))
          thisPage.setState(document.getElementById('menuModels'));
}
// ------------------------------------------
function setStateRes(bouton) {
  btRes.className = "";
  bouton.className = "current";
  btRes = bouton;
}

// ------------------------------------------
function initResults() {
  // STEP 1 : Set correct "Start & End Datetime" in the left-top corner
  dmy = getStartDate();
  document.getElementById('resultsStart').innerHTML = dmy[0]+'/'+dmy[1]+'/0';
  document.getElementById('resultsEnd').innerHTML = dmy[2]+'/'+dmy[3]+'/'+dmy[4];
  // STEP 2 : Set default selected button "graph mode" (Time Series)
  runTimePlot();
}

// ------------------------------------------
function download(el,type) {
 el.className="selected";
}
// ------------------------------------------
function insertOutput(value, selected) {
  document.getElementById('resultsOutputsSelect').innerHTML += '<option value="'+value+'">'+value+'</option>';
}
// ------------------------------------------
function clearOutputs() {
  document.getElementById('resultsOutputsSelect').innerHTML = "";
}

// ------------------------------------------
function clearVariables() {
  document.getElementById('selectOutputs').innerHTML = '';
  document.getElementById('listResultsOutputs').innerHTML = '';
  this.colorsDispo = Array('#F00F00','#0F00F0','#00F00F','#FF0FF0','#0FF0FF','#F0FF0F');
  this.nbLignes = 0;
  while (variablesArray.length) {
    delete (variablesArray.pop());
  }
}

// ------------------------------------------
function insertModel(value, selected) {
  document.getElementById('resultsOutputsSelect').innerHTML += "<option>"+value+"</option>";
}
// ------------------------------------------
function clearModels() {
  document.getElementById('resultsOutputsSelect').innerHTML = "";
}
// ------------------------------------------

function runDepthPlot() {
  if(thisPage.changePage('results',90,'results')) {
    el = document.getElementById('menuDepthPlot');
    setStateRes(el);
    document.getElementById('resultsVariables').className = 'resultsVariablesTime';
    clearOutputs();
    var outputTable = document.getElementById("outputTable");
    var inputOutputTable = outputTable.getElementsByTagName("input");
    for (var i=1; i<inputOutputTable.length; i++) {
      if (inputOutputTable[i].checked == true) {
        insertOutput(inputOutputTable[i].value);
      }
    }
    clearVariables();
    var outputVariable = document.getElementById('resultsOutputsSelect');
    xajax_selectDepthPlotForVariable(job_name, outputVariable[outputVariable.options.selectedIndex].value);
  }	
}

function runTimePlot() {
  if(thisPage.changePage('results',90,'results')) {
    el = document.getElementById('menuTimePlot');
    setStateRes(el);
    document.getElementById('resultsVariables').className = 'resultsVariablesDepth';
    clearOutputs();
    var outputTable = document.getElementById("outputTable");
    var inputOutputTable = outputTable.getElementsByTagName("input");
    for (var i=1; i<inputOutputTable.length; i++) {
      if (inputOutputTable[i].checked == true) {
        insertOutput(inputOutputTable[i].value);
      }
    }
    clearVariables();
    var outputVariable = document.getElementById('resultsOutputsSelect');
    xajax_selectTimePlotForVariable(job_name, outputVariable[outputVariable.options.selectedIndex].value);
  }	
}

function runContourPlot() {
  if(thisPage.changePage('results',90,'results')) {
    el = document.getElementById('menuContourPlot');
    setStateRes(el);
    document.getElementById('resultsVariables').className = 'resultsVariablesContour';
    clearOutputs();
    var outputTable = document.getElementById("outputTable");
    var inputOutputTable = outputTable.getElementsByTagName("input");
    for (var i=1; i<inputOutputTable.length; i++) {
      if (inputOutputTable[i].checked == true) {
        insertOutput(inputOutputTable[i].value);
      }
    }
    clearVariables();
    var outputVariable = document.getElementById('resultsOutputsSelect');
    document.getElementById('resultPlot').src = "plotContour.php?job_name="+job_name+"&var="+outputVariable[outputVariable.options.selectedIndex].value;
  }	
}

function buildPlot() {
  // STEP 1 : Retrieve wich output variable "name"
  var outputVariableElement = document.getElementById('resultsOutputsSelect');
  var outputVariableName = outputVariableElement[outputVariableElement.options.selectedIndex].value;
  // STEP 2 : Retrieve wich depth+color are needed 
  var depthParameters ="";
  for (i=0; i < variablesArray.length; i++) {
    var depthObj = variablesArray[i];
    if (depthObj.selected=="yes") {
      depthParameters += depthObj.identifier+","+depthObj.colors.substr(1, 6)+";";
    }
  }
  if (document.getElementById('menuTimePlot').className=="current") {
    document.getElementById('resultPlot').src = "plotTime.php?job_name="+job_name+"&var="+outputVariableName+"&params="+depthParameters;
  } else if (document.getElementById('menuDepthPlot').className=="current") {
    document.getElementById('resultPlot').src = "plotDepth.php?job_name="+job_name+"&var="+outputVariableName+"&params="+depthParameters;
  }


}

// ------------------------------------------
function changeOutputs(value)
{
  //clearVariables();
  if (document.getElementById('menuTimePlot').className=="current") {
    xajax_selectTimePlotForVariable(job_name, value);
  } else if (document.getElementById('menuDepthPlot').className=="current") {
    xajax_selectDepthPlotForVariable(job_name, value);
  } else if (document.getElementById('menuContourPlot').className=="current") {
    var outputVariable = document.getElementById('resultsOutputsSelect');
    document.getElementById('resultPlot').src = "plotContour.php?job_name="+job_name+"&var="+value;
  }
}
// ------------------------------------------
function initDepthPlot(el)
{
	if(thisPage.changePage('results',90,'results'))
	{
		setStateRes(el);
		document.getElementById('resultsVariables').className = 'resultsVariablesDepth';
		// Actions a realiser au click sur le bouton DEPTH PLOT
		getAllResultsParameters();
		clearVariables();
		// Variables par defaut
		insertVariable('5','0m','yes');
		insertVariable('100','-100m','no');
		insertVariable('200','-200m','no');
		insertVariable('300','-300m','no');
	}
}
// ------------------------------------------
function initTimePlotBt(el)
{
	if(thisPage.changePage('results',90,'results'))
	{
		setStateRes(el);
		document.getElementById('resultsVariables').className = 'resultsVariablesTime';
		// Actions a realiser au click sur le bouton TIME PLOT
		getAllResultsParameters();
		clearVariables();
		// Variables par defaut
		insertVariable('010100','01/01/00','yes');
		insertVariable('150100','15/01/00','no');
		insertVariable('300100','30/01/00','no');
		insertVariable('150200','15/02/00','no');
	}
}
// ------------------------------------------
function getModels()
{
	var monblocModels = document.getElementById('resultsModelsTable');
	var mesinputsModels = monblocModels.getElementsByTagName("input" );
	var mesModels = Array();
	for (var i=0; i<mesinputsModels.length; i++) {
		if (mesinputsModels[i].checked == true)
		{
			mesModels.push(mesinputsModels[i].value);
		}
	}
	return mesModels;	
}
// ------------------------------------------
function getObservations()
{
	var monblocObs = document.getElementById('resultsObservationsTable');
	var mesinputsObs = monblocObs.getElementsByTagName("input" );
	var mesObservations = Array();
	for (var i=0; i<mesinputsObs.length; i++) {
		if (mesinputsObs[i].checked == true)
			mesObservations.push(mesinputsObs[i].value);
	}
	return mesObservations;	
}
// ------------------------------------------
function changeObservation()
{
//  alertBox("<h3>Not yet implemented</h3><p>This action is not yet available, please wait few weeks.</p><i>er.154</i>", "error","");
  return false; // Pas encore disponnible
}
// ------------------------------------------
function getAllResultsParameters()
{
  parameters = {
    variables: getVariablesList(),
    output: document.getElementById('resultsOutputsSelect').options.selectedValue,
    observations: getObservations(),
    models: getModels()
  };
  return parameters;
}

