function DiCDomInit() {
	var agent = navigator.userAgent.toLowerCase();
	var os = navigator.platform.toLowerCase();
	var mac = (os.indexOf('mac') != -1) ? true : false;
	var isW3CDOM = (document.getElementById) ? true : false;
	if (window.opera && isW3CDOM) {
		isOPERA = true;
		isOPERA6 = (document.createElement && !document.addEventListener) ? true : false;
		isOPERA7 = (document.createElement && document.addEventListener) ? true : false;
	} else {
		isOPERA = false;
		isOPERA6 = false;
		isOPERA7 = false;
	}
	if (document.all && isW3CDOM && !isOPERA) {
		isIE = true;
		isIE5 = (!document.createEventObject && !mac) ? true : false;
		isIE55 = (document.createEventObject && !document.compatMode && !mac) ? true : false;
		isIE6 = (document.compatMode && !mac) ? true : false;
		isIE5MAC = (mac) ? true : false;
	} else {
		isIE = false;
		isIE5 = false;
		isIE55 = false;
		isIE6 = false;
		isIE5MAC = false;
	}
	isKHTML = (isW3CDOM && document.clientWidth) ? true : false;
	isGECKO = (isW3CDOM && !isKHTML && !isIE && !isOPERA) ? true : false;
	isGECKOPR = (isGECKO && (agent.indexOf('rv') == -1) && !document.compatMode) ? true : false;
	isDOM = (isGECKO || isKHTML || isIE || isOPERA6 || isOPERA7) ? true : false;
}

DiCDomInit();

function DiCSucheElem(obj) {
	if (isDOM) {
		var a = arguments;
		if (typeof obj == 'string') {
			if (a.length == 1) {
				return document.getElementById(obj);
			} else if (a.length == 3 && typeof a[1] == 'string' && typeof a[2] == 'number') {
				if (a[1].toLowerCase() == 'name') {
					return document.getElementsByName(obj)[a[2]];
				} else if (a[1].toLowerCase() == 'tagname') {
					return document.getElementsByTagName(obj)[a[2]];
				}
			}
		} else if (typeof obj == 'object') {
			return obj;
		}
	}
}

function DiCCSS(obj) {
	if (isDOM) {
		var a = arguments;
		if (typeof obj == 'string') {
			if (a.length == 1) {
				return DiCSucheElem(obj).style;
			} else if (a.length == 3 && typeof a[1] == 'string' && typeof a[2] == 'number') {
				return DiCSucheElem(obj,a[1],a[2]).style;
			}
		} else if (typeof obj == 'object') {
			return obj.style;
		}
	}
}

function DiCCSSVisibility() {
	if (isDOM) {
		var a = arguments;
		for (var i = 0; i<a.length-1; i+=2) {
			if (typeof a[i] == 'string' || typeof a[i] == 'object') {
				var objCSS = DiCSucheElem(a[i]).style;
				if (a[i+1].toLowerCase() == 'ein') {
					objCSS.visibility = 'visible';
				} else {
					objCSS.visibility = 'hidden';
				}
			}
		}
	}
}

function DiCCSSDisplay() {
	if (isDOM) {
		var a = arguments;
		for (var i = 0; i<a.length-1; i+=2) {
			if (typeof a[i] == 'string' || typeof a[i] == 'object') {
				DiCSucheElem(a[i]).style.display = a[i+1];
			}
		}
	}
}

function DiCCSSPosition() {
	if (isDOM) {
		var a = arguments;
		for (var i = 0; i<a.length-2; i+=3) {
			if (typeof a[i] == 'string' || typeof a[i] == 'object') {
				var objCSS = DiCSucheElem(a[i]).style;
				objCSS.left = a[i+1] + 'px';
				objCSS.top = a[i+2] + 'px';
			}
		}
	}
}

function DiCCSSClip() {
	if (isDOM) {
		var a = arguments;
		for (var i = 0; i<a.length-4; i+=5) {
			if (typeof a[i] == 'string' || typeof a[i] == 'object') {
				DiCSucheElem(a[i]).style.clip = 'rect('+ a[i+1] +'px, ' + a[i+2] + 'px, ' + a[i+3] + 'px, ' + a[i+4] + 'px)';
			}
		}
	}
}

function DiCCSSZindex() {
	if (isDOM) {
		var a = arguments;
		for (var i = 0; i<a.length-1; i+=2) {
			if (typeof a[i] == 'string' || typeof a[i] == 'object') {
				DiCSucheElem(a[i]).style.zIndex = a[i+1];
			}
		}
	}
}

function DiCGetElemPosY(el) {
	var yPosEl = 0, element = el;
	while (typeof element == 'object') {
		yPosEl += element.offsetTop;
		if (element.tagName.toLowerCase() == 'body' || ((isIE6 && document.documentElement) && element.tagName.toLowerCase() == 'html')) {
			element = 0;
		}
		if (typeof(el.offsetParent) == 'object') {
			element = element.offsetParent;
		}
	}
	return yPosEl;
}

function DiCGetElemPosX(el) {
	var xPosEl = 0, element = el;
	while (typeof element == 'object') {
		xPosEl += element.offsetLeft;
		if (element.tagName.toLowerCase() == 'body' || ((isIE6 && document.documentElement) && element.tagName.toLowerCase() == 'html')) {
			element = 0;
		}
		if (typeof(el.offsetParent) == 'object') {
			element = element.offsetParent;
		}
	}
	return xPosEl;
}

function DiCErmittleMasse(obj) {
	if (isDOM) {
		var obj = DiCSucheElem(obj);
		var masse = new Object();
		masse.b = obj.offsetWidth;
		masse.h = obj.offsetHeight;
		return masse;
	}
}

function DiCErstelleEvent(obj,handler,funktion) {
	if (isDOM) {
		var a = arguments;
		var obj = DiCSucheElem(obj);
		if (a.length == 4) {
			if (obj.addEventListener) {
				return obj.addEventListener(handler,funktion,a[3]);
			} else if (obj.attachEvent) {
				return obj.attachEvent('on' + handler,funktion);
			}
		} else {
			return obj['on' + handler] = funktion;
		}
	}
}

function DiCEntferneEvent(obj,handler) {
	if (isDOM) {
		var a = arguments;
		var obj = DiCSucheElem(obj);
		if (a.length == 4) {
			if (obj.removeEventListener) {
				return obj.removeEventListener(handler,a[2],a[3]);
			} else if (obj.detachEvent) {
				return obj.detachEvent('on' + handler,a[2]);
			}
		} else {
			return obj['on' + handler] = null;
		}
	}
}

function DiCUnterbindeStandard(e) {
	var e = e ? e : event;
	if (e.preventDefault) {
		e.preventDefault();
	} else if (isIE) {
		e.returnValue = false;
	} else {
		return false;
	}
}

function DiCUnterbindeAusbreitung(e) {
	var e = e ? e : event;
	if (e.stopPropagation) {
		e.stopPropagation();
	} else if (isIE) {
		e.cancelBubble = true;
	}
}

function DiCSucheMaus(e) {
	if (isDOM) {
		var xOffset, yOffset;
		var e = e ? e : window.event;
		if (isIE) {
			if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
				xOffset = document.documentElement.scrollLeft;
				yOffset = document.documentElement.scrollTop;
			} else if (document.body) {
				xOffset = document.body.scrollLeft;
				yOffset = document.body.scrollTop;
			}
		} else {
			xOffset = window.pageXOffset;
			yOffset = window.pageYOffset;
		}
		var mausPos = new Object();
		mausPos.x = e.clientX;
		mausPos.y = e.clientY;
		mausPos.xo = mausPos.x + xOffset;
		mausPos.yo = mausPos.y + yOffset;
		return mausPos;
	}
}

function DiCSchreibeZeile(text) {
	if (isDOM) {
		document.writeln(text);
	}
}

