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 + '_TwoFieldsValidations()');

    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 si = field.selectedIndex;
                value = field.options[si].value;
                secondValue = secondField.options[si].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;
}


