var ds_filling_stations = new Spry.Data.XMLDataSet("filling_stations.xml", "dataroot/t_compressors", {sortOnLoad: "id", sortOrderOnLoad: "ascending"});
ds_filling_stations.setColumnType("id", "number");
ds_filling_stations.setColumnType("category", "number");
ds_filling_stations.setColumnType("engine_type", "number");
ds_filling_stations.setColumnType("frame", "number");
//ds_filling_stations.setColumnType("cylinders", "number");
ds_filling_stations.setColumnType("available_power", "number");


function ToggleFilter(enable, f){
	if (enable) {
		ds_filling_stations.addFilter(f, true);
	} else {
		ds_filling_stations.removeFilter(f, true);
	}
}

function RemoveAllFilters(enable){
	ds_filling_stations.removeAllFilters(enable);
}

function ffCategory(ds, row, index){
	var selected_category= document.forms[0]["category"].value;
	return (row.category == selected_category || selected_category == "0") ? row : null;
}
function ffEngine_Type(ds, row, index){
	var selected_engine_type= document.forms[0]["engine_type"].value;
	return (row.engine_type == selected_engine_type || selected_engine_type == "0") ? row : null;
}
function ffFrame(ds, row, index){
	var selected_frame= document.forms[0]["frame_type"].value;
	return (row.frame == selected_frame || selected_frame == "0") ? row : null;
}
function ffPower(ds, row, index){
	var selected_available_power= document.forms[0]["available_power"].value;
	return (row.available_power == selected_available_power || selected_available_power == "0") ? row : null;
}
/*function ffCylinders(ds, row, index){
	var selected_cylinders= document.forms[0]["cylinders"].value;
	return (row.cylinders == selected_cylinders || selected_cylinders == "0") ? row : null;
}
*/

function switchState(state) {
	var rgn = Spry.Data.getRegion("table_box");
	rgn.mapState("ready", state);
	rgn.updateContent();
}

function f_update_engine(selected_category, lang){
	var d = document;
	var engine_type_list = d.form01.engine_type;
	var frame_type_list = d.form01.frame_type;
	var available_power_list = d.form01.available_power;

	available_power_list.parentNode.className='option_list_hide';
	frame_type_list.parentNode.className='option_list_hide';
	RemoveAllFilters(false);
	ToggleFilter(true, ffCategory);
	switchState('show_list');

	if (selected_category != 0) {
		engine_type_list.disabled = false;
		engine_type_list.parentNode.className='option_list_show';
		
		var a_engine_type=new Array()
		if(lang == "IT"){
			a_engine_type[0]=""
			a_engine_type[1]=["Honda|1"]
			a_engine_type[2]=["Seleziona...|0", "Yanmar|2", "Lombardini|3"]
			a_engine_type[3]=["Elettrico|4"]
			a_engine_type[4]=["Elettrico|5"]
			a_engine_type[5]=["Elettrico trifase|5"]
		} else {
			a_engine_type[0]=""
			a_engine_type[1]=["Honda|0"]
			a_engine_type[2]=["Choose...|0", "Yanmar|2", "Lombardini|3"]
			a_engine_type[3]=["Elettric|0"]
			a_engine_type[4]=["Elettric|0"]
			a_engine_type[5]=["Three-phase elettric|0"]
		}

		engine_type_list.options.length = 0;
		for (i=0; i<a_engine_type[selected_category].length; i++) {
			engine_type_list.options[engine_type_list.options.length]=new Option(a_engine_type[selected_category][i].split("|")[0], a_engine_type[selected_category][i].split("|")[1])
		}
		if (selected_category == 1 || selected_category > 2) engine_type_list.disabled = true;
		if (selected_category == 1) {
			frame_type_list.parentNode.className='option_list_show';
			f_update_frame(10, 0, lang);
		}
		if (selected_category == 3 || selected_category == 4) {
			var a_available_power=new Array()
			if(lang == "IT"){
				a_available_power[0]=""
				a_available_power[1]=""
				a_available_power[2]=""
				a_available_power[3]=["Seleziona...|0", "3 Kw|3", "6 Kw|6"]
				a_available_power[4]=["Seleziona...|0", "6 Kw|6", "10 Kw|10", "15 Kw|15", "Oltre 15 Kw|20"]
				a_available_power[5]=""
			} else {
				a_available_power[0]=""
				a_available_power[1]=""
				a_available_power[2]=""
				a_available_power[3]=["Choose...|0", "3 Kw|3", "6 Kw|6"]
				a_available_power[4]=["Choose...|0", "6 Kw|6", "10 Kw|10", "15 Kw|15", "More than 15 Kw|20"]
				a_available_power[5]=""
			}
			available_power_list.options.length = 0;
			for (i=0; i<a_available_power[selected_category].length; i++) {
				available_power_list.options[available_power_list.options.length]=new Option(a_available_power[selected_category][i].split("|")[0], a_available_power[selected_category][i].split("|")[1])
			}
			available_power_list.parentNode.className='option_list_show';
		}
	} else {
		engine_type_list.parentNode.className='option_list_hide';
		switchState('');
	}
}

function f_update_frame(selected_engine, selected_available_power, lang){
	var d = document;
	var frame_type_list = d.form01.frame_type;
	var selected_category= document.forms[0]["category"].value;
	
	RemoveAllFilters(false);
	ToggleFilter(true, ffCategory);
	
	if (selected_engine != 0 || selected_available_power != 0) {
		frame_type_list.parentNode.className='option_list_show';
		var a_frame_type=new Array()
		if (selected_engine != 0) {
			ToggleFilter(true, ffEngine_Type);
			if (lang == "IT") {
				a_frame_type[1] = a_frame_type[2] = ["Seleziona...|0", "Tech (Telaio chiuso)|1", "Standard (Telaio aperto)|3"];
				a_frame_type[10]=["Seleziona...|0", "Tech (Telaio chiuso)|1", "Mini Tech (Telaio aperto)|2", "Standard (Telaio aperto)|3"];
			} else {
				a_frame_type[1] = a_frame_type[2] = ["Choose...|0", "Tech (Closed frame)|1", "Standard (Open frame)|3"];
				a_frame_type[10]=["Choose...|0", "Tech (Closed frame)|1", "Mini Tech (Open frame)|2", "Standard (Open frame)|3"];
			}
			frame_type_list.options.length = 0;
			for (i=0; i<a_frame_type[selected_engine].length; i++) {
				frame_type_list.options[frame_type_list.options.length]=new Option(a_frame_type[selected_engine][i].split("|")[0], a_frame_type[selected_engine][i].split("|")[1])
			}
		}
		if (selected_available_power != 0) {
			ToggleFilter(true, ffPower);
			if (lang == "IT") {
				if (selected_category == 3) {
					a_frame_type[1]= a_frame_type[2] = ["Seleziona...|0", "Standard (Telaio aperto)|3", "Compact (Telaio chiuso)|6"]
				} else {
				a_frame_type[1] = a_frame_type[2] = ["Seleziona...|0", "Standard (Telaio aperto)|3", "Compact (Telaio chiuso)|6", "Silent (Telaio chiuso silenziato)|4"]
				a_frame_type[3]=["Seleziona...|0", "Compact (Telaio chiuso)|6", "Silent (Telaio chiuso silenziato)|4", "Open (Telaio semi chiuso)|5"]
				a_frame_type[4]=["Seleziona...|0", "Silent (Telaio chiuso silenziato)|4", "Open (Telaio semi chiuso)|5"]
				}
			} else {
				if (selected_category == 3) {
					a_frame_type[1]= a_frame_type[2] = ["Choose...|0", "Standard (Open frame)|3", "Compact (Closed frame)|6"]
				} else {
				a_frame_type[1] = a_frame_type[2] = ["Choose...|0", "Standard (Open frame)|3", "Compact (Closed frame)|6", "Silent (Silent closed frame)|4"]
				a_frame_type[3]=["Choose...|0", "Compact (Closed frame)|6", "Silent (Silent closed frame)|4", "Open (Semi-closed frame)|5"]
				a_frame_type[4]=["Choose...|0", "Silent (Silent closed frame)|4", "Open (Semi-closed frame)|5"]
				}
			}
			frame_type_list.options.length = 0;
			for (i=0; i<a_frame_type[selected_available_power].length; i++) {
				frame_type_list.options[frame_type_list.options.length]=new Option(a_frame_type[selected_available_power][i].split("|")[0], a_frame_type[selected_available_power][i].split("|")[1])
			}
		}
	} else {
		frame_type_list.parentNode.className='option_list_hide';
	}
}

