<!--

// ************************
// layer utility routines *
// ************************

function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
        styleObject.display = newVisibility;
	    return true;
    } else {
	    return false;
    }
} // changeObjectVisibility



function switchIfDone(theForm, this_div, next_div)
{
  var complete = CheckForm(theForm, this_div);

  if (this_div == "part2" && theForm.form_cb_gemeinschaftskonto.checked)
        next_div = "part2a";

  if (complete == true && next_div == "part4")  {
      changeObjectVisibility("sidebar", "none");
      changeObjectVisibility("explanation", "none");
  }

  if (complete == true && next_div == "print") {
      window.print();
  }

  if (complete == true) {
     if (getStyleObject(this_div) && getStyleObject(next_div)) {
       changeObjectVisibility(this_div, "none");
       changeObjectVisibility(next_div, "");
     }
  }
}

function switchDiv(theForm, this_div, next_div)
{
    if (this_div == "part3" && next_div == "part2" && document.form_part2.form_cb_gemeinschaftskonto.checked)
        next_div = "part2a";

    if (getStyleObject(this_div) && getStyleObject(next_div)) {
       changeObjectVisibility(this_div, "none");
       changeObjectVisibility(next_div, "");
       changeObjectVisibility("sidebar", "");
       changeObjectVisibility("explanation", "");
     }
}



function InsertData() {
//    alert(document.getElementById("muh1").innerHTML);

  for (var form_loop=0; form_loop<document.forms.length; form_loop++) {
    for (var elems=0; elems<document.forms[form_loop].length;elems++) {
      if (document.forms[form_loop].elements[elems].name != "") {
            alert(document.forms[form_loop].elements[elems].name);
//            document.getElementById(document.forms[form_loop].elements[elems].name).innerHTML = "";
      }
    }
  }
}



///////////////

function ToggleCheckbox(theCheckbox) {
    if (theCheckbox.checked == true) {
        changeObjectVisibility("div_rufnummer", "");
        changeObjectVisibility("div_zeitpunkt", "");
        getStyleObject("div_email").fontWeight = "normal";
        getStyleObject("div_nachricht").fontWeight = "normal";
    } else {
        changeObjectVisibility("div_rufnummer", "none");
        changeObjectVisibility("div_zeitpunkt", "none");
        getStyleObject("div_email").fontWeight = "bold";
        getStyleObject("div_nachricht").fontWeight = "bold";
    }
}


function DisableField(theElement, disabled) {
      theElement.disabled = disabled;
}


function SetErrorMode(theForm, field) {
    document.getElementById(field).style.borderColor = "#FF6600";
    document.getElementById(field).style.borderWidth = "1px";
    document.getElementById(field).style.borderStyle = "solid";
    theForm.elements[field].focus();
}

function ResetErrorMode(theForm, page) {
    for (var elems = 0; elems < theForm.length; elems++) {
        if (theForm.elements[elems].type == "text") {
           var field = theForm.elements[elems].id;

           document.getElementById(field).style.borderColor = "";
           document.getElementById(field).style.borderWidth = "";
           document.getElementById(field).style.borderStyle = "";
        }
    }
}

var messages = new Array();
messages[0] = "";
messages[1] = "Bitte füllen Sie dieses Feld aus!";
messages[2] = "Diese Eingabe ist ungültig";
messages[3] = "Die Länge der Eingabe ist ungültig!";
messages[4] = "Bitte geben Sie nur Ziffern ein!";
messages[5] = "Die Mindesteinlage beträgt 5.000 Euro!";


function PrintMessage(fieldName, id) {
     document.getElementById("error_" + fieldName).innerHTML = messages[id];
}


function CheckForm(theForm, page) {

    ResetErrorMode(theForm, page);

    var validation = new Validation();
    var error = false;
    var ext;


    if (page == "part1") {

       document.getElementById("error_betrag").innerHTML = "";

       if ((errorCode = validation.IsAmount(theForm.form_text_betrag.value, 5000)) != 0) {
            PrintMessage("betrag", errorCode);
            SetErrorMode(theForm, "form_text_betrag");
            error = true;
       }
    } else if (page == "part2" || page == "part2a") {
        if (page == "part2a")
            ext = "2";
        else
            ext = "";

        var postal_length = (country == "de") ? 5 : 4;


         with(document) {
             getElementById("error_anrede" + ext).innerHTML = "";
             getElementById("error_vorname" + ext).innerHTML = "";
             getElementById("error_nachname" + ext).innerHTML = "";
             getElementById("error_strasse" + ext).innerHTML = "";
             getElementById("error_plz" + ext).innerHTML = "";
             getElementById("error_ort" + ext).innerHTML = "";
             getElementById("error_geburtsdatum" + ext).innerHTML = "";
             getElementById("error_geburtsort" + ext).innerHTML = "";
             getElementById("error_nationalitaet" + ext).innerHTML = "";
             getElementById("error_telefon" + ext).innerHTML = "";
             getElementById("error_fax" + ext).innerHTML = "";
             getElementById("error_email" + ext).innerHTML = "";
             getElementById("error_beschaeftigung" + ext).innerHTML = "";
             getElementById("error_legitimation" + ext).innerHTML = "";
             getElementById("error_ausweisnummer" + ext).innerHTML = "";
             getElementById("error_ausstellungsbehoerde" + ext).innerHTML = "";
             getElementById("error_ausstellungsdatum" + ext).innerHTML = "";
         }

       if (!theForm.form_rb_anrede[0].checked && !theForm.form_rb_anrede[1].checked) {
            PrintMessage("anrede" + ext, 1);
            theForm.form_rb_anrede[0].focus();
            error = true;
       }
       else if ((errorCode = validation.IsStandard(theForm.form_text_vorname.value)) != 0) {
            PrintMessage("vorname" + ext, errorCode);
            SetErrorMode(theForm, "form_text_vorname" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStandard(theForm.form_text_nachname.value)) != 0) {
            PrintMessage("nachname" + ext, errorCode);
            SetErrorMode(theForm, "form_text_nachname" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStandard(theForm.form_text_strasse.value)) != 0) {
            PrintMessage("strasse" + ext, errorCode);
            SetErrorMode(theForm, "form_text_strasse" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStreetNumber(theForm.form_text_strassenummer.value)) != 0) {
            PrintMessage("strasse" + ext, errorCode);
            SetErrorMode(theForm, "form_text_strassenummer" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsPostalCode(theForm.form_text_plz.value, postal_length)) != 0) {
            PrintMessage("plz" + ext, errorCode);
            SetErrorMode(theForm, "form_text_plz" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStandard(theForm.form_text_ort.value)) != 0) {
            PrintMessage("ort" + ext, errorCode);
            SetErrorMode(theForm, "form_text_ort" + ext);
            error = true;
       }
       else if (theForm.form_select_geburtsdatumtag.selectedIndex == 0) {
            PrintMessage("geburtsdatum" + ext, 1);
            theForm.form_select_geburtsdatumtag.focus();
            error = true;
       }
       else if (theForm.form_select_geburtsdatummonat.selectedIndex == 0) {
            PrintMessage("geburtsdatum" + ext, 1);
            theForm.form_select_geburtsdatummonat.focus();
            error = true;
       }
       else if ((errorCode = validation.IsYear(theForm.form_text_geburtsdatumjahr.value)) != 0) {
            PrintMessage("geburtsdatum" + ext, errorCode);
            SetErrorMode(theForm, "form_text_geburtsdatumjahr" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStandard(theForm.form_text_geburtsort.value)) != 0) {
            PrintMessage("geburtsort" + ext, errorCode);
            SetErrorMode(theForm, "form_text_geburtsort" + ext);
            error = true;
       }
       else if (theForm.form_rb_nationalitaet[1].checked && theForm.form_select_nationalitaet.selectedIndex == 0) {
            PrintMessage("nationalitaet" + ext, 1);
            error = true;
       }
       else if (theForm.form_select_beschaeftigung.selectedIndex == 0) {
            PrintMessage("beschaeftigung" + ext, 1);
            theForm.form_select_beschaeftigung.focus();
            error = true;
       }
       else if ((errorCode = validation.IsTelephone(theForm.form_text_telefonvorwahl.value, 1, 8)) != 0 && errorCode != 1) {
            PrintMessage("telefon" + ext, errorCode);
            SetErrorMode(theForm, "form_text_telefonvorwahl" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsTelephone(theForm.form_text_telefon.value, 4, 12)) != 0 && errorCode != 1) {
            PrintMessage("telefon" + ext, errorCode);
            SetErrorMode(theForm, "form_text_telefon" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsTelephone(theForm.form_text_faxvorwahl.value, 1, 8)) != 0 && errorCode != 1) {
            PrintMessage("fax" + ext, errorCode);
            SetErrorMode(theForm, "form_text_faxvorwahl" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsTelephone(theForm.form_text_fax.value, 4, 12)) != 0 && errorCode != 1) {
            PrintMessage("fax" + ext, errorCode);
            SetErrorMode(theForm, "form_text_fax" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsEmail(theForm.form_text_email.value)) != 0 && errorCode != 1) {
            PrintMessage("email" + ext, errorCode);
            SetErrorMode(theForm, "form_text_email" + ext);
            error = true;
       }
       else if (!theForm.form_rb_legitimation[0].checked && !theForm.form_rb_legitimation[1].checked) {
            PrintMessage("legitimation" + ext, 1);
            theForm.form_rb_legitimation[0].focus();
            error = true;
       }
       else if ((errorCode = validation.IsStandardNum(theForm.form_text_ausweisnummer.value)) != 0) {
            PrintMessage("ausweisnummer" + ext, errorCode);
            SetErrorMode(theForm, "form_text_ausweisnummer" + ext);
            error = true;
       }
       else if ((errorCode = validation.IsStandardNum(theForm.form_text_ausstellungsbehoerde.value)) != 0) {
            PrintMessage("ausstellungsbehoerde" + ext, errorCode);
            SetErrorMode(theForm, "form_text_ausstellungsbehoerde" + ext);
            error = true;
       }
       else if (theForm.form_select_ausstellungsdatumtag.selectedIndex == 0 ||
                theForm.form_select_ausstellungsdatummonat.selectedIndex == 0) {
            PrintMessage("ausstellungsdatum" + ext, 1);
            error = true;
       }
       else if ((errorCode = validation.IsYear(theForm.form_text_ausstellungsdatumjahr.value)) != 0) {
            PrintMessage("ausstellungsdatum" + ext, errorCode);
            SetErrorMode(theForm, "form_text_ausstellungsdatumjahr" + ext);
            error = true;
       }
    } else if (page == "part3") {
        document.getElementById("error_empfaengername").innerHTML = "";
        document.getElementById("error_bank").innerHTML = "";

        if (country != "de") {
           document.getElementById("error_kontonummer").innerHTML = "";
           document.getElementById("error_bankleitzahl").innerHTML = "";
        } else {
           document.getElementById("error_iban").innerHTML = "";
           document.getElementById("error_bic").innerHTML = "";
        }


        if ((errorCode = validation.IsStandard(theForm.form_text_empfaengername.value)) != 0) {
             PrintMessage("empfaengername", errorCode);
             SetErrorMode(theForm, "form_text_empfaengername");
             error = true;
        } else if (country == "at" && (errorCode = validation.IsStandardNum(theForm.form_text_kontonummer.value)) != 0) {
             PrintMessage("kontonummer", errorCode);
             SetErrorMode(theForm, "form_text_kontonummer");
             error = true;
        } else if (country == "at" && (errorCode = validation.IsOther(theForm.form_text_bankleitzahl.value, 5, 5, /^\d+$/)) != 0) {
             PrintMessage("bankleitzahl", errorCode);
             SetErrorMode(theForm, "form_text_bankleitzahl");
             error = true;
        } else if (country == "de" && (errorCode = validation.IsStandardNum(theForm.form_text_iban.value)) != 0) {
             PrintMessage("iban", errorCode);
             SetErrorMode(theForm, "form_text_iban");
             error = true;
        } else if (country == "de" && (errorCode = validation.IsStandardNum(theForm.form_text_bic.value)) != 0) {
             PrintMessage("bic", errorCode);
             SetErrorMode(theForm, "form_text_bic");
             error = true;
        } else if ((errorCode = validation.IsStandardNum(theForm.form_text_bank.value)) != 0) {
             PrintMessage("bank", errorCode);
             SetErrorMode(theForm, "form_text_bank");
             error = true;
        }


        if (!error) {

             with(document) {
             	for (i = 0; i < form_part1.form_rb_anlagedauer.length; i++) {
	                if (form_part1.form_rb_anlagedauer[i].checked) {
	                	 var einheit;
	                	 var anlagedauer = form_part1.form_rb_anlagedauer[i].value;
	                	 
	                	 if (form_part1.form_rb_anlagedauer[i].value % 12 == 0 ||
	                	 	 form_part1.form_rb_anlagedauer[i].value / 12 > 1) {
	                	 	
	          				einheit = "Jahr";
	          				
	          				if (anlagedauer != 12)
	          					einheit += "e";
	          					
	          				anlagedauer /= 12;
	                	 } else {      	 
	          				einheit = "Monat";
	          				
	          				if (anlagedauer != 1)
	          					einheit += "e";
	                	 }	
	                	 
	                	 strAnlagedauer = anlagedauer + " ";
	                     getElementById("res_anlagedauer").innerHTML =  strAnlagedauer.replace(/\./, ",") + " " + einheit;
	                }
             	}

                getElementById("res_betrag").innerHTML = form_part1.form_text_betrag.value + " Euro";

                var nOwner = 1;

                if (document.form_part2.form_cb_gemeinschaftskonto.checked)
                    nOwner = 2;

                for (i = 1; i <= nOwner ; i++) {
                    if (i == 2)
                        ext = "2";
                    else
                        ext = "";

                    if (forms[i].form_rb_anrede[0].checked)
                         getElementById("res_anrede" + ext).innerHTML = forms[i].form_rb_anrede[0].value;
                    else
                         getElementById("res_anrede" + ext).innerHTML = forms[i].form_rb_anrede[1].value;

                    getElementById("res_titel" + ext).innerHTML = forms[i].form_select_titel[forms[i].form_select_titel.selectedIndex].text;
                    getElementById("res_vorname" + ext).innerHTML = forms[i].form_text_vorname.value;
                    getElementById("res_nachname" + ext).innerHTML = forms[i].form_text_nachname.value;
                    getElementById("res_strasse_strassenummer" + ext).innerHTML = forms[i].form_text_strasse.value + " " + forms[i].form_text_strassenummer.value;
                    getElementById("res_plz_ort" + ext).innerHTML = forms[i].form_text_plz.value + " " + forms[i].form_text_ort.value;
                    getElementById("res_geburtsdatum_geburtsort" + ext).innerHTML = forms[i].form_select_geburtsdatumtag[forms[i].form_select_geburtsdatumtag.selectedIndex].text + ".&nbsp;" + forms[i].form_select_geburtsdatummonat[forms[i].form_select_geburtsdatummonat.selectedIndex].text + " " + forms[i].form_text_geburtsdatumjahr.value + " in " + forms[i].form_text_geburtsort.value;

                    if (forms[i].form_rb_nationalitaet[0].checked)
                        getElementById("res_nationalitaet" + ext).innerHTML = forms[i].form_rb_nationalitaet[0].value;
                    else
                        getElementById("res_nationalitaet" + ext).innerHTML = forms[i].form_select_nationalitaet[forms[i].form_select_nationalitaet.selectedIndex].text;

                    if (forms[i].form_rb_familienstand[0].checked)
                         getElementById("res_familienstand" + ext).innerHTML = forms[i].form_rb_familienstand[0].value;
                    else if (forms[i].form_rb_familienstand[1].checked)
                         getElementById("res_familienstand" + ext).innerHTML = forms[i].form_rb_familienstand[1].value;
                    else if (forms[i].form_rb_familienstand[2].checked)
                         getElementById("res_familienstand" + ext).innerHTML = forms[i].form_rb_familienstand[2].value;
                    else if (forms[i].form_rb_familienstand[3].checked)
                         getElementById("res_familienstand" + ext).innerHTML = forms[i].form_rb_familienstand[3].value;

                    var landesvorwahl = (country == "de") ? "49" : "43";

                    getElementById("res_telefonvorwahl_telefon" + ext).innerHTML = "+" + landesvorwahl + " " + forms[i].form_text_telefonvorwahl.value + " " + forms[i].form_text_telefon.value;
                    getElementById("res_faxvorwahl_fax" + ext).innerHTML = "+" + landesvorwahl + " " + forms[i].form_text_faxvorwahl.value + " " + forms[i].form_text_fax.value;
                    getElementById("res_beschaeftigung" + ext).innerHTML = forms[i].form_select_beschaeftigung[forms[i].form_select_beschaeftigung.selectedIndex].text;
                    getElementById("res_email" + ext).innerHTML = forms[i].form_text_email.value;

                    if (forms[i].form_rb_legitimation[0].checked)
                         getElementById("res_legitimation" + ext).innerHTML = forms[i].form_rb_legitimation[0].value;
                    else if (forms[i].form_rb_legitimation[1].checked)
                         getElementById("res_legitimation" + ext).innerHTML = forms[i].form_rb_legitimation[1].value;

                    getElementById("res_legitimation" + ext).innerHTML += ", " + forms[i].form_text_ausweisnummer.value;
                    getElementById("res_ausweis" + ext).innerHTML = forms[i].form_text_ausstellungsbehoerde.value + ", " + forms[i].form_select_ausstellungsdatumtag[forms[i].form_select_ausstellungsdatumtag.selectedIndex].text + ".&nbsp;" + forms[i].form_select_ausstellungsdatummonat[forms[i].form_select_ausstellungsdatummonat.selectedIndex].text + " " + forms[i].form_text_ausstellungsdatumjahr.value;
                }


                getElementById("res_empfaengername").innerHTML = theForm.form_text_empfaengername.value;
                getElementById("res_bank").innerHTML = theForm.form_text_bank.value;

                if (country != "de") {
                   getElementById("res_kontonummer").innerHTML = theForm.form_text_kontonummer.value;
                   getElementById("res_bankleitzahl").innerHTML = theForm.form_text_bankleitzahl.value;
                } else {
                   getElementById("res_iban").innerHTML = theForm.form_text_iban.value;
                   getElementById("res_bic").innerHTML = theForm.form_text_bic.value;
                }
             }
        }

    } else if (page == "part4") {
    }

    return !error;
}
