var DEBUG = true;

function getScrollXY() {
    var x = 0, y = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
        // Netscape
        x = window.pageXOffset;
        y = window.pageYOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        // DOM
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        // IE6 standards compliant mode
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    return [x, y];
}

function ShowMenu(menu_id, anchor_id, dx, dy) {
	
	var menu = getElement("id", menu_id);
	if (!menu) 
	{
		return false;
	}
	
	var x = 0, y = 0;
	if ("_fixed" == anchor_id) 
	{
		var sp = new ScrollPosition();
		x = sp.X;
		y = sp.Y;
	}
	else if ("" != anchor_id) 
	{
		var pos = new Position(getElement("id", anchor_id));
		if (pos.X != -1) 
		{
			x = pos.X;
			y = pos.Y;
		}
	}
	
	if (dx == "c" || dy == "c") 
	{
		var mpos = new Position(menu);
		if (dx == "c") 
		{
			x = x + (pos.W - mpos.W) / 2;
			dx = 0;
		}
		if (dy == "c") 
		{
			y = y + (pos.H - mpos.H) / 2;
			dy = 0;
		}
	}
	sXY = getScrollXY();
	x = x + dx - sXY[0];
	y = y + dy - sXY[1];
	
	if (NS4) 
	{
		menu.left = x + 'px';
		menu.top = y + 'px';
	}
	else 
	{
		menu.style.left = x + 'px';
		menu.style.top = y + 'px';
	}
	menu.style.position = "fixed";
	if (NS4) 
	{
		menu.visibility = "show";
	}
	else 
	{
		menu.style.visibility = "visible";
	}
}


function HideMenu(menu_id) {
	
	var menu = getElement("id", menu_id);
	if (!menu) return false;
	
	if (NS4) {
		menu.visibility = "hide";
	}
	else {
		menu.style.visibility = "hidden";
	}
}


/*
function HandleMouseMove (ev) {
  if (!ev)
    ev = window.event;
  var mouse_pos = ev.pageX ? ev.pageX : ev.clientX;
  if (mouse_pos < 20) {
      ShowMenu("Nav", "_fixed", 0, 50);
  } else {
    if (mouse_pos > 250) {
      HideMenu("Nav");
    }
  }
}

function EventInit () {
  if (document.addEventListener) {
    document.addEventListener("mousemove", HandleMouseMove, true);
  } else {
    if (NS4) {
      document.captureEvents(Event.MOUSEMOVE);
      document.onmousemove = HandleMouseMove;
    } else {
      document.body.onmousemove = HandleMouseMove;
    }
  }
  if (OP) {
    NavLinksPos = 42; // Position des Bereiches NavLinks
    getElement("id", "NavLinks").style.pixelTop = NavLinksPos;
  }
}
*/

function ToggleVisibility(id) {
	
	try {
		var obj = getElement("id", id);
		if (obj.style.display != "none") {
			obj.style.display = "none";
			return false;
		}
		else {
			obj.style.display = "block";
			return true;
		}
	}
	catch (e) { 
		if (DEBUG) alert (e.message);
	}

} // end function ToggleVisibility

function SetVisibility(id, visible) {
	
	try {
		getElement("id", id).style.display = visible ? "block" : "none";
	}
	catch (e) { 
		if (DEBUG) alert (e.message);
	}

} // end function SetVisibility

function Focus(id) {
	
	try {
		getElement("id", id).focus();
	}
	catch (e) { 
		if (DEBUG) alert (e.message);
	}

} // end function Focus


function SubmitForm(id) {
	
	try {
		getElement("id", id).submit();
	}
	catch (e) {
		if (DEBUG) alert (e.message);
	}
	
} // end function SubmitForm


function CheckNonEmpty(ids) {
	
	var ok = true;
	ids = ids.split(",");
	try {
		for (var i = 0; i < ids.length; i++) {
			var t = getElement("id", ids[i]).value;
			ok = ok & (t != "");
		}
	}
	catch (e) {
		if (DEBUG) alert (e.message);
		ok = false;
	}
	return ok;

} // end function CheckNonEmpty
	