
    function validateMaxByteLength(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();

        oMaxLength = eval('new ' + form.name + '_maxbytelength()');

        for (x in oMaxLength) {
            var field = form[oMaxLength[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'password' ||
                field.type == 'textarea') &&
                field.disabled == false) {

                var iMax = parseInt(oMaxLength[x][2]("maxbytelength"));

                len = 0;
                str = escape(field.value);
                for (j = 0; j < str.length; j++, len++) {
                    if (str.charAt(j) == "%") {
                        if (str.charAt(++j) == "u") {
                            j += 3;
                            len++;
                        }
                        j++;
                    }
                }
                
                if (len > iMax) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oMaxLength[x][1];
                    isValid = false;
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }
    
