function checkStep(myStep)
{
// sets results, preview and shows element itself
switch (myStep) {
case "Fachrichtung":
// getID, name
MySelect = document.getElementById('Fachrichtung');
FachrichtungID = MySelect.options[MySelect.selectedIndex].value;
Fachrichtung = MySelect.options[MySelect.selectedIndex].text;
// remove depending options, they are maybe set before
unsetStep('Adressen');
unsetStep('Spezialisierung');
unsetStep('WM1');
unsetStep('WM2');
unsetStep('WM3');
if (FachrichtungID > 0) {
// determine next step
if (arrFR[FachrichtungID]["Spezialisierung"] == 1) {
unsetStep('WM1');
showStep('Spezialisierung');
} else {
showStep('WM1');
// IE fix, IE needs a rest otherwise autoselect of WM1 fails
window.setTimeout("checkStep('WM1')", 10);
} // end if (arrFR[Fachrichtung]["Spezialisierung"] == 1) {
} else {
// no choice made
//resetall();
Bezeichnung = "-";
} // end if (Fachrichtung > 0) {
// set status
myinfo = document.getElementById('pv_fachrichtung');
myinfo.innerHTML = Fachrichtung;
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = arrFR[FachrichtungID]["Hint"];
break;
case "Spezialisierung":
unsetStep('Adressen');
unsetStep('WM1');
unsetStep('WM2');
unsetStep('WM3');
// get value, text
myelement = document.getElementById('Printmedien');
if (myelement.checked) Spezialisierung = myelement.value;
myelement = document.getElementById('Digitalmedien');
if (myelement.checked) Spezialisierung = myelement.value;
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = "Bitte wählen Sie jetzt die Wahlmodule aus";
if (Spezialisierung != '') {
// show next step
showStep('WM1');
// set status
myinfo = document.getElementById('pv_spezialisierung');
myinfo.innerHTML = Spezialisierung;
}
break;
case "WM1":
unsetStep('Adressen');
// check selections of WM1: setSelection and check count only, there are no dependencies in WM1
WM1 = document.getElementById('Wahlmodul1');
maxCount = ChoicesWM1;
count = 0;
Wahlmodul1 = new Array(maxCount);
for (var i = 0; i < WM1.length; i++) {
if (WM1[i].selected) {
ModuleID = WM1[i].value;
Modulename = WM1[i].text;
// set status
if (count <= maxCount) {
// save Selection in arr Wahlmodul1
Wahlmodul1[count] = Modulename;
myinfo = document.getElementById('pv_wahlmodul1');
// join add too many html breaks
//myinfo.innerHTML = Wahlmodul1.join("
");
info = "";
for (j in Wahlmodul1) {
if (info != "") info += "
";
info += Wahlmodul1[j];
} // end for (i in arrFR) {
myinfo.innerHTML = info;
count ++;
}
} // end if (WM1[i].selected) {
} // end for (var i = 0; i < WM1.length; i++) {
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = "Bitte wählen Sie hier " + maxCount + " Modul(e) aus";
if (count == maxCount) {
showStep('WM2');
} else {
if (count > maxCount) alert("Bitte wählen Sie maximal " + maxCount + " Modul(e) aus.");
unsetStep('WM2');
unsetStep('WM3');
}
break;
case "WM2":
unsetStep('Adressen');
// check selection of WM2: get values, count and check dependecies
WM2 = document.getElementById('Wahlmodul2');
maxCount = ChoicesWM2;
count = 0;
validModule = false;
Wahlmodul2 = new Array(maxCount);
for (var i = 0; i < WM2.length; i++) {
if (WM2[i].selected) {
// get Module ID and name to check dependecies
ModuleID = WM2.options[i].value;
Modulename = WM2.options[i].text;
// check if there are any dependecies for this module
if (arrWM2[ModuleID]["Dependecies"] != "") validModule = checkDependecies(arrWM2[ModuleID]["Dependecies"]);
else validModule = true;
// set results if selection is valid or print warning
if (validModule && count <= maxCount) {
// save Selection in arr Wahlmodul1
Wahlmodul2[count] = Modulename;
myinfo = document.getElementById('pv_wahlmodul2');
// join add too many html breaks
//myinfo.innerHTML = Wahlmodul2.join("
");
info = "";
for (j in Wahlmodul2) {
if (info != "") info += "
";
info += Wahlmodul2[j];
} // end for (i in arrFR) {
myinfo.innerHTML = info;
count ++;
} else if (!validModule) {
WM2[i].selected = false;
warnmsg = "Um das Modul \"" + Modulename + "\" wählen zu können müssen Sie \"" + arrWM2[ModuleID]["Dependecies"] + "\" ausgewählt haben.";
alert(warnmsg)
} // end if (validSelection)
} // end if (element[i].selected) {
} // end for (var i = 0; i < element.length; i++) {
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = "Bitte wählen Sie hier " + maxCount + " Modul(e) aus";
if (count == maxCount) {
showStep('WM3');
} else {
if (count > maxCount) alert("Bitte wählen Sie maximal " + maxCount + " Modul(e) aus.");
unsetStep('WM3');
}
break;
case "WM3":
unsetStep('Adressen');
// check selection of WM3: get values, count and check dependecies
WM3 = document.getElementById('Wahlmodul3');
maxCount = ChoicesWM3;
count = 0;
validModule = false;
Wahlmodul3 = new Array(maxCount);
for (var i = 0; i < WM3.length; i++) {
if (WM3[i].selected) {
// get Module ID and name to check dependecies
ModuleID = WM3.options[i].value;
Modulename = WM3.options[i].text;
// check if there are any dependecies for this module
if (arrWM3[ModuleID]["Dependecies"] != "") validModule = checkDependecies(arrWM3[ModuleID]["Dependecies"]);
else validModule = true;
// set results if selection is valid or print warning
if (validModule && count <= maxCount) {
// save Selection in arr Wahlmodul1
Wahlmodul3[count] = Modulename;
myinfo = document.getElementById('pv_wahlmodul3');
//myinfo.innerHTML = Wahlmodul3.join("
");
info = "";
for (j in Wahlmodul3) {
if (info != "") info += "
";
info += Wahlmodul3[j];
} // end for (i in arrFR) {
myinfo.innerHTML = info;
count ++;
} else if (!validModule) {
WM3[i].selected = false;
warnmsg = "Um das Modul \"" + Modulename + "\" wählen zu können müssen Sie \"" + arrWM3[ModuleID]["Dependecies"] + "\" ausgewählt haben.";
alert(warnmsg);
} // end if (validSelection)
} // end if (WM3[i].selected) {
} // end for (var i = 0; i < WM3.length; i++) {
if (count == maxCount) {
showStep('Adressen');
} else {
if (count > maxCount) alert("Bitte wählen Sie maximal " + maxCount + " Modul(e) aus.");
}
break;
case "Adressen":
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = "Bitte geben Sie jetzt die Adressen ein";
break;
} // end switch (Step) {
}
function unsetStep(myStep)
{
// unsets results, preview and hides element itself
switch (myStep) {
case "Fachrichtung":
init();
// remove value
FachrichtungID = "";
Fachrichtung = "";
// set status
myinfo = document.getElementById('pv_fachrichtung');
myinfo.innerHTML = "-";
break;
case "Spezialisierung":
Spezialisierung = "";
// hide element
myelement = document.getElementById('Spezialisierungen');
myelement.style.visibility = "hidden";
// remove status info
myinfo = document.getElementById('pv_spezialisierung');
myinfo.innerHTML = "-";
// remove value
mybutton = document.getElementById('Printmedien');
mybutton.checked = false;
mybutton = document.getElementById('Digitalmedien');
mybutton.checked = false;
break;
case "WM1":
// delete results
Wahlmodul1 = new Array();
Wahlmodul2 = new Array();
Wahlmodul3 = new Array();
// remove modules
unlinkelements('Wahlmodul1');
// hide elements, 3 in this case
myelement = document.getElementById('Wahlmodule');
//myelement.style.visibility = "hidden";
setOpacity(myelement,5);
myelement = document.getElementById('Wahlmodule1');
//myelement.style.visibility = "hidden";
setOpacity(myelement,5);
// remove status
myinfo = document.getElementById('pv_wahlmodul1');
myinfo.innerHTML = "-";
break;
case "WM2":
// delete results
Wahlmodul2 = new Array();
Wahlmodul3 = new Array();
// remove modules
unlinkelements('Wahlmodul2');
// hide element
myelement = document.getElementById('Wahlmodule2');
//myelement.style.visibility = "hidden";
setOpacity(myelement,5);
// remove status
myinfo = document.getElementById('pv_wahlmodul2');
myinfo.innerHTML = "-";
break;
case "WM3":
// delete results
Wahlmodul3 = new Array();
// remove modules
unlinkelements('Wahlmodul3');
// hide element
myelement = document.getElementById('Wahlmodule3');
//myelement.style.visibility = "hidden";
setOpacity(myelement,5);
// remove status
myinfo = document.getElementById('pv_wahlmodul3');
myinfo.innerHTML = "-";
break;
case "Adressen":
// hide element
myelement = document.getElementById('Adressen');
//myelement.style.visibility = "hidden";
setOpacity(myelement,5);
break;
} // end switch (Step) {
}
function showStep(myStep)
{
// unsets results, preview and hides element itself
switch (myStep) {
case "Spezialisierung":
myelement = document.getElementById('Spezialisierungen');
myelement.style.visibility = "visible";
setOpacity(myelement,10);
unsetStep('WM1');
unsetStep('WM2');
unsetStep('WM3');
break;
case "WM1":
// show elements, 4 in this case
myelement = document.getElementById('Wahlmodule');
//myelement.style.visibility = "visible";
setOpacity(myelement,10);
myelement = document.getElementById('Wahlmodule1');
//myelement.style.visibility = "visible";
setOpacity(myelement,10);
maxCount = ChoicesWM1;
// insert options
updateelements('Wahlmodul1',false,arrWM1,arrFR[FachrichtungID]["Wahlmodul1"],maxCount,Wahlmodul1);
// prepare next step
total = countelements(arrFR[FachrichtungID]["Wahlmodul1"],arrWM1);
if (total == maxCount) {
checkStep('WM1');
} // end if (total == arrFR[FachrichtungID]["Choices"]) {
break;
case "WM2":
maxCount = ChoicesWM2;
// show element
myelement = document.getElementById("Wahlmodule2");
//myelement.style.visibility = "visible";
setOpacity(myelement,10);
// insert options
updateelements("Wahlmodul2",false,arrWM2,arrFR[FachrichtungID]["Wahlmodul2"],maxCount,Wahlmodul2);
// remove depending options
unlinkelements('Wahlmodul3');
// prepare next step
total = countelements(arrFR[FachrichtungID]["Wahlmodul2"],arrWM2);
if (total == maxCount) checkStep('WM2');
break;
case "WM3":
// show element
myelement = document.getElementById("Wahlmodule3");
//myelement.style.visibility = "visible";
setOpacity(myelement,10);
maxCount = ChoicesWM3;
// insert options
updateelements('Wahlmodul3',false,arrWM3,arrFR[FachrichtungID]["Wahlmodul3"],maxCount,Wahlmodul3);
// prepare next step
total = countelements(arrFR[FachrichtungID]["Wahlmodul3"],arrWM3);
if (total == maxCount) checkStep('WM3');
break;
case "Adressen":
myelement = document.getElementById('Adressen');
//myelement.style.visibility = "visible";
setOpacity(myelement,9);
myelement = document.getElementById('AVDate');
//myelement.style.visibility = "visible";
setOpacity(myelement,9);
myelement = document.getElementById('Azubi');
setOpacity(myelement,9);
myelement = document.getElementById('Ausbildungsbetrieb');
setOpacity(myelement,9);
myelement = document.getElementById('Formate');
setOpacity(myelement,9);
// set hint
myinfo = document.getElementById('Hint');
myinfo.innerHTML = "Bitte geben Sie jetzt die Adressen ein";
break;
} // end switch (Step) {
}