//getElement(id)
//eStyle(id)
//getIdProperty(id)
//setIdProperty(id)
//swapMenu(id)
//frameDoc(id)

/*******************************************************************************
****************************** Checking for Borwsers ***************************
*******************************************************************************/

// Checking By Engine
op = (/opera/g.test(navigator.userAgent.toLowerCase())) ? 1:0
msie = (/msie/g.test(navigator.userAgent.toLowerCase()) && !op) ? 1:0
gecko = (/gecko/g.test(navigator.userAgent.toLowerCase())) ? 1:0

// Checking by supported DOM 
w3c = (document.getElementById && !op) ? 1:0
ie4 = (document.all && !w3c) ? 1:0
nn4 = (document.layers) ? 1:0

// Document
var doc = document;

// getElement
function getElement(id)
{
  if(w3c)return doc.getElementById(id);
  if(ie4)return doc.all[id];
}

// ElementStyle
function eStyle(id)
{
  if(!nn4)return getElement(id).style;
}

// get Element Style Property
function getIdProperty(id,prop)
{
  if(!nn4)return eStyle(id)[prop];
}

// set Element Style Property
function setIdProperty(id,prop,value)
{
  if(!nn4)eStyle(id)[prop] = value;
}

// retrieve document of frame & iframe by its ID
function frameDoc(id)
{
  if(gecko){
    return getElement(id).contentDocument;
  }
  if(msie){
    return doc.frames(id).document;
  }
}

/*******************************************************************************
****************************** Add / Remove Events *****************************
*******************************************************************************/
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType,fn,useCapture);
  } else if (obj.attachEvent){
    obj.attachEvent("on"+evType, fn);
  }
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType,fn,useCapture);
  } else if (obj.detachEvent){
    obj.detachEvent("on"+evType, fn);
  }
}

/*******************************************************************************
****************************** expanding subtree *******************************
*******************************************************************************/
function swapMenu(id)
{
  if(getIdProperty('m'+id,'display') != 'block' )
  {
        setIdProperty('m'+id, 'display', 'block');
        document.images['i'+id].src = '../../images/apps/pfeil_on.gif';
  }else
  {
        setIdProperty('m'+id,'display','none');
        document.images['i'+id].src = '../../images/apps/pfeil_off.gif';
  }
}
