//Zeigt das Descriptionelement mit den angegebenen Informationen an.
info_var=0;
//alert(get_user_agent());

function findeOL(obj,richtung)
{
	var objektLayerPos = 0;
	var dir = richtung ? 'offsetLeft' : 'offsetTop';
	if(obj.offsetParent)
	{
		while(obj.offsetParent)
		{
			//Rekursion: Vorarbeiten bis zum obersten Objekt
			//Abstand vom Objekt zum naechst hoeheren hinzuzaehlen
			objektLayerPos += obj[dir];
			obj=obj.offsetParent;
		}
		//Position des dokuments noch hinzu
		objektLayerPos += document.body[dir];
	}
	else if(obj.x)
		{
			//Falls direkter Zugriff auf Koordinaten moeglich ist
			objektLayerPos = dir ? obj.x : obj.y;
		}
	return objektLayerPos;
}
function description(headline,subheadline,content,id,Obj,Ev)
{
try {
	//alert('Headline: '+headline+' Subheadline: '+subheadline+' Content: '+content + ' Event: '+ e);
	if(Ev==undefined)
	{
		//alert("KEIN EVENT!");
		e= window.event;
		e= new Ereignis("0","0",50,50,50,50);
	}
	e=get_event_handler(Ev);
	
	
	//alert(a.outerHTML);
	

	

	y_smart = findeOL(Obj)+15;
	x_smart = findeOL(Obj,1)+15;
	e.x = x_smart;
	e.y = y_smart;
	browser = get_user_agent();
	if (browser=='NN4')
	{
		Breite = document.width;
		Hoehe = document.height;
		//var Breite = window.document.layers[""].document.width;
		//	var Hoehe = window.document.layers["idDiv"].document.height;
	}
	else if (browser == 'IE' || browser == 'OP' )
	{
		Breite = window.document.body.clientWidth;
		Hoehe = window.document.body.clientHeight;
		//var Breite = window.document.all["idDiv"].clientWidth;
		//var Hoehe = window.document.all["idDiv"].clientHeight;
		
	}
	else if (browser =='NN6' || browser == 'FF')
	{
		
		Breite = window.document.width;
		Hoehe = window.document.height;
		//var Breite = window.document.getElementById("idDiv").offsetWidth;
		//var Hoehe = window.document.getElementById("idDiv").offsetHeight;
	}
	else
	{
		//Standardma?e falls keine Ausgelesen werden konnten:
		Breite = 600;
		Hoehe = 400;
	}
	//alert (Breite+Hoehe);

	
	//y_smart= ((Hoehe - 200)> e.y + 10) ? e.y+10 : e.y - 210;//Hoehe-200;
	if(browser == 'IE')
	{y_smart += 0;}
	x_smart= ((Breite - 300) > e.x ) ? e.x+10  : e.x - 315;//Breite -300;
	if(x_smart < 4)
		{x_smart =4;}
	if (y_smart <4)
		{y_smart = e.y+10;}
	
	h_code = '<div class="description" style="position:absolute;z-index:20;" id="inner_contents"><h1 class="alt">' + headline + '</h1>\n';
	h_code =  (subheadline != '')? h_code + '<h2 class="alt">' + subheadline + '</h2>' : h_code;
	//h_code += "<p>x: " + e.x + " y: " + e.y;
	//h_code += "<br>Breite: "+Breite+" Hoehe: "+Hoehe;
	//h_code += "<br>Breite-300>e.x: "+(Breite-300 > e.x)+" Hoehe-200 > e.y: "+(Hoehe-200 > e.y)+"</p>";
	h_code +=  '<p  >' + content + '</p>'+ '</div>\n';
	
	//alert('e.x: '+e.x+' e.y: '+e.y);
	//alert('e.pageX: '+e.pageX+ 'e.pageY'+e.pageY);
	
	
	document.getElementById(id).innerHTML = h_code;
	//document.getElementById(id).zIndex = 10;
	//setze_zindex('test',1);
	
	//alert("ZIndex des Neuen Layers:" + document.getElementById(id).style.zindex + " ZIndex des Alten Layers:" + document.getElementById('test').style.zindex);
	setze_xy(id,x_smart,y_smart);
	setze_relabs(id,1);
	setze_zindex(id,5);
	setze_relabs(id,1);
	//alert (document.getElementById('body').innerHTML);
	
	
	}
catch(b)
	{
	//alert('Fehler: (description):'+ b);
	}
	
}
function description_delete(id)
{
	try
	{
	if(id != undefined && document.getElementById(id))
		{
			document.getElementById(id).innerHTML = ' ';
		}
	info_var=0;
	}
	catch(b)
	{
	//	alert("ERROR: (description_delete):"+b);
	}
}
function description_for_header(header,id,Obj,Ev)
{
	//Generiert eine Beschreibung f?r einen Speziellen Header
	try{
	
	Headline = header;
	machen = 1;
	switch(header)
	{
		//OFFENSE/ALLGEMEIN
		case 'G':
			shead = 'Games Played';
			desc = 'Anzahl gespielter Spiele';
			break;
		case 'PA':
			shead = 'Plate Appearances';
			desc = 'Anzahl der Schlagdurchg&auml;nge';
			break;
		case 'AB':
			shead = 'At Bats';
			desc = 'Anzahl der Schlagdurchg&auml;nge, die nicht in Walk, Hit by Pitch, Catcher\'s Interference oder Sacrifice Hit/Fly endeten';
			break;
		case 'R':
			shead = 'Runs';
			desc = 'Anzahl der erzielten Punkte.';
			break;
		case 'RBI':
			shead = 'Runs Batted In';
			desc = 'Anzahl der Punkte, die direkt durch den Schlag des Spielers erzielt wurden.';
			break;
		case 'H':
			shead = 'Hits';
			desc = 'Anzahl der erzielten Hits, also Schl&auml;ge, die der Gegner bei fehlerfreiem Feldspiel nicht in ein Aus verwandeln konnte.';
			break;
		case '1B':
			shead = 'Singles / Base Hits';
			desc = 'Anzahl der erzielten Hits, durch die der Spieler auf das erste Base gelangte.';
			break;
		case '2B':
			shead = 'Doubles / Two Base Hits';
			desc = 'Anzahl der erzielten Hits, durch die der Spieler auf das zweite Base gelangte.';
			break;
		case '3B':
			shead = 'Triples / Three Base Hits';
			desc = 'Anzahl der erzielten Hits, durch die der Spieler auf das dritte Base gelangte.';
			break;
		case 'HR':
			shead = 'Homeruns';
			desc = 'Anzahl der erzielten Hits, durch die der Spieler alle Bases umrunden und einen Punkt erzielen konnte.';
			break;
		case 'TB':
			shead = 'Total Bases';
			desc = 'Anzahl der durch Hits erzielten Bases, also 1 Base pro Single, 2 Bases pro Double ...';
			break;
		case 'K offense':
			Headline = 'K';
			shead = 'Strikeouts';
			desc = 'Anzahl der Schlagdurchg&auml;nge, in denen der Spieler durch drei Strikes ausgespielt wurde.';
			break;
		case 'K pitcher':
			Headline = 'K';
			shead = 'Strikeouts';
			desc = 'Anzahl der Batter, die vom Pitcher durch einen Strikeout ausgespielt wurden.';
			break;
		case 'K':
			shead = 'Strikeouts';
			desc = 'Anzahl der Strikeouts.';
			break;
		case 'BB offense':
			Headline = 'BB';
			shead = 'Base on Balls / Walks';
			desc = 'Anzahl der Schlagdurchg&auml;nge, in denen der Batter durch vier Balls auf Base gelangte.';
		case 'BB pitcher':
			Headline = 'BB';
			shead = 'Base on Balls / Walks';
			desc = 'Anzahl der Batter, die der Pitcher durch vier Balls auf Base gelassen hat.';
			break;
		case 'BB':
			shead = 'Base on Balls / Walks';
			desc = 'Anzahl der Walks.';
			break;
		case 'HP offense':
			Headline = 'HP';
			shead = 'Hits By Pitches';
			desc = 'Anzahl der Schlagdurchg&auml;nge, bei denen der Spieler durch einen Treffer vom Pitcher auf Base gelangte.';
			break;
		case 'HP pitcher':
			Headline = 'HP';
			shead = 'Hits By Pitches';
			desc = 'Anzahl der Batter, die der Pitcher am Schlag mit dem Ball getroffen hat.';
			break;
		case 'HP':
			shead = 'Hits By Pitches';
			desc = 'Anzahl der Hits By Pitches.';
			break;
		case 'SB':
			shead = 'Stolen Bases';
			desc = 'Anzahl der zus&auml;zlichen Bases die durch aggressives Baserunning erzielt wurden.';
			break;
		case 'CS':
			shead = 'Caught Stealings';
			desc = 'Anzahl der Stealversuche bei denen der Spieler ausgespielt wurde.';
			break;
		case 'SH':
			shead = 'Sacrifice Hits / Sacrifice Bunts';
			desc = 'Anzahl der Bunts des Spielers, bei denen durch den Bunt andere Baserunner des Teams vorr&uuml;cken konnten, aber der Spieler ausgemacht wurde.';
			break;
		case 'SF':
			shead = 'Sacrifice Flies';
			desc = 'Anzahl der Fly Outs des Spielers, bei denen ein anderer Spieler einen Punkt erzielen konnte.';
			break;
		case 'AVG':
			shead = 'Batting Average';
			desc = 'Durchschnittliche Schlagleistung des Spielers: H/AB';
			break;
		case 'AVG game':
			Headline = 'AVG (Einzelnes Spiel)';
			shead = 'Batting Average';
			desc = 'Durchschnittliche Schlagleistung des Spielers in diesem Spiel: H/AB';
			break;
		case 'AVG saison':
			Headline = 'AVG (Saison)';
			shead = 'Batting Average';
			desc = 'Durchschnittliche Schlagleistung des Spielers in der gesamten Saison: H/AB';
			break;
		case 'OBP':
			shead = 'On Base Percentage';
			desc = 'Durchschnittliche Sicherheit mit der der Spieler auf Base gelangte: (H+BB+HP)/(AB+BB+HP+SF)';
			break;
		case 'SLG':
			shead = 'Slugging Average / Slugging Percentage';
			desc = 'Qualit&auml;t der erzielten Hits: TB/AB';
			break;
		case 'OPS':
			shead = 'On Base Plus Slugging';
			desc = 'Zusammensetzung der OBP und SLG: OBP + SLG';
			break;
		case 'SBA':
			shead = 'Stolen Base Average';
			desc = 'Durchschnittlicher Erfolg der Stealversuche: SB/(SB+CS)';
			break;
		
		//DEFENSE:
		case 'IP defense':
			Headline='IP';
			shead = 'Innings Played';
			desc = 'Anzahl der gespielten Innings';
			break;
		case 'A':
			shead = 'Assists';
			desc = 'Anzahl der Spielz&uuml;ge, in denen ein Wurf oder Ballkontakt des Spielers zu einem Aus gef&uuml;hrt hat (oder nur durch den Error eines anderen verhindert wurde).';
			break;
		case 'PO':
			shead = 'Putouts';
			desc = 'Anzahl der Runner, die der Spieler direkt ausgespielt hat.';
			break;
		case 'E':
			shead = 'Errors';
			desc = 'Anzahl der defensiven Fehler, die der Spieler begangen hat.';
			break;
		case 'TC':
			shead = 'Total Chances';
			desc = 'Anzahl der M&ouml;glichkeiten, die ein Spieler hatte, sich an einem Out zu beteiligen: A + PO + E';
			break;
		case 'DP':
			shead = 'Double Plays';
			desc = 'Anzahl der Spielz&uuml;ge in denen 2 Runner ausgespielt wurden, an denen der Spieler beteiligt war.';
			break;
		case 'SB defense':
			Headline='SB';
			shead = 'Stolen Bases';
			desc = 'Anzahl der Stolen Bases die der Spieler als Catcher zugelassen hat.';
			break;
		case 'CS defense':
			Headline = 'CS';
			shead = 'Caught Stealings';
			desc = 'Anzahl der erfolgreichen Caught Stealings, die der Catcher durchgef&uuml;hrt hat.';
			break;
		case 'PB':
			shead = 'Passed Balls';
			desc = 'Anzahl der Pitches, die der Catcher nicht gefangen hat, wodurch ein oder mehrere Runner vorr&uuml;cken konnten.';
			break;
		case 'FAVG':
			shead = 'Fielding Average';
			desc = 'Durchschnittliche Leistung im Feld: 1 - E/TC';
			break;
			
		//PITCHING:
		case 'G pitcher':
			Headline = 'G';
			shead = 'Games';
			desc = 'Anzahl der Spiele in denen der Pitcher gepitcht hat.';
			break;
		case 'GS':
			shead = 'Games Started';
			desc = 'Anzahl der Spiele bei denen der Pitcher das Spiel begonnen hat.';
			break;
		case 'CG':
			shead = 'Complete Games';
			desc = 'Anzahl der Spiele, die der Pitcher komplett alleine f&uuml;r seine Mannschaft gepitcht hat.';
			break;
		case 'BF':
			shead = 'Batters Faced';
			desc = 'Anzahl der Batter, zu denen der Pitcher gepitcht hat.';
			break;
		case 'IP pitcher':
			Headline='IP';
			shead = 'Innings Pitched';
			desc = 'Anzahl der gepitchten Innings. Ein Out ist 1/3 Inning.';
			break;
		case 'IP':
			shead = 'Innings Pitched';
			desc = 'Anzahl der gepitchten Innings. Ein Out ist 1/3 Inning.';
			break;
		case 'AB pitcher':
			Headline = 'AB';
			shead = 'At Bats';
			desc = 'Anzahl der At Bats der Batter, zu denen der Pitcher geworfen hat.';
			break;
		case 'R pitcher':
			Headline='R';
			shead = 'Runs';
			desc = 'Anzahl der Punkte, die zugelassen wurden, als der Spieler gepitcht hat.';
			break;
		case 'ER':
			shead = 'Earned Runs';
			desc = 'Anzahl der Punkte, die dem Pitcher anzurechnen sind und nicht aus schlechtem Feldspiel resultierten.';
			break;
		case 'H pitcher':
			Headline='H';
			shead = 'Hits';
			desc = 'Anzahl der Hits die der Pitcher zugelassen hat.';
			break;
		case '1B pitcher':
			Headline='1B';
			shead = 'Singles';
			desc = 'Anzahl der Singles die der Pitcher zugelassen hat.';
			break;
		case '2B pitcher':
			Headline='2B';
			shead = 'Doubles';
			desc = 'Anzahl der Doubles die der Pitcher zugelassen hat.';
			break;
		case '3B pitcher':
			Headline='3B';
			shead = 'Triples';
			desc = 'Anzahl der Triples die der Pitcher zugelassen hat.';
			break;
		case 'HR pitcher':
			Headline='HR';
			shead = 'Homeruns';
			desc = 'Anzahl der Homeruns, die der Pitcher zugelassen hat.';
			break;
		//K siehe oben
		//BB siehe oben
		//HP siehe oben
		case 'WP':
			shead = 'Wild Pitch';
			desc = 'Anzahl der schlechten W&uuml;rfe des Pitchers, die in einem Extra Base f&uuml;r Runner resultierten.';
			break;
		case 'BK':
			shead = 'Balk';
			desc = 'Anzahl der Balks (Unzul&auml;ssige Bewegung/Aktion des Pitchers) die der Pitcher begangen hat.';
			break;
		case 'W':
			shead = 'Wins';
			desc = 'Anzahl der gewonnenen Spiele die dem Pitcher zugeordnet wurden.';
			break;
		case 'L':
			shead = 'Losses';
			desc = 'Anzahl der Niederlagen die dem Pitcher zugeordnet wurden.';
			break;
		case 'S':
			shead = 'Saves';
			desc = 'Anzahl der Saves, die dem Pitcher f&uuml;r gutes Pitching zuerkannt wurden.';
			break;
		case 'ERA 7':
			Headline='ERA';
			shead = 'Earned Runs Average';
			desc = 'Durchschnittliche Anzahl an Earned Runs hochgerechnet auf sieben Innings';
			break;
		case 'ERA 9':
			Headline='ERA';
			shead = 'Earned Runs Average';
			desc = 'Durchschnittliche Anzahl an Earned Runs hochgerechnet auf neun Innings.';
			break;
		case 'ERA':
			shead = 'Earned Runs Average';
			desc = 'Durchschnittliche Anzahl an Earned Runs hochgerechnet auf die Inningzahl.';
			break;
		case 'ERA game':
			Headline ='ERA (Einzelnes Spiel)';
			shead = 'Earned Runs Average';
			desc = 'Durchschnittliche Anzahl an Earned Runs hochgerechnet auf die Inningzahl berechnet f&uuml;r ein einzelnes Spiel.';
			break;
		case 'ERA saison':
			Headline ='ERA (Saison)';
			shead = 'Earned Runs Average';
			desc = 'Durchschnittliche Anzahl an Earned Runs hochgerechnet auf die Inningzahl berechnet f&uuml;r die gesamte Saison.';
			break;
		case 'OAVG':
			shead = 'Opponents Batting Average';
			desc = 'Die aus der zugelassenen Zahl an Hits resultierende Batting Average.';
			break;
		case 'OOBP':
			shead = 'Opponents On Base Percentage';
			desc = 'Die aus den zugelassenen HP, BB, H resultierende On Base Percentage.';
			break;
		case 'OSLG':
			shead = 'Opponents Slugging Percentage';
			desc = 'Die aus den zugelassenen Hits (nach Singles, Doubles, Triples und Homeruns) resultierende Slugging Percentage.';
			break;
		case 'OOPS':
			shead = 'Opponents On Base Plus Slugging';
			desc = 'Die aus der OOBP und OSLG resultierende On Base Plus Slugging.';
			break;
		//SONSTIGES:
		case 'BO':
			shead = 'Batting Order';
			desc = 'Die Position in der Batting Order im Spiel';
			break;
		case 'sub':
			shead = 'Substitute / Ersatzspieler';
			desc = 'Der wievielte Einwechselspieler der Spieler war:<br /> 0 - Startspieler,<br /> 1 - Erster Einwechselspieler ...';
			break;
		case 'pit_order':
			shead = 'Pitching Order';
			desc = 'Die Reihenfolge in der gepitcht wurde:<br />0 - Starting Pitcher<br/>1 - erster Einwechselpitcher ...';
			break;
		case 'position':
			shead = 'Feldposition';
			desc = 'Die Position, die der Spieler im Feld einnahm. In der Gesamtstatistik erscheint die zuletzt eingetragene (i.a. also zuletzt gespielte) Position, diese deckt sich nicht zwingend mit der am h&auml;ufigsten gespielten Position.';
			break;
		case 'SCHED':
			Headline = 'Spielnummer';
			shead = 'Platzierungsspiele(Syntax):';
			desc = 'Gruppe(A bis E) f&uuml;r Gruppenspiele.<br>F f&uuml;r Finale <br>H f&uuml;r Halbfinale<br>V f&uuml;r Viertelfinale<br>8 f&uuml;r Achtelfinale<br>3 f&uuml;r Spiel um Platz 3<br>Z f&uuml;r Zwischenrunde<br>P f&uuml;r Platzierungsspiel<br><br>F&uuml;r alle diese Dinge m&uuml;ssen Gruppenspiele in den Settings aktiviert werden. Spielnr anh&auml;ngen.';
			break;
		//DEFAULT:
		case '':
			shead = '';
			desc = '';
			machen = 0;
			break;
		default:
			shead = 'ERROR';
			desc = 'ERROR';
			machen = 0;
		
	}
	if(machen)
		{description(Headline,shead,desc,id,Obj,Ev);}
	}
	catch(b)
	{
	//	alert(b);
	}
}
//NEBENFUNKTIONEN:
	function get_user_agent()
	{
		ua = navigator.userAgent.toLowerCase();
		//alert(ua);
		uv = parseInt(navigator.appVersion);
		if(ua.indexOf('opera') != -1 && uv >=4){browser ='OP';}
		else if(ua.indexOf('msie') != -1 && uv >=4) {browser = 'IE';}
		else if(ua.indexOf('firefox') != -1 && uv >=4){browser ='FF';}
		else if(uv == 4){browser = 'NN4';}
		else if(uv >= 5){browser = 'NN6';}
		return (browser);
	}
	

		function setze_x(id,x)
		{
			try
			{
				if(document.getElementById && window.opera)
				{
					document.getElementById(id).style.left = x;
				}
				else if(document.all)
				{
					document.all[id].style.left = x + 'px';
				}
				else if(document.layers)
				{
					document[id].left = x;
				}
				else if(document.getElementById)
				{
					document.getElementById(id).style.left = x +'px';
				}
			}
			catch(b)
			{
				x=b;
			}
		}
		function setze_y(id,y)
		{
			try
			{
				if(document.getElementById &&window.opera)
				{
					document.getElementById(id).style.top = y;
				}
				else if(document.all)
				{
					document.all[id].style.top = y + 'px';
				}
				else if(document.layers)
				{
					document[id].top = y;
				}
				else if(document.getElementById)
				{
					document.getElementById(id).style.top = y +'px';
				}
			}
			catch(b)
			{
				x=b;
			}
		}
		
		function setze_xy(id,x,y)
		{
			setze_x(id,x);
			setze_y(id,y);
		}
		function setze_relabs(id,BOOLABSOLUT)
		{
			try
			{
				//if(document.layers)//Netscape alt
					//NICHT UNTERST??TZT
				//else if(window.opera)//Opera
					//NICHT BEN??TIGT
				if(document.all)//Microsoft oder Opera
				{
					if(BOOLABSOLUT)
					{document.all[id].style.position = 'absolute';}
					else
					{document.all[id].style.position = 'relative';}
				}
				else if(document.getElementById)//Opera und Netscape Neu		
				{
					if(BOOLABSOLUT)
					{document.getElementById(id).style.position = 'absolute';}
					else
					{document.getElementById(id).style.position = 'relative';}
				}
			}
			catch(b)
			{
				x=b;
			}
		}
		function setze_zindex(id,z)
		{
			try
			{
				if(document.getElementById)//Opera und Netscape Neu		
				{
					
					document.getElementById(id).style.zindex = z;
	
				}
				else if(document.all)//Microsoft oder Opera
				{
					document.all[id].style.zindex = z;
					
				}
				
				else if(document.layers)
				{
					document[id].zIndex=z;
				}
			}
			catch(b)
			{
				x=b;
			}
		}
		function setze_anzeige(id,BOOLSHOW)
		{
			try
			{
				if(document.layers)
				{
					if(BOOLSHOW == True)
					{
						v='show';
					}
					else
					{
						v='hide';
					}
				}
				else
				{
					if(BOOLSHOW == True)
					{
						v='visible';
					}
					else
					{
						v='hidden';
					}
				}
				
				if(document.getElementById)
				{
					document.getElementById(id).style.visibility = v;
				}
				else if(document.all)
				{
					document.all[id].style.visibility = v;
				}
				else if(document.layers)
				{
					document[id].visibility = v;
				}
			}
			catch(b)
			{
				x=b;
			}
		}
		
		function calc_x_kreis(winkel,radius)
		{
			return(Math.round(Math.sin(2*Math.PI*(winkel/360))*100)+radius);
		}
		function calc_y_kreis(winkel,radius)
		{
			return(Math.round(Math.cos(2*Math.PI*(winkel/360))*100)+radius);
		}
		
		
		function move_kreis(id,speedinv,radius,winkel,mitte_x,mitte_y)
		{
			alert(id);
			a = calc_x_kreis(winkel,radius);
			b = calc_y_kreis(winkel,radius);
			setze_xy(id,mitte_x + a,mitte_y + b);
			winkelX = winkel +1;
			window.setTimeout('move_kreis(id,speedinv,radius,winkelX)',speedinv);
		}
		id_M='test';
		speedinv_M=50;
		radius_M=10;
		winkel_M=0;
		mitte_x_M=200;
		mitte_y_M=300;
		
		function kreis()
		{
			a = calc_x_kreis(winkel_M,radius_M)
			b = calc_y_kreis(winkel_M,radius_M);
			setze_xy(id_M,mitte_x_M + a,mitte_y_M + b);
			winkel_M++;
			window.setTimeout('kreis()',speedinv_M);
		}
		
		function erzeugen(Element,Text,Parent)
		{
			a = document.createElement(Element);
			a.innerHTML = Text
			document.getElementById(Parent).appendChild(a);
			//Weitere Funktionen:
			//createDocumentFragment createTextNode createAttribute
		}
				function mouse_get_x(e)
		{	
			try
			{
				if(browser =='IE')
					{x=window.event.x}
				else if(browser == 'NN6')
					{x=e.clientX;}
				else
					{x=e.x;}
			}
			catch(b)
			{
				x=b;
			}
			return x;
		}
		function mouse_get_y(e)
		{	
			try
			{
				if(browser =='IE')
					{x=window.event.y}
				else if(browser == 'NN6')
					{x=e.clientY;}
				else
					{x=e.y;}
			}
			catch(b)
			{
				x=b;
			}
			return x;
		}
	function Ereignis(type,target,x,y,pagex,pagey)
	{
		this.type =type;
		this.target = target;
		this.x = x;
		this.y = y;
		this.pageX = pagex;
		this. pageY = pagey;
	}
	function get_event_handler(e)
	{
		try
		{
			browser = get_user_agent();
			if(browser == 'IE')
			{
				e = new Ereignis(window.event.type,window.event.srcElement,window.event.x,window.event.y,window.event.clientX,window.event.clientY);
			}
			if(browser == 'FF')
			{
				if(window.event)
					{e = new Ereignis(window.event.type,window.event.srcElement,window.event.x,window.event.y,window.event.clientX,window.event.clientY);}
				else
				{
					e = new Ereignis(e.type,e.currentTarget,e.clientX,e.clientY,e.pageX,e.pageY);
				}
			}
			if(browser == 'OP')
			{
				e = new Ereignis(e.type,e.srcElement,e.x,e.y,e.clientX,e.clientY);
			}
			if(browser == 'NN6')
			{
				e = new Ereignis(e.type,e.currentTarget,e.clientX,e.clientY,e.pageX,e.pageY);
			}
		}
		catch(b)
		{
			e=b;
		}
		return (e);
	}

	
	
	//NEU:
	
	function place_smart(id,Obj,Ev)
{
try {
	
	if(Ev==undefined)
	{
		e= window.event;
		e= new Ereignis("0","0",50,50,50,50);
	}
	e=get_event_handler(Ev);
	
	y_smart = findeOL(Obj)+15;
	x_smart = findeOL(Obj,1)+15;
	e.x = x_smart;
	e.y = y_smart;
	browser = get_user_agent();
	if (browser=='NN4')
	{
		Breite = document.width;
		Hoehe = document.height;
	}
	else if (browser == 'IE' || browser == 'OP' )
	{
		Breite = window.document.body.clientWidth;
		Hoehe = window.document.body.clientHeight;
	}
	else if (browser =='NN6' || browser == 'FF')
	{
		
		Breite = window.document.width;
		Hoehe = window.document.height;
	}
	else
	{
		//Standardma?e falls keine Ausgelesen werden konnten:
		Breite = 600;
		Hoehe = 400;
	}
	
	if(browser == 'IE')
	{y_smart += 0;}
	x_smart= ((Breite - 300) > e.x ) ? e.x+10  : e.x - 315;//Breite -300;
	if(x_smart < 4)
		{x_smart =4;}
	if (y_smart <4)
		{y_smart = e.y+10;}
	
	setze_xy(id,x_smart,y_smart);
	setze_relabs(id,1);
	setze_zindex(id,5);
	setze_relabs(id,1);
	
	}
catch(b)
	{
	//alert('Fehler: (description):'+ b);
	}
	
}
function get_smart_coords(xory,Obj,Ev)
{
try {
	
	if(Ev==undefined)
	{
		e= window.event;
		e= new Ereignis("0","0",50,50,50,50);
	}
	e=get_event_handler(Ev);
	
	y_smart = findeOL(Obj)+15;
	x_smart = findeOL(Obj,1)+15;
	e.x = x_smart;
	e.y = y_smart;
	browser = get_user_agent();
	if (browser=='NN4')
	{
		Breite = document.width;
		Hoehe = document.height;
	}
	else if (browser == 'IE' || browser == 'OP' )
	{
		Breite = window.document.body.clientWidth;
		Hoehe = window.document.body.clientHeight;
	}
	else if (browser =='NN6' || browser == 'FF')
	{
		
		Breite = window.document.width;
		Hoehe = window.document.height;
	}
	else
	{
		//Standardma?e falls keine Ausgelesen werden konnten:
		Breite = 600;
		Hoehe = 400;
	}
	
	if(browser == 'IE')
	{y_smart += 0;}
	x_smart= ((Breite - 300) > e.x ) ? e.x+10  : e.x - 315;//Breite -300;
	if(x_smart < 4)
		{x_smart =4;}
	if (y_smart <4)
		{y_smart = e.y+10;}
	
	if(xory)
	{
	return x_smart;
	}
	else
	{
	return y_smart;
	}
	
	}
catch(b)
	{
	alert('Fehler: (description):'+ b);
	}
	
}


function get_gamedata(gameid,obj,event)
{
var x = get_smart_coords(1,obj,event);
var y = get_smart_coords(0,obj,event);
xajax_get_ajax_game_data(gameid, x, y);
place_smart('beschreibung',obj,event);

//alert('done: '+gameid+' ' + x + ' ' + y);
}