var sortByTokensData = null;

function sortByTokensSetup() {
  	var f = document.forms['parameterForm'];
  	clearForm(f);
   	
  	var div = document.createElement('DIV');
  	f.appendChild(div);
  	
	var tb = createTable(div, 5);   	

  	tb.rows[0].appendChild(buildCell(1, buildLabel('Separator:')));
  	tb.rows[0].appendChild(buildCell(1, buildText('sortByTokensSeparator')));
  	tb.rows[1].appendChild(buildCell(1, buildLabel('Expression:')));
  	tb.rows[1].appendChild(buildCell(1, buildText('sortByTokensExpression')));
  	tb.rows[2].appendChild(buildCell(1, buildLabel('Mode:')));
  	var values = new Array('0', '1', '2');
  	var labels = new Array('case-sensitive', 'case-sensitive', 'numeric');
  	tb.rows[2].appendChild(buildCell(1, buildCombo('sortByTokensMode', values, labels)));
	tb.rows[3].appendChild(buildCell(1, buildLabel('Direction:')));
	tb.rows[3].appendChild(buildCell(1, buildRadio('sortByTokensDirection', '1', true),
													buildLabel('Ascending   '),
													buildRadio('sortByTokensDirection', '0', false),
													buildLabel('Descending')));
  	tb.rows[4].appendChild(buildCell(1, buildRunButton(sortByTokensRun)));  	
  	tb.rows[4].appendChild(buildCell(-1, buildButton('Help', sortByTokensHelp),
  	                                     buildButton('Example 1', sortByTokensExample1)));
	if (sortByTokensData) {  		                                     
		sortByTokensSet(sortByTokensData);
	}
	
	return sortByTokensTearDown;
}
   
function sortByTokensTearDown() {
	sortByTokensData = sortByTokensGet();
}

function sortByTokensGet() {
  	var o = new Object();
  	o.separator = document.forms['parameterForm'].sortByTokensSeparator.value;
  	o.expression = document.forms['parameterForm'].sortByTokensExpression.value;
  	o.mode = getSelection(document.forms['parameterForm'].sortByTokensMode);
  	o.direction = getRadioChoice(document.forms['parameterForm'].sortByTokensDirection);
  	return o;
}

function sortByTokensSet(o) {
  	document.forms['parameterForm'].sortByTokensSeparator.value = o.separator;
  	document.forms['parameterForm'].sortByTokensExpression.value = o.expression;
  	setSelection(document.forms['parameterForm'].sortByTokensMode, o.mode);
  	setRadioChoice(document.forms['parameterForm'].sortByTokensDirection, o.direction);
}
   
function sortByTokensRun() {
  	makeEditorRequest('sortByTokens', sortByTokensGet());
}
   
function sortByTokensHelp() {
	window.frames['docFrame'].document.location = "html/sortByTokens.html";
}
   
function sortByTokensExample1() {
	document.forms['parameterForm'].sortByTokensSeparator.value = '|';
	document.forms['parameterForm'].sortByTokensExpression.value = '$2 $1';
	document.forms['parameterForm'].sortByTokensMode.value = '0';
	document.forms['parameterForm'].sortByTokensDirection.value = '1';
	window.frames['docFrame'].document.location = "html/sortByTokensExample1.html";
	document.forms['inputForm'].inputText.value = 'Sirius|Canis Major|A0|-1.42\nCanopus|Carina|F0|-0.72\nRigil Kent|Centaurus|G0|-0.27\nArcturus|Bootes|K0|-0.06\nVega|Lyra|A0|0.04\nHadar|Centaurus|B1|0.63';
	document.forms['outputForm'].outputText.value = '';	
}   
   
