 function email_check (emailStr)
 {
    var emailPat = /^(.+)@(.+)$/
    var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars = "\[^\\s" + specialChars + "\]"
    var quotedUser = "(\"[^\"]*\")"
    var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom = validChars + '+'
    var word = "(" + atom + "|" + quotedUser + ")"
    var userPat = new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$")

    var matchArray = emailStr.match(emailPat);
    if (matchArray == null) return false;

    var user = matchArray[1];
    var domain = matchArray[2];
    if (user.match(userPat) == null) return false;

    var IPArray=domain.match(ipDomainPat)
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                return false;
            }
        }
        return true;
    }
    var domainArray = domain.match(domainPat)
    if (domainArray == null) return false;

    var atomPat = new RegExp(atom,"g");
    var domArr = domain.match(atomPat);
    var len = domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) return false;
    if (len<2) return false;
    return true;
 }

 function checkFormular()
 {
    var noError = true;
    if (document.getElementById('name').value == "" && noError == true) {
        alert('Bitte geben Sie ihren Namen ein!');
        noError = false;
    }
    if (document.getElementById('email').value == "" && noError == true) {
        alert('Bitte geben Sie ihre E-Mail Adresse ein!');
        noError = false;
    }
    if (document.getElementById('nachricht').value == "" && noError == true) {
        alert('Bitte geben Sie eine Nachricht ein!');
        noError = false;
    }
    if (document.getElementById('email').value != "" && !email_check(document.getElementById('email').value) && noError == true) {
        alert('Die E-Mail Adresse ist ungültig!');
        noError = false;
    }
    if (noError == true) return true; else return false;
 }
