var elements_initialized = false;
var i_prio = [];
var i_prio_label = [];
var i_regio = [];
var i_nutzung = [];
var i_nutzung_label = [];

var rules_nutzung={
	"koerner":['fruehreife', 'ertragspotenzial'],
	"silo":['energiedichte','gesamtenergie'],
	"energy":['biogas']
};
var rules_prio={
	"fruehreife":['koerner'],
	"ertragspotenzial":['koerner'],
	"energiedichte":['silo'],
	"gesamtenergie":['silo'],
	"biogas":['energy']
};

//Validieren des Formulars beim Abschicken
function check_form(obj) {
	if (elements_initialized) {
		form_init();
	}
	//alert(obj.region);
	// PLZ/Region überprüfen
	
	/*if (obj.region.value=="" && obj.plz.value=="PLZ") {
		alert("Bitte wählen Sie eine Region aus oder geben eine Postleitzahl ein.");
		return false;
	}*/
	if (!get_radioVal(obj.boden)) {
		alert("Bitte treffen Sie eine Auswahl für 'Standort/Boden'");
		return false;
	}
	if (!get_radioVal(obj.klima)) {
		alert("Bitte treffen Sie eine Auswahl für 'Standort/Klima'");
		return false;
	}
	if (!get_radioVal(obj.nutzung)) {
		alert("Bitte treffen Sie eine Auswahl für 'Nutzungsrichtung'");
		return false;
	}
	if (!get_radioVal(obj.prio)) {
		alert("Bitte treffen Sie eine Auswahl für 'Ertragsziel/Priorität'");
		return false;
	}
	
	return true;
}
// Überprüft auf gültige Auswahlkombinationenn und ändert evtl. die Zugriffsmöglichkeiten
function check_selection(obj) {
	if (!elements_initialized) {
		form_init();
	}
	
	var launcher = obj.name;
	var objval = obj.value;
	
	switch (launcher) {
	case 'prio':
		use_rule("rules_prio", objval, "i_nutzung");
		break;
	case 'nutzung':
		use_rule("rules_nutzung", objval, "i_prio");
		break;
	}
}
function reset_form() {
	if (!elements_initialized) {
		form_init();
	}
	for (var i in i_nutzung) {
		enable_radio("i_nutzung", i);
	}
	for (var i in i_prio) {
		enable_radio("i_prio", i);
	}
	return true;
}
function form_init() {
	// Region-Felder
	//i_regio['s_regionen'] = document.getElementById('s_regionen');
	i_regio['i_plz'] = document.getElementById('i_plz');
	
	// Felder-Nutzungsrictung
	i_nutzung['r_koerner'] = document.getElementById('r_koerner');
	i_nutzung['r_silo'] = document.getElementById('r_silo');
	i_nutzung['r_energy'] = document.getElementById('r_energy');
	i_nutzung_label['r_koerner'] = document.getElementById('l_koerner');
	i_nutzung_label['r_silo'] = document.getElementById('l_silo');
	i_nutzung_label['r_energy'] = document.getElementById('l_energy');
	
	// Prio-Felder
	i_prio['r_prio_1']=document.getElementById('r_prio_1');
	i_prio['r_prio_2']=document.getElementById('r_prio_2');
	i_prio['r_prio_3']=document.getElementById('r_prio_3');
	i_prio['r_prio_4']=document.getElementById('r_prio_4');
	i_prio['r_prio_5']=document.getElementById('r_prio_5');
	i_prio_label['r_prio_1']=document.getElementById('l_prio_1');
	i_prio_label['r_prio_2']=document.getElementById('l_prio_2');
	i_prio_label['r_prio_3']=document.getElementById('l_prio_3');
	i_prio_label['r_prio_4']=document.getElementById('l_prio_4');
	i_prio_label['r_prio_5']=document.getElementById('l_prio_5');
	elements_initialized = true;
	
}

function use_rule(rulename,rname,html_stack) {
	
	var myRule = eval(rulename+"."+rname+";");
		var field_val = null;
		//alert(html_stack);
		eval("var forin = "+html_stack+";");
		//alert(forin);
		for (var i in forin) {
			field_val = forin[i].value;
			var curVal = null;
			var serachstr = null;
			var searchRes = false;
			for (var y=0; y<myRule.length;y++) {
				curVal = myRule[y];
				serachstr = eval("/"+curVal+"/gi;");
				searchRes = field_val.match(serachstr);
				if (searchRes) {
					enable_radio(html_stack,i);
					break;
				} 
			}
			if (!searchRes) {
				disable_radio(html_stack,i);
			}
		}
}

function disable_radio(objarr,objname) {
	if (!objarr || !objname) return false;
	eval(objarr+"['"+objname+"'].checked=false;");
	eval(objarr+"['"+objname+"'].disabled = true;");
	eval(objarr+"_label['"+objname+"'].className = 'disabled';");
	return true;
}
function enable_radio(objarr,objname) {
	if (!objarr || !objname) return false;
	eval(objarr+"['"+objname+"'].disabled = false;");
	eval(objarr+"_label['"+objname+"'].className = '';");
	return true;
}

function get_radioVal(obj) {
	for(var i=0;i<obj.length;i++) {
		
		if (obj[i].checked==true) {
			return obj[i].value;
			break;
		}
	}
	return false;
}

