function validateForm(){
    var valid = true;
    var alertValue = "";
    var email_input = document.getElementById("email");
	if (email_input.value == null || email_input.value == "" || emailCheck(email_input.value) == false){
        alertValue += "Bitte geben Sie eine gÃ¼ltige Email-Adresse ein.\n";
        valid = false;
    }
    
    var password_input = document.getElementById("password");
    var password_input2 = document.getElementById("password_repeat");
    if (password_input.value == null || password_input.value == "") {
        alertValue += "Ihr Passwort muss mindestens 5 Zeichen lang sein.\n";
        valid = false;
    } else if (passwordCheck(password_input.value) == false) {
        alertValue += "Als Passwort sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9, - und _\n";
        valid = false;
    } else if (password_input.value != password_input2.value) {
        alertValue += "Ihre Angaben zu Ihrem Passwort stimmen nicht Ã¼berein.\n";
        valid = false;
    }
    if (document.getElementById("legal").checked == 0) {
        alertValue += "Bitte bestÃ¤tigen Sie die AGB und Datenschutzbestimmungen.\n";
        valid = false;
    }
    if (valid == false) {
        alert(alertValue);
    }
    return valid;
}

function passwordCheck(str) {
     var res = false;
     reg = new RegExp('^([a-zA-Z0-9\\_\\-]+)');
     res = (reg.test(str));
     return (res);
}

function emailCheck(str) {
     var a = false;
     var res = false;
     if(typeof(RegExp) == 'function') {
         var b = new RegExp('abc');
         if(b.test('abc') == true){a = true;}
     }
     if(a == true) {
         reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                           '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                           '(\\.)([a-zA-Z]{2,4})$');
         res = (reg.test(str));
     } else {
        res = (str.search('@') >= 1 &&
             str.lastIndexOf('.') > str.search('@') &&
             str.lastIndexOf('.') >= str.length-5);
     }
     return (res);
 }
