    var gotMetadata = function (oData) {
        var payload = evalJSONRequest(oData);
        replaceChildNodes("ipa", TEXTAREA ( {'cols': '80', 'rows':'10', 'readonly':'TRUE', 'multiline':'TRUE'}, payload.what));
    };

    var metadataFetchFailed = function (err) {
        alert( "The metadata for MochiKit.Async could not be fetched");
    };

    function onPhonetize(dialect, tone, glottal, palatal) {      
        var xmlHttpReq = getXMLHttpRequest()
        xmlHttpReq.open( "POST", "cgi-bin/vphon-web.py", true);
        xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        var f = sendXMLHttpRequest( xmlHttpReq, "viet=" + getElement("viet").value + "&dialect=" + dialect + "&tone=" + tone + "&glottal=" + glottal + "&palatal=" + palatal);
        f.addCallbacks(gotMetadata, metadataFetchFailed);
    }

