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 checkForm(){
	if(document.forms.form.from.value == "" || document.forms.form.from.value == "Bitte tragen Sie Ihren Namen ein."){
		document.forms.form.from.value = "Bitte tragen Sie Ihren Namen ein.";
		document.forms.form.from.focus();
		return false;
	}
	if(document.forms.form.mail.value == "" || document.forms.form.mail.value == "Bitte tragen Sie Ihre E-Mail-Adresse ein."){
		document.forms.form.mail.value = "Bitte tragen Sie Ihre E-Mail-Adresse ein.";
		document.forms.form.mail.focus();
		return false;
	}
	if(!check_regex(document.forms.form.mail.value, "mail")){
		document.forms.form.mail.value = "E-Mail-Adresse ungültig.";
		document.forms.form.mail.focus();
		return false;
	}
	if(document.forms.form.message.value == "" || document.forms.form.message.value == "Bitte tragen Sie eine Nachricht ein."){
		document.forms.form.message.value = "Bitte tragen Sie eine Nachricht ein.";
		document.forms.form.message.focus();
		return false;
	}
	sndReq();
	return false;
}

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 sndReq(){
    http.open('get', '/scripts/mailform.php?from=' + document.forms.form.from.value + "&mail=" + document.forms.form.mail.value + "&fon=" + document.forms.form.fon.value + "&message=" + document.forms.form.message.value);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse(){
    if(http.readyState == 4){
        var response = http.responseText;
		endRequest(parseInt(response));
    }
}

function endRequest(success){
	document.getElementById("mailform").style.height = "0px";
	document.getElementById("mailform").style.overflow = "hidden";
	if(success) document.getElementById("result").firstChild.firstChild.nodeValue = "Ihre Nachricht wurde erfolgreich versendet.";
	else document.getElementById("result").firstChild.firstChild.nodeValue = "Ihre Nachricht konnte nicht versendet werden. Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.";
}