function getElementLeft(elem) {
            var xPos = elem.offsetLeft;
            var tempEl = elem.offsetParent;
            while (tempEl != null) {
                xPos += tempEl.offsetLeft;
                tempEl = tempEl.offsetParent;
            }
            return xPos;        
    }

function Fensterweite()  {
  if (window.innerWidth) {
    return window.innerWidth;
  } else if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientWidth>0) {
    return document.documentElement.clientWidth; //   document.body.offsetWidth;  	
  } else if (document.body && document.body.clientWidth) {  	
    return document.body.clientWidth; //   document.body.offsetWidth;
  } else {
    return 0;
  }
}

function Fensterhoehe()  {
  if (window.innerHeight) {
    return window.innerHeight;
  } else if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientHeight>0) {
    return document.documentElement.clientHeight; //   document.body.offsetHeight;  	
  } else if (document.body && document.body.clientHeight) {  	
    return document.body.clientHeight; //   document.body.offsetHeight;
  } else {
    return 0;
  }
}
var pqSwitch =  {
	elements : Array(),
	container: Array(),
	inhalt: Array(),
	position: Array(),
	max: Array(),
	maxbreit: Array(),
	maxhoch: Array(),
	anzahl: Array(),
	seiten: Array(),
	margin: 3,
	init: function(id) {
		var dom = document.getElementById(id + "_AllElements");
		var dom2 =  document.getElementById(id + "_elements");
		var dom3 =  document.getElementById(id + "_inhalt");
		if (dom3 && dom3.offsetWidth==0) {
			// noch nicht geladen...
			window.setTimeout("pqSwitch.init(\""+id+"\");",10);
			return 0;
		}
		if (dom3 && dom2 && dom && dom.childNodes.length>0) {
			pqSwitch.elements[id] = dom;
			pqSwitch.position[id] = 0;
			pqSwitch.max[id] = dom.childNodes.length;			
			pqSwitch.maxbreit[id] = 0;
			pqSwitch.maxhoch[id] = 0;
			for (var key in dom.childNodes) {
				elem = dom.childNodes[key];
				if (elem.childNodes) {					
					if (elem.offsetWidth+ (2 * pqSwitch.margin)>pqSwitch.maxbreit[id]) {
						pqSwitch.maxbreit[id] = elem.offsetWidth + (2 * pqSwitch.margin);
					}
					if (elem.offsetHeight+ (2 * pqSwitch.margin)>pqSwitch.maxhoch[id]) {
						pqSwitch.maxhoch[id] = elem.offsetHeight + (2 * pqSwitch.margin);
					}
					elem.style.float = "left";
				}
			}
			if (pqSwitch.maxbreit[id]==0) {
				window.setTimeout("pqSwitch.init(\""+id+"\");",10);
				return 0;
			}
			dom.style.display = "none";
			dom2.style.height = pqSwitch.maxhoch[id] + "px";
			
			pqSwitch.container[id] = dom2;
			pqSwitch.inhalt[id] = dom3;
 			pqSwitch.anzahl[id] = Math.floor(pqSwitch.inhalt[id].offsetWidth / pqSwitch.maxbreit[id]);
 			//alert("1:" + pqSwitch.inhalt[id].offsetWidth + " 2: " + pqSwitch.maxbreit[id]);
 			pqSwitch.seiten[id] = Math.ceil(pqSwitch.max[id]/pqSwitch.anzahl[id]);
 			var pad = Math.floor((pqSwitch.inhalt[id].offsetWidth - (pqSwitch.maxbreit[id]*pqSwitch.anzahl[id])-2)/2);
 			pqSwitch.container[id].style.paddingLeft = pad +"px";
 			pqSwitch.container[id].style.paddingRight  = pqSwitch.container[id].style.paddingLeft ;
 			pqSwitch.gehezu(id,0);
		}
	},
	gehezu: function(id,pos) {
		if (pqSwitch.container[id]) {
			if (pos<0) { pos = 0; }
			if (pos>(pqSwitch.seiten[id]-1)*pqSwitch.anzahl[id]) {
				pos = (pqSwitch.seiten[id]-1)*pqSwitch.anzahl[id];
			}
			while (pqSwitch.container[id].childNodes[0]) {
				pqSwitch.container[id].removeChild(pqSwitch.container[id].childNodes[0]);
			}
			pqSwitch.container[id].style.height = pqSwitch.maxhoch[id] + "px";
			
			for(var i=pos;i<pos+pqSwitch.anzahl[id];i++) {
				if ( pqSwitch.elements[id].childNodes[i]) {									
					var myTemp = pqSwitch.elements[id].childNodes[i].cloneNode(true);
					myTemp.style.height = (pqSwitch.maxhoch[id] - (2 * pqSwitch.margin)) + "px";
					pqSwitch.container[id].appendChild(myTemp);
				}
			}
			pqSwitch.position[id] = pos;
			var dom = document.getElementById(id + "_seiten");
			if (dom) {
				while (dom.childNodes[0]) {
					dom.removeChild(dom.childNodes[0]);
				}
				var seite = document.createElement("a");
				var seiteI = document.createElement("img");
				seiteI.setAttribute("src","./static/pqSwitchSeite1.gif");
				seiteI.setAttribute("border","0");
				seite.appendChild(seiteI);				
				seite.style.padding = "0px 3px 0px 3px";
				
				var seiteA = document.createElement("a");
				var seiteAI = document.createElement("img");
				seiteAI.setAttribute("src","./static/pqSwitchSeite2.gif");
				seiteAI.setAttribute("border","0");
				seiteA.appendChild(seiteAI);				
				seiteA.style.padding = "0px 3px 0px 3px";
				
				var open = document.createElement("a");
				var img = document.createElement("img");
				img.setAttribute("src","./static/pqSwitchSeiteAll.gif");
				img.setAttribute("border","0");
				open.style.padding = "0px 3px 0px 3px";
				
				open.appendChild(img);
				open.href = "javascript:pqSwitch.zeigeAlle('" + id + "')";
				for (var i=1;i<=pqSwitch.seiten[id];i++) {
					if (pqSwitch.position[id]==(i-1) * pqSwitch.anzahl[id]) {
						var myTemp = seiteA.cloneNode(true);
					} else {
						var myTemp = seite.cloneNode(true);
					}
					myTemp.href = "javascript:pqSwitch.gehezu('" + id + "', " + ((i-1) * pqSwitch.anzahl[id]) +  ")";;
					dom.appendChild(myTemp);
										
				}
				dom.appendChild(open);
			}
		}
	},
	zeigeAlle: function(id) {
		if (pqSwitch.container[id]) {
			while (pqSwitch.container[id].childNodes[0]) {
				pqSwitch.container[id].removeChild(pqSwitch.container[id].childNodes[0]);
			}
		}
		for(var i=0;i<pqSwitch.max[id];i++) {
			if ( pqSwitch.elements[id].childNodes[i]) {									
				var myTemp = pqSwitch.elements[id].childNodes[i].cloneNode(true);
				myTemp.style.height = (pqSwitch.maxhoch[id] - (2 * pqSwitch.margin))  + "px";
				pqSwitch.container[id].appendChild(myTemp);
			}
		}
		pqSwitch.container[id].style.height = (pqSwitch.seiten[id] * pqSwitch.maxhoch[id]) + "px";
		var dom = document.getElementById(id + "_seiten");
			if (dom) {
				while (dom.childNodes[0]) {
					dom.removeChild(dom.childNodes[0]);
				}
				var seiteA = document.createElement("a");
				var seiteAI = document.createElement("img");
				seiteAI.setAttribute("src","./static/pqSwitchSeite2.gif");
				seiteAI.setAttribute("border","0");
				seiteA.appendChild(seiteAI);				
				seiteA.style.padding = "0px 3px 0px 3px";
				
				var open = document.createElement("a");
				var img = document.createElement("img");
				img.setAttribute("src","./static/pqSwitchSeiteAll.gif");
				img.setAttribute("border","0");
				open.style.padding = "0px 3px 0px 3px";
				open.appendChild(img);
				open.href = "javascript:pqSwitch.gehezu('" + id + "', " + pqSwitch.position[id] +  ")";
				for (var i=1;i<=pqSwitch.seiten[id];i++) {
					var myTemp = seiteA.cloneNode(true);
					myTemp.href = "javascript:pqSwitch.gehezu('" + id + "', " + ((i-1) * pqSwitch.anzahl[id]) +  ")";;
					dom.appendChild(myTemp);
				}
				dom.appendChild(open);
			}
	},
	gotoNext: function(id) {
		
		if (pqSwitch.position[id]!=null) {
			pqSwitch.gehezu(id, pqSwitch.position[id]+pqSwitch.anzahl[id]);
		}
	},
	gotoPrev: function(id) {
		if (pqSwitch.position[id]) {
			pqSwitch.gehezu(id, pqSwitch.position[id]-pqSwitch.anzahl[id]);
		}
	}
}
var pqScroll = {
    obj_inhalt: Array(),
    obj_elements: Array(),
    obj_scroller: Array(),
    obj_scrollbox: Array(),
    mausX: 0,
    mausY: 0,
    maus: false,
    currentid : null,
    init:function(id) {
        if (!pqScroll.obj_inhalt[id]) { pqScroll.obj_inhalt[id] = document.getElementById(id+ "_inhalt"); }
        if (!pqScroll.obj_elements[id]) { pqScroll.obj_elements[id] = document.getElementById(id + "_elements"); }
        if (!pqScroll.obj_scroller[id]) { 
            pqScroll.obj_scroller[id] = document.getElementById( id + "_scroller");    
        }        
        if (!pqScroll.obj_scrollbox[id]) { pqScroll.obj_scrollbox[id] = document.getElementById( id + "_scrollbox"); }
        
    },
	position_ermitteln: function(ereignis) {
      if (!ereignis) var ereignis = window.event;  
      pqScroll.mausX = ereignis.clientX;
      pqScroll.mausY = ereignis.clientY;
      pqScroll.roll();      
      
      pqScroll.obj_scroller.innerHTML = "";
      
      if (pqScroll.mausX > pqScroll.rollX && pqScroll.rollX >= window.innerWidth) pqScroll.mausX -= pqScroll.rollX;
      if (pqScroll.mausY > pqScroll.rollY && pqScroll.rollX >= window.innerHeight) pqScroll.mausY -= pqScroll.rollY;
     },

     roll: function() {
      if (isFinite(self.pageYOffset)) {	// DOM
       pqScroll.rollX = self.pageXOffset;
       pqScroll.rollY = self.pageYOffset;
      } else if (isFinite(document.documentElement && document.documentElement.scrollTop)) {	// IE neu
       pqScroll.rollX = document.documentElement.scrollLeft;
       pqScroll.rollY = document.documentElement.scrollTop;
      } else if (isFinite(document.body.scrollTop)) {	// IE alt
       pqScroll.rollX = document.body.scrollLeft;
       pqScroll.rollY = document.body.scrollTop;
      }
     },
    start: function(id) {
    	pqScroll.currentid = id;
    	pqScroll.init(id);
    	if (pqScroll.obj_scroller[id]) {
    		pqScroll.obj_scroller[id].onmousedown =  pqScroll.down;
    	}
    },
    down:function(ereignis) {
    	var id = pqScroll.currentid;     
        if (pqScroll.obj_inhalt[id]==null) {
            pqScroll.init(id);
        }
        if (pqScroll.obj_inhalt[id]) {
	        pqScroll.maus = true;
	        if (!ereignis) var ereignis = window.event;
	        pqScroll.position_ermitteln(ereignis);
	        document.onmousemove = pqScroll.move;
	        document.onmouseup = pqScroll.up;
	        document.onmousedown =  pqScroll.move;
	        pqScroll.maus = true;
	    }        
    },
    up:function(ereignis) {
    	id = pqScroll.currentid;  
        if (pqScroll.obj_inhalt[id]==null) {
            pqScroll.init(id);
        }
        if (pqScroll.obj_inhalt[id]) {
        	document.onmousemove = null;
        	document.onmouseup = null;
        	if (document.onmousedown) {
	            document.onmousedown = null;
        	}
        	pqScroll.maus = false;
        }
    },
    move: function(ereignis) { 
    	id = pqScroll.currentid;     
    	if (!ereignis) var ereignis = window.event;
        var mausX_alt = pqScroll.mausX;
        var mausY_alt = pqScroll.mausY;       
        var kastenX = parseInt(pqScroll.obj_scroller[id].style.left.slice(0,-2));         
        pqScroll.position_ermitteln(ereignis);
        if (pqScroll.maus) {
        	var newpos = kastenX + pqScroll.mausX - mausX_alt ;
            if (newpos + pqScroll.obj_scroller[id].offsetWidth>pqScroll.obj_scrollbox[id].offsetWidth) {
                newpos = pqScroll.obj_scrollbox[id].offsetWidth - pqScroll.obj_scroller[id].offsetWidth;
            }
            if (newpos<0) {
                newpos = 0;
            }
            var proz = newpos / (pqScroll.obj_scrollbox[id].offsetWidth - pqScroll.obj_scroller[id].offsetWidth);
            pqScroll.obj_inhalt[id].scrollLeft = (pqScroll.obj_inhalt[id].scrollWidth - pqScroll.obj_inhalt[id].offsetWidth) * proz;            
            pqScroll.obj_scroller[id].style.left = newpos  + "px";
        } else {
        	pqScroll.up(id);
        }
    },
    scrolling: function(id,wert) {
    	if (pqScroll.obj_scroller[id]==null) { 
    		pqScroll.init(id);
    	}
    	if (pqScroll.obj_scroller[id]) {
	        var kastenX = parseInt(pqScroll.obj_inhalt[id].scrollLeft);        
	        var newpos = kastenX + wert ;
	        if (newpos + pqScroll.obj_inhalt[id].offsetWidth > pqScroll.obj_inhalt[id].scrollWidth) {
	             newpos = pqScroll.obj_inhalt[id].scrollWidth - pqScroll.obj_inhalt[id].offsetWidth;
	        }
	        if (newpos<0) {
	             newpos = 0;
	        }
	        var proz = newpos / (pqScroll.obj_inhalt[id].scrollWidth - pqScroll.obj_inhalt[id].offsetWidth);
	        pqScroll.obj_inhalt[id].scrollLeft = newpos;
	        pqScroll.obj_scroller[id].style.left = ((pqScroll.obj_scrollbox[id].offsetWidth - pqScroll.obj_scroller[id].offsetWidth) * proz)  + "px";
	   }      
    },
    getElementLeft:function(elem) {
    		var xPos = false;
            if (elem.offsetLeft) {
            	xPos = elem.offsetLeft;
            }
            var tempEl = elem.offsetParent;
            while (tempEl != null) {
                xPos += tempEl.offsetLeft;
                tempEl = tempEl.offsetParent;
            }
            return xPos;        
    }


}



var pqSlider = {
    offen : Array(),
    registered : Array(),
    timer: false,
    into: 20,
    ints: 20,
    stime: 200,
    init: function() {
        if (!pqSlider.timer) {
            window.setTimeout("pqSlider.runTimer()",10);
            pqSlider.timer = true;
        }
    },
    runTimer: function() {
        var action = 0;
       
        for(var id in pqSlider.registered) {
            var obj = pqSlider.registered[id];
            if (obj['oeffne']) {
                action++;
                if ( obj['objall'].offsetWidth < obj['objshow'].offsetWidth + obj['objhide'].offsetWidth) {
                    if (obj['objall'].offsetWidth + pqSlider.into > obj['objshow'].offsetWidth + obj['objhide'].offsetWidth) {
                        obj['objall'].style.width = (obj['objshow'].offsetWidth + obj['objhide'].offsetWidth) + "px";
                    } else {
                       obj['objall'].style.width = (obj['objall'].offsetWidth + pqSlider.into) + "px";
                    }
                } else {
                    pqSlider.registered[id]['open'] = true;
                    pqSlider.registered[id]['oeffne'] = false;
                }
            }
            if (obj['schliesse']) {
                action++;           
                if (obj["schliesse_timer"]>0) {
                    obj["schliesse_timer"]--;
                } else {
                    if (obj['objall'].offsetWidth > obj['objshow'].offsetWidth) {
                        if (obj['objall'].offsetWidth - pqSlider.ints < obj['objshow'].offsetWidth) {
                            obj['objall'].style.width = (obj['objshow'].offsetWidth) + "px";
                        } else {
                            obj['objall'].style.width = (obj['objall'].offsetWidth - pqSlider.ints) + "px";
                        }
                    } else {
                        pqSlider.registered[id]['open'] = false;
                        pqSlider.registered[id]['schliesse'] = false;
                    }
                }
            }
        }
        if (action>0) {
            window.setTimeout("pqSlider.runTimer()",10);
        } else {
            pqSlider.timer = false;
        }
    },
    oeffne: function(id) {
        //var id = obj.getAttribute("id");
        if (pqSlider.registered[id]) {
            pqSlider.registered[id]['oeffne'] = true;
            pqSlider.registered[id]['schliesse'] = false;
            // alle anderen schliessen...
            for (var sid in pqSlider.registered) {
            	if (sid!=id && (pqSlider.registered[sid]['schliesse'] || pqSlider.registered[sid]['oeffne'] || pqSlider.registered[sid]['open'])) {
            		pqSlider.registered[sid]['schliesse'] = true;
            		pqSlider.registered[sid]['oeffne'] = false;
            		pqSlider.registered[sid]["schliesse_timer"] = 0;
            	} 
            }
            pqSlider.init();
        }
    },
    schliesse: function(id) {
        // var id = obj.getAttribute("id"); 
        
        if (pqSlider.registered[id]) {            
            pqSlider.registered[id]['schliesse'] = true;
            if (pqSlider.registered[id]['oeffne']) {
               // pqSlider.registered[id]["schliesse_timer"] = 0;
            } else {
                pqSlider.registered[id]["schliesse_timer"] = pqSlider.stime;
            }
            //  pqSlider.registered[id]['oeffne'] = false;
            pqSlider.init();
        }    
    },
    register: function(id) {
        var objall = document.getElementById(id);
        if (objall) {
            var objshow = document.getElementById(id + '_inhal');
            var objhide = document.getElementById(id + '_hidden');            
            //objall.style.width = objshow.offsetWidth + "px";           
        }
        var temp = Array();
        temp["objall"] = objall;
        temp["objshow"] = objshow;
        temp["objhide"] = objhide;
        temp["open"] = false;
        temp["oeffne"] = false;
        temp["schliesse_timer"] = pqSlider.stime;
        temp["schliesse"] = false;
        pqSlider.registered[id] = temp;
    }
}
var pqRotate = {
    mausx : Array(),
    mausy : Array(),
    moves : Array(),
    timer : false,
    init: function() {
        if (!pqRotate.timer) {
            window.setTimeout("pqRotate.runTimer()",10);
            pqRotate.timer = true;
        }
    },
    runTimer: function() {
        var action = 0;
        for(var id in pqRotate.moves) {
            var obj = pqRotate.moves[id];
            var dom = document.getElementById(id + "_inhalt");
            var srb = document.getElementById(id + "_scrollbox");
            var scb = document.getElementById(id + "_scroller");
            if (obj<0) {
                if (dom.scrollLeft + 0.5 * obj  < 0) {
                    dom.scrollLeft = 0;
                } else {
                    dom.scrollLeft += 0.5 * obj; 
                }
                
            } else {                
                if (dom.scrollLeft + 0.5 * obj > dom.scrollWidth - dom.offsetWidth ) {
                    dom.scrollLeft = dom.scrollWidth - dom.offsetWidth ;
                } else {
                    dom.scrollLeft +=0.5 * obj; 
                }
            }
            scb.style.left = (dom.scrollLeft / (dom.scrollWidth - dom.offsetWidth) * (srb.offsetWidth - scb.offsetWidth)) + "px";
        }
        window.setTimeout("pqRotate.runTimer()",30);
    },
    move: function(ereignis, id) {    
        if (!ereignis) var ereignis = window.event;
        var dom = document.getElementById(id+"_inhalt");
        pqRotate.mausx[id] = ereignis.clientX;
        pqRotate.mausy[id] = ereignis.clientY;
        var roll = Array();
        roll = pqRotate.roll();
        if (pqRotate.mausx[id] > roll['X'] && roll['X'] >= window.innerWidth) pqRotate.mausx[id] -= roll['X'];
        if (pqRotate.mausy[id] > roll['Y'] && roll['Y'] >= Fensterhoehe()) pqRotate.mausy[id] -= roll['Y'];        
        var left = getElementLeft(dom);
        if (pqRotate.mausx[id] < left + 100) {
            pqRotate.moves[id] = -1* (left + 100 - pqRotate.mausx[id]);
            if (pqRotate.moves[id]>0) pqRotate.moves[id]=-1;
            pqRotate.init();
        } else if (pqRotate.mausx[id] > left + dom.offsetWidth -100) {
            pqRotate.moves[id] = pqRotate.mausx[id] - (left + dom.offsetWidth -100);
            pqRotate.init();
        } else {
           pqRotate.moves[id] = 0;
        }        
    },
    roll: function() {
        var roll = Array();
        if (isFinite(self.pageYOffset)) {
            roll['X'] = self.pageXOffset;
            roll['Y'] = self.pageYOffset;
        } else if (isFinite(document.documentElement && document.documentElement.scrollTop)) {
            roll['X'] = document.documentElement.scrollLeft;
            roll['Y'] = document.documentElement.scrollTop;
        } else if (isFinite(document.body.scrollTop)) {
            roll['X'] = document.body.scrollLeft;
            roll['Y'] = document.body.scrollTop;
        }
        return roll;
    }
}
var bildOverlay = {
    dom: null,
    blende: null,
    img: null,
    init: function() {
        if (bildOverlay.blende==null) {
            bildOverlay.blende = document.createElement("div");
            bildOverlay.blende.className = "blendeBlack";
            bildOverlay.blende.style.height = screen.height + "px";            
            bildOverlay.blende.style.display = "block";     
            bildOverlay.blende.onclick = bildOverlay.ausblenden;
            document.getElementsByTagName("body")[0].appendChild(bildOverlay.blende);                        
        }
    },
    anzeigen : function(file) {
        bildOverlay.init();
        if (bildOverlay.dom!=null) {
            bildOverlay.ausblenden();
        }
        bildOverlay.blende.style.display = "block";
        var scrollY = 0;
        if (isFinite(self.pageYOffset)) {
            scrollY = self.pageYOffset;
        } else if (isFinite(document.documentElement && document.documentElement.scrollTop)) {
            scrollY = document.documentElement.scrollTop;
        } else if (isFinite(document.body.scrollTop)) {
            scrollY = document.body.scrollTop;
        }        
        bildOverlay.dom = document.createElement("div");
        bildOverlay.dom.style.position = "absolute";
        bildOverlay.dom.style.width = "150px";
        bildOverlay.dom.style.height = "150px";
        bildOverlay.dom.style.border = "3px solid black";
        bildOverlay.dom.style.padding = "5px";
        bildOverlay.dom.style.backgroundColor = "white";
        bildOverlay.dom.style.backgroundImage = "url(./static/load.gif)";
        bildOverlay.dom.style.backgroundPosition = "50px 50px";
        bildOverlay.dom.style.backgroundRepeat = "no-repeat";
        bildOverlay.dom.style.zIndex = "3";
        bildOverlay.dom.onclick = bildOverlay.ausblenden;
        
        // Elemente im Overlay:
        var link = document.createElement("a");
        link.style.position = "absolute";
        link.style.display = "block";
        link.style.bottom = "5px";
        link.style.right = "10px";
        link.innerHTML = "<img src=\"./static/close.jpg\" width=\"11\" height=\"11\" border=\"0\" alt=\"Close\" />";
        link.href = "#";
        link.onclick = bildOverlay.ausblenden;
        bildOverlay.dom.appendChild(link);
        
        var link2 = document.createElement("a");
        link2.style.position = "absolute";
        link2.style.display = "block";
        link2.style.bottom = "5px";        
        link2.innerHTML = "<img src=\"./static/link.jpg\" width=\"11\" height=\"11\" border=\"0\" alt=\"Open\" />";
        link2.href = file;
        link2.target = "_blank";
        link2.onclick = bildOverlay.ausblenden;
        bildOverlay.dom.appendChild(link2);
        
        document.getElementsByTagName("body")[0].appendChild(bildOverlay.dom);        
        link2.style.right = (20 + link.offsetWidth) + "px";
        bildOverlay.ausrichten();
        bildOverlay.img = new Image();
        bildOverlay.img.src = file;
        bildOverlay.img.style.position = "relative";
        bildOverlay.img.style.top = "5px";
        bildOverlay.img.style.left = "5px";
        
        window.setTimeout("bildOverlay.geladen()",10);
        
    },
    geladen: function() {
        if (bildOverlay.img!=null) {
            if (bildOverlay.img.complete == true) {
                // geladen
                bildOverlay.dom.appendChild(bildOverlay.img);                
                
                if (bildOverlay.img.offsetWidth > window.innerWidth -60) {
                    var width = (window.innerWidth -60);
                    var height= width * (bildOverlay.img.offsetHeight / bildOverlay.img.offsetWidth);
                    bildOverlay.img.style.width = width + "px";
                    bildOverlay.img.style.height = height + "px";
                }
                
                if (bildOverlay.img.offsetHeight > Fensterhoehe() -60) {
                    var height = (Fensterhoehe() -60);
                    var width = height / (bildOverlay.img.offsetHeight / bildOverlay.img.offsetWidth);
                    bildOverlay.img.style.width = width + "px";
                    bildOverlay.img.style.height = height + "px";
                }
                
                
                
                bildOverlay.dom.style.width = (bildOverlay.img.offsetWidth + 10) + "px";
                bildOverlay.dom.style.height = (bildOverlay.img.offsetHeight + 25) + "px";
                bildOverlay.ausrichten();
            } else {
                window.setTimeout("bildOverlay.geladen()",10);
            }
        }
    },
    ausrichten: function() {
    	var scrollY = 0;
        if (isFinite(self.pageYOffset)) {
            scrollY = self.pageYOffset;
        } else if (isFinite(document.documentElement && document.documentElement.scrollTop)) {
            scrollY = document.documentElement.scrollTop;
        } else if (isFinite(document.body.scrollTop)) {
            scrollY = document.body.scrollTop;
        } 
        if (bildOverlay.dom!=null) {   
        	var dd2 = Fensterweite();
        	var dd3 = bildOverlay.dom.offsetWidth;               	
            bildOverlay.dom.style.left = (dd2/2 - dd3/2) + "px";
            bildOverlay.dom.style.top = (Fensterhoehe() / 2 + scrollY - bildOverlay.dom.offsetHeight/2 - 20) + "px";
        }

    },
    ausblenden: function() {
        if (bildOverlay.dom!=null) {
            bildOverlay.dom.parentNode.removeChild(bildOverlay.dom);
            bildOverlay.dom = null;
        }
        if (bildOverlay.blende) {
            bildOverlay.blende.style.display = "none";
        }
    },
    lupeAn: function(obj) {
        var lupeid = obj.getAttribute("lupeid");
        if (lupeid!="") {            
            var lupe = document.createElement("div");
            var myimg = new Image();
            myimg.src = "./static/lupe.gif";
            lupe.appendChild(myimg);
            lupe.setAttribute("id", "lupe_" + lupeid);            
            lupe.style.width = "22px";
            lupe.style.height= "22px";
            lupe.style.position = "absolute";    
            var point = bildOverlay.getPos(obj);   
            lupe.style.top = (obj.offsetHeight-22 - 3 + point.y) + "px";
            lupe.style.left = (obj.offsetWidth-22 - 3+ point.x) + "px";
            document.getElementsByTagName("body")[0].appendChild(lupe);            
        }
    },
    lupeAus: function(obj) {
        var lupeid = obj.getAttribute("lupeid");
        if (lupeid!="") {
            var lupe = document.getElementById("lupe_" + lupeid);
            if (lupe) {
                lupe.parentNode.removeChild(lupe);
            }
        }
    },
    getPos: function(obj) {
         var point = { x:0, y:0 };
        do {
            point.x += obj.offsetLeft;
            point.y += obj.offsetTop;
        } while (obj = obj.offsetParent);

        return point;
    }
}

var pqFader = {
	groupstop : Array(),
	groups : Array(),
	current: Array(),
	interv : 6000,
	inited : false,
	init : function() {
		if (!pqFader.inited) {
			window.setTimeout("pqFader.timer();",pqFader.interv);
			pqFader.inited = true;
		}
	},
	switchTo : function(group, element,stop) {
		// das Element anzeigen
		if (stop) {
			pqFader.groupstop[group] = true;
		}
		var dom_ele  = document.getElementById(element + "_ele");
		var dom_link = document.getElementById(element + "_link");
		if (dom_ele) {
			dom_ele.style.display = "block";
		}
		// alle anderen ausblenden!
		for(var i=0;i<pqFader.groups[group].length;i++) {
			if (pqFader.groups[group][i]!=element) {
				var dom_temp = document.getElementById(pqFader.groups[group][i] + "_ele");
				if (dom_temp) {
					dom_temp.style.display = "none";
				}
				var dom_temp = document.getElementById(pqFader.groups[group][i] + "_link");
				if (dom_temp) {
					dom_temp.className = "pqFadeLinkInaktiv";
				}
			} else {
				var dom_temp = document.getElementById(pqFader.groups[group][i] + "_link");
				if (dom_temp) {
					dom_temp.className = "pqFadeLinkAktiv";
				}
			}
		}
		
	},
	timer : function() {		
		for(var group in pqFader.groups) {
			if (!pqFader.groupstop[group]) {				
				pqFader.current[group]++;
				if (pqFader.current[group]==pqFader.groups[group].length) {
					pqFader.current[group] = 0;
				}
				pqFader.switchTo(group, pqFader.groups[group][pqFader.current[group]],false);
			} 
		}		
		window.setTimeout("pqFader.timer();",pqFader.interv);
	},
	hover : function(group, element, type) {
		if (type==1) {
			pqFader.groupstop[group] = true;
			for(var i=0;i<pqFader.groups[group].length;i++) {
				if (pqFader.groups[group][i] == element) {
					pqFader.current[group] = i;
				}
			}
			pqFader.switchTo(group, element);
		} else {
			pqFader.groupstop[group] = false;
		}
	},
	add : function(group, element) {
		if (!pqFader.groups[group]) {
			pqFader.groups[group] = Array();
			pqFader.current[group] = 0;
			pqFader.groupstop[group] = false;
		}
		pqFader.groups[group][pqFader.groups[group].length] = element;
	}
	
	
	
}
/*
hpbox_curr = 0;
    hpbox_stop = false;
    hpbox_timer = false;
    hpbox_interv = 3000;
    hpbox_color1 = "#48465D";
    hpbox_color2 = "#0358F3";
    hpbox_color2 = "#FFD451";
        function hpboxSw(timer) {
        // pqLog("hpboxSw("+timer+");");
        if(!hpbox_stop) {
            document.getElementById("hpbox").innerHTML = document.getElementById("hpbox"+hpbox_curr).innerHTML;
            document.getElementById("ntt0").style.borderColor = hpbox_color1;
            document.getElementById("ntt1").style.borderColor = hpbox_color1;
            document.getElementById("ntt2").style.borderColor = hpbox_color1;
            document.getElementById("ntt"+hpbox_curr).style.borderColor = hpbox_color2;
            hpbox_curr = hpbox_curr + 1;            
            if(hpbox_curr>2) { hpbox_curr = 0; }            
            // pqLog("hpboxSw -> New Element "+ hpbox_curr);
        } else {
            // pqLog("hpboxSw -> stopped");
        }
        setTimeout("hpboxSw(1);",hpbox_interv);
    }
    function hpboxHoverOn(nr) {
        // pqLog("hpboxHoverOn(" + nr + ");");
        hpbox_stop = true;
        document.getElementById("ntt0").style.borderColor = hpbox_color1;
        document.getElementById("ntt1").style.borderColor = hpbox_color1;
        document.getElementById("ntt2").style.borderColor = hpbox_color1;
        document.getElementById("ntt"+nr).style.borderColor = hpbox_color2;
        document.getElementById("hpbox").innerHTML = document.getElementById("hpbox"+nr).innerHTML;
    }
    function hpboxHoverOff(nr) {
        // pqLog("hpboxHoverOff(" + nr + ");");
        hpbox_stop = false;
        hpbox_curr = nr + 1;
        if(hpbox_curr>2) { hpbox_curr = 0; }
        / *document.getElementById("ntt0").style.borderColor = hpbox_color1;
        document.getElementById("ntt1").style.borderColor = hpbox_color1;
        document.getElementById("ntt2").style.borderColor = hpbox_color1; * /
        // setTimeout("hpboxSw(0);",hpbox_interv);
    }
    function hpboxmainHover(type) {
        // pqLog("hpboxmainHover(" + type + ");");
        if (type==1) {
            hpbox_stop = true;            
        } else {
            hpbox_stop = false;
        }
    
    } */
