function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0;
	this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
bw = new checkBrowser();

function check() {
	if (typeof validateform != "undefined") {
            return validateform();
	} else {
		return true;
	}
}

function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function isPhone(str) {
	var supported = 0;
	if (window.RegExp) {
    	var tempStr = "a";
    	var tempReg = new RegExp(tempStr);
    	if (tempReg.test(tempStr)) supported = 1;
  	}
  	if (! supported) 
    	return (true);
	var r1 = new RegExp("^[0-9\(\)\+-/\. ]+$");
	return r1.test(str);
}

function isTime(str) {
	var strTime = str;
	var aTime = strTime.split(":");
	if (aTime.length == 2) {
		if (aTime[0] > 24 || aTime[1] > 59) {
			return false;
		} else {
			return true;
		}			
	} else {
		return false;
	}
}

function isDate(str) {
	var strTime = str;
	var aDate = strTime.split(".");
	if (aDate.length == 3) {
		if (aDate[0] > 31 || aDate[1] > 12 || aDate[2].length > 4) {
			return false;
		} else {
			return true;
		}			
	} else {
		return false;
	}
}

function isNumber(str) {
	var supported = 0;
	if (window.RegExp) {
    	var tempStr = "a";
    	var tempReg = new RegExp(tempStr);
    	if (tempReg.test(tempStr)) supported = 1;
  	}
  	if (! supported) 
    	return (! isNaN(str));
	var r1 = new RegExp("^[0-9]+$");
	return r1.test(str);
}

function checkDate(year, month, day) {
	var curDate = new Date();
	var reqDate = new Date(year, month, day);
	if (reqDate < curDate) {
		return false;
	}
	return true;
}

function jobdetail(jobid) {
	var height= 431;
	var width= 655;
	var Oben= ((screen.height - height) /2) -20;
	var Links= (screen.width - width) /2;
	window.open('/scripts/formulare/de/jobdetail.asp?jobid='+jobid,'memberwindow','resize=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width='+width+',height='+height+',top='+Oben+',left='+Links)
}

function kursdetail(jobid) { 
	var height= 431;
	var width= 655;
	var Oben= ((screen.height - height) /2) -20;
	var Links= (screen.width - width) /2;
	window.open('/scripts/formulare/de/kursdetail.asp?id='+jobid,'memberwindow','resize=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width='+width+',height='+height+',top='+Oben+',left='+Links)
}

function calendarlink(url, name) {
	var height= 240;
	var width= 320;
	var Oben= ((screen.height - height) /2) -20;
	var Links= (screen.width - width) /2;
	window.open(url + '?feldname=' + name, "calendar"+name,'resize=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width='+width+',height='+height+',top='+Oben+',left='+Links)
}

function checkDatum() { // arrangementanfrage, zimmeranfrage
	if (document.form1.Anreise.value != "" && document.form1.Abreise.value != "") {
		if ( isDate(document.form1.Anreise.value) && isDate(document.form1.Abreise.value) ) {
			var strTmp = document.form1.Anreise.value;
			var aDate = strTmp.split(".");
			var DateAnreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var strTmp = document.form1.Abreise.value;
			var aDate = strTmp.split(".");
			var DateAbreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var curDate = new Date();
			if (DateAbreise <= DateAnreise) {
				alert("Das Datum der Abreise muß größer als das Datum der Anreise sein!");
				document.form1.Abreise.focus();
				return false;
			} 
			if (DateAnreise < curDate) {
				alert("Das Datum der Anreise liegt in der Vergangenheit!");
				document.form1.Anreise.focus();
				return false;
			}
			return check();
		} else {
			return check();
		}
	} else {
		return check();
	}
}

function checkTagung() { // tagungsanfrage
	if (document.form1.Tagung_vom.value != "" && document.form1.Tagung_bis.value != "") {
		if ( isDate(document.form1.Tagung_vom.value) && isDate(document.form1.Tagung_bis.value) ) {
			var strTmp = document.form1.Tagung_vom.value;
			var aDate = strTmp.split(".");
			var DateAnreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var strTmp = document.form1.Tagung_bis.value;
			var aDate = strTmp.split(".");
			var DateAbreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var curDate = new Date();
			if (DateAbreise <= DateAnreise) {
				alert("Das Ende muß größer als das Anfangsdatum sein!");
				document.form1.Tagung_bis.focus();
				return false;
			} 
			if (DateAnreise < curDate) {
				alert("Das Anfangsdatum liegt in der Vergangenheit!");
				document.form1.Tagung_vom.focus();
				return false;
			}
			if (document.form1.Stadt.value == "") {
				alert("Bitte das Feld \"Stadt\" ausfüllen!");
				document.form1.Stadt.focus();
				return false;
			}
			if (document.form1.Hotel.value == "") {
				alert("Bitte das Feld \"Hotel\" ausfüllen!");
				document.form1.Hotel.focus();
				return false;
			}
			return check();
		} else {
			return check();
		}
	} else {
		return check();
	}
}

function openNewsletterBestellen(){
	var w = 620;
	var h = 445;
	var Oben= ((screen.height - h) /2) -20;
	var Links= (screen.width - w) /2;
	window.open('/scripts/formulare/de/newsletter_bestellen.asp','memberwindow','resize=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width='+w+',height='+h+',top='+Oben+',left='+Links)
}
function openNewsletterAbbestellen(){
	var w = 620;
	var h = 445;
	var Oben= ((screen.height - h) /2) -20;
	var Links= (screen.width - w) /2;
	window.open('/scripts/formulare/de/newsletter_abbestellen.asp','memberwindow','resize=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width='+w+',height='+h+',top='+Oben+',left='+Links)
}

function submitBookingForm() { // Auf Home 
	var arr = document.getElementById("arr-year").value + "-" + document.getElementById("arr-month").value + "-" + document.getElementById("arr-day").value;
	var dep = document.getElementById("dep-year").value + "-" + document.getElementById("dep-month").value + "-" + document.getElementById("dep-day").value;
	var checkarr = document.getElementById("arr-day").value + "." + document.getElementById("arr-month").value + "." + document.getElementById("arr-year").value;
	var checkdep = document.getElementById("dep-day").value + "." + document.getElementById("dep-month").value + "." + document.getElementById("dep-year").value;
	var dest = document.getElementById("dest-id").value;
	if (checkBookingDatum(checkarr, checkdep) ) {
		document.bookingform.ARR.value = arr;
		document.bookingform.DEP.value = dep;
		document.bookingform.DEST.value = dest;
		document.bookingform.NOROOMS.value = document.getElementById("_NOROOMS").value;
		document.bookingform.NOPAX.value = document.getElementById("_NOPAX").value;
		document.bookingform.submit();
	}
}
function checkBookingDatum(arr, dep) { // arrangementanfrage, zimmeranfrage
	var SECOND = 1000;
	var MINUTE = 60 * SECOND;
	var HOUR = MINUTE * 60;
	var DAY = HOUR * 24;
	
	if ( isDate(arr) ) {
		if  (isDate(dep)) {
			var strTmp = arr;
			var aDate = strTmp.split(".");
			var DateAnreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var strTmp = dep;
			var aDate = strTmp.split(".");
			var DateAbreise = new Date(aDate[2], aDate[1]-1, aDate[0]);
			var d = new Date();
			var dexp = d.getTime();
			var curDate = new Date(dexp-(DAY));
			if (DateAbreise.getTime() <= DateAnreise.getTime()) {
				alert("Das Datum der Abreise muß größer als das Datum der Anreise sein!");
				return false;
			} else if (DateAnreise.getTime() < curDate.getTime()) {
				alert("Das Datum der Anreise liegt in der Vergangenheit!");
				return false;
			} else {
				return true;
			}
		} else {
			alert("Das Datum der Abreise ist nicht gültig!");
			return false;
		}
	} else {
		alert("Das Datum der Anreise ist nicht gültig!");
		return false;
	}

}

// wird bei direkt-buchen auf der startseite gebraucht
function initdate() {
	if (bw.ie6)
		var ie7div = 1;
	else
		var ie7div = 0;
		
	var SECOND = 1000;
	var MINUTE = 60 * SECOND;
	var HOUR = MINUTE * 60;
	var DAY = HOUR * 24;
	//alert (d.getDate());
	//alert (d.getTime());
	var d = new Date();
	var dExp1 = d.getTime();
	var dExp2 = dExp1 + DAY;
	var d2 = new Date(dExp2);
	for (var i = 1; i < 32; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == d.getDate() + ie7div)
			oOption.selected = true;
		try {
			document.getElementById("arr-day").add(oOption, null); //ns, firefox
		} catch(e) {
			document.getElementById("arr-day").add(oOption); // ie
		}
	}
	for (var i = 1; i < 32; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == d2.getDate() + ie7div)
			oOption.selected = true;
		try {
			document.getElementById("dep-day").add(oOption, null);
		} catch(e) {
			document.getElementById("dep-day").add(oOption);
		}
	}
	for (var i = 1; i < 13; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == (d.getMonth() + 1 + ie7div) )
			oOption.selected = true;
		try {
			document.getElementById("arr-month").add(oOption, null);
		} catch(e) {
			document.getElementById("arr-month").add(oOption);
		}
	}
	for (var i = 1; i < 13; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == (d2.getMonth() + 1 + ie7div) )
			oOption.selected = true;
		try {
			document.getElementById("dep-month").add(oOption, null);
		} catch(e) {
			document.getElementById("dep-month").add(oOption);
		}
	}
	for (var i = d.getFullYear(); i < d.getFullYear() + 2; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == (d.getFullYear()) )
			oOption.selected = true;
		try {
			document.getElementById("arr-year").add(oOption, null);
		} catch(e) {
			document.getElementById("arr-year").add(oOption);
		}
	}
	for (var i = d.getFullYear(); i < d.getFullYear() + 2; i++) {
		var oOption = document.createElement("OPTION");
		oOption.text = i ;
		oOption.value = i ;
		if ( i == (d2.getFullYear()) )
			oOption.selected = true;
		try {
			document.getElementById("dep-year").add(oOption, null);
		} catch(e) {
			document.getElementById("dep-year").add(oOption);
		}
	}
	//alert(document.getElementById("Tablebooking").innerHTML)
}