function formCheck () {
    var handler = this;

    var defaultMessage = {
        integer : 'Nur Zahlenwerte'
    }

    this.required = [];



    function isInvalid (obj) {
        var name = obj.getAttribute('name');
        var value = obj.value;

        for (var i = 0, count = handler.required.length; i < count; i++) {
            var field = handler.required[i];
            if (field.name == name) {
                if (value.length == 0) {
                    return field.message;
                } else if (field.type) {
                    switch (field.type) {

                        case 'integer':
                            var reg = /^([0-9])*$/;
                            var message = defaultMessage.integer;
                            break;

                        case 'email':
                            var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                            var message = defaultMessage.email;
                            break;

                        default:
                            var reg = field.type;
                    }

                    if (!reg.test(value)) {

                        if (!message) {
                            return field.message;
                        }

                        return field.message + ' (' + message + ')';
                    }
                }

            }
        }
        return false;
    }

    function doCheck(form) {

        var output = [];

        if (typeof from == 'string')
            form = document.getElementById(form);

        var inputs = form.getElementsByTagName('input');

        for (var i = 0, count = inputs.length; i < count; i++) {
            var msg = isInvalid(inputs[i]);
            if (msg) {
                output.push(msg);
            }
        }

        if (output.length == 0) {
            return true;
           } else {
               alert(output.join('\n'));
               return false;
         }
    }

    this.check = function (form) {
        if (typeof from == 'string')
            form = document.getElementById(form);

        if (!form)
            return;

        form.onsubmit = function () {
            return doCheck(this);
        }
    }
}