function validateTwoFields(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                var formName = form.getAttributeNode("name");
                oTwoFields = eval('new ' + formName.value + '_twofields()');

                for (x in oTwoFields) {
                    var field = form[oTwoFields[x][0]];
                    var secondField = form[oTwoFields[x][2]("secondProperty")];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'select-one' ||
                        field.type == 'radio' ||
                        field.type == 'password') {

                        var value;
                        var secondValue;

                        // get field's value
                        if (field.type == "select-one") {
                            var s1i = field.selectedIndex;
                            value = field.options[s1i].value;
                            var s2i = secondField.selectedIndex;
                            secondValue = secondField.options[s2i].value;
                        } else {
                            value = field.value;
                            secondValue = secondField.value;
                        }

                        if (value != secondValue) {
                            if (i == 0) {
                                focusField = field;
                            }
                            fields[i++] = oTwoFields[x][1];
                            bValid = false;
                        }
                    }
                }

                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
            return bValid;
        }


