/**
 * Funktionen für das Eigentümer-Darlehen
 * @author ag
 * @version 2007-06-07
 */

function eigentuemerDarlehen()
{
	var app = this;
	app.functions = new ly_functions();
	app.etrechner_last_kw = null;
	app.etrechner_last_ku = null;
	app.etrechner_changed = false;

	app.check_date_field = function(value)
	{
		return(true);
		value = String(value);
		if (value.length == 0) return(true);

		var parts = value.split(/\./);
		var result = '';
		var d,m,j;

		d = parseInt(parts[0]);
		m = parseInt(parts[1]);
		j = parseInt(parts[2]);

		if (isNaN(d) || isNaN(m) || isNaN(j)) return(false);

		var date = new Date(parseInt(parts[2]), parseInt(parts[1]), parseInt(parts[0]));
		if (date.getDate() != d
			|| date.getMonth() != m
			|| date.getYear() +1900 != j) return(false);

		return(true);
	}

	app.check_kw_format = function(value)
	{
		if (String(value).length < 1) return(value);

		value = app.functions.parseInt(value);
		value = Math.round(value /100) *100;
		if (value < 0) value = 0;

		// Mindestbeträge überprüfen
		if (value > 0 && value < 60000)
		{
			if (value < 5000)
			{
				value = 5000;
				alert('Eine Finanzierung ist erst ab 5.000 EUR möglich; der Kreditwunsch wird entsprechend korrigiert');
			}
		}

		// Höchstbetrag prüfen
		if (value > 60000)
		{
			value = 60000;
			alert('Der Kreditwunsch darf nicht mehr als 60.000 EUR betragen und wird entsprechend korrigiert');
		}

		if (value != app.etrechner_last_kw) app.etrechner_changed = true;
		app.etrechner_last_kw = value;
		value = app.functions.number_format(value, 0, '', '.');
		return(value);
	}

	app.check_ku_format = function(value)
	{
		if (String(value).length < 1) return(value);

		value = app.functions.parseInt(value);
		value = Math.round(value /100) *100;
		if (value < 0) value = 0;
		if (value > 60000) value = 60000;
		if (value > app.functions.parseInt(document.getElementById('input_Kreditwunsch').value))
			value = app.functions.parseInt(document.getElementById('input_Kreditwunsch').value);
		if (value != app.etrechner_last_ku) app.etrechner_changed = true;
		app.etrechner_last_ku = value;

		// Verwendungszweck "Ablösung ..." automatisch setzen
		var elem = document.getElementById('check_vw_8');
		if (elem) elem.checked = (value > 0);

		value = app.functions.number_format(value, 0, '', '.');
		return(value);
	}

	app.openPopup = function(url, width, height)
	{
		width = parseInt(width);
		height = parseInt(height);
		if (width < 50) width = 550;
		if (height < 50) height = 330;

		var x = Math.floor(document.body.clientWidth / 2) - Math.floor(width /2);
		var y = Math.floor(document.body.clientHeight / 2) - Math.floor(height /2);

		var desc = 'top=' + String(y) + ',left=' + String(x) + ',height=' + String(height) + ',width=' + String(width) + ',location=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes,status=yes,dependent=yes';
		var wind = window.open(url, 'popup', desc);
		wind.focus();
	}

	/**
	 * Überprüft, ob im (ersten) Formular der angegebene Verwendungszweck ausgewählt ist
	 * @param String vwname
	 * @return Boolean
	 */
	app.is_Verwendungszweck_set = function(vwname)
	{
		var i;
		if (document.forms['edkondirechner'].elements['Verwendungszweck[]'])
		{
			for (i = 0; i < document.forms['edkondirechner'].elements['Verwendungszweck[]'].length; i++)
			{
				if (document.forms['edkondirechner'].elements['Verwendungszweck[]'][i].value == vwname) return(document.forms['edkondirechner'].elements['Verwendungszweck[]'][i].checked);
			}
		}
		return(false);
	}

	app.is_Verwendungszweck_set_select = function(vwname)
	{
		return(vwname == 'Modernisierung/Sanierung/Um-Anbau/Renovierung als Eigentümer');
	}

	app.sind_betraege_monatlich = function()
	{
		var elem = document.getElementById('radio_Angaben_Art_Monat');
		if (elem && elem.checked == true) return(true);
		return(false);
	}

	app.ist_verwendung_fuer_eigengenutze_immobilie = function()
	{
		var eigen = document.getElementById('input_wohnflaeche_eigengenutzt');
		var fremd = document.getElementById('input_wohnflaeche_fremdgenutzt');

		if (eigen && fremd)
		{
			if (app.functions.parseInt(eigen.value) >= app.functions.parseInt(fremd.value)) return(true);
		}
		return(false);
	}

	app.ist_verwendung_erwerbsfall = function()
	{
		return(false);
	}

	app.hat_wohneigentum = function()
	{
		return(true);
	}

	app.set_handlers_seite2 = function()
	{
		var elem;
		/*elem = document.getElementById('input_staatsangehoerigkeit');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);*/

		elem = document.getElementById('select_staatsangehoerigkeit');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);
		elem = document.getElementById('select_staatsangehoerigkeit2');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);

		elem = document.getElementById('select_beschaeftigt_als');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);
		elem = document.getElementById('select_beschaeftigt_als2');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);

		elem = document.getElementById('select_beschaeftigungsverhaeltnis');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);
		elem = document.getElementById('select_beschaeftigungsverhaeltnis2');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite2);
	}

	app.set_handlers_seite4 = function()
	{
		var elem;

		elem = document.getElementById('select_restkreditversicherung');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_anfrage_seite4);
	}

	app.set_handlers_bonitaetsrechner = function()
	{
		var i;
		var elem;
		var felder = Array('input_Einkommen',
										'input_Einkommen_2',
										'input_Kindergeld',
										'input_Kindergeld_2',
										'input_Renten',
										'input_Renten_2',
										'input_Dividenden',
										'input_Dividenden_2',
										'input_Sonstige_Einkuenfte',
										'input_Sonstige_Einkuenfte_2',
										'input_Mieteinnahmen',
										'input_Mieteinnahmen_2',
										'input_Lebenshaltung',
										'input_Lebenshaltung_2',
										'input_Anzahl_Kinder_Haushalt',
										'input_Anzahl_Kinder_Haushalt_2',
										'input_Unterhaltszahlungen',
										'input_Unterhaltszahlungen_2',
										'input_Miete_Hypo',
										'input_Miete_Hypo_2',
										'input_Nebenkosten',
										'input_Nebenkosten_2',
										'input_Andere_Kreditbelastungen',
										'input_Andere_Kreditbelastungen_2');

		elem = document.getElementById('select_anzahlantragsteller');
		if (elem)
		{
			app.functions.addEvent(elem, 'change', function() {
																					app.correct_values_bonitaetsrechner();
																					app.check_familienstand();
																				});
		}

		elem = document.getElementById('select_familienstand');
		if (elem) app.functions.addEvent(elem, 'change', function() {
																							app.correct_values_bonitaetsrechner();
																							app.check_familienstand();
																						} );

		elem = document.getElementById('select_familienstand_2');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_bonitaetsrechner);

		elem = document.getElementById('select_gueterstand');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_bonitaetsrechner);

		elem = document.getElementById('select_gueterstand_2');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_bonitaetsrechner);

		elem = document.getElementById('select_verheiratet');
		if (elem) app.functions.addEvent(elem, 'change', app.correct_values_bonitaetsrechner);

		for (i = 0; i < felder.length; i++)
		{
			elem = document.getElementById(felder[i]);
			if (elem) app.functions.addEvent(elem, 'blur', app.correct_values_bonitaetsrechner);
		}
	}

	app.check_familienstand = function()
	{
		var dnElem = document.getElementById('select_anzahlantragsteller');
		var fsElem = document.getElementById('select_familienstand');

		if (dnElem && fsElem)
		{
			if (fsElem[fsElem.selectedIndex].value == 'verheiratet'
				&& dnElem[dnElem.selectedIndex].value == '1')
			{
					alert('Durch die Berücksichtigung eines zweiten Darlehensnehmers kann sich der Darlehensbetrag erhöhen.');
			}
		}
	}

	app.set_handlers_konditionsrechner = function()
	{
		var elem;

		elem = document.getElementById('input_Kreditwunsch');
		if (elem) app.functions.addEvent(elem, 'blur', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('input_Konsum_Umschuldung');
		if (elem) app.functions.addEvent(elem, 'blur', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('radio_Anzahl_DN_1');
		if (elem) app.functions.addEvent(elem, 'click', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('radio_Anzahl_DN_2');
		if (elem) app.functions.addEvent(elem, 'click', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('input_wohnflaeche_eigengenutzt');
		if (elem) app.functions.addEvent(elem, 'blur', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('input_wohnflaeche_fremdgenutzt');
		if (elem) app.functions.addEvent(elem, 'blur', function() { app.correct_values_konditionsrechner(false); } );

		elem = document.getElementById('select_Wohneigentum_seit');
		if (elem) app.functions.addEvent(elem, 'change', function() { app.correct_values_konditionsrechner(true); } );
	}

	app.correct_values_anfrage_seite4 = function()
	{
		var elem, elem2;

		elem = document.getElementById('select_restkreditversicherung');
		elem2 = document.getElementById('hinweis_rkv');

		if (elem)
		{
			if (elem.options[elem.selectedIndex].value == 'Keine Restkreditversicherung gewünscht')
				elem2.style.display = 'block';
			else
				elem2.style.display = 'none';
		}
	}

	app.correct_values_anfrage_seite2 = function()
	{
		var elem;
		var elem2;
		var value;
		var value2;
		var tr;

		elem = document.getElementById('select_staatsangehoerigkeit');
		elem2 = document.getElementById('select_staatsangehoerigkeit2');

		if (elem && elem2)
		{
			value = elem.options[elem.selectedIndex].value;
			value2 = elem2.options[elem2.selectedIndex].value;
			value = value.toLowerCase();
			value2 = value2.toLowerCase();

			if (value == 'deutsch' && value2 == 'deutsch')
			{
				tr = document.getElementById('tr_in_deutschland_seit');
				if (tr) tr.style.display = 'none';
			}
			else
			{
				tr = document.getElementById('tr_in_deutschland_seit');
				try {
					if (tr) tr.style.display = 'table-row';
				}
				catch (e) {
					if (tr) tr.style.display = 'block';
				}
			}
		}
		else if (elem)
		{
			value = elem.options[elem.selectedIndex].value;
			value = value.toLowerCase();

			if (value == 'deutsch')
			{
				tr = document.getElementById('tr_in_deutschland_seit');
				if (tr) tr.style.display = 'none';
			}
			else
			{
				tr = document.getElementById('tr_in_deutschland_seit');
				try {
					if (tr) tr.style.display = 'table-row';
				}
				catch (e) {
					if (tr) tr.style.display = 'block';
				}
			}
		}

		var bs = false;
		var bs2 = false;
		var sb = false;
		var sb2 = false;
		var bf = false;
		var bf2 = false;

		// Beschäftigt als / DN1
		elem = document.getElementById('select_beschaeftigt_als');
		if (elem) {
			app.functions.disable_element('select_beschaeftigt_branche', elem.options[elem.selectedIndex].value != 'Selbstständig');

			if (elem.options[elem.selectedIndex].value == 'Angestellter im Ö.D.'
				|| elem.options[elem.selectedIndex].value == 'Arbeiter'
				|| elem.options[elem.selectedIndex].value == 'Angestellter'
				|| elem.options[elem.selectedIndex].value == 'Handwerker'
				|| elem.options[elem.selectedIndex].value == 'Sonstige')
			{
				bs = true;
			}
			else if (elem.options[elem.selectedIndex].value == 'Selbstständig')
			{
				sb = true;
			}
		}

		// Beschäftigt als / DN2
		elem = document.getElementById('select_beschaeftigt_als2');
		if (elem) {
			app.functions.disable_element('select_beschaeftigt_branche2', elem.options[elem.selectedIndex].value != 'Selbstständig');

			if (elem.options[elem.selectedIndex].value == 'Angestellter im Ö.D.'
				|| elem.options[elem.selectedIndex].value == 'Arbeiter'
				|| elem.options[elem.selectedIndex].value == 'Angestellter'
				|| elem.options[elem.selectedIndex].value == 'Handwerker'
				|| elem.options[elem.selectedIndex].value == 'Sonstige')
			{
				bs2 = true;
			}
			else if (elem.options[elem.selectedIndex].value == 'Selbstständig')
			{
				sb2 = true;
			}
		}

		// Angestellt / beschäftigt
		if (bs || bs2) {
			tr = document.getElementById('tr_beschaeftigungsverhaeltnis');
			try {
				if (tr) tr.style.display = 'table-row';
			} catch (e) {
				if (tr) tr.style.display = 'block';
			}

			elem = document.getElementById('select_beschaeftigungsverhaeltnis');
			elem2 = document.getElementById('select_beschaeftigungsverhaeltnis2');

			if (elem && elem2)
			{
				value = elem.options[elem.selectedIndex].value;
				value2 = elem2.options[elem2.selectedIndex].value;
				value = value.toLowerCase();
				value2 = value2.toLowerCase();
				bf = (value == 'befristet');
				bf2 = (value2 == 'befristet');

				if (!bf && !bf2) {
					tr = document.getElementById('tr_befristet_bis');
					if (tr) tr.style.display = 'none';
				} else {
					tr = document.getElementById('tr_befristet_bis');
					try {
						if (tr) tr.style.display = 'table-row';
					} catch (e) {
						if (tr) tr.style.display = 'block';
					}
				}
			}
			else if (elem)
			{
				value = elem.options[elem.selectedIndex].value;
				value = value.toLowerCase();
				bf = (value == 'befristet');

				if (!bf) {
					tr = document.getElementById('tr_befristet_bis');
					if (tr) tr.style.display = 'none';
				} else {
					tr = document.getElementById('tr_befristet_bis');
					try {
						if (tr) tr.style.display = 'table-row';
					} catch (e) {
						if (tr) tr.style.display = 'block';
					}
				}
			}
		} else {
			tr = document.getElementById('tr_beschaeftigungsverhaeltnis');
			if (tr) tr.style.display = 'none';
			tr = document.getElementById('tr_befristet_bis');
			if (tr) tr.style.display = 'none';
		}

		// Selbstständig
		if (sb || sb2) {
			tr = document.getElementById('tr_beschaeftigt_seit');
			try {
				if (tr) tr.style.display = 'table-row';
			} catch (e) {
				if (tr) tr.style.display = 'block';
			}
			tr = document.getElementById('tr_beschaeftigt_branche');
			try {
				if (tr) tr.style.display = 'table-row';
			} catch (e) {
				if (tr) tr.style.display = 'block';
			}
		} else {
			tr = document.getElementById('tr_beschaeftigt_seit');
			if (tr) tr.style.display = 'none';
			tr = document.getElementById('tr_beschaeftigt_branche');
			if (tr) tr.style.display = 'none';
		}

		app.functions.disable_element('select_beschaeftigungsverhaeltnis', !bs);
		app.functions.disable_element('select_beschaeftigungsverhaeltnis2', !bs2);
		app.functions.disable_element('input_beschaeftigung_befristet_bis', !bf);
		app.functions.disable_element('input_beschaeftigung_befristet_bis2', !bf2);
		app.functions.disable_element('input_beschaeftigt_seit', !sb);
		app.functions.disable_element('input_beschaeftigt_seit2', !sb2);
	}

	app.correct_values_anfrage_seite1 = function()
	{
		var elem;

		elem = document.getElementById('input_erwerbsfall');
		if (elem)
		{
			// Kein Erwerbsfall
			if (elem.value == '0')
			{
				app.functions.disable_element('input_einzugstermin');
				app.functions.disable_element('input_kaufdatum');
				app.functions.disable_element('input_neuadr_strasse');
				app.functions.disable_element('input_neuadr_plz');
				app.functions.disable_element('input_neuadr_ort');
				app.functions.disable_element('input_anschaffungskosten');
				app.functions.disable_element('input_bauwerkvertrag');
				app.functions.disable_element('input_anschaffung_nebenkosten');
				app.functions.disable_element('input_sonstige_kosten');
				app.functions.disable_element('input_summe_anschaffungskosten');
				app.functions.disable_element('input_erstfinanzierung');
				app.functions.disable_element('input_monatliche_belastung');
				app.functions.disable_element('input_oeffentliche_mittel');
				app.functions.disable_element('input_monatliche_belastung_oeffentliche_mittel');
				app.functions.disable_element('input_eigenleistung');
				app.functions.disable_element('input_eigenkapital');
				app.functions.disable_element('input_finanzierung_hanseatic_bank');
				app.functions.disable_element('input_summe_finanzierungskosten');
			}

			// Erwerbsfall
			else
			{
				app.functions.disable_element('input_einzugstermin', false);
				app.functions.disable_element('input_kaufdatum', false);
				app.functions.disable_element('input_neuadr_strasse', false);
				app.functions.disable_element('input_neuadr_plz', false);
				app.functions.disable_element('input_neuadr_ort', false);
				app.functions.disable_element('input_anschaffungskosten', false);
				app.functions.disable_element('input_bauwerkvertrag', false);
				app.functions.disable_element('input_anschaffung_nebenkosten', false);
				app.functions.disable_element('input_sonstige_kosten', false);
				app.functions.disable_element('input_summe_anschaffungskosten', false);
				app.functions.disable_element('input_erstfinanzierung', false);
				app.functions.disable_element('input_monatliche_belastung', false);
				app.functions.disable_element('input_oeffentliche_mittel', false);
				app.functions.disable_element('input_monatliche_belastung_oeffentliche_mittel', false);
				app.functions.disable_element('input_eigenleistung', false);
				app.functions.disable_element('input_eigenkapital', false);
				app.functions.disable_element('input_finanzierung_hanseatic_bank', false);
				app.functions.disable_element('input_summe_finanzierungskosten', false);
			}
		}
	}

	app.hide_tr = function(tr_id, mode)
	{
		var tr = document.getElementById(tr_id);
		if (mode == null) mode = true;

		if (tr)
		{
			if (mode == true)
			{
				tr.style.display = 'none';
			}
			else
			{
				try {
					tr.style.display = 'table-row';
				}
				catch (e) {
					tr.style.display = 'block';
				}
			}
		}
	}

	app.correct_values_bonitaetsrechner = function()
	{
		var anzdn = 1;
		var elem, elem2;
		var i;
		var dn2felder = Array('select_familienstand_2',
										'select_gueterstand_2',
										'select_verheiratet',
										'input_Einkommen_2',
										'input_Kindergeld_2',
										'input_Renten_2',
										'input_Dividenden_2',
										'input_Sonstige_Einkuenfte_2',
										'input_Mieteinnahmen_2',
										'input_Lebenshaltung_2',
										'input_Anzahl_Kinder_Haushalt_2',
										'input_Unterhaltszahlungen_2',
										'input_Miete_Hypo_2',
										'input_Nebenkosten_2',
										'input_Andere_Kreditbelastungen_2');
		var betragsfelder = Array('input_Einkommen',
											'input_Einkommen_2',
											'input_Kindergeld',
											'input_Kindergeld_2',
											'input_Renten',
											'input_Renten_2',
											'input_Dividenden',
											'input_Dividenden_2',
											'input_Sonstige_Einkuenfte',
											'input_Sonstige_Einkuenfte_2',
											'input_Mieteinnahmen',
											'input_Mieteinnahmen_2',
											'input_Lebenshaltung',
											'input_Lebenshaltung_2',
											'input_Unterhaltszahlungen',
											'input_Unterhaltszahlungen_2',
											'input_Miete_Hypo',
											'input_Miete_Hypo_2',
											'input_Nebenkosten',
											'input_Nebenkosten_2',
											'input_Andere_Kreditbelastungen',
											'input_Andere_Kreditbelastungen_2');

		app.zeige_resteinkommen();
		elem = document.getElementById('input_Anzahl_Kinder_Haushalt');
		if (elem && String(elem.value).length > 0) elem.value = app.functions.intval(elem.value);

		elem = document.getElementById('select_anzahlantragsteller');
		if (elem) anzdn = parseInt(elem.options[elem.selectedIndex].value);

		elem2 = document.getElementById('select_familienstand');
		if (elem && elem2)
		{
			if (elem2.options[elem2.selectedIndex].value == 'verheiratet' || elem2.options[elem2.selectedIndex].value == 'getrennt')
				app.functions.disable_element('select_gueterstand', false);
			else
				app.functions.disable_element('select_gueterstand');

			if (elem.options[elem.selectedIndex].value == '1')
			{
				for (i = 0; i < dn2felder.length; i++)
				{
					app.functions.disable_element(dn2felder[i]);
				}
				//app.functions.disable_element('select_gueterstand');
				app.hide_tr('tr_verheiratet');
				app.hide_tr('tr_verheiratet2');
			}
			else
			{
				for (i = 0; i < dn2felder.length; i++)
				{
					app.functions.disable_element(dn2felder[i], false);
				}
				//app.functions.disable_element('select_gueterstand', false);

				var elem2 = document.getElementById('select_familienstand_2');
				if (elem2)
				{
					if (elem2.options[elem2.selectedIndex].value == 'verheiratet' || elem2.options[elem2.selectedIndex].value == 'getrennt')
					{
						app.functions.disable_element('select_gueterstand_2', false);
						var x = document.getElementById('select_familienstand');
						if (x.options[x.selectedIndex].value == 'verheiratet' || x.options[x.selectedIndex].value == 'getrennt')
						{
							app.hide_tr('tr_verheiratet', false);
							app.hide_tr('tr_verheiratet2', false);
						}
						else
						{
							app.hide_tr('tr_verheiratet');
							app.hide_tr('tr_verheiratet2');
						}
					}
					else
					{
						app.functions.disable_element('select_gueterstand_2');
						app.hide_tr('tr_verheiratet');
						app.hide_tr('tr_verheiratet2');
					}
				}
			}
		}

		for (i = 0; i < betragsfelder.length; i++)
		{
			elem = document.getElementById(betragsfelder[i]);
			if (elem)
			{
				if (String(elem.value).length > 0)
					elem.value = app.functions.number_format(app.functions.parseInt(elem.value), 0, '', '.');
			}
		}

		// Wenn Antragsteller miteinander verheiratet, bestimmte Angaben automatisch setzen
		elem = document.getElementById('select_anzahlantragsteller');
		if (elem && elem.options[elem.selectedIndex].value == '2')
		{
			elem = document.getElementById('select_familienstand');
			if (elem.value == 'verheiratet')
			{
				elem2 = document.getElementById('select_familienstand_2');
				if (elem2 && elem2.options[elem2.selectedIndex].value == '') elem2.selectedIndex = elem.selectedIndex;

				app.functions.disable_element('select_gueterstand_2', false);

				elem = document.getElementById('select_gueterstand');
				elem2 = document.getElementById('select_gueterstand_2');
				if (elem && elem.options[elem.selectedIndex].value != ''
						&& elem2 && elem2.options[elem2.selectedIndex].value == '') elem2.selectedIndex = elem.selectedIndex;

				elem = document.getElementById('select_verheiratet');
				if (elem && elem.options[elem.selectedIndex].value == '') elem.selectedIndex = 1;
			}
		}

		if (anzdn != 2)
		{
			document.getElementById('td_dn2').style['display'] = 'none';
		}
		else
		{
			try {
				document.getElementById('td_dn2').style['display'] = 'table-cell';
			} catch(e) {
				document.getElementById('td_dn2').style['display'] = 'block';
			}
		}
	}

	app.correct_values_konditionsrechner = function(ch_wohneigentum)
	{
		var elem;
		var gesamteinkommen = 0;
		var eigenkapital = 0;
		var anzahldn = 1;
		var eigengenutzt = app.ist_verwendung_fuer_eigengenutze_immobilie();
		var erwerbsfall = app.ist_verwendung_erwerbsfall();
		if (!ch_wohneigentum) ch_wohneigentum = false;

		elem = document.getElementById('input_Kreditwunsch');
		if (elem) elem.value = app.check_kw_format(elem.value);

		elem = document.getElementById('input_Konsum_Umschuldung');
		if (elem) elem.value = app.check_ku_format(elem.value);

		// Anzahl Darlehensnehmer
		elem = document.getElementById('radio_Anzahl_DN_1');
		anzahldn = (elem && (elem.checked == true))? 1 : 2;

		elem = document.getElementById('input_Fremdkredite');
		if (elem && String(elem.value).length > 0) elem.value = app.functions.number_format(app.functions.parseInt(elem.value), 0, '', '.');

		// Wohnfläche
		var eigen = document.getElementById('input_wohnflaeche_eigengenutzt');
		if (eigen && String(eigen.value).length > 0) eigen.value = app.functions.number_format(app.functions.parseInt(eigen.value), 0, '', '.');

		var fremd = document.getElementById('input_wohnflaeche_fremdgenutzt');
		if (fremd && String(fremd.value).length > 0) fremd.value = app.functions.number_format(app.functions.parseInt(fremd.value), 0, '', '.');

		elem = document.getElementById('input_wohnflaeche_gesamt');
		if (elem) elem.value = app.functions.number_format((app.functions.parseInt(eigen.value) +app.functions.parseInt(fremd.value)), 0, '', '.');

		// Elemente ein- und ausblenden
		var kw = app.functions.parseInt(document.getElementById('input_Kreditwunsch').value);
		if (kw >= 10000) {
			app.functions.disable_element('radio_Zinsbindung_5', false);
		} else if (document.getElementById('input_Kreditwunsch').value.length > 0) {
			app.functions.disable_element('radio_Zinsbindung_5');
			document.getElementById('radio_Zinsbindung_10').checked = true;
		}

		// Eigengenutzt?
		/*if (eigengenutzt == true)
		{
			app.functions.disable_element('input_Konsum_Umschuldung', false);
		}

		// Oder fremdgenutzt?
		else
		{
			// Wenn mindesten 1 Jahr Eigentum, dann Ablöse möglich
			var d = document.getElementById('select_Wohneigentum_seit');
			if (d && (d.options[d.selectedIndex].value == 'mind. 1 Jahr' || d.options[d.selectedIndex].value == 'mind. 5 Jahren'))
			{
				app.functions.disable_element('input_Konsum_Umschuldung', false);
			}
			else
			{
				if (ch_wohneigentum && app.functions.parseInt(document.getElementById('input_Konsum_Umschuldung').value) > 0) alert('Achtung: Ablösung bestehender Konsumenten-Kredite ist nicht möglich');
				app.functions.disable_element('input_Konsum_Umschuldung', true);
			}
		}*/
	}

	app.set_event_handlers = function(correct_values)
	{
		var elem;
		elem = document.getElementById('input_page');

		if (elem)
		{
			// Konditionsrechner
			if (elem.value == 'konditionsrechner')
			{
				app.set_handlers_konditionsrechner();
				if (correct_values == true) app.correct_values_konditionsrechner(false);
			}

			// Bonitätsrechner
			else if (elem.value == 'bonitaetsrechner')
			{
				app.set_handlers_bonitaetsrechner();
				if (correct_values == true) app.correct_values_bonitaetsrechner();
			}

			// Erste Anfrage-Seite
			else if (elem.value == '1')
			{
				app.correct_values_anfrage_seite1();
			}

			// Zweite Anfrage-Seite
			else if (elem.value == '2')
			{
				app.set_handlers_seite2();
				app.correct_values_anfrage_seite2();
			}

			// Vierte Anfrage-Seite
			else if (elem.value == '4')
			{
				app.set_handlers_seite4();
				app.correct_values_anfrage_seite4();
			}
		}
	}

	app.zeige_resteinkommen = function()
	{
		var resteinkommen = 0;
		var resteinkommen_2 = 0;
		var einkuenfte = 0;
		var einkuenfte_2 = 0;
		var ausgaben = 0;
		var ausgaben_2 = 0;
		var alter;
		var alter_2;
		var i;
		var dummy;

		if (document.getElementById)
		{
			var anzahlantragsteller = parseInt(document.getElementById('select_anzahlantragsteller').options[document.getElementById('select_anzahlantragsteller').selectedIndex].value);

			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Einkommen').value));
			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Kindergeld').value));
			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Renten').value));
			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Dividenden').value));
			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Sonstige_Einkuenfte').value));
			einkuenfte += app.functions.intval(app.functions.parseInt(document.getElementById('input_Mieteinnahmen').value)) *1;

			ausgaben += app.functions.intval(app.functions.parseInt(document.getElementById('input_Lebenshaltung').value));
			ausgaben += app.functions.intval(app.functions.parseInt(document.getElementById('input_Unterhaltszahlungen').value));
			ausgaben += app.functions.intval(app.functions.parseInt(document.getElementById('input_Miete_Hypo').value));
			ausgaben += app.functions.intval(app.functions.parseInt(document.getElementById('input_Nebenkosten').value));
			ausgaben += app.functions.intval(app.functions.parseInt(document.getElementById('input_Andere_Kreditbelastungen').value));

			resteinkommen = einkuenfte -ausgaben;
			resteinkommen = Math.floor(resteinkommen);

			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Einkommen_2').value));
			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Kindergeld_2').value));
			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Renten_2').value));
			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Dividenden_2').value));
			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Sonstige_Einkuenfte_2').value));
			einkuenfte_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Mieteinnahmen_2').value)) *1;

			ausgaben_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Lebenshaltung_2').value));
			ausgaben_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Unterhaltszahlungen_2').value));
			ausgaben_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Miete_Hypo_2').value));
			ausgaben_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Nebenkosten_2').value));
			ausgaben_2 += app.functions.intval(app.functions.parseInt(document.getElementById('input_Andere_Kreditbelastungen_2').value));

			resteinkommen_2 = einkuenfte_2 -ausgaben_2;
			resteinkommen_2 = Math.floor(resteinkommen_2);

			if (isNaN(einkuenfte)) einkuenfte = '-';
			document.getElementById('ausgabe_summe_einkuenfte').value = app.functions.number_format(einkuenfte, 0, '', '.');
			if (isNaN(einkuenfte_2)) einkuenfte_2 = '-';
			document.getElementById('ausgabe_summe_einkuenfte_2').value = app.functions.number_format(einkuenfte_2, 0, '', '.');

			if (isNaN(ausgaben)) ausgaben = '-';
			document.getElementById('ausgabe_summe_ausgaben').value = app.functions.number_format(ausgaben, 0, '', '.');
			if (isNaN(ausgaben_2)) ausgaben_2 = '-';
			document.getElementById('ausgabe_summe_ausgaben_2').value = app.functions.number_format(ausgaben_2, 0, '', '.');
		}
	}

	app.aktualisiere_finanzierungsplan = function()
	{
		var summe_anschaffungskosten = 0;
		var summe_finanzierungskosten = 0;
		var input;

		summe_anschaffungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_anschaffungskosten').value));
		summe_anschaffungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_bauwerkvertrag').value));
		summe_anschaffungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_anschaffung_nebenkosten').value));
		summe_anschaffungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_sonstige_kosten').value));

		summe_finanzierungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_erstfinanzierung').value));
		summe_finanzierungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_oeffentliche_mittel').value));
		summe_finanzierungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_eigenleistung').value));
		summe_finanzierungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_eigenkapital').value));
		summe_finanzierungskosten += app.functions.intval(app.functions.parseInt(document.getElementById('input_finanzierung_hanseatic_bank').value));

		input = document.getElementById('input_summe_anschaffungskosten');
		if (input) input.value = summe_anschaffungskosten;

		input = document.getElementById('input_summe_finanzierungskosten');
		if (input) input.value = summe_finanzierungskosten;
	}
}

var edApp = new eigentuemerDarlehen();