function AJAXInteraction(url, callback) {    var req = init();    req.onreadystatechange = processRequest;    function init() {      if (window.XMLHttpRequest) {        return new XMLHttpRequest();      } else if (window.ActiveXObject) {        return new ActiveXObject("Microsoft.XMLHTTP");      }    }    function processRequest () {      if (req.readyState == 4) {        if (req.status == 200) {          if (callback) callback(req.responseText);        }      }    }    this.doGet = function() {      req.open("GET", url, true);      req.send(null);    }    this.doPost = function(body) {      req.open("POST", url, true);      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");      req.send(body);    }}function getCacheStamp() { 	return (new Date()).getTime();}function initAJAXScripts() {	if (document.getElementById("pt1content")) setTimeout("loadPT1(1, 3)", 500); // load JSON data if portlet object exists on current page	if (document.getElementById("pt2content")) setTimeout("loadPT2(1, 3)", 700); // load JSON data if portlet object exists on current page		if (document.getElementById("pt3content")) setTimeout("loadPT3(1, 3)", 900); // load JSON data if portlet object exists on current page		}// -- Portlet 1 (news) var ptCRMpath = "/WGC/web.nsf";var PT1pos=0;var PT1loadcount=7; function loadPT1(pos) {	document.getElementById("pt1loader").style.display="";	if (pos<1) pos=1; 	var restrictto ="WGC-News-DE";	var ai = new AJAXInteraction( ptCRMpath + "/vwNewsAJAX?ReadViewEntries&outputformat=JSON&count=" + PT1loadcount + "&start=" + pos +"&restricttocategory="+restrictto+"&timestamp="+ getCacheStamp()  , handleHttpResponseLoadViewPT1 );	PT1pos=pos; // store current position	ai.doGet();}function PT1next(direction) { // wrapper for prev/next button	loadPT1(  (direction=="next"?PT1pos+PT1loadcount:PT1pos-PT1loadcount));						}function handleHttpResponseLoadViewPT1(responseText){	setTimeout("document.getElementById('pt1loader').style.display='none';", 1000);	var targetElem=document.getElementById("pt1content");	var tmpHTML='';	var ve = eval('(' + responseText + ')');	if (!ve.viewentry) {	//	targetElem.innerHTML="Nothing found";		return;	}	for (i=0; i<ve.viewentry.length; i++) { 		tmpHTML+='<li><a href="' + ptCRMpath + "/vwNewsAJAX/" +ve.viewentry[i].entrydata[2].text[0]+ '" title="' + ve.viewentry[i].entrydata[0].text[0]+ '"> '+ve.viewentry[i].entrydata[1].text[0]+'</a>';	}	targetElem.innerHTML= '<ul class="ptUL">'+tmpHTML+'</ul>'; 	var totalentries = ve["@toplevelentries"]; // ALL entries, not just the subset		document.getElementById("pt1nextBtn").style.display=PT1pos+PT1loadcount<=totalentries?"":"none"; 	document.getElementById("pt1prevBtn").style.display=PT1pos<2?"none":""; }// -- Portlet 2 (events)var PT2pos=0;var PT2loadcount=3; function loadPT2(pos) {	document.getElementById("pt2loader").style.display="";	if (pos<1) pos=1; 	var restrictto ="WGC-Events-DE";	var ai = new AJAXInteraction( ptCRMpath + "/vwNewsAJAX?ReadViewEntries&outputformat=JSON&count=" + PT2loadcount + "&start=" + pos +"&restricttocategory="+restrictto+"&timestamp="+ getCacheStamp()  , handleHttpResponseLoadViewPT2 );	PT2pos=pos; // store current position	ai.doGet();}function PT2next(direction) { // wrapper for prev/next button	loadPT2(  (direction=="next"?PT2pos+PT2loadcount:PT2pos-PT2loadcount));						}function handleHttpResponseLoadViewPT2(responseText){	setTimeout("document.getElementById('pt2loader').style.display='none';", 1000);	var targetElem=document.getElementById("pt2content");	var tmpHTML='';	var ve = eval('(' + responseText + ')');	if (!ve.viewentry) {		targetElem.innerHTML="Zurzeit keine Events";		return;	}	for (i=0; i<ve.viewentry.length; i++) { 		tmpHTML+='<li><a href="' + ptCRMpath + "/vwNewsAJAX/" +ve.viewentry[i].entrydata[2].text[0]+ '" title="' + ve.viewentry[i].entrydata[0].text[0]+ '"> '+ve.viewentry[i].entrydata[1].text[0]+'</a>';	}	targetElem.innerHTML= '<ul class="ptUL">'+tmpHTML+'</ul>'; 	var totalentries = ve["@toplevelentries"]; // ALL entries, not just the subset		document.getElementById("pt2nextBtn").style.display=PT2pos+PT2loadcount<=totalentries?"":"none"; 	document.getElementById("pt2prevBtn").style.display=PT2pos<2?"none":""; }// -- Portlet 3 (press; not in use -> combined with news portlet)var PT3pos=0;var PT3loadcount=3; function loadPT3(pos) {	document.getElementById("pt3loader").style.display="";	if (pos<1) pos=1; 	var restrictto ="WebGate-Blog";	var ai = new AJAXInteraction( "/WGC/wgcblog.nsf/vwNewsAJAX?ReadViewEntries&outputformat=JSON&count=" + PT3loadcount + "&start=" + pos +"&restricttocategory="+restrictto+"&timestamp="+ getCacheStamp()  , handleHttpResponseLoadViewPT3 );	PT3pos=pos; // store current position	ai.doGet();}function PT3next(direction) { // wrapper for prev/next button	loadPT3(  (direction=="next"?PT3pos+PT3loadcount:PT3pos-PT3loadcount));}function handleHttpResponseLoadViewPT3(responseText){	setTimeout("document.getElementById('pt3loader').style.display='none';", 1000);	var targetElem=document.getElementById("pt3content");	var tmpHTML='';	var ve = eval('(' + responseText + ')');	if (!ve.viewentry) {	//	targetElem.innerHTML="Nothing found";		return;	}	for (i=0; i<ve.viewentry.length; i++) { 		tmpHTML+='<li><a href="/WGC/wgcblog.nsf/dx/' +ve.viewentry[i].entrydata[2].text[0]+ '" title="' + ve.viewentry[i].entrydata[0].text[0]+ '"> '+ve.viewentry[i].entrydata[1].text[0]+'</a>';	}	targetElem.innerHTML= '<ul class="ptUL">'+tmpHTML+'</ul>'; 	var totalentries = ve["@toplevelentries"]; // ALL entries, not just the subset		document.getElementById("pt3nextBtn").style.display=PT3pos+PT3loadcount<=totalentries?"":"none"; 	document.getElementById("pt3prevBtn").style.display=PT3pos<2?"none":""; }// ----- search function --------------------------------------function startSearch(sScope) {  	var queryURL=""; 	var fld = document.getElementById("srchfield"); 	if (fld.value=="" | fld.value=="Suchen..") return false; 	queryURL=urlbase + "/ajax-search?OpenAgent&ftquery="+fld.value+"&scope=" + sScope + "&timestamp="+ getCacheStamp();	showSpinner();	document.getElementById("bodydiv").innerHTML= '<img src="/WGC/shared.nsf/loader2.gif" border=0> Lade Suchresultat .. '; 	var ai = new AJAXInteraction(  queryURL  , handleHttpResponseSearchResult );	ai.doGet();	return false;}var flxSrchViewEntriesPerPage=10;var flxSrchViewPos=1;var flxSrchViewResultsFound=0;var flxSrchVE; function handleHttpResponseSearchResult(responseText){	setTimeout( "stopSpinner()", 1000);	flxSrchVE = eval('(' + responseText + ')'); 	if (!flxSrchVE) return;	if (!flxSrchVE.viewentry) return;	flxSrchViewResultsFound = flxSrchVE["@toplevelentries"];	flxSrchViewPos=1; // reset	document.getElementById("leftNav").innerHTML=flxSrchVE["@toplevelentries"]=="0"?"<li>Suchresultat:<ul><li>Keine Eintr\u00E4ge gefunden</ul>":"<li>Suchresultat<ul><li>" + flxSrchVE["@toplevelentries"] + " Eintr\u00E4ge gefunden</ul>"; 	var tmpHTML="";	// display first set of results, limit to maxentries	var maxDsp = flxSrchVE.viewentry.length>flxSrchViewEntriesPerPage?flxSrchViewEntriesPerPage:flxSrchVE.viewentry.length; 	for (i=0; i<maxDsp; i++) { 		tmpHTML+= customViewRowRenderer( flxSrchVE.viewentry[i] ); //  eg. ve.viewentry[i].entrydata[0].text[0]; 	}	document.getElementById("pgTitle").innerHTML="Suchresultat";	document.getElementById("bodydiv").innerHTML= customViewHeader()+tmpHTML+customViewFooter() +  flatViewNav( flxSrchViewResultsFound, flxSrchViewEntriesPerPage, flxSrchViewPos, "flxSrchScroll" ); }// ------------ view rendering (flat)function customViewHeader() {	return '<table cellpadding=0 cellspacing=0 class="viewListTable">';}function customViewRowRenderer( vRow ) { 	var HTML='<tr><td><a href="' + (vRow.entrydata[4].text[0]=="link"?"":urlbase+"/0/") + vRow.entrydata[3].text[0] + '">' + vRow.entrydata[1].text[0] + '</a><br>' + vRow.entrydata[2].text[0]+ '</td>';	return HTML + '</tr>';  }function flatViewNav( totalentries, EntriesPerPage, cFlatViewPos, jsfunct ) {	// (c) flexion 2010 	var pages=totalentries<EntriesPerPage?1:Math.ceil(  totalentries / EntriesPerPage  ); 	var currentpage = Math.ceil(cFlatViewPos / EntriesPerPage);	if (pages < 2) return ""; 	var tmpHTML=''; 	if (cFlatViewPos>1) {		tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + (cFlatViewPos - EntriesPerPage)  + ')" class="flxVNv1" value="\u00AB Previous" title="Go to previous page" /> ';		} else {		tmpHTML+='<input type="button" class="flxVNv0" onclick="void(0)" value="\u00AB Previous" title="This is the first page" /> '; 			}	var cp=1;	var maxBtns = 10; 	if (pages-3 > maxBtns ) {			var startpos = currentpage<=(maxBtns-2)?1:currentpage-(maxBtns)+5; 			var endpos = startpos+maxBtns>pages?pages:startpos+maxBtns; 			if (endpos>=pages-2) endpos = pages;			if (startpos>3) { 				for (p=1;p<3;p++) {					cp=(p*EntriesPerPage)-EntriesPerPage+1; 					tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + cp + ')" class="flxVNv' + (p==currentpage?"A":"1")+ '" value="' + p + '" title="Go to page '+p+'" /> ';				}							tmpHTML+="&nbsp;...&nbsp; ";			}			for (p=startpos;p<=endpos;p++) {				cp=(p*EntriesPerPage)-EntriesPerPage+1; 				tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + cp + ')" class="flxVNv' + (p==currentpage?"A":"1")+ '" value="' + p + '" title="Go to page '+p+'"/> ';			}			if (endpos<pages) { 				tmpHTML+="&nbsp;...&nbsp; ";				for (p=pages-1;p<=pages;p++) {					cp=(p*EntriesPerPage)-EntriesPerPage+1;					tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + cp + ')" class="flxVNv' + (p==currentpage?"A":"1")+ '" value="' + p + '" title="Go to page '+p+'" /> ';				}						}	} else { 		for (p=1;p<=pages;p++) {			tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + cp + ')" class="flxVNv' + (p==currentpage?"A":"1")+ '" value="' + p + '" title="Go to page '+p+'" /> ';			cp+=EntriesPerPage;		}	}			if ( (cFlatViewPos+EntriesPerPage) <= totalentries) {		tmpHTML+='<input type="button" onclick="' + jsfunct + '(' + (cFlatViewPos + EntriesPerPage)  + ')" class="flxVNv1" value="Next \u00BB" title="Go to next page"/> ';		} else {		tmpHTML+='<input type="button" class="flxVNv0" onclick="void(0)" value="Next \u00BB" title="This is the last page"/>'; 	}				return tmpHTML;}function customViewFooter() {	return '</table>';}function flxSrchScroll(eStart) { // scroll search result pages	flxSrchViewPos = eStart; 	var tmpHTML="";	var maxDsp = (eStart-1+flxSrchViewEntriesPerPage)>flxSrchVE.viewentry.length?flxSrchVE.viewentry.length:(eStart-1+flxSrchViewEntriesPerPage); 	for (i=eStart-1; i<maxDsp; i++) { // retrieve custom HTML for each row entry		tmpHTML+= customViewRowRenderer( flxSrchVE.viewentry[i] ); //  eg. ve.viewentry[i].entrydata[0].text[0]; 	}	document.getElementById("bodydiv").innerHTML= customViewHeader()+tmpHTML+customViewFooter() +  flatViewNav( flxSrchViewResultsFound, flxSrchViewEntriesPerPage, flxSrchViewPos, "flxSrchScroll" ); }function showSpinner() {	document.getElementById("spinner").style.display="";}function stopSpinner() {	document.getElementById("spinner").style.display="none";}function dynLoad(sname) {   var e = document.createElement("script");   e.src = urlbase + "/"+ sname;   e.type="text/javascript";   document.getElementsByTagName("head")[0].appendChild(e);}function setRootNav() {	var div = document.getElementById( currentRNid ); 	if (div) div.className = "current_page_item";}/* feedbackformstuff  */var dynformdivname;function showForm(formid, divname) {	// load the anmelde form	showSpinner();	document.getElementById(divname).innerHTML="Lade Anmeldeformular..";	dynformdivname = divname; // keep this one for later..	var ai = new AJAXInteraction(  "/WGC/shared.nsf/AJAXForm?OpenAgent&formid=" + formid + "&timestamp="+ getCacheStamp()  , handleHttpResponseLoadForm );	ai.doGet();	}function handleHttpResponseLoadForm(responseText){	setTimeout( "stopSpinner()", 1000);	document.getElementById(dynformdivname).innerHTML = (responseText.indexOf("formresponse") > 1)?responseText:"<div class='ffdiv'>Anmeldefrist leider abgelaufen.</div>";	if (document.getElementById("fff0")) document.getElementById("fff0").focus();}function checkAndSubmitFF(formid, fldcount) {	var content ="formid=" + formid;	// input validation	for (i=0; i<fldcount;i++) {	  content+="&fff"+i+"="+ encodeURIComponent( document.getElementById("fff"+i).value); // build submit content string		if ( document.getElementById("fff"+i).value=="") {			alert("Sie haben noch nicht alle Angaben ausgef\u00FCllt");			document.getElementById("fff"+i).focus()						return;		}	}	var ai = new AJAXInteraction(  "/WGC/shared.nsf/AJAXForm?OpenAgent" , handleHttpResponseSubmitForm );	ai.doPost(content);	 	document.getElementById(dynformdivname).innerHTML = '<div class="ffdiv"><span style="padding: 15px;"><img border="0" src="/WGC/shared.nsf/loader2.gif"> Bitte warten.. </span></div>';}function handleHttpResponseSubmitForm(responseText){	setTimeout( "stopSpinner()", 1000);	document.getElementById(dynformdivname).innerHTML = (responseText.indexOf("success") > 1)?'<div class="ffdiv">'+responseText+"</div>":"<div class='ffdiv'><div class='ffTitle'>Oh nein! Ein Fehler ist aufgetreten!</div>Ihre Daten konnten nicht \u00FCbermittelt werden! <br>Bitte <a href='/WGC/web.nsf/content/kontakt'>kontaktieren</a> Sie uns direkt.</div>";}/* apple fanboys dont have flash :P */function checkForFlash() { if (document.getElementById("cant-play-flash")) { document.getElementById("flashelement").style.height="200px";  var ai = new AJAXInteraction( "/WGC/shared.nsf/noflashimages.json?OpenAgent&imageset=home-demo1&cache="+ getCacheStamp() , handleHttpResponseNoFlashLoader );  ai.doGet(); }}var noFlashImages;var noFlashImage=0;function handleHttpResponseNoFlashLoader(responseText){	noFlashImages = eval('(' + responseText + ')');	if (noFlashImages.images) switchImage();}function switchImage() {  var imgHTML="";  imgHTML='<img src="' + noFlashImages.images[noFlashImage].image + '" border=0>';  if (noFlashImages.images[noFlashImage].link!="") imgHTML = '<a href="' + noFlashImages.images[noFlashImage].link + '">' + imgHTML + '</a>';  document.getElementById("flashelement").innerHTML = imgHTML;  noFlashImage++;  if (noFlashImage >= noFlashImages.images.length ) noFlashImage=0;  setTimeout("switchImage()", 7000);}function mailtolink( strA, strB) {   document.write("<A HREF=\"mailto");   document.write(":" + strA + "@" );   document.write(strB + "\">" + strA + "@" + strB + "<\/a>");}
