var asRequest = null;
var clickedX  = 0;
var clickedY  = 0;

function msgBox( name, content)
{
	if( !name)
	{
		setContent( "messageBox", content);
		moveWin("messageBox", 200, 300);
		return;
	}
	// Inhalt holen
	if( !asRequest)
		asRequest = get_Request();
	if( !asRequest)
		return;
	setContent("messageBox", "<br>...wird geladen...<br><br>");
	getContent("messageBox", name);
}

function musicBox( name, content)
{
	if( !name)
	{
		setContent("musicBox", content);
		moveWin("musicBox", 200, 300);
		return;
	}
	// Inhalt holen
	if( !asRequest)
		asRequest = get_Request();
	if( !asRequest)
		return;
	setContent("musicBox", "<br>...wird geladen...<br><br>");
	getContent("musicBox", name);
}

function setContent( box, mbContent)
{
	document.getElementById( box+"Content").innerHTML = mbContent;
	if( mbContent.length > 0)
	{
		showWin( box, 1, 1, 3);
	}
}









function get_Request()
{
  	var result = false;
  	if(typeof XMLHttpRequest != "undefined")
  	{
    	result = new XMLHttpRequest();
  	}
  	else
  	{
    	try
    	{
        	result = new ActiveXObject("Msxml2.XMLHTTP");
    	}
    	catch (e)
    	{
        	try
        	{
            	result = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch (ie) {}
    	}
  	}
  	return result;
}


function getContent( box, name)
{
	if (!asRequest) return;
    if( asRequest.readyState != 0)
    {
        asRequest.abort();
    }
    asRequest.open("GET", "getPopup.php?name=" + name, true);
    asRequest.onreadystatechange = function()
    {
      	if (asRequest.readyState == 4 && asRequest.responseText)
      	{
      		try
           	{
            	setContent( box, asRequest.responseText);
          	}
          	catch (e)
          	{
            	var txt = asRequest.responseText.replace(/"/g, "\\\"");
            	try
            	{
               		setContent( box, txt);




            	}
            	catch (ie)
            	{
            	}
          	}
      	}
    };
    asRequest.send( null);
}

// what=elementname, moveH=1/0 horizontal zur Maus f&uuml;hren?, moveV=1/0 vertikal zur Maus f&uuml;hren ?,
// pos=1 - linke obere Ecke, 2 - oben Mitte,...
function showWin(what, moveH, moveV, _pos)
{
    _x = 0;
    _y = 0;
    switch (_pos)
    {
    case 2: _x = 0.5;
            break;
    case 3: _x = 1;
            break;
    case 4: _x = 1;
            _y = 0.5;
            break;
    case 5: _x = 1;
            _y = 1;
            break;
    case 6: _x = 0.5;
            _y = 1;
            break;
    case 7: _y = 1;
            break;
    case 8: _y = 0.5;
            break;
    }
    if (document.getElementById && document.getElementById(what))
    {
        if(moveH)
          document.getElementById(what).style.left = (clickedX + getScrollPos('x') - document.getElementById(what).offsetWidth * _x)+"px";
        if(moveV)
          document.getElementById(what).style.top  = (clickedY + getScrollPos('y') - document.getElementById(what).offsetHeight * _y)+"px";
        else
          document.getElementById(what).style.top  = (document.body.scrollTop + 30)+"px";
        window.setTimeout("void(0)", 500);
        document.getElementById(what).style.display   = "block";
    }
}

function moveWin(what, x_pos, y_pos)
{
	if (document.getElementById && document.getElementById(what))
    {
        document.getElementById(what).style.left = x_pos;
        document.getElementById(what).style.top = y_pos;
    }
}

function printMsgBox()
{
	var oldX;
	var oldY;
	var what = "messageBox";
	if (document.getElementById && document.getElementById(what))
    {
        oldX = document.getElementById(what).style.left;
        oldY = document.getElementById(what).style.top;
    }
    moveWin(what,0,0);
    window.setTimeout("void(0)", 500);
    window.print();
	window.setTimeout("void(0)", 500);
	moveWin(what,oldX, oldY);
}


function hideElement(what)
{
    if (document.getElementById && document.getElementById(what))
    {
    	document.getElementById(what+"Content").innerHTML = '';
        document.getElementById(what).style.display   = "none";
    }
}

function getScrollPos(pos)
{
    var scrollX, scrollY;
    if (document.all)
    {
        if (!document.documentElement.scrollLeft)
            scrollX = document.body.scrollLeft;
        else
            scrollX = document.documentElement.scrollLeft;

        if (!document.documentElement.scrollTop)
            scrollY = document.body.scrollTop;
        else
            scrollY = document.documentElement.scrollTop;
    }
    else
    {
        scrollX = 0; // window.pageXOffset;
        scrollY = 0; // window.pageYOffset;
    }
    return pos=="x" ? scrollX : scrollY;
}


function getPosition(e)
{
	clickedX = (window.Event) ? e.pageX : event.clientX; //IE-Alternative zu pageX bzw. clientx offSetX/scrollTop/Left
    clickedY = (window.Event) ? e.pageY : event.clientY;
}

document.onmousedown=getPosition;

//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;

// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;

// Mausposition
var posx = 0;
var posy = 0;

document.onmousemove = drag;
document.onmouseup = dragstop;

function dragstart(elementname) {
   //Wird aufgerufen, wenn ein Objekt bewegt werden soll.
  dragobjekt = document.getElementById( elementname);

  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}


function dragstop() {
  //Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll.

  dragobjekt=null;
}


function drag(ereignis) {
  //Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt.

  posx = document.all ? window.event.clientX : ereignis.pageX;
  posy = document.all ? window.event.clientY : ereignis.pageY;
  if(dragobjekt != null) {
    dragobjekt.style.left = (posx - dragx) + "px";
    dragobjekt.style.top = (posy - dragy) + "px";
  }
}

function loadObjectData( itemid, context, pointer)
{
	if( !asRequest)
		asRequest = get_Request();
	if( !asRequest)
		return;
	if( asRequest.readyState != 0)
    {
        asRequest.abort();
    }
    asRequest.open("GET", "getObjectData.php?id=" + itemid, true);
    asRequest.onreadystatechange = function()
    {
      	if (asRequest.readyState == 4 && asRequest.responseText)
      	{
       		try
       		{
         		showData( asRequest.responseText, context, pointer);
       		}
       		catch (e)
       		{
          		var txt = asRequest.responseText.replace(/\'/g, "''");
           		try
           		{
               		showData( txt, context, pointer);
           		}
           		catch (ie)
           		{}
          	}
      	}
    };
    asRequest.send( null);
}

function showData( txt, context, pointer)
{
	document.getElementById( 'div_re_'+context).innerHTML = txt;
	var i = 0;
	while( document.getElementById("a_"+context+i))
	{
		if( i==pointer)
		{
			document.getElementById("a_"+context+i).style.display='none';
			document.getElementById("fa_"+context+i).style.display='none';
			document.getElementById("s_"+context+i).style.display='block';
			document.getElementById("fs_"+context+i).style.display='block';
		}
		else
		{
			document.getElementById("a_"+context+i).style.display='block';
			document.getElementById("fa_"+context+i).style.display='block';
			document.getElementById("s_"+context+i).style.display='none';
			document.getElementById("fs_"+context+i).style.display='none';
		}
		i++;
	}
}

