var sortByColumnsData = null;

function sortByColumnsSetup() {
  	var f = document.forms['parameterForm'];
  	clearForm(f);
   	
  	var div = document.createElement('DIV');
  	f.appendChild(div);
   	   	   	   	
	var tb = createTable(div, 4);   	

  	tb.rows[0].appendChild(buildCell(1, buildLabel('Columns:')));
  	tb.rows[0].appendChild(buildCell(1, buildText('sortByColumnsColumns')));
  	tb.rows[1].appendChild(buildCell(1, buildLabel('Mode:')));
  	var values = new Array('0', '1', '2');
  	var labels = new Array('case-sensitive', 'case-sensitive', 'numeric');
  	tb.rows[1].appendChild(buildCell(1, buildCombo('sortByColumnsMode', values, labels)));
	tb.rows[2].appendChild(buildCell(1, buildLabel('Direction:')));
	tb.rows[2].appendChild(buildCell(1, buildRadio('sortByColumnsDirection', '1', true),
													buildLabel('Ascending   '),
													buildRadio('sortByColumnsDirection', '0', false),
													buildLabel('Descending')));
  	tb.rows[3].appendChild(buildCell(1, buildRunButton(sortByColumnsRun)));  	
  	tb.rows[3].appendChild(buildCell(-1, buildButton('Help', sortByColumnsHelp),
  	                                     buildButton('Example 1', sortByColumnsExample1)));
	if (sortByColumnsData) {  		                                     
		sortByColumnsSet(sortByColumnsData);
	}
	
	return sortByColumnsTearDown;
}
   
function sortByColumnsTearDown() {
	sortByColumnsData = sortByColumnsGet();
}

function sortByColumnsGet() {
  	var o = new Object();
  	o.columns = document.forms['parameterForm'].sortByColumnsColumns.value;
  	o.mode = getSelection(document.forms['parameterForm'].sortByColumnsMode);
  	o.direction = getRadioChoice(document.forms['parameterForm'].sortByColumnsDirection);
  	return o;
}

function sortByColumnsSet(o) {
  	document.forms['parameterForm'].sortByColumnsColumns.value = o.columns;
  	setSelection(document.forms['parameterForm'].sortByColumnsMode, o.mode);
  	setRadioChoice(document.forms['parameterForm'].sortByColumnsDirection, o.direction);
}
   
function sortByColumnsRun() {
  	makeEditorRequest('sortByColumns', sortByColumnsGet());
}
   
function sortByColumnsHelp() {
	window.frames['docFrame'].document.location = "html/sortByColumns.html";
}
   
function sortByColumnsExample1() {
	document.forms['parameterForm'].sortByColumnsColumns.value = '26-32';
	document.forms['parameterForm'].sortByColumnsMode.value = '2';
	document.forms['parameterForm'].sortByColumnsDirection[0].checked = true;
	window.frames['docFrame'].document.location = "html/sortByColumnsExample1.html";
	document.forms['inputForm'].inputText.value = 
			'Sirius      Canis Major     8.7 ly  A0   -1.42\n' +
	      'Canopus     Carina        230.0 ly  F0   -0.72\n' +
	      'Rigil Kent  Centaurus       4.3 ly  G0   -0.27\n' +
	      'Arcturus    Bootes         38.1 ly  K0   -0.06\n' +
	      'Vega        Lyra           26.9 ly  A0    0.04\n';
	document.forms['outputForm'].outputText.value = '';	
}   
   
