diff --git a/src/server/gf-client.html b/src/server/gf-client.html
new file mode 100644
index 000000000..6a4627981
--- /dev/null
+++ b/src/server/gf-client.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ Web-based GF Translator
+
+
+
+
+
+
diff --git a/src/server/gf-server-jsapi.js b/src/server/gf-server-jsapi.js
new file mode 100644
index 000000000..f9db41ef2
--- /dev/null
+++ b/src/server/gf-server-jsapi.js
@@ -0,0 +1,29 @@
+function translate (input,from,to,cat) {
+ httpGetText("gf.fcgi/translate?input="+escape(input)+"&from="+escape(from)+"&to="+escape(to)+"&cat="+escape(cat), function (output) { alert(output); });
+}
+
+function httpGetText(url, callback) {
+ var XMLHttpRequestObject = false;
+
+ if (window.XMLHttpRequest) {
+ XMLHttpRequestObject = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+
+ if (XMLHttpRequestObject) {
+ XMLHttpRequestObject.open("GET", url);
+
+ XMLHttpRequestObject.onreadystatechange = function () {
+ if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
+ callback(XMLHttpRequestObject.responseText);
+ delete XMLHttpRequestObject;
+ XMLHttpRequestObject = null;
+ }
+ }
+
+ XMLHttpRequestObject.send(null);
+
+ }
+
+}