			// *********************************************
			// MINDREVOLUTION Medien Systemhaus
			//
			// Version 0.9.0
			// 09/OCT/2002
			// stoecker@mindrevolution.de
			//
			// www.mindrevolution.de
			// *********************************************
			// library supports the following browsers...
			//
			// isW3C (Netscape 6.2+/Mozilla 1.0RC1+)
			// isIE4 (Internet Explorer 4+)
			// isNS4 (Netscape 4.x)
			//
			// #############################################
			// WARNING:
			// not all features are supported by NS4 !!!
			// please check each function PRIOR to usage if
			// NS4 is a issue!
			// #############################################
			//
			// *********************************************

			var isIE4 = (document.all) ? true : false
			var isW3C = (document.getElementById && !isIE4) ? true : false
			var isNS4 = (document.layers) ? true : false

			var isDHTML = (isIE4 || isW3C || isNS4) ? true : false
			if (!isDHTML) {
				alert('Your browser is not supported. Download: http://www.mozilla.org')
			}

			// get window width
			function getWindowWidth() {
			    if (isDHTML) {
			        if (isIE4) { 
			            return document.body.clientWidth
			        } // else is NS4 or W3C
			        return innerWidth
			    }
			    return null;
			}
			
			// get window height
			function getWindowHeight() {
			    if (isDHTML) {
			        if (isIE4) {
			            return document.body.clientHeight
			        } // else isNS4 or W3C
			        return innerHeight
			    }
			    return null;
			}
	
			// get offset width
			function getOffsetWidth() {
			    if (isDHTML) {
			        if (isIE4) {
			            return document.body.offsetWidth
			        } // else isNS4 or W3C
			        return outerWidth
			    }
			    return null;
			}

			// get offset height
			function getOffsetHeight() {
			    if (isDHTML) {
			        if (isIE4) {
			            return document.body.offsetHeight
			        } // else isNS4 or W3C
			        return outerHeight
			    }
			    return null;
			}
			
			// get scroll offset X
			function getScrollOffsetX() {
			    if (isDHTML) {
			        if (isIE4) {
			            return document.body.scrollLeft
			        } // else isNS4 or W3C
			        return window.pageXOffset
			    }
			    return null
			}

			// get scroll offset Y
			function getScrollOffsetY() {
			    if (isDHTML) {
			        if (isIE4) {
			            return document.body.scrollTop
			        } // else isNS4 or W3C
			        return window.pageYOffset
			    }
			    return null
			}

			// get object width
			function getObjWidth(objName) {
			    if (isDHTML) {
			        if (isIE4) {
			            return eval(objName + ".offsetWidth")
			        } else if (isW3C) {
			            obj = document.getElementById(objName)
			            return parseInt(document.defaultView.getComputedStyle(obj, "").getPropertyValue("width"))
			        } // else isNS4
			        return document.layers[objName].clip.width
			    }
			    return null;
			}

			// get object height
			function getObjHeight(objName) {
			    if (isDHTML) {
			        if (isIE4) return eval(objName + ".offsetHeight")
			        if (isW3C) {
			            obj = document.getElementById(objName)
			            return parseInt(document.defaultView.getComputedStyle(obj, "").getPropertyValue("height"))
			        } // else is NS4
			        return document.layers[objName].clip.height
			    }
			    return null;
			}

			// get object top
			function getObjTop(objName) {
			    if (isDHTML) {
			        if (isIE4) return eval(objName + ".style.pixelTop")
			        if (isW3C) {
			            obj = document.getElementById(objName)
			            return parseInt(document.defaultView.getComputedStyle(obj, "").getPropertyValue("top"))
			        } // else is NS4
			        return document.layers[objName].top
			    }
			    return null;
			}

			// get object left
			function getObjLeft(objName) {
			    if (isDHTML) {
			        if (isIE4) return eval(objName + ".style.pixelLeft")
			        if (isW3C) {
			            obj = document.getElementById(objName)
			            return parseInt(document.defaultView.getComputedStyle(obj, "").getPropertyValue("left"))
			        } // else is NS4
			        return document.layers[objName].left
			    }
			    return null;
			}
			
			// set object height
			function setObjHeight(objName, newHeight) {
			    if (isDHTML) {
			        if (isIE4) {
			            eval(objName + ".style.height=" + newHeight)
			        } else if (isW3C) {
			            document.getElementById(objName).style.height = newHeight + "px"
			        } else { // is NS4
			            document.layers[objName].clip.height = newHeight
			        }
			    }
			}
			
			// set object width
			function setObjWidth(objName, newWidth) {
			    if (isDHTML) {
			        if (isIE4) {
			            eval(objName + ".style.width=" + newWidth)
			        } else if (isW3C) {
			            document.getElementById(objName).style.width = newWidth + "px"
			        } else { // is NS4
			            document.layers[objName].clip.width = newWidth
			        }
			    }
			}
			
			// clip object to rect
			function clipObjTo(objName, ctop, cright, cbottom, cleft) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            obj.style.clip = "rect(" + ctop + "px " + cright + "px " + cbottom + "px " + cleft + "px)"
			        } else { // isNS4
			            obj = document.layers[objName]
			            obj.clip.top = ctop
			            obj.clip.right = cright
			            obj.clip.bottom = cbottom
			            obj.clip.left = cleft
			        }
			    }
			}
			
			// move object to x,y
			function moveObjTo(objName, x, y) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            obj.style.left = x + "px"
			            obj.style.top = y + "px"
			        } else {
			            document.layers[objName].left = x
			            document.layers[objName].top = y
			        }
			    }
			}
			
			// move object by x,y       (deltas!!)
			function moveObjBy(objName, dx, dy) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            obj.style.left = (findObjLeft(objName) + dx) + "px";
			            obj.style.top = (findObjTop(objName) + dy) + "px";
			        } else {
			            document.layers[objName].left += dx;
			            document.layers[objName].top += dy;
			        }
			    }
			}
			
			// hide object
			function hideObj(objName) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            obj.style.visibility = "hidden";
			        } else {
			            document.layers[objName].visibility = "hide";
			        }
			    }
			}
			
			// show object
			function showObj(objName) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            obj.style.visibility = "visible";
			        } else {
			            document.layers[objName].visibility = "show";
			        }
			    }
			}
			
			// find left pos (x) of object
			function findObjLeft(objName) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            return (parseFloat(obj.style.left));
			        } else {
			            return (parseFloat(document.layers[objName].left))
			        }
			    }
			}
			
			// find top pos (y) of object
			function findObjTop(objName) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
			            return (parseFloat(obj.style.top));
			        } else {
			            return (parseFloat(document.layers[objName].top));
			        }
			    }
			}
			
			// change content of divs
			function setObjContent(objName,newContent) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
						obj.innerHTML = newContent
			        }
			    }
			}
			
			// change source url of iframe
			function setIframeContent(objName,newSource) {
			    if (isDHTML) {
			        if (isIE4 || isW3C) {
			            obj = (isIE4) ? eval(objName) : document.getElementById(objName)
						obj.src = newSource
			        }
			    }
			}
			
			// change source url AND width, height of iframe
function changeIframe(id, url, width, height) /* DOM only, no error handling! */
	{
	document.getElementById(id).style.width = width;
	document.getElementById(id).style.height = height;
	document.getElementById(id).src = url;
	}

			

