window.onunload = function()
{
	for (var i = 0; i < aChildrenWindows.length; i++)
	{
		var childWin = aChildrenWindows[i];
		if (childWin && !childWin.closed) 
		{
			childWin.close();
			aChildrenWindows[i] = null;
		}
	}
}

function registerChildWindow(win)
{
	aChildrenWindows.push(win);
}
var aChildrenWindows = [];

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) {
    if (obj.document) 
	{
		if (obj.document.layers) {obj.document.write(unescape(newText)); obj.document.close();}
		else obj.innerHTML = unescape(newText);
	}
    else obj.innerHTML = unescape(newText);
  }
}

var isCSS = (document.body && document.body.style)? true : false;
var isW3C = (isCSS && document.getElementById)? true : false;
var isIE4 = (isCSS && document.all)? true : false;
var isNN4 = (document.layers)? true : false;
var isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0)? true : false;

function getWindowWidth()
{	
	if (window.innerWidth)  return window.innerWidth;
	else if (isIE6CSS) return document.body.parentElement.clientWidth;
	else if (document.body && document.body.clientWidth) return document.body.clientWidth;
	else return 0;
}
   
function getWindowHeight()
{
	if (window.innerHeight) return window.innerHeight;
 	else if (isIE6CSS) return document.body.parentElement.clientHeight;
	else if (document.body && document.body.clientHeight) return document.body.clientHeight;
	else return 0;
}

function getScrollLeft()
{
	if (document.documentElement && document.documentElement.scrollLeft) return document.documentElement.scrollLeft;
	else if (document.body) return document.body.scrollLeft;
	else return 0;
}

function getScrollTop()
{
	if (document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop;
	else if (document.body) return document.body.scrollTop;
	else return 0;
}

function getSubmenuPosition(menu, submenu, xoffset, yoffset)
{
	var menuPos = getPosition(menu);
	
	var objWidth = submenu.offsetWidth;
	var objHeight = submenu.offsetHeight;
	var w = getWindowWidth();
	var h = getWindowHeight();	
	var leftScroll = getScrollLeft()
	var topScroll = getScrollTop();

	menuPos.left += xoffset;
	menuPos.top += menu.offsetHeight + yoffset;
	if (menuPos.left + objWidth > w + leftScroll) menuPos.left = w + leftScroll - objWidth;
	if (menuPos.top + objHeight > h + topScroll) menuPos.top = h + topScroll - objHeight;
	return menuPos;
}

function getPosition(obj)
{
	var objLeft = 0;
	var objTop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			objLeft += obj.offsetLeft;
			objTop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else
	{
		if (obj.left) objLeft += obj.left;
		if (obj.top) objTop += obj.top;
	}
	return {left:objLeft, top:objTop};
}

function showMenu(obj)
{
	var submenu = MM_findObj("s"+obj);
	if (obj != lastActiveMenu && lastActiveMenu != null) _hideMenu(lastActiveMenu);
	lastActiveMenu = obj;
	var submenuStyle = (submenu.style)? submenu.style : submenu;
	var menu = MM_findObj(obj);
	var pos = getSubmenuPosition(menu, submenu, 5, -6);
	submenuStyle.left = pos.left + "px";
	submenuStyle.top = pos.top + "px";
	submenu.style.width = (submenu.offsetWidth - 8)+ "px";// 8 = padding
	MM_showHideLayers("s"+obj,'','show');	
}

function hideMenu(obj)
{	
	timeoutArray[obj] = setTimeout("_hideMenu('" + obj + "');", 200);
}

function _hideMenu(obj)
{
	var menu = MM_findObj("s"+obj);
	if (cursorX < menu.offsetLeft || cursorX > (menu.offsetLeft + menu.offsetWidth) || cursorY < menu.offsetTop || cursorY > (menu.offsetTop + menu.offsetHeight))
	{
		MM_showHideLayers("s"+obj,'','hide');
	}
}

function mouseX(evt) 
{
	var scrollXOffset = (document.body.scrollLeft)? document.body.scrollLeft : ((document.documentElement.scrollLeft)? document.documentElement.scrollLeft : 0);
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX) return evt.clientX + scrollXOffset;
	else return null;
}
function mouseY(evt) 
{
	var scrollYOffset = (document.body.scrollTop)? document.body.scrollTop : ((document.documentElement.scrollTop)? document.documentElement.scrollTop : 0);
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY) return evt.clientY + scrollYOffset;
	else return null;
}

function setCursorPositions(evt) 
{
	//IE
	try
	{
		if (evt == null && typeof(window.event) == 'object')
		{
			evt = {};
			evt.type = window.event.type;
			evt.target = window.event.srcElement;
			evt.x = window.event.x;
			evt.y = window.event.y;
			evt.clientX = window.event.clientX;
			evt.clientY = window.event.clientY;
			evt.pageX = false;
			evt.pageY = false;
		}
	
	}
	catch (e)
	{
	}
	
	cursorX = parseInt(""+mouseX(evt));
	cursorY = parseInt(""+mouseY(evt));
}

var lastActiveMenu = null;
var cursorX = null;
var cursorY = null;
var timeoutArray = [];

document.onmousemove = setCursorPositions;

function textCounter(field, countfield, maxlimit) 
{
	if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit);
	else if (countfield) countfield.value = maxlimit - field.value.length;
}
//onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"

try
{
	if (top.clearCartTimeout) top.clearCartTimeout();
}
catch (err)
{
}

function submitSearchForm(form)
{
	var searchValue = form.searchField.value;
	for (var i = searchValue.length-1; i >= 0; i--)
	{
		var c = searchValue.charAt(i);
		if (c == "'" || c == '"') searchValue = searchValue.substr(0, i) + searchValue.substr(i+1);
	}
	while (searchValue != "" && searchValue.charCodeAt(0) < 33) searchValue = searchValue.substr(1);
	while (searchValue != "" && searchValue.charCodeAt(searchValue.length-1) < 33) searchValue = searchValue.substr(0, searchValue.length-1);

	form.searchField.value = searchValue;
	if (searchValue.length < 3) 
	{
		alert("Der Suchbegriff muss aus mindestens 3 Zeichen bestehen!");
		return false;
	}
	else 
	{
		setTimeout("_disableSearchForm('" + form + "');", 0);
		return true;
	}
}

function _disableSearchForm(form)
{
	if (form.elements)
	{
		for (var i = 0; i < form.elements.length; i++)
		{
			var ele = form.elements[i];
			ele.disabled = true;
		}
		form.action = null;
		form.disabled = true;
	}
}


function setDisplay(id, value)
{
	var obj = MM_findObj(id);
	if (obj.style) obj = obj.style;
	obj.display = value;
}




