function logJs(logMessage,givenId) {
  var elemId = String(givenId);
  if (elemId == "" || elemId == "undefined" || elemId == "null" ) {
	elemId = "ajaxlog";
  }

  var logArea = document.getElementById(elemId);

  if (logArea == null) {
        alert("Protokoll-Meldung:\n"+logMessage);
  } else {
        var logText = "";


        if (logArea.childNodes.length > 0) {
                logText = logArea.firstChild.nodeValue;
        }

        logText += "\r\n"+logMessage;
        var neuerTextKnoten = document.createTextNode(logText);


        if (logArea.childNodes.length > 0) {
                logArea.replaceChild(neuerTextKnoten,logArea.firstChild);
        } else {
                logArea.appendChild(neuerTextKnoten);
        }
  }

}
function sourceLinksArray() {
	var scripts = document.getElementsByTagName('script');

	var zaehler = 0;


	for (var i=0; i < scripts.length; i=i+1) {
		if (scripts.item(i).getAttribute('src') !== null && scripts.item(i).getAttribute('src') != '') {
			this[zaehler] = scripts.item(i).getAttribute('src');
			zaehler=zaehler+1;
		}
	}
	this.length = zaehler;
}

function appendSourceLinksList(elemId) {
	var sourceLinks = new sourceLinksArray();

	if (sourceLinks.length > 0) {
		var htmlElement = document.getElementById(elemId);

	        var linksList   = document.createElement('ul');

		var heading	= document.createElement('p');
		heading.appendChild(document.createTextNode('Benutzte JavaScript-Bibliotheken:'));
		heading.setAttribute('class', 'heading');

		var container	= document.createElement('div');
		container.setAttribute('class', 'sourceLinks');

		container.appendChild(heading);
		container.appendChild(linksList);

		for (var i=0; i < sourceLinks.length; i=i+1) {
			var li 	= document.createElement('li');
			var a	= document.createElement('a');
			var txt	= document.createTextNode(sourceLinks[i]);
			a.appendChild(txt);
			a.setAttribute('href',sourceLinks[i]);
			li.appendChild(a);
			linksList.appendChild(li);
		}

		htmlElement.appendChild(container);
	}
}
