//
//
//
function updatefield_sorted(ffield)
{
	selectedText 		= ffield.options[ffield.selectedIndex].text;
	selectedValue		= ffield.options[ffield.selectedIndex].value;
	ffield.options.length 	= 0;
	ffield.options[0] 	= new Option(selectedText, selectedValue, 1, 1);
	
	var filter = new Array();
	if (document.forms.searchengine.field0.selectedIndex != -1)
		filter.push('(data[i][0] == "' + document.forms.searchengine.field0.options[0].value + '")');
	if (document.forms.searchengine.field1.selectedIndex != -1)
		filter.push('(data[i][1] == "' + document.forms.searchengine.field1.options[0].value + '")');
	if (document.forms.searchengine.field2.selectedIndex != -1)
		filter.push('(data[i][2] == "' + document.forms.searchengine.field2.options[0].value + '")');
	if (document.forms.searchengine.field3.selectedIndex != -1)
		filter.push('(data[i][3] == "' + document.forms.searchengine.field3.options[0].value + '")');
	filter_str = filter.join(' && ');

	document.forms.searchengine.field0.options.length = 0;
	document.forms.searchengine.field1.options.length = 0;
	document.forms.searchengine.field2.options.length = 0;
	document.forms.searchengine.field3.options.length = 0;
	
	var ffield0 	= new Array();
	var ffield1 	= new Array();
	var ffield2 	= new Array();
	var ffield3 	= new Array();
	var foptions0	= new Array();
	var foptions1	= new Array();
	var foptions3	= new Array();
	var ffield0_cnt	= 0;
	var ffield1_cnt	= 0;
	var ffield2_cnt	= 0;
	var ffield3_cnt	= 0;

	for (var i = 0; i < data.length; i++) {
		if (eval(filter_str)) {
			if (ffield0[data[i][0]] == null) {
				ffield0[data[i][0]] = 1;
				foptions0[ffield0_cnt] = data[i][0]
				ffield0_cnt += 1;
			} 
			if (ffield1[data[i][1]] == null) {
				ffield1[data[i][1]] = 1;
				foptions1[ffield1_cnt] = data[i][1]
				ffield1_cnt += 1;
			} 
			if (ffield2[data[i][2]] == null) {
				ffield2[data[i][2]] = 1;
				document.forms.searchengine.field2.options[ffield2_cnt] = new Option(data[i][2], data[i][2]);
				ffield2_cnt += 1;
				
			} 
			if (ffield3[data[i][3]] == null) {
				ffield3[data[i][3]] = 1;
				foptions3[ffield3_cnt] = data[i][3]
				ffield3_cnt += 1;
			} 
		}
	}
	
	foptions0.sort();
	for (var i = 0; i < foptions0.length; i++)
		document.forms.searchengine.field0.options[i] = new Option(foptions0[i], foptions0[i]);
	foptions1.sort();
	for (var i = 0; i < foptions1.length; i++)
		document.forms.searchengine.field1.options[i] = new Option(foptions1[i], foptions1[i]);
	foptions3.sort();
	for (var i = 0; i < foptions3.length; i++)
		document.forms.searchengine.field3.options[i] = new Option(foptions3[i], foptions3[i]);

	if (document.forms.searchengine.field0.options.length == 1)
		document.forms.searchengine.field0.selectedIndex = 0;
	if (document.forms.searchengine.field1.options.length == 1)
		document.forms.searchengine.field1.selectedIndex = 0;
	if (document.forms.searchengine.field2.options.length == 1)
		document.forms.searchengine.field2.selectedIndex = 0;
	if (document.forms.searchengine.field3.options.length == 1)
		document.forms.searchengine.field3.selectedIndex = 0;
	return true;
}


//
//
//
function fillfields_sorted(data)
{
	var ffield0 	= new Array();
	var ffield1 	= new Array();
	var ffield2 	= new Array();
	var ffield3	= new Array();	
	var foptions0	= new Array();
	var foptions1	= new Array();
	var foptions3	= new Array();	
	var ffield0_cnt	= 0;
	var ffield1_cnt	= 0;
	var ffield2_cnt	= 0;
	var ffield3_cnt	= 0;

	for (var i = 0; i < data.length; i++) {
		if (ffield0[data[i][0]] == null) {
			ffield0[data[i][0]] = 1;
			foptions0[ffield0_cnt] = data[i][0];
			ffield0_cnt += 1;
		} 
		if (ffield1[data[i][1]] == null) {
			ffield1[data[i][1]] = 1;
			foptions1[ffield1_cnt] = data[i][1];
			ffield1_cnt += 1;
		} 
		if (ffield2[data[i][2]] == null) {
			ffield2[data[i][2]] = 1;
			document.forms.searchengine.field2.options[ffield2_cnt] = new Option(data[i][2], data[i][2]);
			ffield2_cnt += 1;
			
		} 
		if (ffield3[data[i][3]] == null) {
			ffield3[data[i][3]] = 1;
			foptions3[ffield3_cnt] = data[i][3];
			ffield3_cnt += 1;
		} 
	}
	foptions0.sort();
	for (var i = 0; i < foptions0.length; i++)
		document.forms.searchengine.field0.options[i] = new Option(foptions0[i], foptions0[i]);
	foptions1.sort();
	for (var i = 0; i < foptions1.length; i++)
		document.forms.searchengine.field1.options[i] = new Option(foptions1[i], foptions1[i]);
	foptions3.sort();
	for (var i = 0; i < foptions3.length; i++)
		document.forms.searchengine.field3.options[i] = new Option(foptions3[i], foptions3[i]);
	return true;
}
