function weCheckFormEvent(){}
weCheckFormEvent.addEvent = function(e, name, f) {
    if (e.addEventListener) {
        e.addEventListener(
            name,
            f,
            true);
    }
    if(e.attachEvent){
        e.attachEvent("on" + name, f);
    }
}

weCheckFormEvent.stopEvent = function(ev) {
	if (ev.stopPropagation) {
		ev.preventDefault();
		ev.stopPropagation();
	} else {
    	ev.cancelBubble = true;
	    ev.returnValue = false;
    }
}


function initWeCheckForm_by_name(name){
    forms = document.getElementsByTagName("form");
    for(i=0;i<forms.length;i++){
        if(forms[i].name == name){
            weCheckFormEvent.addEvent(forms[i],"submit", eval("weCheckForm_n_" + name) );
            break;
        }
    }
}

function initWeCheckForm_by_id(id){

    formular = document.getElementById(id);
    weCheckFormEvent.addEvent(formular,"submit", eval("weCheckForm_id_" + id) );
}

function weCheckFormMandatory(form, reqFields){ //  return name of not set mandatory fields
    //  check required fields
    var missingFields = new Array();

    for(i=0;i<reqFields.length;i++){
        ok = true;
        elem = form[reqFields[i]];
        if(!elem || !elem.value){        //  text, password, select
            ok = false;
            if(elem && elem.length){    //  perhaps it is a radio-button
                for(j=0;j<elem.length;j++){
                    if(elem[j].checked){
                        ok = true;
                    }
                }
            }
        }
        if(!ok){
            missingFields.push(reqFields[i]);
        }
    }
    return missingFields;
}

function weCheckFormEmail(form,emailFields){    //  return names of invalid email fields

    invalidEmails = new Array();

    if(emailFields.length > 0){
        pattern = "^[a-zA-Z0-9-äöü_\.]+@[a-zA-Z0-9äöü\.-]+.[a-zA-Z0-9]{1,4}$";

        for(i=0;i<emailFields.length;i++){

            elem = formular[emailFields[i]];
            if(elem && elem.value){
                if(!elem.value.match(pattern)){
                    invalidEmails.push(emailFields[i]);
                }
            }
        }
    }
    return invalidEmails;
}

function weCheckFormPassword(form, pwFields){   //  return true in case of error

    if(form[pwFields[0]] && form[pwFields[1]] && pwFields[2]){
        
        f1 = form[pwFields[0]].value;
        f2 = form[pwFields[1]].value;
        f3 = pwFields[2];
        
        if( (f1 == f2) && (f1.length >= f3 ) ){
            return false;
        } else {
            return true;
        } 
    } else {
        return true;
    }
}