// JavaScript Document
var url = window.location.href;
subdomain = url.substring(url.indexOf("://")+3, url.indexOf("."));
if(subdomain.toLowerCase() != "www"){
	var domain = url.substring(0, url.indexOf("://")+3) + "www." + url.substr(url.indexOf("://")+3);
}

var loaded = false;
var movieHeight;

function sizeHead(h){
	if(loaded){
		movieHeight = h;
		document.getElementById('headimage').style.backgroundColor = "#000000";
		var hfx = new fx.Height(document.getElementById('headimage'), {duration:1500,onComplete:onSizeHead});
		hfx.custom(208, h);
	}
}

function onSizeHead(){
	document.getElementById('headimage_player').style.height = movieHeight + "px";
}

function resizeHead(){
	if(loaded){
		document.getElementById('headimage_player').style.height = "208px";
		var hfx = new fx.Height(document.getElementById('headimage'), {duration:1500});
		hfx.custom(movieHeight, 208);
	}
}

var reserve_open = false;

function toggleReserve(){
	if(loaded){
		switch(reserve_open){
			case false:
				document.getElementById('reserve_button').className = "reserve_button_active";
				var hfx = new fx.Height(document.getElementById('reserve_inner'), {duration:1500,onComplete:onOpenReserve});
				hfx.custom(7, 122);
				break;
			case true:
				document.getElementById('reserve_content').style.display = "none";
				var hfx = new fx.Height(document.getElementById('reserve_inner'), {duration:1500,onComplete:onCloseReserve});
				hfx.custom(122, 7);
				break;
		}
		reserve_open = !reserve_open;
	}
}

function onOpenReserve(){
	document.getElementById('reserve_content').style.display = "block";
}

function onCloseReserve(){
	document.getElementById('reserve_button').className = "reserve_button";
}

function sitzplan(file){
	window.location.href = "/pages/about/sitzplan.php?file=" + file;
}

var b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
function decode(t){
	var r=''; var m=0; var a=0; var c;
	for(n=0; n<t.length; n++){
		c=b64s.indexOf(t.charAt(n));
		if(c >= 0){
			if(m) r+=String.fromCharCode((c << (8-m))&255 | a);
			a = c >> m;
			m+=2;
			if(m==8) m=0;
		}
	}
	return r;
}

function insertMailto(str, subj, css){
	document.write("<a href=\"mailto:" + decode(str) + "?subject=" + subj + "\" class=\"" + css + "\">" + decode(str) + "<\/a>");
}

function insertAddress(str){
	document.write(decode(str));
}

function check_regex(input, typ){
	if(!input) return false;
	switch(typ){
		case "date_dd":
			if(input < 1 || input > 31) return false;
		break;
		case "date_mm":
			if(input < 1 || input > 12) return false;
		break;
		case "date_yyyy":
			if(input < 1000 || input > 9999) return false;
		break;
		case "mail":
			val = /\w.+@\w.+\.\w.+/;
			if(!val.test(input)) return false;
		break;
		case "num":
			val = /\d/;
			if(!val.test(input)) return false;
		break;
		case "num_x":
			val = /\D/;
			if(!val.test(imput)) return false;
		break;
		default:
			return false;
		break;
	}
	return true;
}

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function checkMailform(){
	var items = new Array('referrer_name', 'phone', 'referrer', 'message');
	var success = true;
	for(var i=0; i<items.length; i++){
		var val = document.forms['mailform'].elements[items[i]].value;
		if(val == "" || val == "Bitte eintragen"){
			document.forms['mailform'].elements[items[i]].value = "Bitte eintragen";
			success = false;
		}else if(items[i] == "referrer" && !check_regex(val, 'mail')){
			document.forms['mailform'].elements[items[i]].value = "Ungültige eMail-Adresse";
			success = false;
		}
	}
	if(success) submitMailForm();
	return false;
}

function submitMailForm(){
	var arr = new Array();
	for(var i=0; i<document.forms['mailform'].length; i++){
		if(document.forms['mailform'][i].name && document.forms['mailform'][i].name != ""){
			if(document.forms['mailform'][i].name == "recipient") arr.push(document.forms['mailform'][i].name + "=" + decode(document.forms['mailform'][i].value));
			else arr.push(document.forms['mailform'][i].name + "=" + document.forms['mailform'][i].value);
		}
	}
	var data = arr.join("&");
    http.open('get', '/assets/contact/mailer.php?' + data);
    http.onreadystatechange = handleResponse;
    http.send(null);
	document.getElementById("submitButton").innerHTML = "Sende Nachricht &hellip;";
	document.getElementById("submitButton").disabled = true;
	document.getElementById("submitButton").className = "button_disabled";
}

function handleResponse(){
    if(http.readyState == 4){
        var success = parseInt(http.responseText,10);
		if(success == 1) document.getElementById("formresult").innerHTML = "<p><strong>Ihre Nachricht wurde erfolgreich versendet.</strong></p><p>Wir werden uns umgehend mit Ihnen in Verbindung setzen.</p>";
		else document.getElementById("formresult").innerHTML = "<p style=\"font-weight:bold;color:#bf0000;\"><strong>Ihre Nachricht konnte nicht versendet werden.</strong></p><p>Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.</p>";
		document.getElementById("submitButton").style.display = "none";
    }
}

function checkNewsletterform(){
	var items = new Array('mce-EMAIL', 'mce-FNAME', 'mce-LNAME');
	var success = true;
	for(var i=0; i<items.length; i++){
		var val = document.forms['newsletterform'].elements[items[i]].value;
		if(val == "" || val == "Bitte eintragen"){
			document.forms['newsletterform'].elements[items[i]].value = "Bitte eintragen";
			success = false;
		}else if(items[i] == "mce-EMAIL" && !check_regex(val, 'mail')){
			document.forms['newsletterform'].elements[items[i]].value = "Ungültige eMail-Adresse";
			success = false;
		}
	}
	return success;
}

function init(){
	loaded = true;
	if(!highlight) return;
	var anker = document.getElementsByTagName('a');
	for(i=0; i<anker.length; i++) anker[i].onfocus = function(){this.blur();}
}
