/*
function isNotANumber(n) {
num = parseInt(n);
if (isNaN(num))
		return true
	return false
}


*/
function isNotANumber(n) {
	var s = "" +n
	var ziffern = "0123456789.-"
	for (var i = 0; i<s.length; i++)
		if (ziffern.indexOf(s.charAt(i)) == -1)
			return true
	return false
}

function isNotANumberGanzzahl(n) {
	var s = "" +n
	var ziffern = "0123456789"
	for (var i = 0; i<s.length; i++)
		if (ziffern.indexOf(s.charAt(i)) == -1)
			return true
	return false
}

function forbiddenSybols(n) {
	var s = "" +n
	var symbol = "#*\"§$%&/=?\\\@<>,\;\}\{"
	for (var i = 0; i<s.length; i++)
		if (symbol.indexOf(s.charAt(i)) != -1){
			return s.charAt(i)
	
		}

		return false

}
function tooManyPoints(m) {
	var t = "" +m
	var z = 0
	var y = 0
	
	for (var i = 0; i<t.length; i++) {
		if(t.charAt(i) == ".") {
			z++
			if (z >1) {
				return true
			}
			else if (t.length == 1) {
				return true
			}
	
		}
		if(t.charAt(i) == "-") {
			y++
			if (y >1) {
				return true
			}
			else if (t.length == 1) {
				return true
			}
	
		}

	}
	return false	
}





function checkdatum(dat, minjahr, maxjahr, def, fldnam, bezeichnung ) {
MIN_DAY   =    1;
MAX_DAY   =   31;
MIN_MON   =    1;
MAX_MON   =   12;
MIN_YEA   = 1900;
MAX_YEA   = 2099;
DATE_SEP = '.';
ERROR_TEXT = " In diesem Feld " + bezeichnung + " sind nur Datumseingaben erlaubt! \n\n Das entspricht dem Format tt.mm.jjjj\n wobei gilt: tt=Tag, mm=Monat, jjjj=Jahr" +
		"\n\n Vereinfachte Eingaben:\n \".\" = heutiges Datum\n \"..\" = 30. des aktuellen Monats, aktuelles Jahr\n \"..jj\" = 30. des aktuellen Monats, eingegebenes Jahr"

valdat = new Date();
tag = valdat.getDate();
mon = valdat.getMonth() + 1;
jhr = valdat.getYear();
if (jhr < 1000) {
	jhr += 1900
}
valtag = tag.toString();
valmon = mon.toString();
valjhr = jhr.toString();

if ( bezeichnung == null ) {
	 bezeichnung = "";
}
////////////////   VALIDIERUNG  TAG   //////////////////



//den Tag überprüfen
point1 = dat.indexOf(DATE_SEP);
if (point1 == -1) {
alert(ERROR_TEXT)
document.formular1.elements[fldnam].focus()
return -1
}
//wurde nur ein Punkt eingegeben, wird das aktuelle Datum angenommen
if (dat == ".") {
	TmpStr = valtag
}
//wenn kein Tag angegeben wurde, wird der 30. angenommen
else {
	TmpStr = dat.substring(0, point1)
	if (TmpStr == ''){
		TmpStr = "30"
	}
}
//überprüfen, ob es sich um eine Zahl handelt
valtag = parseInt(TmpStr);
if (isNaN(TmpStr)){
alert(ERROR_TEXT)
document.formular1.elements[fldnam].focus()
return -1
}

//überprüfen, ob die Tageszahl im gültigen Bereich ist
valtag = TmpStr
if (TmpStr < MIN_DAY || TmpStr > MAX_DAY){
alert(ERROR_TEXT)
document.formular1.elements[fldnam].focus()
return -1
}

//wenn Tageszahl einstellig, eine Null voranstellen
if (point1 < 2 && TmpStr != "30" && TmpStr != valtag) {
TmpStr = "0" + TmpStr
}
if (point1 < 2 && valtag < 10 && TmpStr == valtag) {
TmpStr = "0" + TmpStr
}
valtag = TmpStr


////////////////   VALIDIERUNG  MONAT   //////////////////
TmpStr = '';
//Den zweiten Datumspunkt suchen
var point2 = dat.indexOf(DATE_SEP, (point1 + 1)) 

//wenn es keinen gibt, die 2 Stellen nach dem ersten Punkt
if (point2 == -1){
	point2 = point1 + 3
}
//Monat einlesen
TmpStr = dat.substring((point1 + 1), (point2))

//wenn kein Monat angegeben wurde, wird der aktuelle angenommen
if (TmpStr == ''){
TmpStr = valmon
}

//überprüfen, ob es sich um eine Zahl handelt
valmon = parseInt(TmpStr);
if (isNaN(valmon)){
alert(ERROR_TEXT)
document.formular1.elements[fldnam].focus()
return -1
}

//überprüfen, ob die Monatszahl im gültigen Bereich ist
if (TmpStr < MIN_MON || TmpStr > MAX_MON){
alert(ERROR_TEXT)
document.formular1.elements[fldnam].focus()
return -1
}
//wenn Monatszahl einstellig, eine Null voranstellen
if (TmpStr < 10 && TmpStr.charAt(0) != "0") {
TmpStr = "0" + TmpStr
}

valmon = TmpStr


////////////////   VALIDIERUNG  JAHR   //////////////////
TmpStr = '';
TmpStr = dat.substring((point2 + 1), dat.length)

//bei einer Leereingabe wird das aktuelle Jahr angenommen
if (TmpStr == ''){
TmpStr = valjhr
}

//Nach führenden Nullen suchen und diese löschen
while (TmpStr.charAt(0) == "0" && TmpStr.charAt(1) != "") {
	TmpStr = TmpStr.substring(1, TmpStr.length)
}

//überprüfen, ob es sich um eine Zahl handelt
valjhr = parseInt(TmpStr);
if (isNaN(valjhr)){
alert("ungültige Jahreszahl, bitte geben Sie eine Jahreszahl zwischen " + minjahr + " und " + maxjahr + " ein " + bezeichnung)
document.formular1.elements[fldnam].focus()
return -1
}


/*jetzt kann es noch sein, dass beim Jahr das Jahrhundert nicht angegeben
    ist; nur wenn eine Zahl kleiner als 100 eingegeben wird, kann ein gülti-
    ges Datum vorliegen
*/
if (valjhr < 100) {
   if (valjhr > 50) {
      valjhr += MIN_YEA
   }
   else {
      valjhr = valjhr + MIN_YEA + 100;
   }
}


if (valjhr < minjahr || valjhr > maxjahr) {
alert("ungültige Jahreszahl, bitte geben Sie eine Jahreszahl zwischen " + minjahr + " und " + maxjahr + " ein " + bezeichnung)
document.formular1.elements[fldnam].focus()
   return -1;
}

if (valtag > 30) {
	if (valmon ==2 || valmon==4 || valmon==6 || valmon==9 || valmon==11) {
		alert(ERROR_TEXT)
		document.formular1.elements[fldnam].focus()
		return -1
	}
}


document.formular1.elements[fldnam].value= valtag + "." + valmon + "." +valjhr
}









	
function dateToString (dat) {
str = dat.split(".")
restr = str[2] + str[1] + str[0]
return restr

}
function stringToDate (str) {
s = "" + str
year = "" + s.charAt(0) + s.charAt(1) + s.charAt(2) + s.charAt(3)
month = "" + s.charAt(4) + s.charAt(5)
day = s.charAt(6) + s.charAt(7)
restr = day + "." + month + "." + year
return restr

}
function checkit(v, g1, g2, def, fldnam, bezeichnung) {
	if (v == ""|| v < g1 || v > g2 || isNotANumber(v) || tooManyPoints(v)) {
		n = prompt("Bitte geben Sie " + bezeichnung + " ein \n(" + g1 + " bis " + g2 + ")\n", def)
		if (n != null) {
		document.formular1.elements[fldnam].value= n
		document.formular1.elements[fldnam].focus()
		return false
		}
		else {
		document.formular1.elements[fldnam].value = document.formular1.elements[fldnam].value
		document.formular1.elements[fldnam].focus()
		return false	
		}		
	}
}

function checkitGZ(v, g1, g2, def, fldnam, bezeichnung) {
	if (v == ""|| v < g1 || v > g2 || isNotANumberGanzzahl(v) || tooManyPoints(v)) {
		n = prompt("Bitte geben Sie " + bezeichnung + " ein \n(" + g1 + " bis " + g2 + ")\n", def)
		if (n != null) {
		document.formular1.elements[fldnam].value= n
		document.formular1.elements[fldnam].focus()
		return false
		}
		else {
		document.formular1.elements[fldnam].value = document.formular1.elements[fldnam].value
		document.formular1.elements[fldnam].focus()
		return false	
		}		
	}
}
function checktext(text, fldnam) {
	if (forbiddenSybols(text)) {
		z = forbiddenSybols(text)
		alert("Bitte keine Sonderzeichen eingeben \nDas Zeichen " + z + " ist leider nicht erlaubt")
		document.formular1.elements[fldnam].focus()
		return false
	}
}

function deaktiviere(theform){
if (document.all||document.getElementById){
	for (i=0;i<theform.length;i++){
		var tempobj=theform.elements[i]
		if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="button")
			tempobj.disabled=true
		}
	}
}

function vzrytselected() {
	for (i = 0; i < document.formular1.vzryt1.length; i++) {

		if (document.formular1.vzryt1[i].selected) {
			e = i;
			return e;

		}
	}
}
function vzryt2selected() {
	for (i = 0; i < document.formular1.vzryt2.length; i++) {

		if (document.formular1.vzryt2[i].selected) {
			e = i;
			return e;

		}
	}
}

function vzryt3selected() {
	for (i = 0; i < document.formular1.vzryt3.length; i++) {

		if (document.formular1.vzryt3[i].selected) {
			e = i;
			return e;

		}
	}
}
function vzryt4selected() {
	for (i = 0; i < document.formular1.vzryt4.length; i++) {

		if (document.formular1.vzryt4[i].selected) {
			e = i;
			return e;

		}
	}
}
function vzryt5selected() {
	for (i = 0; i < document.formular1.vzryt5.length; i++) {

		if (document.formular1.vzryt5[i].selected) {
			e = i;
			return e;

		}
	}
}

function instidvalueselected() {
	for (i = 0; i < document.formular1.instid.length; i++) {
		if (document.formular1.instid[i].selected) {
			if( i == 0) {
				f = "0";
				return f;
			}		
			if( i == 1) {
				f = "6912";
				return f;
			}
			if( i == 2) {
				f = "7680";
				return f;
			}
			if( i == 3) {
				f = "6656";
				return f;
			}
			if( i == 4) {
				f = "8192";
				return f;
			}
			if( i == 5) {
				f = "5888";
				return f;
			}
			if( i == 6) {
				f = "6400";
				return f;
			}
			if( i == 7) {
				f = "6144";
				return f;
			}
			if( i == 8) {
				f = "8192";
				return f;
			}			
			if( i == 9) {
				f = "6656";
				return f;
			}
			if( i == 10) {
				f = "7936";
				return f;
			}
			if( i == 11) {
				f = "7424";
				return f;
			}
			if( i == 12) {
				f = "8448";
				return f;
			}			
			if( i == 13) {
				f = "8192";
				return f;
			}
			if( i == 14) {
				f = "8192";
				return f;
			}
			if( i == 15) {
				f = "7168";
				return f;
			}
			if( i == 16) {
				f = "8192";
				return f;
			}
		}
	}
}
function checkvlrate(v) {
var familienstand = "Ledigen"
var v1 = 78
if (document.formular1.fam.options[1].selected){
	v1 = 156
	familienstand = "Verheirateten"
}
	if (v == ""|| v < 0 || v > v1 || isNotANumber(v) || tooManyPoints(v)) {
		n = prompt("Bitte geben Sie die vermögenswirksamen Leistungen korrekt an \n(0.- DM bis " + v1 + ".- DM) bei " + familienstand + "\n", v1)
		if (n != null) {			
		document.formular1.$vlrate$.value = n
		document.formular1.$vlrate$.focus()
		return false
		}
		else {
		document.formular1.$vlrate$.value = document.formular1.$vlrate$.value
		document.formular1.$vlrate$.focus()
		return false	
		}				
	}
}



function erklaerung(datei, parameter, hoehe){
if (hoehe==null) {
	hoehe="110";
}


win=window.open(datei + ".htm#a" + parameter + "","x","screenX=30,left=30,screenY=115,top=115,dependent=1,width=430,height=" + hoehe + ",resizable=yes,scrollbars=yes,status=no,");

win.focus();
}

function vergleicheZNA(wert1, wert2, fldnam) {
	if (wert1 < wert2 || wert1 == wert2){
		alert("Der alternative Zinssatz muss geringer sein als der angebotene. \nGeben Sie einen Zinssatz von weniger als " + wert1 + "% ein")
		document.formular1.elements[fldnam].focus()
	}
}
function vergleicheZAN(wert1, wert2, fldnam) {

	if (wert1 < wert2 || wert1 == wert2){
		alert("Der angebotene Zinssatz darf nicht geringer sein als der alternative. \nGeben Sie einen Zinssatz von mehr als " + wert2 + "% ein")
		document.formular1.elements[fldnam].focus()
	}
}


function vergleicheZBNA(wert1, wert2, fldnam) {
	if (wert1 < wert2 || wert1 == wert2){
		alert("Die alternative Laufzeit darf nicht länger sein als die angebote. \nGeben Sie eine Laufzeit von weniger als " + wert1 + " Jahren ein")
		document.formular1.elements[fldnam].focus()
	}
}

function vergleicheZBAN(wert1, wert2, fldnam) {
	if (wert1 > wert2 || wert1 == wert2){
		alert("Die angebote Laufzeit darf nicht kürzer sein als die alternative . \nGeben Sie eine Laufzeit von mehr als " + wert2 + " Jahren ein")
		document.formular1.elements[fldnam].focus()
	}
}

/*


function checkdate(date, untergrenze, obergrenze) {
	if (date == ""){
		 return true
	}		
	for (var i = 0; i < date.length; i++) {
			if (((date.charAt(0)) + (date.charAt(1))) < 1 ||((date.charAt(0)) + (date.charAt(1))) > 31 || (isNotANumber(date.charAt(0))) || (isNotANumber(date.charAt(1)))) {
			 return true
			 }
			if ((date.charAt(2)) != ".") {
			 return true
			 }
			if (((date.charAt(3)) + (date.charAt(4))) < 1 ||((date.charAt(3)) + (date.charAt(4))) > 12 || (isNotANumber(date.charAt(3))) || (isNotANumber(date.charAt(4)))) {
			 return true
			 }	
			if ((date.charAt(5)) != ".") {
			 return true
			 }
			 var year = date.charAt(6) + date.charAt(7) + date.charAt(8) + date.charAt(9)
			if (year < untergrenze || year > obergrenze ||isNotANumber(year)) {
			 return true
			 }	
			 if (date.length != 10){
			 return true
			 }
		 		
			var t = "" +date
			var z = 0
			for (var i = 0; i<t.length; i++) {
				if(t.charAt(i) == ".") {
					z++
					if (z >2) {
					return true
					}
				}
			}
	}
	return false
}			
function checkdatum(d, untergrenze, obergrenze, def, fldnam, bezeichnung) {
	if (checkdate(d, untergrenze, obergrenze)) {
		n = prompt("Bitte geben Sie ein korrektes Datum ein " + bezeichnung + "\n(TT.MM.JJJJ, 01.01." + untergrenze + " bis 31.12." + obergrenze + ")\n", "31.12." + def)
		if (n != null) {				
		document.formular1.elements[fldnam].value = n
		document.formular1.elements[fldnam].focus()
		return false
		}
		else {
		document.formular1.elements[fldnam].value = document.formular1.elements[fldnam].value
		document.formular1.elements[fldnam].focus()
		return false	
		}				
	}
	return true
}
*/
