var sortByGroupsData = null;

function sortByGroupsSetup() {
  	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('Match:')));
  	tb.rows[0].appendChild(buildCell(1, buildText('sortByGroupsMatch')));
  	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('sortByGroupsMode', values, labels)));
	tb.rows[2].appendChild(buildCell(1, buildLabel('Direction:')));
	tb.rows[2].appendChild(buildCell(1, buildRadio('sortByGroupsDirection', '1', true),
													buildLabel('Ascending   '),
													buildRadio('sortByGroupsDirection', '0', false),
													buildLabel('Descending')));
  	tb.rows[3].appendChild(buildCell(1, buildRunButton(sortByGroupsRun)));  	
  	tb.rows[3].appendChild(buildCell(-1, buildButton('Help', sortByGroupsHelp),
  	                                     buildButton('Example 1', sortByGroupsExample1)));
	if (sortByGroupsData) {  		                                     
		sortByGroupsSet(sortByGroupsData);
	}
	
	return sortByGroupsTearDown;
}
   
function sortByGroupsTearDown() {
	sortByGroupsData = sortByGroupsGet();
}

function sortByGroupsGet() {
  	var o = new Object();
  	o.match = document.forms['parameterForm'].sortByGroupsMatch.value;
  	o.mode = getSelection(document.forms['parameterForm'].sortByGroupsMode);
  	o.direction = getRadioChoice(document.forms['parameterForm'].sortByGroupsDirection);
  	return o;
}

function sortByGroupsSet(o) {
  	document.forms['parameterForm'].sortByGroupsMatch.value = o.match;
  	setSelection(document.forms['parameterForm'].sortByGroupsMode, o.mode);
  	setRadioChoice(document.forms['parameterForm'].sortByGroupsDirection, o.direction);
}
   
function sortByGroupsRun() {
  	makeEditorRequest('sortByGroups', sortByGroupsGet());
}
   
function sortByGroupsHelp() {
	window.frames['docFrame'].document.location = "html/sortByGroups.html";
}
   
function sortByGroupsExample1() {
	document.forms['parameterForm'].sortByGroupsMatch.value = '([A-Z][0-9])';
	document.forms['parameterForm'].sortByGroupsMode.value = '1';
	document.forms['parameterForm'].sortByGroupsDirection.value = '0';
	window.frames['docFrame'].document.location = "html/sortByGroupsExample1.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' +
	                                              'Capella     Auriga         46.0 ly  G0    0.05\n' +
	                                              'Rigel       Orion         500.0 ly  B8    0.14\n' +
	                                              'Procyon     Canis Minor    11.0 ly  F5    0.38\n' +
	                                              'Achernar    Eridanus       73.0 ly  B5    0.51\n' +
	                                              'Hadar       Centaurus      190.0 ly  B1    0.63\n';
	document.forms['outputForm'].outputText.value = '';	
}   
   
