// ProperCase.js

String.prototype.properCase = function String$properCase() {
    // Validate parameters
    if (arguments.length !== 0)
        throw Error.parameterCount();

    var str = "";
    var wrds = this.toLowerCase().split(" ");

    for (keyvar in wrds) {
        str += wrds[keyvar].substr(0, 1).toUpperCase() + wrds[keyvar].substr(1, wrds[keyvar].length) + " ";
    }

    return str.trim();
}

function ConvertToProper(ctlRef) {
    // Validate parameters
    var e = Function._validateParams(arguments, [{ name: "ctlRef", type: String, mayBeNull: false}]);
    if (e)
        throw e;
    else
        if (ctlRef.length == 0) throw Error.argument("ctlRef", "Parameter cannot contain an empty string");

    var ctl = $get(ctlRef);
    var stringVal = ctl.value;

    ctl.value = stringVal.properCase();

    return;
}