/**
 * Layerposition ermitteln 
 * @access private
 * @param Object HTML Object				  
 * @return Object
 */
function getLayerPos (obj) {
            
	var left = 0;
	var top  = 0;
	var w = obj.offsetWidth;
	var h = obj.offsetHeight;
            		
    while (obj.offsetParent) {
           					
    	left += obj.offsetLeft;
    	top  += obj.offsetTop;
            						
        obj = obj.offsetParent;
    }
            					
    left += obj.offsetLeft;
    top  += obj.offsetTop;
            					
    return {posX:left, 
    		posY:top,   
            objW:w,    
            objH:h     
           };
}
        
/**
 * Hilfsfunktion für Eventhandling
 * @access public
 * @param Object element , welches Object den Event auslöst
 * @param String type , welcher Eventhandler kommt in Frage
 * @param String callBack , callBack Funktion welche den event verarbeitet
 * @param Object returnParams optionale Rückgabe Parameter
 * @return object event;
 * @return object html object;
 */
function eventHandling(element,type,callBack,rP) { 
/*
 * eventhandler festlegen
 */				  
    var returnParams = rP;				
				  
	if(document.addEventListener) { //gute Browser
        if(type.match(/^on/)) type = type.replace(/^on/,"");
            element.addEventListener(type,handleEvent,false);
    } else { // IE
        if(!type.match(/^on/))	type = "on"+type; 
            element.attachEvent(type,handleEvent);
    }
				
    function handleEvent (evt) {
					
        var event  = (evt)?evt:(window.event)?window.event:'';
								
        if(event.stopPropagation) {
            event.stopPropagation();
        } else {
            event.cancelBubble = true;
        }
		
        var target = event.srcElement || event.currentTarget;       
            callBack.call(callBack,event,target,(returnParams)?returnParams:null);
	}
}	

/**
  * Strings zurechtschneiden 
  * @param String 
  * @return String
  */
function trim (text) {
    text = text.replace(/^\s*/,'');
    text = text.replace(/\s*$/,'');
    
    return text;
}

/**
 * clear breaks
 */
function stripBreaks (DomTree) {
    
    DomTree.innerHTML = DomTree.innerHTML.replace(/>\s/gm,'>'); 
    DomTree.innerHTML = DomTree.innerHTML.replace(/\s</gm,'<'); 
    DomTree.innerHTML = DomTree.innerHTML.replace(/>\s</gm,'><'); 

    return DomTree.innerHTML;
} 