HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/JTent/tentje.com/wwwroot/2015_02_13/layout/tsg_mobile/content/js/navtree.js
// ACHTUNG! In dieser JS-Datei keine Umlaute verwenden!

var themenu = new Array();
var lbActiveXAllowed = true;
var gbNavLoaded = false;

// XML-File laden
function getXML(psFile) {
	if (window.ActiveXObject && document.getElementById) {
		// InternetExplorer
		if (lbActiveXAllowed) {
			// XML-Transformation mit ActiveX, wenn erlaubt
			var loNaviXML = new ActiveXObject('Microsoft.XMLDOM');
			loNaviXML.onreadystatechange = function () {
				if (loNaviXML.readyState>3 && loNaviXML.parseError.errorCode==0) {
					getNavigationNode(loNaviXML);
				}
			};
			loNaviXML.load(psFile);
		} else {
			// "on the fly" - Transformation des XML-Dokuments: XML direkt laden
			document.location.href = psFile;
		}
	} else if (window.XMLHttpRequest) {
		try {
			// Netscape / Firefox
			var loNaviXML = document.implementation.createDocument('', '', null);
			loNaviXML.onload = function() {
				getNavigationNode(loNaviXML);
			}
			loNaviXML.load(psFile);
		} catch (e) {
        var url = psFile;
        var request = new XMLHttpRequest(); 
        request.open("GET", url, false); 
        request.send(null); 
        getNavigationNode(request.responseXML); 
		}
	} else {
		// OPERA
		// Wenn Transformation oder XML-Einlesen nicht m?ch, dann transformierte HTML-Datei laden
		document.location.href = psFile.split('.xml').join('.htm');
	}
}

// Knoten "navigation" holen
function getNavigationNode(poNode) {
	for (var i=0; i<poNode.childNodes.length; i++) {
		if (poNode.childNodes[i].nodeName == 'navigation') {
			loStart = new Date().getTime();
			parseXML(poNode.childNodes[i], themenu, null, 0);
			break;
		}
	}
}

// Navigations-XML parsen
function parseXML(poNode, poMenuObj, poParent, piLevel) {
	if (poNode.hasChildNodes()) {
		for (var i=0; i<poNode.childNodes.length; i++) {
			if (poNode.childNodes[i].nodeName == 'item') {
				// Item-Attribute holen
				var lsText = '';
				var lsDescription = '';
				if (poNode.childNodes[i].hasChildNodes()) {
					for (var j=0; j<poNode.childNodes[i].childNodes.length; j++) {
						if (poNode.childNodes[i].childNodes[j].nodeName == 'text') {
							lsText = poNode.childNodes[i].childNodes[j].childNodes[0].nodeValue;
						} else if (poNode.childNodes[i].childNodes[j].nodeName == 'description') {
							lsDescription = poNode.childNodes[i].childNodes[j].childNodes[0].nodeValue;
						}
					}
				}
				var lsID			= poNode.childNodes[i].getAttribute('id');
				var lsSrc			= poNode.childNodes[i].getAttribute('src');
				var lsVersion		= poNode.childNodes[i].getAttribute('version');
				var lsActive		= poNode.childNodes[i].getAttribute('active');
				var lsVisible		= poNode.childNodes[i].getAttribute('visible');
				var lsPageType		= poNode.childNodes[i].getAttribute('pagetype');
				var lsNext			= poNode.childNodes[i].getAttribute('next');
				// dh, 3889, 29.08.06
				var lsProperties 	= poNode.childNodes[i].getAttribute('properties');
				// end dh, 3889, 29.08.06
				var liLevel			= piLevel;
				// Item anlegen
				if (poMenuObj.items == null) {
					poMenuObj.items = new Array();
				}
				// dh, 3889, 29.08.06
				poMenuObj.items[poMenuObj.items.length] = new MenuItem(lsID, lsText, lsDescription, lsSrc, lsVersion, lsActive, lsVisible, lsPageType, lsNext, lsProperties, liLevel, poParent);
				// end dh, 3889, 29.08.06
				// Auf Sub-Items pruefen
				if (poNode.childNodes[i].hasChildNodes()) {
					if (hasItems(poNode.childNodes[i])) {
						// Sub-Items Anlegen
						poMenuObj.items[poMenuObj.items.length-1].sub = new Array();
						parseXML(poNode.childNodes[i], poMenuObj.items[poMenuObj.items.length-1].sub, poMenuObj.items[poMenuObj.items.length-1], piLevel+1);
					}
				}
			}
		}
		if (piLevel == 0) {
			// Ende des Parsens
			gbNavLoaded = true;
			return;
		}
	}
}

function hasItems(poNode) {
	// Pruefen, ob der Knoten "items" enth?
	for (var i=0; i<poNode.childNodes.length; i++) {
		if (poNode.childNodes[i].nodeName == 'item') {
			return true;
		}
	}
	return false;
}

// =====================================================================================================================
// Nur fuer IE "on the fly"-Transformation =============================================================================
// =====================================================================================================================

var liLevel = 0;
var loMenuObj = themenu;
var loParent = null;
loMenuObj.parent = loParent;

// Item hinzufuegen
// dh, 3889, 29.08.06
function addItem(psID, psText, psDescription, psSrc, psVersion, psActive, psVisible, psPageType, psNext, psProperties) {
// end dh, 3889, 29.08.06
	if (loMenuObj.items == null) {
		loMenuObj.items = new Array();
	}
	// dh, 3889, 29.08.06
	loMenuObj.items[loMenuObj.items.length] = new MenuItem(psID, psText, psDescription, psSrc, psVersion, psActive, psVisible, psPageType, psNext, psProperties, liLevel, loMenuObj.parent);
	// end dh, 3889, 29.08.06
}

// Sub hinzufuegen
function addSub() {
	liLevel++;
	loMenuObj.items[loMenuObj.items.length-1].sub = new Array();
	loParent = loMenuObj;
	loMenuObj = loMenuObj.items[loMenuObj.items.length-1].sub;
	loMenuObj.parent = loParent;
}

// Eine Ebene nach oben
function gotoParent() {
	liLevel --;
	loMenuObj = loMenuObj.parent;
}

// =====================================================================================================================
// IE Transformation functions END =====================================================================================
// =====================================================================================================================

var liItemCnt = 0;
var gsContentPath = searchReplace(myPath(),'file://','');
	gsContentPath = searchReplace(gsContentPath,'\\','/');
var gaFlatNav = [];

// Item anlegen
// dh, 3889, 29.08.06
function MenuItem(psID, psText, psDescription, psSrc, psVersion, psActive, psVisible, psPageType, psNext, psProperties, piLevel, poParent) {
// end dh, 3889, 29.08.06
//	alert(psText+" "+piLevel+" "+poParent);
	if (psSrc == '') {
		this.url = '';
	} else {
		this.url = gsContentPath+psSrc;
	}
	this.url = this.url.replace(/\\/g,"/");
	if (psNext == '' || psNext == 'null') {
		this.next = null										// nachfolgende Seite (lineares Weiter)
	} else {
		this.next = psNext;									// nachfolgende Seite (ID der Seite oder Bedingung)
	}

	this.id						= psID;						// id: ID der Seite = Findet sich im Normalfall im Seitename wieder.
	this.text					= psText;					// text: Titel der Seite
	this.description			= psDescription;			// description: ToDo ASH
	// dh, 3889, 29.08.06
	this.properties				= psProperties;
	// end dh, 3889, 29.08.06
	this.filename				= psSrc;					// filename: URL der Seite (absolut)
	this.active					= psActive;					// active: Wenn 0, wird Seite uebersprungen
	this.show					= psVisible;				// show: Sichtbarkeit im Baum (0/1)
	this.pagetype				= psPageType;				// pagetype: Seitentyp, z.B. '' (length=0), 'tp' (testpage)
	this.parent					= poParent;					// parent: Parent-Item im Baum
	this.actversion				= psVersion;				// actversion: ToDo ASH
	this.isupdate				= false;					// isupdate: ToDo ASH
	this.wasupdate				= false;					// wasupdate: ToDo ASH
	this.exp					= false;					// expanded: Knoten im Baum erweitert?
	this.vis					= false;					// visited: Seite bereits besucht?
	this.solution				= 0;						// solution:	0 = nicht richtig geloest
															// 				1 = richtig geloest im 1. Versuch
															// 				2 = richtig geloest im n. Versuch
	this.result					= '';						// result: String mit Einzelergebnissen
															//				0 = nicht gemacht
															//				1 = falsch
															//				2 = richtig
	this.sub					= null;						// subNodes: Referenz auf childNodes
	this.cnt					= ++liItemCnt;				// count: Laufende Nummer aller Items
	this.level					= piLevel;					// level: Ebene im Baum
	gaFlatNav.push(this);
}