<!--
function validate_ref(form) {
    //if (Trim(document.propref.ref.value).length == 0)
    if (Trim(document.getElementById("propref").ref.value).length == 0) {
        alert("Please input the start of a, or a complete, Property Reference.");
        document.propref.ref.focus();
        return false;
    }
    return true;
}

function Trim(sString) {
    while (sString.substring(0, 1) == ' ') {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length - 1, sString.length) == ' ') {
        sString = sString.substring(0, sString.length - 1);
    }
    return sString;
}

function lettersToUpperCase(keyCode, key) {
    var newKey = key.toUpperCase();
    if (newKey != key) {
        return { replaceKey: true, newKeyCode: newKey.charCodeAt(), newKey: newKey };
    }
    else {
        return { cancelKey: false };
    }
}

function changeKey(textControl, evt) {
    var keyCode = evt.keyCode ? evt.keyCode :
            evt.charCode ? evt.charCode :
    evt.which ? evt.which : void 0;
    var key;
    if (keyCode) {
        key = String.fromCharCode(keyCode);
    }
    var keyCheck = lettersToUpperCase(keyCode, key);
    if (keyCode && window.event && !window.opera) {
        if (keyCheck.cancelKey) {
            return false;
        }
        else if (keyCheck.replaceKey) {
            window.event.keyCode = keyCheck.newKeyCode;
            if (window.event.preventDefault) {
                window.event.preventDefault();
            }
            return true;
        }
        else {
            return true;
        }
    }
    else if (typeof textControl.setSelectionRange != 'undefined') {
        if (keyCheck.cancelKey) {
            if (evt.preventDefault) {

                evt.preventDefault();
            }
            return false;
        }
        else if (keyCheck.replaceKey) {
            // cancel the key event and insert the newKey for the current
            // selection
            if (evt.preventDefault) {
                evt.preventDefault();
            }
            var oldSelectionStart = textControl.selectionStart;
            var oldSelectionEnd = textControl.selectionEnd;
            var selectedText = textControl.value.substring(oldSelectionStart,
                                                 oldSelectionEnd);
            var newText = typeof keyCheck.newKey != 'undefined'
                ? keyCheck.newKey
                : String.fromCharCode(keyCheck.newKeyCode);
            textControl.value =
    textControl.value.substring(0, oldSelectionStart) +
    newText +
    textControl.value.substring(oldSelectionEnd);
            textControl.setSelectionRange(oldSelectionStart + newText.length,
                                oldSelectionStart + newText.length);
            return false;
        }
        else {
            return true;
        }
    }
    else if (keyCheck.cancelKey) {
        if (evt.preventDefault) {
            evt.preventDefault();
        }
        return false;
    }
    else {
        return true;
    }
}
//-->
