function intZahltest(zahl)
{
	
	var erg = zahl.search(/[^0-9]/);  	// alles ausser Ziffern und Punkt bildet keine Zahl
	if(erg != -1)
		return false;
	return true;
}

function isFilled(elm, avar)
{
	tmpvar = elm.value;
	tmpmat = "" + tmpvar.match(/\S/);
	if(elm.value == "" || elm.value == null || tmpmat == "null")
	{
		alert(avar);
		elm.focus();
		elm.select();
    		return false;
      	} 

	return true;
}

function isKorrekteNummer(elm, avar)
{
	tmpvar = elm.value;
	tmpmat = "" + tmpvar.match(/\D/);	// alles außer Zahlen wird gesucht, wenn gefunden => Fehler
	if(elm.value != "" && tmpmat != "null")
	{
		alert(avar);
		elm.focus();
		elm.select();
    		return false;
      	} 

	return true;
}

function isSel(elem,avar)
{
	var sel = elem.selectedIndex;

	if(elem.options[sel].value == "")
	{
		alert(avar);
		elem.focus();
		elem.selectedIndex = sel;
            	return false;
	}

	return true;
}

function isEmail(elm, avar)
{
	if (isFilled(elm, "") == true)
	{
        	if (elm.value.indexOf("@") != "-1" && elm.value.indexOf(".") != "-1" && elm.value != "")
		{
		      	 return true;
		}
       	 	else
		{
    	   		alert(avar);
    	   		elm.focus();
    	   		elm.select();
    	   		return false;
    	 	}
     	}

	return true;
}

function itMatch(tmp, patt, avar)
{
    	tmpvar = tmp.value;
    	tmpmat = "" + tmpvar.match(patt);
    	if (tmpvar == "" || tmpmat == "null" || tmpmat.length < tmpvar.length)
	{
    	        alert(avar);
    		tmp.focus();
    	   	tmp.select();
    		return false;
    	}
	
	return true;
}

function intZahltest(zahl)
{
	
	var erg = zahl.search(/[^0-9]/);  	// alles ausser Ziffern und Punkt bildet keine Zahl
	if(erg != -1)
		return false;
	return true;
}

function datumtest(d)
{
	var jetzt = new Date();
	var jahr = jetzt.getYear();
	if(jahr < 100) jahr += 1900;

	var datum = d.value.split(".");
	if(datum.length != 3)
	{
		alert("Datum bitte in der Form MM.JJJJ angeben.");
		d.focus();
		d.select();
		return false;
	}
	
	if(!intZahltest(datum[2]) || (datum[2] < 1900) || (datum[2] > 2100))
	{
		alert("Keine korrekte Jahresangabe. Bitte ändern Sie die Eingabe.");
		d.focus();
		d.select();
		return false;
	}
	var year = parseInt(datum[2]);
	if((year%4) == 0)
		var month = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	else
		var month = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	if((!intZahltest(datum[1])) || (datum[1] < 1) || (datum[1] > 12))
	{
		alert("Keine korrekte Monatsangabe. Bitte ändern Sie die Eingabe.");
		d.focus();
		d.select();
		return false;
	}
	
	var monat = parseInt(datum[1]);
		
	if((!intZahltest(datum[0])) || (datum[0] < 1) || (datum[0] > month[monat-1]))
	{
		alert("Keine korrekte Tagesangabe. Bitte ändern Sie die Eingabe.");
		d.focus();
		d.select();
		return false;
	}
	
	return true;
}

function sendeFormular1()
{
	if (isFilled(document.Form.NAME, "Bitte geben Sie Ihren Namen ein.") == true &&
    	    isFilled(document.Form.VORNAME, "Bitte geben Sie Ihren Vornamen ein.") == true &&
       	    itMatch (document.Form.GEBDATUM, /([0][1-9]|[1-3][0-9])\.([0][1-9]|[1][0-2])\.([1][9]|[2][0])[0-9][0-9]/, "Bitte geben Sie als Geburtsdatum ein korrektes Datum in der Form: 01.01.1980 ein.") == true &&
	    datumtest(document.Form.GEBDATUM) == true &&
    	    isFilled(document.Form.GEBORT, "Bitte geben Sie Ihren Geburtsort ein.") == true &&
    	    isFilled(document.Form.STRASSE, "Bitte geben Sie den Straßennamen ein.") == true &&
    	    itMatch (document.Form.PLZ, /\d{5}/, "Bitte geben Sie Ihre 5-stellige Postleitzahl ein.") == true &&
    	    isFilled(document.Form.ORT, "Bitte geben Sie Ihren Wohnort ein.") == true &&
	    isKorrekteNummer(document.Form.TELEFON_VOR, "Bitte als Telefonnummer nur Zahlen eingeben.") &&
	    isKorrekteNummer(document.Form.TELEFON_HAUPT, "Bitte als Telefonnummer nur Zahlen eingeben.") &&
	    isKorrekteNummer(document.Form.HANDY_VOR, "Bitte als Telefonnummer nur Zahlen eingeben.") &&
	    isKorrekteNummer(document.Form.HANDY_HAUPT, "Bitte als Telefonnummer nur Zahlen eingeben.")&&
	    isSel(document.Form.SCHULEABSCHLUSS, "Bitte wählen Sie Ihren Schulabschluss aus.") == true)
	{
		document.Form.submit();
	}
	else
	{
		void(0);
	}
}

function sendeFormular2()
{
	var tmpvar = document.Form.WUNSCHTAET.value;
	var tmpmat = "" + tmpvar.match(/\S/);	// test, ob nur Leerzeichen

	var no_error = 1;

	var sel = document.Form.BERUFE_OBERBEREICH.selectedIndex;
	if(document.Form.BERUFE_OBERBEREICH.options[sel].value == "")
	{
		alert("Bitte wählen Sie eine Beruf/Oberbereich aus.");
		document.Form.BERUFE_OBERBEREICH.focus();
		document.Form.BERUFE_OBERBEREICH.selectedIndex = sel;
		void(0);

		no_error = 0;
	}

	else if(document.Form.WUNSCHTAET.value == "" && document.Form.WUNSCHTAET.type == "text")
	{
		alert("Bitte geben Sie Ihre gewünschte Tätigkeit an.");
		document.Form.WUNSCHTAET.focus();
		document.Form.WUNSCHTAET.select();
		void(0);

		no_error = 0;
	}
	else if(document.Form.WUNSCHTAET.value != "" && tmpmat == "null")
	{
		alert("Bitte geben Sie Ihre gewünschte Tätigkeit an.");
		document.Form.WUNSCHTAET.focus();
		document.Form.WUNSCHTAET.select();
		void(0);

		no_error = 0;
	}

	else if(document.Form.ENTFERNUNG.value == "")
	{
		alert("Bitte geben Sie den Tagespendelbereich an.");
		document.Form.ENTFERNUNG.focus();
		document.Form.ENTFERNUNG.select();
		void(0);

		no_error = 0;
	}

	else if(intZahltest(document.Form.ENTFERNUNG.value) == false)
	{
		alert("Bitte geben Sie als Tagespendelbereich eine ganze Zahl an.");
		document.Form.ENTFERNUNG.focus();
		document.Form.ENTFERNUNG.select();
		void(0);

		no_error = 0;
	}

	else if(document.Form.MOEGLICHERBEGINN.value == "")
	{
		alert("Bitte geben Sie den möglichen Beginn Ihrer Tätigkeit an.");
		document.Form.MOEGLICHERBEGINN.focus();
		document.Form.MOEGLICHERBEGINN.select();
		void(0);

		no_error = 0;
	}

	else if((document.Form.MOEGLICHERBEGINN.value != "") && itMatch(document.Form.MOEGLICHERBEGINN, /([0][1-9]|[1-3][0-9])\.([0][1-9]|[1][0-2])\.([1][9]|[2][0])[0-9][0-9]/, "Bitte geben Sie ein korrektes Datum des möglichen Beginns Ihrer Tätigkeit in der Form: 01.01.1980 ein.") == false)
	{
		document.Form.MOEGLICHERBEGINN.focus();
		document.Form.MOEGLICHERBEGINN.select();
		void(0);

		no_error = 0;
	}
	else if((document.Form.MOEGLICHERBEGINN.value != "") && datumtest(document.Form.MOEGLICHERBEGINN) == false)
	{
		document.Form.MOEGLICHERBEGINN.focus();
		document.Form.MOEGLICHERBEGINN.select();
		void(0);

		no_error = 0;
	}

	if(no_error == 1)
	{	
		document.Form.submit();
	}
}

function sendeFormular3()
{
	var no_error = 1;
	if(checkAusbildung() == false)
	{
		void(0);
		no_error = 0;
	}

	else if(checkBerufspraxis() == false)
	{
		void(0);
		no_error = 0;
	}



	if(no_error == 1)
	{
		document.Form.submit();
	}
}

function addRowForFormular3(which)
{
	document.Form.which.value = which;
	document.Form.aktion.value = 'form3';
	document.Form.submit();
}


function sendeFormular4()
{
	document.Form.submit();
}

function addRowForFormular5(which)
{
	var no_error = 1;

	if(checkZeugnis() == false)
	{
		void(0);
		no_error = 0;
	}

	if(no_error == 1)
	{
		document.Form.which.value = which;
		document.Form.aktion.value = 'form5';
		document.Form.submit();
	}
}

function sendeFormular5()
{
	var no_error = 1;

	if(checkZeugnis() == false)
	{
		void(0);
		no_error = 0;
	}

	else if(!document.Form.agb.checked)
	{
		alert("Bitte geben Sie Ihr Einverständnis zur Speicherung Ihrer persönlichen Daten durch Anklicken des Kästchens, welches sich unten auf der Seite befindet.");

		void(0);
		no_error = 0;
	}

	

	if(no_error == 1)
	{	
		document.Form.submit();
	}
}

function checkZeugnis()
{
	var e = document.Form.elements;

	for(var i=0;i<e.length;i++)
	{
		var elem = e[i];
		if(elem.name == 'ZEUGNIS_TITEL')
		{
			if((elem.value != '') && (e[i+1].value == ''))
			{
				alert("Sie haben einen Titel für ein Zeugnis angegeben. Bitte wählen Sie auch eine Datei für das Zeugnis aus.");
				return false;
			}
		}
		else if(elem.name == 'ZEUGNIS_DATEI')
		{
			if((elem.value != '') && (e[i-1].value == ''))
			{
				alert("Sie haben eine Datei für ein Zeugnis ausgewählt. Bitte geben Sie auch einen Titel für das Zeugnis an.");
				e[i-1].focus();
				e[i-1].select();

				return false;
			}
		}
	}

	return true;
}


function checkAusbildung()
{
	var e = document.Form.elements;

	var reg_exp1 = /AUSBILDUNG_ZEIT/;
	var reg_exp2 = /AUSBILDUNG_WO_WAS/;

	for(var i=0;i<e.length;i++)
	{
		var elem = e[i];
		if(reg_exp1.test(elem.name))
		{
			if((elem.value != '') && (e[i+1].value == ''))
			{
				alert("Sie haben eine Zeitangabe gemacht. Bitte füllen Sie auch das Feld 'Wo und wann' in dieser Zeile aus.");
				e[i+1].focus();
				e[i+1].select();
				return false;
			}
		}
		else if(reg_exp2.test(elem.name))
		{
			if((elem.value != '') && (e[i-1].value == ''))
			{
				alert("Sie haben das Feld 'Wo und wann' ausgefüllt. Bitte füllen Sie auch das Feld 'Von-bis' in dieser Zeile aus.");
				e[i-1].focus();
				e[i-1].select();

				return false;
			}
		}
	}

	return true;
}



function checkBerufspraxis()
{
	var e = document.Form.elements;

	var reg_exp1 = /BERUF_PRAXIS_ZEIT/;
	var reg_exp2 = /BERUF_PRAXIS_TITEL/;
	var reg_exp3 = /BERUF_PRAXIS_FIRMA/;
	var reg_exp4 = /BERUF_PRAXIS_ORT/;
	var reg_exp5 = /BERUF_PRAXIS_TAETIGKEIT/;

	for(var i=0;i<e.length;i++)
	{
		var elem = e[i];
		if(reg_exp1.test(elem.name))
		{
			if((elem.value != '') && (e[i+1].value == '' || e[i+2].value == '' || e[i+3].value == '' || e[i+4].value == ''))
			{
				alert("Sie haben eine Zeitangabe gemacht. Bitte füllen Sie auch die zugehörigen Felder 'Jobtitel', 'Firma', 'Ort', 'Tätigkeit' aus.");
				elem.focus();
				elem.select();
				return false;
			}
		}
		else if(reg_exp2.test(elem.name))
		{
			if((elem.value != '') && (e[i+1].value == '' || e[i+2].value == '' || e[i+3].value == '' || e[i-1].value == ''))
			{
				alert("Sie haben einen Jobtitel angegeben. Bitte füllen Sie auch die zugehörigen Felder 'Von-bis', 'Firma', 'Ort', 'Tätigkeit' aus.");
				elem.focus();
				elem.select();
				return false;
			}
		}
		else if(reg_exp3.test(elem.name))
		{
			if((elem.value != '') && (e[i+1].value == '' || e[i+2].value == '' || e[i-1].value == '' || e[i-2].value == ''))
			{
				alert("Sie haben eine Firma angegeben. Bitte füllen Sie auch die zugehörigen Felder 'Von-bis', 'Jobtitel', 'Ort', 'Tätigkeit' aus.");
				elem.focus();
				elem.select();
				return false;
			}
		}
		else if(reg_exp4.test(elem.name))
		{
			if((elem.value != '') && (e[i+1].value == '' || e[i-1].value == '' || e[i-2].value == '' || e[i-3].value == ''))
			{
				alert("Sie haben einen Ort angegeben. Bitte füllen Sie auch die zugehörigen Felder 'Von-bis', 'Jobtitel', 'Firma', 'Tätigkeit' aus.");
				elem.focus();
				elem.select();
				return false;
			}
		}
		else if(reg_exp5.test(elem.name))
		{
			if((elem.value != '') && (e[i-1].value == '' || e[i-2].value == '' || e[i-3].value == '' || e[i-4].value == ''))
			{
				alert("Sie haben eine Tätigkeit angegeben. Bitte füllen Sie auch die zugehörigen Felder 'Von-bis', 'Jobtitel', 'Firma', 'Ort' aus.");
				elem.focus();
				elem.select();
				return false;
			}
		}
	}

	return true;
}
