function IsSelected(wert)
{
	if(wert.value < 0)
	{
		alert("Auswahl erforderlich!\nSelection required!\n\nBitte wählen Sie ein gültiges Element der Liste! \nPlease choose a valid element from the list!");
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	return(true);
}

function IsText(wert,name){
	if(wert.value.length == 0){
		alert(name+" erforderlich!\n"+name+" required!\nGeben Sie einen Text ein und versuchen Sie es erneut!\nEnter a text and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		//	wert.style = "formcave";
		return(false);
	}
	if(wert.value.match(/[0-9]/))
	{
		alert("Text ungültig!\ntext invalid!\n\nGeben Sie einen Text ohne Ziffern ein und versuchen Sie es erneut!\nEnter a new text without figures and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	return(true);
}

function IsZahl(wert,name)
{
	if(wert.value.length == 0)
	{
		alert(name+" erforderlich!\n"+name+" required!\n\nGeben Sie eine Zahl ein und versuchen Sie es erneut!\nEnter a figure and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	if(wert.value.match(/[A-°;:-@]/)) 
	{
		alert("Dieser Ausdruck enthält einen Buchstaben oder ein Sonderzeichen!\nThis contains a letter or a special character!\n\nBitte geben Sie nur Zahlen ein!\nPlease enter only figures!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	return(true);
}

function IsInhalt(wert,name)
{
	if(wert.value.length == 0){
		alert(name+" erforderlich!\n"+name+" required!\n\nGeben Sie einen Text ein und versuchen Sie es erneut!\nPlease enter a text and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	return(true);
}
		
function IsSchaltjahr(wert){
	return(wert % 4 == 0);
}
		
function IsValidDate(t1,m1,j1,t2,m2,j2,bisJahr)
{
	var erg;
	aDat = new Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	erg = IsFutureDate(t1,m1,j1,bisJahr) && IsFutureDate(t2,m2,j2,bisJahr);
	if (erg==false) return false;
	dt1 = t1.value+" "+aDat[m1.value]+" "+j1.value;
	ms1 = Date.parse(dt1);
	dt2 = t2.value+" "+aDat[m2.value]+" "+j2.value;
	ms2 = Date.parse(dt2);
	if (ms2-ms1<0)
	{
		alert("Ihr Anreisedatum ist später als Ihr Abreisedatum!\nBitte geben Sie die gewünschte Urlaubsdauer erneut ein!");
		t1.value="";
		t2.value="";
		j1.value="";
		j2.value="";
		dt2.className="formcave";
		t2.className="formcave";
		j2.className="formcave";
		return false;
	}
	return true;
}

function IsFutureDate(t, m, j, bisJahr)
{
	var erg;
	aDat = new Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

	if (!IsDate(t, m, j, bisJahr)) return false;
	dt = new Date();
	ms1 = (Date.parse(dt));
	dt1 = t.value+" "+aDat[m.value]+" "+j.value;
	ms2 = Date.parse(dt1);
	if ((ms2-ms1)<0) 
	{	
		alert("Bitte geben Sie ein Datum in der Zukunft ein!");
		t.value = "";
		j.value = "";
		t.className="formcave";
		m.className="formcave";
		j.className="formcave";
		t.focus();
		return false;
	}
	else return true;
}

function IsDate(t, m, j, bisJahr){
	if(isNaN(j.value)){
		alert("Jahr ungültig!\nYear invalid!\n\nGeben Sie ein gültiges Jahr ein und versuchen Sie es erneut!\nenter a valid year and try again!");
		j.value = "";
		j.focus();
		j.className="formcave";
		return(false);
	}
	if((j.value < 1901) || (j.value) > bisJahr){
		alert("Jahr ungültig!\nYear invalid!\n\nGeben Sie ein Jahr zwischen 1901 und "+bisJahr+" ein und versuchen Sie es erneut!\nenter a year between 1901 and "+bisJahr+" and try again!");
		j.value = "";
		j.focus();
		j.className="formcave";
		return(false);
	}
	if(isNaN(m.value)){
		alert("Monat ungültig!\nMonth invalid!\n\nGeben Sie ein gültiges Monat ein und versuchen Sie es erneut!\nenter a valid month and try again!");
		m.value = "";
		m.focus();
		m.className="formcave";
		return(false);
	}
	if((m.value < 1) || (m.value > 12)){
		alert("Monat ungültig!\nMonth invalid!\n\nGeben Sie ein Monat zwischen 1 und 12 ein und versuchen Sie es erneut!\nenter a month between 1 and 12 and try again!");
		m.value = "";
		m.focus();
		m.className="formcave";
		return(false);
	}
	if(isNaN(t.value)){
		alert("Tag ungültig!\n\nGeben Sie einen gültigen Tag ein und versuchen Sie es erneut!");
		t.value = "";
		t.focus();
		t.className="formcave";
		return(false);
	}
	if((m.value == 1) || (m.value == 3) || (m.value == 5) || (m.value == 7) || (m.value == 8) || (m.value == 10) || (m.value == 12)){
		// Monate mit 31 Tagen
		if((t.value < 1) || (t.value > 31)){
			alert("Tag ungültig!\n\nGeben Sie einen Tag zwischen 1 und 31 ein und versuchen Sie es erneut!");
			t.value = "";
			t.focus();
			t.className="formcave";
			return(false);
		}
	}
	if((m.value == 4) || (m.value == 6) || (m.value == 9) || (m.value == 11)){
		// Monate mit 30 Tagen
		if((t.value < 1) || (t.value > 30)){
			alert("Tag ungültig!\n\nGeben Sie einen Tag zwischen 1 und 30 ein und versuchen Sie es erneut!");
			t.value = "";
			t.focus();
			t.className="formcave";
			return(false);
		}
	}
	if(m.value == 2){
		if(IsSchaltjahr(j.value)){
			// Februar mit 29 Tagen
			if((t.value < 1) || (t.value > 29)){
				alert("Tag ungültig!\n\nGeben Sie einen Tag zwischen 1 und 29 ein und versuchen Sie es erneut!");
				t.value = "";
				t.focus();
				t.className="formcave";
				return(false);
			}
		}
		else{
			// Februar mit 28 Tagen
			if((t.value < 1) || (t.value > 28)){
				alert("Tag ungültig!\n\nGeben Sie einen Tag zwischen 1 und 28 ein und versuchen Sie es erneut!");
				t.value = "";
				t.focus();
				t.className="formcave";
				return(false);
			}
		}
	}
	return true;
}
		
function IsEMail(wert){
	if(wert.value.length < 5){
		alert("E-Mail-Adresse ungültig!\nE-mail-Address invalid\n\nGeben Sie eine gültige E-Mail-Adresse ein und versuchen Sie es erneut!\nEnter a valid e-mail address and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	atAt = wert.value.indexOf("@");
	if((atAt < 1) || (atAt > wert.value.length - 4)){
		alert("E-Mail-Adresse ungültig!\nE-mail-Address invalid\n\nGeben Sie eine gültige E-Mail-Adresse ein und versuchen Sie es erneut!\nEnter a valid e-mail address and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	dotAt = wert.value.indexOf(".", atAt);
	if((dotAt < atAt + 2) || (dotAt > wert.value.length - 2)){
		alert("E-Mail-Adresse ungültig!\nE-mail-Address invalid\n\nGeben Sie eine gültige E-Mail-Adresse ein und versuchen Sie es erneut!\nenter a valid e-mail address and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	dotAt = wert.value.lastIndexOf(".", atAt);
	if(dotAt > wert.value.length - 2){
		alert("E-Mail-Adresse ungültig!\nE-mail-Address invalid\n\nGeben Sie eine gültige E-Mail-Adresse ein und versuchen Sie es erneut!\nenter a valid e-mail address and try again!");
		wert.value = "";
		wert.focus();
		wert.className="formcave";
		return(false);
	}
	return(true);
}
		
function IsTime(h, m){
	if(isNaN(h.value)){
		alert("Stunde ungültig!\n\nGeben Sie eine gültige Stunde ein und versuchen Sie es erneut!");
		h.value = "";
		h.focus();
		return(false);
	}
	if((h.value < 1) || (h.value > 23)){
		alert("Stunde ungültig!\n\nGeben Sie eine Stunde zwischen 1 und 23 ein und versuchen Sie es erneut!");
		h.value = "";
		h.focus();
		return(false);
	}
	if(isNaN(m.value)){
		alert("Minute ungültig!\n\nGeben Sie eine gültige Minute ein und versuchen Sie es erneut!");
		m.value = "";
		m.focus();
		return(false);
	}
	if((m.value < 1) || (m.value > 59)){
		alert("Minute ungültig!\n\nGeben Sie eine Minute zwischen 1 und 59 ein und versuchen Sie es erneut!");
		m.value = "";
		m.focus();
		return(false);
	}
	return(true);
}
		
function IsURL(wert){
	if(wert.value.substr(0, 7) != "http://"){
		alert("URL ungültig!\n\nGeben Sie eine URL mit Protokoll ein und versuchen Sie es erneut!");
		wert.value = "";
		wert.focus();
		return(false);
	}
	dotAt = wert.value.indexOf(".", 7);
	if((dotAt < 8) || (dotAt > wert.length - 2)){
		alert("URL ungültig!\n\nGeben Sie eine gültige URL ein und versuchen Sie es erneut!");
		wert.value = "";
		wert.focus();
		return(false);
	}
	dotAt = wert.value.lastIndexOf(".", 7);
	if(dotAt > wert.length - 2){
		alert("URL ungültig!\n\nGeben Sie eine gültige URL ein und versuchen Sie es erneut!");
		wert.value = "";
		wert.focus();
		return(false);
	}
	return(true);
}

function IsUser(pw1,pw2)
{
	if (pw1.value != pw2.value)
	{
		alert("Die Kennwort-Bestätigung stimmt nicht!\nIncorrect password confirmation!\n\nBitte geben Sie erneut Ihr Kennwort ein!\nPlease enter your password!");
		pw1.value="";
		pw2.value="";
		pw1.focus();
		return(false);
	}
	return(true);
}