//
//
//
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();
	var filter_cnt		= 0;
	
	if (document.forms.searchengine.selectfield0.selectedIndex != -1) {
		filter[filter_cnt] = '(data[i][0] == "' + document.forms.searchengine.selectfield0.options[0].value + '")';
		filter_cnt += 1;
	}
	if (document.forms.searchengine.selectfield1.selectedIndex != -1) {
		filter[filter_cnt] = '(data[i][1] == "' + document.forms.searchengine.selectfield1.options[0].value + '")';
		filter_cnt += 1;
	}
	if (document.forms.searchengine.selectfield2.selectedIndex != -1) {
		filter[filter_cnt] = '(data[i][2] == "' + document.forms.searchengine.selectfield2.options[0].value + '")';
		filter_cnt += 1;
	}
	/*
	if (document.forms.searchengine.selectfield3.selectedIndex != -1) {
		filter[filter_cnt] = '(data[i][3] == "' + document.forms.searchengine.selectfield3.options[0].value + '")';
		filter_cnt += 1;
	}
	*/
	filter_str = filter.join(' && ');

	document.forms.searchengine.selectfield0.options.length = 0;
	document.forms.searchengine.selectfield1.options.length = 0;
	document.forms.searchengine.selectfield2.options.length = 0;
	//document.forms.searchengine.selectfield3.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 foptions2	= 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;
				foptions2[ffield2_cnt] = 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.selectfield0.options[i] = new Option(foptions0[i], foptions0[i]);
	foptions1.sort();
	for (var i = 0; i < foptions1.length; i++)
		document.forms.searchengine.selectfield1.options[i] = new Option(foptions1[i], foptions1[i]);
//	date field, do not sort (altrimenti, ordinamento lessicografico e non per data)
//	foptions2.sort();
	for (var i = 0; i < foptions2.length; i++)
		document.forms.searchengine.selectfield2.options[i] = new Option(foptions2[i], foptions2[i]);
		/*
	foptions3.sort();
	for (var i = 0; i < foptions3.length; i++)
		document.forms.searchengine.selectfield3.options[i] = new Option(foptions3[i], foptions3[i]);
		*/

	if (document.forms.searchengine.selectfield0.options.length == 1)
		document.forms.searchengine.selectfield0.selectedIndex = 0;
	if (document.forms.searchengine.selectfield1.options.length == 1)
		document.forms.searchengine.selectfield1.selectedIndex = 0;
	if (document.forms.searchengine.selectfield2.options.length == 1)
		document.forms.searchengine.selectfield2.selectedIndex = 0;
		/*
	if (document.forms.searchengine.selectfield3.options.length == 1)
		document.forms.searchengine.selectfield3.selectedIndex = 0;
		*/
	return true;
}

function fillfields_sorted(data)
{
	//alert(data.length);
	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 foptions2	= 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;
			foptions2[ffield2_cnt] = 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.selectfield0.options[i] = new Option(foptions0[i], foptions0[i]);
	foptions1.sort();
	for (var i = 0; i < foptions1.length; i++)
		document.forms.searchengine.selectfield1.options[i] = new Option(foptions1[i], foptions1[i]);
//	date field, do not sort (altrimenti, ordinamento lessicografico e non per data)
//	foptions2.sort();
	for (var i = 0; i < foptions2.length; i++)
		document.forms.searchengine.selectfield2.options[i] = new Option(foptions2[i], foptions2[i]);
		/*
	foptions3.sort();
	for (var i = 0; i < foptions3.length; i++)
		document.forms.searchengine.selectfield3.options[i] = new Option(foptions3[i], foptions3[i]);
		*/
	return true;
}