

window.onresize=go_onresize;
window.onscroll=bookinOverlayPosition;

function go_onresize(){
	if(document.images["horizontaltest"]){
    	var fensterbreite=parseInt(document.images["horizontaltest"].width);
	    var fensterhoehe=parseInt(document.images["vertikaltest"].height);
	    //document.getElementById("gucker").innerHTML=fensterbreite+"-"+fensterhoehe;
	    //hauptfenster
	    with(document.getElementById("screenw")){
	        style.width=fensterbreite/100*80+"px";
	        style.left=(fensterbreite-(fensterbreite/100*80))/2+"px";
	        style.top="0px";
	        style.paddingTop=fensterhoehe/100*2+"px";}
	    //adr+menufenster
	    document.getElementById("adrw").style.width=fensterbreite/100*56+"px";
	    document.getElementById("adrw").style.marginLeft=fensterbreite/100*2+"px";
	    document.images["linew"].style.marginTop= fensterbreite/100*2+"px";
	    // logo
	    document.images["logow"].width= fensterbreite/100*21;
	    //contentfenster (div)
	    with(document.getElementById("cbox1w")){
	        style.marginLeft=fensterbreite/100*2+"px";
	        style.marginRight=fensterbreite/100*1+"px";
	        style.marginBottom=fensterbreite/100*1+"px";}}
            bookinOverlayPosition();}

function bookinOverlayPosition(){
	var offsetx = myDOM && !myMS ? window.pageXOffset : document.body.scrollLeft;
    var offsety = myDOM && !myMS ? window.pageYOffset : document.body.scrollTop;
    var fensterbreite=parseInt(document.images["horizontaltest"].width);
	var fensterhoehe=parseInt(document.images["vertikaltest"].height);
    // booking-overlay
    document.getElementById("websitesperre").style.height = fensterhoehe+offsety+"px";
    if(document.getElementById("overlay").style.display=="none")
        document.getElementById("overlay").style.top =  ((fensterhoehe/2)-(parseInt(document.getElementById("overlay").style.height)/2))+offsety+"px";
    //document.getElementById("overlay").style.left =  ((fensterbreite/2)-(parseInt(document.getElementById("overlay").style.width)/2))+offsetx+"px";
    return true;}

function KillOverlay(){
	document.getElementById("overlay").style.display="none";
    document.getElementById("websitesperre").style.display="none";}

function getBooking(titel,preis,tag,zeit,datumbeg,datumend){
    bookinOverlayPosition();
    document.getElementById("overlay").style.display="block";
    document.getElementById("websitesperre").style.display="block";
    new Ajax.Updater("overlaycontent","php/anmeldung_kurs.php?course="+encodeURIComponent(titel)+"&cost="+encodeURIComponent(preis)+"&day="+encodeURIComponent(tag)+"&time="+encodeURIComponent(zeit)+"&dateb="+encodeURIComponent(datumbeg)+"&datee="+encodeURIComponent(datumend), { method: "get" });}

function checkBookingForm(form){
    $("gender_err").style.visibility = radioWert(form.gender)==false ? "visible" : "hidden";
    $("compname_err").style.visibility = re_names.test(form.compname.value) ? "hidden" : "visible";
    $("prename_err").style.visibility = re_names.test(form.prename.value) ? "hidden" : "visible";
    $("street_err").style.visibility = re_strasse.test(form.street.value) ? "hidden" : "visible";
    $("plz_err").style.visibility = re_strasse.test(form.plz.value) ? "hidden" : "visible";
    $("tel_err").style.visibility = re_numtel.test(form.tel.value) ? "hidden" : "visible";
    $("userEmail_err").style.visibility = re_email.test(form.userEmail.value) ? "hidden" : "visible";
    if($("gender_err").style.visibility=="hidden" && $("compname_err").style.visibility=="hidden" && $("prename_err").style.visibility=="hidden" && $("street_err").style.visibility=="hidden" && $("plz_err").style.visibility=="hidden" && $("tel_err").style.visibility=="hidden" && $("userEmail_err").style.visibility=="hidden"){
        form.compname.value = Utf8.encode(form.compname.value);
        form.prename.value = Utf8.encode(form.prename.value);
        form.street.value = Utf8.encode(form.street.value);
        form.plz.value = Utf8.encode(form.plz.value);
        form.userEmail.value = Utf8.encode(form.userEmail.value);
        form.job.value = Utf8.encode(form.job.value);
        form.notes.value = Utf8.encode(form.notes.value);
        form.action="php/sendMail.php";
        form.target="sendmailhelper";
        form.submit();
        KillOverlay();}}

function radioWert(rObj) {
    for (var i=0; i<rObj.length; i++) if (rObj[i].checked) return rObj[i].value;
    return false;}

var DHTML = 0, myDOM = 0, myMS = 0, myNS = 0, myOP = 0;
function DHTML_init(){if(window.opera){myOP=1;}if(document.getElementById){DHTML=1;myDOM=1;}if(document.all && !myOP){DHTML=1;myMS=1;}if(document.layers && !myOP) {DHTML=1;myNS=1;}}
DHTML_init();

/* reguläre ausdrücke zur datenfeldüberprüfung */
re_email = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4}|museum)$/;
re_names = /^([a-zA-ZÄäÖöÜüß&()\.\ \/-]+)$/;
re_strasse = /^([a-zA-ZÄäÖöÜüß0-9()\ \.\/-]+)$/;
re_bank = /^([a-zA-ZßÜüÖöÄä0-9()\ \.\,-]+)$/;
re_numtel = /^([0-9()+\ \/-]+)$/;
re_numhnr = /^([a-zA-Z0-9\/-]+)$/;
re_numplz = /^([0-9]{5})$/;
re_kto = /^([0-9\ ]+)$/;
re_login = /^([a-zA-Z0-9]+)$/;
re_url = /^(http\:\/\/)([A-Za-z0-9\.\-\_\/]{3,})(\.)([A-Za-z]{2,3})([A-Za-z0-9\.\-\_\/]{0,})\b/;


var Utf8 = {

	// public method for url encoding
	encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {
			var c = string.charCodeAt(n);
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
		}
		return utftext;
	},

	// public method for url decoding
	decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}
