|
|
- // variable to en-/disable debug
- // set to 1 to enable debug log
- if (DEBUG === undefined) {
- var DEBUG;
- }
-
-
-
- var gcf = {
-
-
- // decode special characters with their utf-8 representation
- decodeHtml : function (token) {
-
- var i,
- y,
- start = [33, 58, 91, 123, 161],
- stop = [47, 64, 96, 126, 255],
- startLength = start.length;
-
- for (y = 0; y < startLength; y++) {
- for (i = start[y]; i <= stop[y]; i++) {
- token = token.replace("&#" + i +";", String.fromCharCode(255));
- }
- }
-
- return token;
- },
-
-
- // get the path of the cgi-bin dir with correct http(s) protocol
- // for using with ajax calls (to with same origin policy)
- getCgiBinPath : function () {
-
- // parse actual url and parse for protocol type (http/https)
- // set the ajax server url dependent on the protocol
- // for strato ssl-proxy, we have to insert the 1st part of the url path
- var serverUrl = window.location.protocol + "//" + window.location.hostname;
-
- if (serverUrl.indexOf("https") === -1) {
- serverUrl += "/cgi-bin/";
- } else {
- serverUrl += "/" + window.location.pathname.split("/")[1] + "/cgi-bin/";
- }
-
- return serverUrl;
-
- },
-
-
- // xmlhttp object function
- getHTTPObject : function () {
-
- // debug log
- if (DEBUG === 1) {console.log("xml http object function");}
-
- // variable definitions
- var xhr;
-
- // check for availibility if xmlhttprequest object
- if(window.XMLHttpRequest) {
- xhr = new XMLHttpRequest();
- } else if(window.ActiveXObject) {
- xhr = new ActiveXObject("Msxml2.XMLHTTP");
- }
-
- return xhr;
-
- },
-
-
- // ajax call function
- ajaxCall : function (dataUrl, outputElement, callback, responseType) {
-
- // debug log
- if (DEBUG === 1) {console.log("ajax function");}
-
- // variable definitions
- var response,
- request = this.getHTTPObject(); // get the xmlhttp object which is supported
-
- outputElement.innerHTML = "Lade Daten ...";
-
- request.onreadystatechange = function() {
-
- if(request.readyState === 4 && request.status === 200) {
-
- //save ajax response
- if (responseType === "json") {
- response = JSON.parse(request.responseText);
- } else if (responseType === "xml") {
- response = request.responseXML;
- } else {
- response = request.responseText;
- }
-
- // check if callback is a function
- if(typeof callback === "function") {
- callback(response);
- } else {
- if (DEBUG === 1) {console.log(callback + " is no callback function");}
- }
- }
- };
-
- request.open("get", dataUrl, true);
- request.send(null);
-
- }
-
-
- };
|