// #############################################################################
// webtrends tracking

/**
 * Tracking der Betreuerweiche, ob ein Betreuer gesucht worden ist oder nicht.
 *
 * elementRadioBetreuerweiche enthaelt das Array der Radiobuttons fuer die
 * Betreuerweiche.
 *   elementRadioBetreuerweiche[0]: Betreuer vor Ort
 *   elementRadioBetreuerweiche[1]: Direkt zum Angebot (ohne Betreuersuche)
 *
 * @param element elementRadioBetreuerweiche Radiobuttons fuer Betreuerweiche
 * @param string formName Formularname fur URI-Generierung (keine Leer-/ Sonderzeichen) fuer DCS.dcsuri
 * @param string formTitle Titel des Formulars fuer WT.ti
 */
function webtrendsTrackBetreuerweiche(
    elementRadioBetreuerweiche, formName, formTitle) {

    if (typeof elementRadioBetreuerweiche == "undefined") { return; }

    if (elementRadioBetreuerweiche[0].checked) {
        // betreuer vor ort
        dcsMultiTrack('DCS.dcsuri',
            '/event_form/weiche/' + formName + '/betreuer.evt',
            'WT.ti', formTitle,
            'DCSext.axd_betreuungswunsch', 'Berater vor Ort');
    } else if (elementRadioBetreuerweiche[1].checked) {
         // direkt ein Angebot
        dcsMultiTrack('DCS.dcsuri',
            '/event_form/weiche/' + formName + '/direkt.evt',
            'WT.ti', formTitle,
            'DCSext.axd_betreuungswunsch', 'Direkt ein Angebot');
    }
}

// #############################################################################

function createXMLHttp() {
   if (typeof XMLHttpRequest != 'undefined') {
      return new XMLHttpRequest();
   } else if (window.ActiveXObject) {
      var avers = [
      				 "MSXML2.XmlHttp.8.0",
      				 "MSXML2.XmlHttp.7.0",
      				 "MSXML2.XmlHttp.6.0",
      				 "MSXML2.XmlHttp.5.0",
      				 "MSXML2.XmlHttp.4.0",
      				 "MSXML2.XmlHttp.3.0",
      				 "MSXML2.XmlHttp.2.0",
      				 "MSXML2.XmlHttp",
      				 "Microsoft.XMLHTTP"
      			 ];
      for (var i = 0; i < avers.length; i++) {
	 try {
	    httpObj = new ActiveXObject(avers[i]);
	    return httpObj;
	 } catch(e) {
	 }
      }
   }
   return false;
}

function callAjax (url, doAsynchronous, obj, type) {
	if (!type) {
	   type = "innerHTML";
	}
	try {
		var xmlHttp = createXMLHttp();
		if (xmlHttp) {
			xmlHttp.open('GET', url, doAsynchronous);
			xmlHttp.setRequestHeader("enctype", "text/html");
			if (doAsynchronous) {
				xmlHttp.setRequestHeader("Content-Type", "text/html");
				xmlHttp.setRequestHeader("Pragma", "no-cache");
				xmlHttp.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
				xmlHttp.onreadystatechange = function () {
					if (xmlHttp.readyState == 4) {
						if (type == 'innerHTML') {
						  obj.innerHTML = xmlHttp.responseText.replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+$/g, '');  // = "trim()", replaced it since the Praxisvermittlung had a problem to call "trim()"
						} else if (type == 'doNothing') {
						  // do nothing, just hope that this call did what it should have done
						}
					}
				};
			} else {
			    xmlHttp.setRequestHeader("Content-Type", "text/html");
			}
			xmlHttp.send(null);
		}
		if (!doAsynchronous) {
			var retStr = xmlHttp.responseText.replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+$/g, '');
			return retStr;
		}
	} catch(except) {
		alert ("Error in Ajax-Call!\nMessage: "+ except.message);
		return false;
	}
}

function doSyncAjaxCall (url) {
   return callAjax (url, false);
}

function doAsyncAjaxCall (url, obj, type) {
   var separator = "?";
   var ind = url.indexOf ("?");
   if (ind >= 0) {
      separator = "&";
   }
   url += separator + "ContentType=text/html";
   callAjax (url, true, obj, type);
}

function doLogging() {
	var url = "page5.do";
	var result = doSyncAjaxCall(url);

	if(result == false || result.indexOf("Logging...") == -1)
		alert("Fehler beim Logging!");
}

function doDownload(url) {
	window.open(url, "Download", "toolbar=true,location=0,directories=0,modal=1,status=1,menubar=0,scrollbars=1,resizable=1");
}

function doWebcoRequest(url, s1) {

    url += "?param=" + s1;

    var xmlHttp = false;
    try {
        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
            xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
            xmlHttp  = false;
        }
    }
    // Mozilla, Opera und Safari
    if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }

    if (xmlHttp) {
        xmlHttp.open('GET', url, true);
        xmlHttp.onreadystatechange = function () {
        // emtpy by now
        };
        xmlHttp.send(null);
    }
}



