
	/**
	 * Get XY position of an element in the document
	 * This function is browser independent!
	 */
	function getXY(contentElem)
	{
      var parent = null;
      var pos = [];
      var box;

	  // IE
      if (contentElem.getClientRect) {
         box = contentElem.getClientRect();
         var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
         var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
         alert(contentElem.id);
         alert(box.left +' : ' + scrollLeft + ' : ' + box.top + ' : ' + scrollTop);
         return [box.left + scrollLeft, box.top + scrollTop];
      }
      // gecko
   /*
    * doesn't work in firefox 
    * [Exception... "Node cannot be used in a document other than the one in
	* which it was created" code: "4" nsresult: "0x80530004
	* (NS_ERROR_DOM_WRONG_DOCUMENT_ERR)" location:
	* "file:///H:/@New/Projects/GmgBuch/XMLEditor/JavaScript/Editor/XMLDocument.js
	* Line: 720"]
	*
    * 
	  else if (document.getBoxObjectFor) {
         box = document.getBoxObjectFor(contentElem);
         pos = [box.x, box.y];
      }
    */
      // safari/opera
      else {
         pos = [contentElem.offsetLeft, contentElem.offsetTop];
         parent = contentElem.offsetParent;
         if (parent != contentElem) {
            while (parent) {
               pos[0] += parent.offsetLeft;
               pos[1] += parent.offsetTop;
               parent = parent.offsetParent;
            }
         }

         // opera & (safari absolute) incorrectly account for body offsetTop
         var ua = navigator.userAgent.toLowerCase();
         if (
            ua.indexOf('opera') != -1
            || ( ua.indexOf('safari') != -1 && this.getStyle(contentElem, 'position') == 'absolute' )
         ) {
            pos[1] -= document.body.offsetTop;
         }
      }

      if (contentElem.parentNode) { parent = contentElem.parentNode; }
      else { parent = null; }

      while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') {
         pos[0] -= parent.scrollLeft;
         pos[1] -= parent.scrollTop;

         if (parent.parentNode) { parent = parent.parentNode; }
         else { parent = null; }
      }
      return pos;
   }
   
   function openSub(val, type)
	{
		if(document.getElementById(val) != null)
		{
			if(document.getElementById(val).style.display == 'none')
			{
				document.getElementById(val).style.display = "block"; 
				document.getElementById('img'+val).src = "./grafik/buttons/minus.gif";
				closedMenu = closedMenu.replace('_'+val+'_',"");
			}
			else
			{
				document.getElementById(val).style.display = "none"; 
				document.getElementById('img'+val).src = "./grafik/buttons/plus.gif";
				closedMenu += '_'+val+'_';
			}
		}
	}
	
	function openTree(val)
	{
		closedMenu = '';
		if(val == 0)
		{
			for(i=0; i<document.getElementsByTagName("img").length; i++)
			{
				if(document.getElementsByTagName("img")[i].src.indexOf("/grafik/buttons/minus.gif") > -1 && document.getElementsByTagName("img")[i].id.length > 0)
				{
					var id = document.getElementsByTagName("img")[i].id.replace("img","");
					document.getElementById(id).style.display = "none"; 
					document.getElementById('img'+id).src = "./grafik/buttons/plus.gif";
					closedMenu += '_'+id+'_';
				}
			}
		}
		else
		{
			for(i=0; i<document.getElementsByTagName("img").length; i++)
			{
				if(document.getElementsByTagName("img")[i].src.indexOf("/grafik/buttons/plus.gif") > -1 && document.getElementsByTagName("img")[i].id.length > 0)
				{
					var id = document.getElementsByTagName("img")[i].id.replace("img","");
					document.getElementById(id).style.display = "block"; 
					document.getElementById('img'+id).src = "./grafik/buttons/minus.gif";
				}
			}
		}
	}
	
	function scrollToElem(dist)
	{
		if(document.getElementById("seltxt") != null)
		{
			var pos = getXY(document.getElementById("seltxt"));
			var scrollhoehe = parseInt(document.getElementById('gkfolienliste').style.height.replace("px",""));
			pos[1] = pos[1]-dist;

			if(scrollhoehe < pos[1])
				document.getElementById('gkfolienliste').scrollTop += pos[1] - scrollhoehe + 40;
			else if(pos[1] < 0)
				document.getElementById('gkfolienliste').scrollTop += pos[1]-5;
		}
	}
