// JavaScript Document
    /** Überflüssige Leerzeichen entfernen */

    function trim(strIn)
    {

    return(strIn.replace(/(^\s+|\s+$)/g,''));

    }


    /** text-input und textarea prüfen */

    function text_check(objElem, arrCheck)
    {

    objElem.value=trim(objElem.value);

    if (arrCheck[0] || objElem.value.length > 0)
        {
        if (!objElem.value.match(arrCheck[1]))
            {
            alert((arrCheck.length == 3) ? arrCheck[2] : strMsg );
            objElem.select();
            objElem.focus();
            return false;
            }
        }
    return true;

    }


    /** boxes checken */

    function box_check(objElem, arrCheck)
    {

    intChecked = 0;
    arrBoxes=(typeof objElem.form.elements[objElem.name].length == 'number')
                ?objElem.form.elements[objElem.name]
                :new Array(objElem);

    for (e = 0; e < arrBoxes.length; ++e)
        {
        intChecked+=(arrBoxes[e].checked) ? 1 : 0
        }

    if (!eval('intChecked' + arrCheck[1]))
           {
           alert((arrCheck.length == 3) ? arrCheck[2] : strMsg);
           arrBoxes[0].focus();
           return false;
           }
    return true;

    }


    /** Listen checken */

    function list_check(objElem, arrCheck)
    {
    if(!eval('objElem.selectedIndex' + arrCheck[1]))
        {
        alert((arrCheck.length == 3) ? arrCheck[2] : strMsg );
        objElem.focus();
        return false;
        }
    return true;
    }


    /** befindet sich objElem in objForm? */

    function in_form(objElem,objForm)
    {

    return(typeof objElem.form=='object' && objElem.form==objForm);

    }

    /** zu prüfende Formularelemente ermitteln */



    function get_field_type(objElem)
    {

    switch (objElem.tagName.toLowerCase())
        {
        case "input":
            switch(objElem.type)
                {
                case "text":
                    strFieldType='text';
                    break;

                case "password":
                    strFieldType='text';
                    break;

                case "file":
                    strFieldType='text';
                    break;

                case "radio":
                    strFieldType='box';
                    break;

                case "checkbox":
                    strFieldType='box';
                    break;

                default:
                    strFieldType=false;
                    break;
                }
            break;

        case "select":
                strFieldType='list';
                break;

        case "textarea":
                strFieldType='text';
                break;

        default:
                strFieldType=false;
                break;
        }
    return strFieldType;

    }

    function check_form(objForm)
    {
	var aList = new Array();	
	// Erweiterung mehrere Formulare und Validationen	
	if (check_form.arguments.length >1) aList = check_form.arguments[1]; else aList = arrFields;
	
    if  (!document.getElementsByName)
        {

        return true;

        }

    for (var strName in aList)
        {

        for(j=0;j<document.getElementsByName(strName).length;++j)
            {

            objElem=document.getElementsByName(strName)[j];

            if(in_form(objElem,objForm))
                {

                if(!eval(get_field_type(objElem)+'_check(objElem, aList[strName])'))
                    {

                    return false;

                    }
                if(get_field_type(objElem)=='box')
                    {

                    continue;

                    }
                }
            }
        }

    return true;

    }