	/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	+       LeagueEditor JavaScript/DOM - Dynamic Graphics v1.3            +
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	+ Copyright (C) 2004-2008 by Michael Loesler, http://derletztekick.com +
	+                                                                      +
	+                                                                      +
	+ This program is free software; you can redistribute it and/or modify +
	+ it under the terms of the GNU General Public License as published by +
	+ the Free Software Foundation; either version 2 of the License, or    +
	+ (at your option) any later version.                                  +
	+                                                                      +
	+ This program is distributed in the hope that it will be useful,      +
	+ but WITHOUT ANY WARRANTY; without even the implied warranty of       +
	+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        +
	+ GNU General Public License for more details.                         +
	+                                                                      +
	+ You should have received a copy of the GNU General Public License    +
	+ along with this program; if not, write to the                        +
	+ Free Software Foundation, Inc.,                                      +
	+ 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.            +
	+                                                                      +
	++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
		
		var mm;
		var yy;
		var now = new Date(); 
		var date = now.getDate();
		var month = now.getMonth();
		var year = now.getFullYear();
		var numberofgames = 0;
		var currentMatchDay = 0;
		var ParentElement = null;
		var FavouriteTeam = null;
		var RandomiseTeam = null;
		var LeagueTeams = new Array();
		var LeagueFixture = new Array();
		var MatchesPerDay = new Array();
		var MatchInfo = new Array();
		var isDOMContentLoaded = false;
		var characterset = new Image();
		characterset.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAAAMCAYAAADFwgHYAAAABmJLR0QA+gD6APoe/B6HAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gcREw0A+fjaHAAABExJREFUeNrtXEuyozAMhKmwyf3P+hYvC2YzTLlcltQtWQQSaZUELBt9W7LJ+vv7uy9FRUVFRUUfTK/Xa922be8/W9eQ60VFHloLgBUVFRUVFRUV5dO2bevr9dqXZVkeSNXwb9A0oBbheYxlxjPzWdWNVB0h/DNkWXStCnuk39ZmNdvt72srbm3siL82HuUzGr9t2z7yQeQZvfwtn9fuR+azYotHf+z40TNY+kPkNUPe0e+IDKIdKKRDhdoRohtNz4xvo/mH9YEzYhQTX9gY9q4cuW3b2qwpfQ1QByyj5erhGVlHdtsY5f+t7etveW4tgD6fz/+///z8iFsg0vdjfD8WHZ/5ndGzlUCZ+UaJ5fjcyktL+Kh+sq6P1tInOOYzC1iuZD+Zfqnph7Vrxj/7uaV7NHAyyzefz+eOxA82tlmAWHt+RD5nd6ayePTXHwwCtYxEquBYBK+hZ7R6tZC+tf5IBcMg+T5xSMEVfS6rMmOrPOkzU+Uf19DK0ZrPW5GP+M/u8EgBjg1s2nhtjoOXVWFbAfudYDkjOY9ikpYgGT1Gx1t2JfE4U0et/CR7sa4juwieDgni34h+vP47S75MJ4q1g5EMZvlk7ej46cEgdLaC08ZaxtHyR1rLI/5MmzrSTkUDvXZ/G7x6Pv09bIXRjh9VaZb8RvMj+kNlYoGmka7a39Dvkj6t8SMb8QSdXiYZwCVyPcr/3eCrBwF3CcKWfc4Gn5qMET+NrE0CX5EOCbMNm03Z4M3SXcR2Zm5z9vG1z/lXBW0zumAM74ckoFHV7a3gpApeSk5RGvE/Q+kRBxiBwdnrR3XIyi/bwWYkEK37x1ao3mdDtkBmJ3LmuhVo0SLEC6qyk2YUQEQBtDbesyV0VSCZYdcz80MmtbHz7GM7VkOklaHUgNDm8sYvBEBH9Nue2+rm3Uke+7IsKwvE+vmZc2QPpINxlvPevZ14t8o7U393SyDWFgr6TO9OFDO2K7IS6UyQqwHtq8Yo5FD9lcnyj1lAHE3gWR2srAZAJvi6Smz28kZfLIoCLYB2tgvW3iuNlX7/gxoha1CaALOT1DuT4CeAsJm69oyRzkFo26BoYPDqB9lmP/izc4zut/wHPVt4R5vNXI+03TfqyDPHCJjx/RoOuz5DpjPAk0c/lv/MjE8e/Ub8Nzv3ILEnyv+KQP/kOY/u1zrqah2/Sd02L/1/C9LaQ7deB2cOUWoHo5mK0TqEP/uQteUQ2mvuGqiQ5DI6z4Kuf4Z+mFfIEdkxr4GPtgutLUSpQrcO6SLOj9oneh4l8jcGkb+hQN4kRHyL9R/mBR7JFjzy1+5HX8SZLT/JXqNncLx/s4D6j5UHmPwQsXEkPmjXPfbN+Gc0/npy00wb9doXEz/ZuS9SGK5Wx23U6dI6ah/7R6xXbLPeSR71dxlFRfFOQtlSUdF301cAsEwUfReEzlY9s+7/NPuppFlUVFT0GeDHiPtvjfV/AUW9ZpEsQ+ynAAAAAElFTkSuQmCC";
		characterset.c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöäüÖÄÜß0123456789 -_&.+/";
		characterset.h = 12;	
		characterset.w = 8;
		
		function TeamClass(Name, ShortName, PenaltyPoints, WebSite) {
			this.Name = Name;
			this.ShortName = ShortName;
			this.Games = 0;
			this.Points = isNaN(parseInt(PenaltyPoints))?0:parseInt(PenaltyPoints);
			this.Wins = 0;
			this.WinsHome = 0;
			this.WinsAway = 0;
			this.Lose = 0;
			this.Ties = 0;
			this.WinsInSeries = 0;
			this.NOTLosesInSeries = 0;
			this.LosesInSeries = 0;
			
			this.WinsInSeriesInSaison = 0;
			this.NOTLosesInSeriesInSaison = 0;
			this.LosesInSeriesInSaison = 0;
			
			this.PenaltyPoints = isNaN(parseInt(PenaltyPoints))?0:parseInt(PenaltyPoints);
			this.Positions = new Array();
			this.GoalsIn = 0;
			this.GoalsOut = 0;
			this.WebSite = trim(WebSite)==""?"":WebSite;
			this.addRun = function(value){
				if (ResultPoints[0] == value || ResultPoints[1] == value){
					if (ResultPoints[0] == value) {
						this.WinsInSeries++;
						this.WinsInSeriesInSaison = (this.WinsInSeriesInSaison<this.WinsInSeries)?this.WinsInSeries:this.WinsInSeriesInSaison
					}
					this.NOTLosesInSeries++;
					this.NOTLosesInSeriesInSaison = (this.NOTLosesInSeriesInSaison<this.NOTLosesInSeries)?this.NOTLosesInSeries:this.NOTLosesInSeriesInSaison
					this.LosesInSeries = 0;
				}
				else {
					this.WinsInSeries = 0;
					this.NOTLosesInSeries = 0;
					this.LosesInSeries++;
					this.LosesInSeriesInSaison = (this.LosesInSeriesInSaison<this.LosesInSeries)?this.LosesInSeries:this.LosesInSeriesInSaison
				}
			}
			this.addPosition = function(pos){
				this.Positions.push(pos);
			}
			
			this.equal = function(Team){
				if (this.Name == Team.Name && this.ShortName == Team.ShortName)
					return true;
				else 
					return false;
			}
			
			this.min = function(){
				var min = this.Positions[0];
				for (var i=1; i<this.Positions.length; i++){
					min = Math.min(min,this.Positions[i]);
				}
				return min;
			}				
		}
		
		function clearParentNode(aNode){
			for (var i=0; i<aNode.childNodes.length; i++){
				aNode.removeChild(aNode.childNodes[i]);
			}
		}
		
		function replaceUmlauts(string, index){
		    var anArray = new Array(2);
		    anArray[0] = new Array("Ö", "ö", "Ä", "ä", "Ü", "ü", "ß");
		    anArray[1] = new Array("&Ouml;", "&ouml;", "&Auml;", "&auml;", "&Uuml;", "&uuml;", "&szlig;");
		    
		    for (var i=0; i<anArray[index].length; i++){
				myRegExp = new RegExp(anArray[index][i],"g");
				string = string.replace(myRegExp, anArray[(index==0?1:0)][i]);
			}
		    return string;
		}
		
		function FixtureClass(MatchDayNr, DateOfGame, StartTime, TeamHome, TeamAway, ResultHome, ResultAway, ReportURI) {
			if (TeamHome != null && TeamAway != null){
				this.MatchDayNr = MatchDayNr;
				this.DateOfGame = DateOfGame;
				this.StartTime = StartTime;
				this.TeamHome = TeamHome;
				this.TeamAway = TeamAway;
				this.ResultHome = isNaN(parseInt(ResultHome))?(trim(ResultHome.toLowerCase()) == "x"?ResultHome:"-"):parseInt(ResultHome);
				this.ResultAway = isNaN(parseInt(ResultAway))?(trim(ResultAway.toLowerCase()) == "x"?ResultAway:"-"):parseInt(ResultAway);
				//this.ResultHome = isNaN(parseInt(ResultHome))?"-":parseInt(ResultHome);
				//this.ResultAway = isNaN(parseInt(ResultAway))?"-":parseInt(ResultAway);
				this.ReportURI = ReportURI;
				this.getLink = function() {
					if (trim(this.ReportURI) == ""){
						return "";
					}
					else {
						var ReportURIIcon = new Image(Picture[0][1],Picture[0][2]);
						var uri = this.ReportURI;
						ReportURIIcon.src = Picture[0][0];
						ReportURIIcon.onclick = function() { self.location.href = uri; return false; };
						ReportURIIcon.className = "LEJS_URIImg";
						ReportURIIcon.title = replaceUmlauts(Picture[0][3],1);
						ReportURIIcon.alt = replaceUmlauts(Picture[0][3],1);
						return ReportURIIcon;
					}
				}
			}
		}
		
		Array.prototype.getTeamIndexFromName = function(TeamName){
			for (var i=0; i<this.length; i++){
				if (this[i].Name == TeamName || this[i].ShortName == TeamName){
					return i;
					break;
				}
			}
			return null;
		}
		
		Array.prototype.array_search = function(item){
			var index = 0;
			for (var i=0; i<this.length; i++){
				if (this[i] == item){
					return i;
				}
				
				if (this[i] < item){
					index++;
				}
				else {
					return index;
				}
			}
			return false;
		}		
		
		function getMouseCoords(e) {
			if (!e)
				e = window.event;
			var pos = new Object();
			pos.x = e.clientX + window.document.documentElement.scrollLeft;
			pos.y = e.clientY + window.document.documentElement.scrollTop;
			return pos;
		}
		
		function iniToolTip(){
			var ToolTip = document.createElement("div");
			ToolTip.className = "LEJS_ToolTip";
			ToolTip.id = "LEJS_ToolTip";
			ToolTip.style.display = "none";
			ToolTip.style.position = "absolute";
			ToolTip.timeout = null;
			ToolTip.changeStyle = function() {	ToolTip.style.display = "none"; };
			ToolTip.appendChild(document.createTextNode( String.fromCharCode(160) ));
			document.getElementsByTagName("body")[0].appendChild(ToolTip);
		}
		
		function setToolTip(obj){
			var myToolTip = document.getElementById("LEJS_ToolTip");
			if (typeof(myToolTip.timeout) == "number"){
				clearTimeout(myToolTip.timeout);
			}
			obj.tooltip = (typeof(obj.tooltip) != "undefined")?obj.tooltip:obj.title;
			obj.title = "";
			myToolTip.firstChild.replaceData(0, myToolTip.firstChild.nodeValue.length, replaceUmlauts(obj.tooltip,1));
			obj.onmousemove = function(e) { 
								var pos = getMouseCoords(e);
								myToolTip.style.left = (pos.x - obj.tooltip.length*7) + "px";
								myToolTip.style.top = (pos.y + 25) + "px";
								myToolTip.style.display  =  "block";
							  } ; 
			obj.onmouseout = function() { myToolTip.timeout = window.setTimeout( myToolTip.changeStyle ,500) };
		}
		
		function createMainMenu(){
			var MainMenu = document.createElement("div");
			MainMenu.id = "LEJS_MainMenu";
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][0] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][0], 1);
			aSpan.onclick = function() { LeagueFixture.createMatchDayTable(currentMatchDay); };
			MainMenu.appendChild(aSpan);
			
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][1] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][1], 1);
			aSpan.onclick = function() { LeagueFixture.createPlayPlanTable(FavouriteTeam); };
			MainMenu.appendChild(aSpan);
			
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][2] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][2], 1);
			aSpan.onclick = function() { LeagueTeams.createHighScoreTable(); };
			MainMenu.appendChild(aSpan);
			
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][3] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][3], 1);
			aSpan.onclick = function() { LeagueTeams.createStatisticTable(FavouriteTeam, RandomiseTeam); };
			MainMenu.appendChild(aSpan);
			
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][4] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][4], 1);
			aSpan.onclick = function() { LeagueTeams.createGraphic(FavouriteTeam, RandomiseTeam); };
			MainMenu.appendChild(aSpan);
			
			var aSpan = document.createElement("span");
			aSpan.appendChild(document.createTextNode( MenuTitle[0][5] ));
			aSpan.title = replaceUmlauts(MenuTitle[0][5], 1);
			aSpan.onclick = function() { LeagueTeams.createCalendarTable(FavouriteTeam, mm, yy); };
			MainMenu.appendChild(aSpan);
			
			var copyright = document.createElement("p");
			copyright.id = "copyright";
			copyright.onclick = function(e) {window.open("http://leagueeditor.sourceforge.net", "_blank");};
			copyright.appendChild(document.createTextNode( "LeagueEditor JS (C) 2004-2008 by Michael Loesler" ));
			ParentElement.appendChild(MainMenu);
			ParentElement.appendChild(copyright);
		}
		
		function setCaption(x, y, value, color){
			var aCaption = document.createElement("div");
			aCaption.style.lineHeight = "11px";
			aCaption.style.width = "15px";
			aCaption.style.textAlign = "center";
			aCaption.style.font = "normal 11px lucida console, courier new, courier, monospace";
			aCaption.style.backgroundColor = "transparent";
			aCaption.style.color = color;
			aCaption.style.position = "absolute";
			aCaption.style.left =  x + "px";
			aCaption.style.top = y + "px";
			aCaption.appendChild(document.createTextNode(replaceUmlauts(value.toString(), 1)));
			return aCaption;
		}
		
		function drawPoint(x, y, width, height, acolor){
			var aPixel = document.createElement("div");
			aPixel.style.height = height + "px";
			aPixel.style.width = width + "px";
			aPixel.style.lineHeight = "0px";
			aPixel.style.fontSize = "0px";
			aPixel.style.backgroundColor = acolor;
			aPixel.style.position = "absolute";
			aPixel.style.left =  x + "px";
			aPixel.style.top = y + "px";
			aPixel.zIndex = 255;
			return aPixel;
		}

		function getInterpolationLine(x1,y1, x2,y2, color){
			/* Diese Funktion stammt von http://www.walterzorn.de/scripts/wz_jsgraphics.js */
			var aLine = new Array();
			var dx = Math.abs(x2-x1);
			var dy = Math.abs(y2-y1);
			var x = x1<x2?x1:x2;
			var y = x1<x2?y1:y2;
			var yIncr = (y1 > y2)? -1 : 1;
			if (dx >= dy){
				var pr = dy<<1;
				pru = pr - (dx<<1);
				p = pr-dx;
				ox = x;
				while ((dx--) > 0){
					++x;
					if (p > 0){
						aLine.push( drawPoint(ox, y, x-ox, 1, color));
						y += yIncr;
						p += pru;
						ox = x;
					}
					else {
						p += pr;
					}
				}
				aLine.push( drawPoint(ox, y, x2-ox+1, 1, color));
			}
			else {
				var pr = dx<<1;
				pru = pr - (dy<<1);
				p = pr-dy;
				oy = y;
				if (y2 <= y1) {
					while ((dy--) > 0){
						if (p > 0){
							aLine.push( drawPoint(x++, y, 1, oy-y+1, color));
							y += yIncr;
							p += pru;
							oy = y;
						}
						else {
							y += yIncr;
							p += pr;
						}
					}
					aLine.push( drawPoint(x2, y2, 1, oy-y2+1, color));
				}
				else {
					while ((dy--) > 0) {
						y += yIncr;
						if (p > 0){
							aLine.push( drawPoint(x++, oy, 1, y-oy, color));
							p += pru;
							oy = y;
						}
						else {
							p += pr;
						}
					}
					aLine.push( drawPoint(x2, oy, 1, y2-oy+1, color));
				}
			}
			return aLine;
		}
		
		if (typeof(CanvasRenderingContext2D) != "undefined")
		CanvasRenderingContext2D.prototype.drawString=function(str, x, y, color){
			getCharPos = function(c) {
				return characterset.c.indexOf(c);
			}
			for (var i=0; i<str.length; i++){
				this.fillStyle = color;
				this.fillRect (x+i*characterset.w, y, characterset.w, characterset.h)
				try {
					this.drawImage(characterset, getCharPos(str.charAt(i))*characterset.w, 0, characterset.w, characterset.h, x+i*characterset.w, y, characterset.w, characterset.h);
				} 
				catch (e) { 
					//window.alert("Fehler "+e);
				}
			}
		}
		
		Array.prototype.createGraphic = function(TeamOne, TeamTwo){
			LeagueTeams.sortLeagueTableAlphabetically();
			var ContentPanel = document.createElement("div");
			var DrawPanel = document.createElement("canvas");
			if (typeof(DrawPanel.getContext) == "function"){
				var buffer = 30;
				var delta_x = Math.ceil(350/numberofgames)<15?15:Math.ceil(350/numberofgames);
				var delta_y = Math.ceil(250/this.length)<15?15:Math.ceil(250/this.length);
				var Panel_width = delta_x * numberofgames;
				var Panel_height = delta_y * this.length;
								
				DrawPanel.width = Panel_width + buffer;
				DrawPanel.height = Panel_height + 2*buffer;
				DrawPanel.style.width = Panel_width + buffer +"px";
				DrawPanel.style.height = Panel_height + 2*buffer +"px";
				DrawPanel.style.backgroundColor = "#FAFAFA";
				DrawPanel.style.border = "1px solid #999";
				DrawPanel.style.position = "relative";
				DrawPanel.title = replaceUmlauts(MenuTitle[0][4]+": "+TeamOne.Name+" vs. "+TeamTwo.Name, 1);
			
			
				var ctx = DrawPanel.getContext("2d");
				
				for (var i=0; i<this.length; i++){
					ctx.strokeStyle = "#eee";
					ctx.beginPath();
					if ((i+1)<10)
						ctx.drawString((i+1).toString() ,parseInt(buffer/2), (i+1)*delta_y-parseInt(characterset.h/2),"black");
					else
						ctx.drawString((i+1).toString() ,parseInt(buffer/2)-characterset.w, (i+1)*delta_y-parseInt(characterset.h/2),"black");
					ctx.moveTo(20, (i+1)*delta_y);
					ctx.lineTo((Panel_width+buffer-2),(i+1)*delta_y);				
					ctx.stroke();

				}
				for (var i=0; i<numberofgames; i++){
					ctx.strokeStyle = "#eee";
					ctx.beginPath();
					if ((i+1)<10 && i%2==0)
						ctx.drawString((i+1).toString() ,i*delta_x+buffer-parseInt(characterset.w/2), Panel_height+parseInt(buffer/2),"black");
					else if(i%2==0)
						ctx.drawString((i+1).toString() ,i*delta_x+buffer-characterset.w, Panel_height+parseInt(buffer/2),"black");
					ctx.moveTo(i*delta_x+buffer, 0);
					ctx.lineTo(i*delta_x+buffer,Panel_height+buffer-20);
					ctx.stroke();
					if (i>0 && i<currentMatchDay){
					
						ctx.strokeStyle = GraphikLineOne;
						ctx.beginPath();
						ctx.moveTo((i-1)*delta_x+buffer, TeamOne.Positions[i-1]*delta_y);
						ctx.lineTo(i*delta_x+buffer, TeamOne.Positions[i]*delta_y);
						ctx.stroke();
						
						ctx.strokeStyle = GraphikLineTwo;
						ctx.beginPath();
						ctx.moveTo((i-1)*delta_x+buffer, TeamTwo.Positions[i-1]*delta_y);
						ctx.lineTo(i*delta_x+buffer, TeamTwo.Positions[i]*delta_y);
						ctx.stroke();	
					}
					if (i<currentMatchDay){
						ctx.fillStyle = GraphikDotOne;
						ctx.fillRect ((i)*delta_x+buffer-2, TeamOne.Positions[i]*delta_y-2 , 5, 5);
						ctx.fillStyle = GraphikDotTwo;
						ctx.fillRect ((i)*delta_x+buffer-2, TeamTwo.Positions[i]*delta_y-2 , 5, 5);
					}
				}

				ctx.drawString(replaceUmlauts(TeamOne.Name,1), delta_x, Panel_height+buffer-5, GraphikLineOne);
				ctx.drawString(replaceUmlauts(TeamTwo.Name,1), delta_x, Panel_height+buffer+10,  GraphikLineTwo);
				ctx.closePath();			
			}
			else {
				var buffer = 30;
				var DrawPanel = document.createElement("div");
				var delta_x = Math.ceil(350/numberofgames)<15?15:Math.ceil(350/numberofgames);
				var delta_y = Math.ceil(250/this.length)<15?15:Math.ceil(250/this.length);
				var Panel_width = delta_x * numberofgames;
				var Panel_height = delta_y * this.length;
				DrawPanel.style.width = Panel_width + buffer +"px";
				DrawPanel.style.height = Panel_height + 2*buffer +"px";
				DrawPanel.style.backgroundColor = "#FAFAFA";
				DrawPanel.style.border = "1px solid #999";
				DrawPanel.style.position = "relative";
				DrawPanel.title = replaceUmlauts(MenuTitle[0][4]+": "+TeamOne.Name+" vs. "+TeamTwo.Name, 1);
				for (var i=0; i<this.length; i++){
					DrawPanel.appendChild(drawPoint(20, (i+1)*delta_y, Panel_width+buffer-25, 1, "#eee"));
					DrawPanel.appendChild(setCaption(1, (i+1)*delta_y-buffer/2, (i+1), "black"));
				}
			
				for (var i=0; i<numberofgames; i++){
					DrawPanel.appendChild(drawPoint(i*delta_x+buffer, 0, 1, Panel_height+buffer-20, "#eee"));
					if (i%2==0)
						DrawPanel.appendChild(setCaption((i+1)*delta_x+3, Panel_height+buffer/4 , (i+1), "black"));
					if (i>0 && i<currentMatchDay){	
						var LineOne = getInterpolationLine((i-1)*delta_x+buffer, TeamOne.Positions[i-1]*delta_y, i*delta_x+buffer, TeamOne.Positions[i]*delta_y, GraphikLineOne);
						for (var j=0; j<LineOne.length; j++){
							DrawPanel.appendChild(LineOne[j]);
						}	
						
						var LineTwo = getInterpolationLine((i-1)*delta_x+buffer, TeamTwo.Positions[i-1]*delta_y, i*delta_x+buffer, TeamTwo.Positions[i]*delta_y, GraphikLineTwo);
						for (var j=0; j<LineTwo.length; j++){
							DrawPanel.appendChild(LineTwo[j]);
						}					
					}
					if (i<currentMatchDay){
						DrawPanel.appendChild(drawPoint(i*delta_x+buffer-2, TeamOne.Positions[i]*delta_y-2, 5, 5, GraphikDotOne));
						DrawPanel.appendChild(drawPoint(i*delta_x+buffer-2, TeamTwo.Positions[i]*delta_y-2, 5, 5, GraphikDotTwo));
					}
				}
			
				DrawPanel.appendChild(setCaption(delta_x, Panel_height+buffer-5 , TeamOne.Name, GraphikLineOne));
				DrawPanel.appendChild(setCaption(delta_x, Panel_height+buffer+10 , TeamTwo.Name, GraphikLineTwo));
			}
				var myTable = document.createElement("table");
				var myTBody = document.createElement("tbody");
				var myTHead = document.createElement("thead");
				var aHeadRow = document.createElement("tr");
				var aHeadCell = document.createElement("th");
				aHeadCell.colSpan = 3;
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[0][4] +": "+TeamOne.Name+" vs. "+TeamTwo.Name, 1)));
				aHeadRow.appendChild(aHeadCell);
				aHeadRow.appendChild(aHeadCell);
				myTHead.appendChild(aHeadRow);
				for (var i=0; i<this.length; i++){
					var aRow = document.createElement("tr");
					var aHeadCell = document.createElement("th");
					aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[i].ShortName, 1)));
					aHeadCell.className = "LEJS_TeamMenu";
					aHeadCell.style.verticalAlign = "top";
					aHeadCell.title = replaceUmlauts(MenuTitle[0][4]+": "+this[i].Name, 1);
					aHeadCell.onclick = function() { LeagueTeams.createGraphic(LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))], TeamTwo); }
					aRow.appendChild(aHeadCell);
					if (i==0){
						var aCell = document.createElement("td");
						aCell.rowSpan = this.length;
						aCell.appendChild(DrawPanel);
						aCell.style.verticalAlign = "top";
						aRow.appendChild(aCell);
					}
					var aHeadCell = document.createElement("th");
					aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[i].ShortName, 1)));
					aHeadCell.className = "LEJS_TeamMenu";
					aHeadCell.style.verticalAlign = "top";
					aHeadCell.title = replaceUmlauts(MenuTitle[0][4]+": "+this[i].Name, 1);
					aHeadCell.onclick = function() { LeagueTeams.createGraphic(TeamOne, LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))]); }
					aRow.appendChild(aHeadCell);
					myTBody.appendChild(aRow);
				}
			
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			
			ContentPanel.appendChild(myTable);
			
			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";
		}
		
		function prevMonth(Team, pm, py){
			if (pm == 0){
				pm = 11;
				py -= 1;
			} 
			else{
				pm -= 1;
			}
			LeagueTeams.createCalendarTable(Team, pm, py);
		}

		function nextMonth(Team, nm, ny){
			if (nm == 11){
				nm = 0;
				ny += 1;
			} 
			else{
				nm += 1;
			}
			LeagueTeams.createCalendarTable(Team, nm, ny);
		}
		
		Array.prototype.createCalendarTable = function(Team,mm,yy){
			LeagueTeams.sortLeagueTableAlphabetically();
			var sevendaysaweek = 0;
			var begin = new Date(yy,mm,1);
			var firstday = begin.getDay()-1;
			if (firstday < 0){
				firstday = 6;
			}
			var dayspermonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
			if ((yy%4==0) && ((yy%100!=0) || (yy%400==0))){
				dayspermonth[1] = 29;
			}
			if ((mm != month) || (yy != year)){
				var today = '';
			}
			else {
				var today = date+'.';
			}
			var lejsdates = new Array();
			for (var i=0; i<LeagueFixture.length; i++){
				if (LeagueFixture[i].TeamHome.equal(Team) || LeagueFixture[i].TeamAway.equal(Team)){
					lejsdates[LeagueFixture[i].DateOfGame] = LeagueFixture[i].StartTime+" "+LeagueFixture[i].TeamHome.Name+"  -  "+LeagueFixture[i].TeamAway.Name;
				}
			}
			
			var newCalTable = document.createElement("table");
			newCalTable.id = "LEJS_CalTable";
			var newCalTHead = document.createElement("thead");
			var newCalTBody = document.createElement("tbody");
			var newCalRow = document.createElement("tr");
			var newCalHead = document.createElement("th");
			newCalHead.className = "LEJS_CalMenu";
			newCalHead.title = replaceUmlauts(MenuTitle[6][0], 1);
			newCalHead.appendChild(document.createTextNode("«"));
			newCalHead.onclick=function () { prevMonth(Team,mm, yy); };
			newCalRow.appendChild(newCalHead);
			var newCalHead = document.createElement('th');
			newCalHead.colSpan = 5;
			newCalHead.appendChild(document.createTextNode(today+" "+replaceUmlauts(MenuTitle[5][mm],1)+" "+yy));
			newCalRow.appendChild(newCalHead);
			var newCalHead = document.createElement('th');
			newCalHead.className = "LEJS_CalMenu";
			newCalHead.title = replaceUmlauts(MenuTitle[6][1], 1);
			newCalHead.appendChild(document.createTextNode("»"));
			newCalHead.onclick=function () { nextMonth(Team,mm, yy); };	
			newCalRow.appendChild(newCalHead);
			newCalTHead.appendChild(newCalRow);
			
			var newCalRow = document.createElement('tr');
			for (var i=0; i<MenuTitle[4].length; i++){
				var newCalDayname = document.createElement('td');
				newCalDayname.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[4][i],1)));
				newCalRow.appendChild(newCalDayname);
			}
			newCalTBody.appendChild(newCalRow);
			
			var newCalRow = document.createElement('tr');
			for (var i=0; i<firstday; i++){
				var newCalDays = document.createElement('td');
				newCalDays.appendChild(document.createTextNode(String.fromCharCode(160)));
				newCalRow.appendChild(newCalDays);
				sevendaysaweek++;
			}
			
			for (var i=1; i<=dayspermonth[mm]; i++){
				var lejs_dd = i;
				var lejs_mm = mm+1;
				if (lejs_dd<10) {
					lejs_dd = "0"+lejs_dd;
				}
				if (lejs_mm<10){
					lejs_mm = "0"+lejs_mm;
				}
				
				if (MenuTitle[4].length == sevendaysaweek){
					newCalTBody.appendChild(newCalRow);
					var newCalRow = document.createElement('tr');
					var newCalDays = document.createElement('td');
					if (lejsdates[lejs_dd+"."+lejs_mm+"."+yy]){
						newCalDays.className = "LEJS_CalDay2Tag";
						newCalDays.title = replaceUmlauts(lejsdates[lejs_dd+"."+lejs_mm+"."+yy], 1);
						newCalDays.onmouseover = function() { setToolTip(this) };
					}
					newCalDays.appendChild(document.createTextNode(i));
					newCalRow.appendChild(newCalDays);
					sevendaysaweek = 0;
				}
				else {
					var newCalDays = document.createElement('td');
					if (lejsdates[lejs_dd+"."+lejs_mm+"."+yy]){
						newCalDays.className = "LEJS_CalDay2Tag";
						newCalDays.title = replaceUmlauts(lejsdates[lejs_dd+"."+lejs_mm+"."+yy], 1);
						newCalDays.onmouseover = function() { setToolTip(this) };
					}
					newCalDays.appendChild(document.createTextNode(i));
					newCalRow.appendChild(newCalDays);
				}
				sevendaysaweek++;
			}
			
			for (var i=sevendaysaweek; i<MenuTitle[4].length; i++){
				var newCalDays = document.createElement('td');
				newCalDays.appendChild(document.createTextNode(String.fromCharCode(160)));
				newCalRow.appendChild(newCalDays);
			}
		
			newCalTBody.appendChild(newCalRow);
			newCalTable.appendChild(newCalTHead);
			newCalTable.appendChild(newCalTBody);
				
			var ContentPanel = document.createElement("div");
			var myTable = document.createElement("table");
			var myTBody = document.createElement("tbody");
			var myTHead = document.createElement("thead");
			var aHeadRow = document.createElement("tr");
			var aHeadCell = document.createElement("th");
			aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[0][5] +": "+Team.Name, 1)));
			aHeadCell.colSpan = 3;
			aHeadRow.appendChild(aHeadCell);
			myTHead.appendChild(aHeadRow);
			
			for (var i=0; i<this.length; i++){
				var aRow = document.createElement("tr");
				var aHeadCell = document.createElement("th");
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[i].ShortName, 1)));
				aHeadCell.className = "LEJS_TeamMenu";
				aHeadCell.style.verticalAlign = "top";
				aHeadCell.title = replaceUmlauts(MenuTitle[0][5]+": "+this[i].Name, 1);
				aHeadCell.onclick = function() { LeagueTeams.createCalendarTable(LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))], mm, yy); }
				aRow.appendChild(aHeadCell);
				if (i==0){
					var aCell = document.createElement("td");
					aCell.rowSpan = this.length;
					aCell.appendChild(newCalTable);
					aCell.style.verticalAlign = "top";
					aRow.appendChild(aCell);
				}
				myTBody.appendChild(aRow);
			}
			
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			ContentPanel.appendChild(myTable);
			
			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";	
		}
		
		Array.prototype.createStatisticTable = function(TeamOne, TeamTwo){
			LeagueTeams.sortLeagueTableAlphabetically();
			var ContentPanel = document.createElement("div");
			var myTable = document.createElement("table");
			var myTBody = document.createElement("tbody");
			var myTHead = document.createElement("thead");
			var aHeadRow = document.createElement("tr");
			var aHeadCell = document.createElement("th");
			aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[0][3] +": "+TeamOne.Name+" vs. "+TeamTwo.Name, 1)));
			aHeadCell.colSpan = 5;
			aHeadRow.appendChild(aHeadCell);
			myTHead.appendChild(aHeadRow);
			
			var k = 0;
			for (attribute in TeamOne){
				if (typeof(TeamOne[attribute]) == "number"){
					var aRow = document.createElement("tr");
					var aHeadCell = document.createElement("th");
					if (k<this.length){
						aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
						aHeadCell.className = "LEJS_TeamMenu";
						aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
						aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))], TeamTwo); }
					}
					else {
						aHeadCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					}
					aRow.appendChild(aHeadCell);
					
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(TeamOne[attribute],1));
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[3][k], 1)));
					aCell.className = "LEJS_Statistic";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(TeamTwo[attribute],1));
					aRow.appendChild(aCell);
					
					var aHeadCell = document.createElement("th");
					if (k<this.length){
						aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
						aHeadCell.className = "LEJS_TeamMenu";
						aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
						aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(TeamOne, LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))]); }
					}
					else {
						aHeadCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					}
					aRow.appendChild(aHeadCell);
					myTBody.appendChild(aRow);
					k++;
				}
				else if(typeof(TeamOne[attribute]) == "object"){
					var aRow = document.createElement("tr");
					var aHeadCell = document.createElement("th");
					if (k<this.length){
						aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
						aHeadCell.className = "LEJS_TeamMenu";
						aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
						aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))], TeamTwo); }
					}
					else {
						aHeadCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					}
					aRow.appendChild(aHeadCell);
					
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(TeamOne.min(),1));
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[3][k], 1)));
					aCell.className = "LEJS_Statistic";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(TeamTwo.min(),1));
					aRow.appendChild(aCell);
					
					var aHeadCell = document.createElement("th");
					if (k<this.length){
						aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
						aHeadCell.className = "LEJS_TeamMenu";
						aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
						aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(TeamOne, LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))]); }
					}
					else {
						aHeadCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					}
					aRow.appendChild(aHeadCell);
					
					myTBody.appendChild(aRow);
					k++;
					break;
				}
			}

			while (k<this.length) {
				var aRow = document.createElement("tr");
				var aHeadCell = document.createElement("th");
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
				aHeadCell.className = "LEJS_TeamMenu";
				aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
				aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))], TeamTwo); }
				aRow.appendChild(aHeadCell);
				for (var i=0; i<3; i++){
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					aRow.appendChild(aCell);
				}
				var aHeadCell = document.createElement("th");
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(this[k].ShortName, 1)));
				aHeadCell.className = "LEJS_TeamMenu";
				aHeadCell.title = replaceUmlauts(MenuTitle[0][3]+": "+this[k].Name, 1);
				aHeadCell.onclick = function() { LeagueTeams.createStatisticTable(TeamOne, LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))]); }
				aRow.appendChild(aHeadCell);
				myTBody.appendChild(aRow);
				k++;
			}
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			
			ContentPanel.appendChild(myTable);
			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";
		}
		
		Array.prototype.sortLeagueTableAlphabetically = function(){
			function sortTable(a,b){
				if (a.Name < b.Name)
					return -1;
				else if (a.Name > b.Name)
					return 1;
				else
					return 0;
			}
			this.sort(sortTable);
		}
		
		Array.prototype.sortLeagueTableNumerical = function(){
			function sortTable(a,b){
				if(a.Points<b.Points)
					return 1;
				else if(a.Points>b.Points)
					return -1;	
				else if (UseDirectComparison && a.Points==b.Points){
					var directcomparison = 0;
					for (var i=0; i<LeagueFixture.length; i++){
						if (LeagueFixture[i].TeamHome.equal(a) && LeagueFixture[i].TeamAway.equal(b)){
							if (parseInt(LeagueFixture[i].ResultHome) < parseInt(LeagueFixture[i].ResultAway) || String(LeagueFixture[i].ResultAway).toLowerCase() == "x"){
								directcomparison++;
							}
							else if (parseInt(LeagueFixture[i].ResultHome) > parseInt(LeagueFixture[i].ResultAway) || String(LeagueFixture[i].ResultHome).toLowerCase() == "x"){
								directcomparison--;
							}
						}
						else if (LeagueFixture[i].TeamHome.equal(b) && LeagueFixture[i].TeamHome.equal(a)){
							if (parseInt(LeagueFixture[i].ResultHome) > parseInt(LeagueFixture[i].ResultAway) || String(LeagueFixture[i].ResultAway).toLowerCase() == "x"){
								directcomparison++;
							}
							else if (parseInt(LeagueFixture[i].ResultHome) < parseInt(LeagueFixture[i].ResultAway) || String(LeagueFixture[i].ResultHome).toLowerCase() == "x"){
								directcomparison--;
							}
						}
					}
					if (directcomparison < -1)
						directcomparison = -1;
					else if (directcomparison > 1)
						directcomparison = 1;
					else if (directcomparison == 0){
						if( (a.GoalsIn-a.GoalsOut) < (b.GoalsIn-b.GoalsOut) )
							return 1;
						else if( (a.GoalsIn-a.GoalsOut) > (b.GoalsIn-b.GoalsOut) )
							return -1;
						else if(a.GoalsIn < b.GoalsIn)
							return 1;
						else if(a.GoalsIn > b.GoalsIn)
							return -1;	
						else 
							return 0;
					}
				}
				
				else if( (a.GoalsIn-a.GoalsOut) < (b.GoalsIn-b.GoalsOut) )
					return 1;
				else if( (a.GoalsIn-a.GoalsOut) > (b.GoalsIn-b.GoalsOut) )
					return -1;
				else if(a.GoalsIn < b.GoalsIn)
					return 1;
				else if(a.GoalsIn > b.GoalsIn)
					return -1;	
				else 
					return 0;	
			}
			var Teams = this;
			Teams.sort(sortTable);
			for (var i=0; i<this.length; i++){
				for (var j=0; j<Teams.length; j++){
					if(this[i].equal(Teams[j])){
						this[i].addPosition( j+1 );
					}
				} 
			}
		}
		
		function setIcon(IMGInfo, IMGClassName) {
			var anIMG = new Image(IMGInfo[1],IMGInfo[2]);
			anIMG.src = IMGInfo[0];
			anIMG.alt = replaceUmlauts(IMGInfo[3],1);
			anIMG.title = replaceUmlauts(IMGInfo[3],1);
			anIMG.className = IMGClassName;
			return anIMG;
		}

		Array.prototype.getIndicesForMatchDayTable = function(day){
			day--;
			var indices = new Object();
			indices.first = 0;
			for (var i=0; i<day; i++)
				indices.first += MatchesPerDay[i];
			indices.last = indices.first + MatchesPerDay[day];
			return indices;
		}

		Array.prototype.createHighScoreTable = function(){
			this.sortLeagueTableNumerical();
			var ContentPanel = document.createElement("div");
			var myTable = document.createElement("table");
			var myTBody = document.createElement("tbody");
			var myTHead = document.createElement("thead");
			var aHeadRow = document.createElement("tr");
			for (var i=0; i<MenuTitle[2].length; i++){
				var aHeadCell = document.createElement("th");
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[2][i], 1)));
				if (i==0){
					aHeadCell.colSpan = 2;
				}
				else if (i==3){
					aHeadCell.colSpan = 3;
				}
				aHeadRow.appendChild(aHeadCell);
			}
			myTHead.appendChild(aHeadRow);
			for (var i=0; i<this.length; i++){
				var aRow = document.createElement("tr");
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode((i+1)));
				aRow.appendChild(aCell);	
				var aCell = document.createElement("td");
				
				if (currentMatchDay>1){
					if (this[i].Positions[currentMatchDay-2] < (i+1))
						aCell.appendChild(setIcon(Picture[3], "LEJS_TableImage"));
					else if (this[i].Positions[currentMatchDay-2] > (i+1))
						aCell.appendChild(setIcon(Picture[1], "LEJS_TableImage"));
					else
						aCell.appendChild(setIcon(Picture[2], "LEJS_TableImage"));
				}
				else 
					aCell.appendChild(setIcon(Picture[2], "LEJS_TableImage"));				
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				if (this[i].equal(FavouriteTeam))
					aCell.className += " favouriteTeam"; 
				aCell.appendChild(document.createTextNode(replaceUmlauts(this[i].Name+" " ,1)));
				if (this[i].WebSite != "") {
					var anIMG = setIcon(Picture[4], "LEJS_URIImg");
					var uri = this[i].WebSite;
					anIMG.onclick = function() { self.location.href = uri; };
					aCell.appendChild(anIMG);
				}

				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].Games));
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].GoalsIn));
				aCell.className = "LEJS_TeamHome noborderright";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(":"));
				aCell.className = "noborderleftright";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].GoalsOut));
				aCell.className = "LEJS_TeamAway noborderleft";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode( (this[i].GoalsIn - this[i].GoalsOut)));
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode( this[i].Points));
				aRow.appendChild(aCell);
				myTBody.appendChild(aRow);
			}
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			
			ContentPanel.appendChild(myTable);
			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";
		}
		
		Array.prototype.createPlayPlanTable = function(Team){
			LeagueTeams.sortLeagueTableAlphabetically();
			var ContentPanel = document.createElement("div");				
			var myTable = document.createElement("table");
			var myTBody = document.createElement("tbody");
			var myTHead = document.createElement("thead");
			var aHeadRow = document.createElement("tr");
			var aHeadCell = document.createElement("th");
			aHeadCell.colSpan = 10;
			aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[0][1]+": "+Team.Name, 1)));
			aHeadRow.appendChild(aHeadCell);
			myTHead.appendChild(aHeadRow);
			var k=0;
			for (var i=0; i<this.length; i++){
				if (Team.equal(this[i].TeamHome) || Team.equal(this[i].TeamAway)){
					var aRow = document.createElement("tr");
					var aHeadCell = document.createElement("th");
					if (k<LeagueTeams.length){
						aHeadCell.appendChild(document.createTextNode(replaceUmlauts(LeagueTeams[k].ShortName, 1)));
						aHeadCell.title = replaceUmlauts(MenuTitle[0][1]+": "+LeagueTeams[k].Name, 1);
						aHeadCell.className = "LEJS_TeamMenu";
						aHeadCell.onclick = function() { LeagueFixture.createPlayPlanTable( LeagueTeams[LeagueTeams.getTeamIndexFromName(replaceUmlauts(this.firstChild.data, 0))] ); };
					}
					else {
						aHeadCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					}
					aRow.appendChild(aHeadCell);
					k++;
					
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(this[i].DateOfGame));
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(this[i].StartTime));
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(replaceUmlauts(this[i].TeamHome.Name, 1)));
					aCell.className = "LEJS_TeamHome noborderright";
					if (!this[i].TeamHome.equal(Team) && this[i].TeamHome.equal(FavouriteTeam))
						aCell.className += " favouriteTeam";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode("-"));
					aCell.className = "noborderleftright";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(replaceUmlauts(this[i].TeamAway.Name, 1)));
					aCell.className = "LEJS_TeamAway noborderleftright";
					if (!this[i].TeamAway.equal(Team) && this[i].TeamAway.equal(FavouriteTeam))
						aCell.className += " favouriteTeam";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					if (this[i].getLink() != "")
						aCell.appendChild(this[i].getLink());
					else
						aCell.appendChild(document.createTextNode(String.fromCharCode(160)));
					aCell.className = "noborderleft";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(this[i].ResultHome));
					aCell.className = "LEJS_TeamHome noborderright";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(":"));
					aCell.className = "noborderleftright";
					aRow.appendChild(aCell);
					var aCell = document.createElement("td");
					aCell.appendChild(document.createTextNode(this[i].ResultAway));
					aCell.className = "LEJS_TeamAway noborderleft";
					aRow.appendChild(aCell);
					myTBody.appendChild(aRow);
				}
			}
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			
			ContentPanel.appendChild(myTable);
			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";
		}
		
		Array.prototype.createMatchDayTable = function(day){
			day = parseInt(day);
			var indices = MatchesPerDay.getIndicesForMatchDayTable(day);
			var FreeTeams = new Array();
			var ContentPanel = document.createElement("div");
			var MatchDaySubMenu = document.createElement("div");
			MatchDaySubMenu.id = "LEJS_SubMenu";
			for (var i=0; i<numberofgames; i++){
				var aSpan = document.createElement("span");
				aSpan.appendChild(document.createTextNode( (i+1) ));
				aSpan.title = replaceUmlauts(MenuTitle[0][0]+": "+(i+1), 1);
				if ((i+1)==day)
					aSpan.className = "LEJS_ChoosedValue";
				aSpan.onclick = function() { LeagueFixture.createMatchDayTable( this.firstChild.data ); };
				MatchDaySubMenu.appendChild(aSpan);
			}
		
			var myTable = document.createElement("table");
			var myTBody = document.createElement("tbody");
			var myTHead = document.createElement("thead");
			var aHeadRow = document.createElement("tr");
			for (var i=0; i<MenuTitle[1].length; i++){
				var aHeadCell = document.createElement("th");
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[1][i], 1)));
				if (i==2){
					aHeadCell.colSpan = 4;
				}
				else if (i==3){
					aHeadCell.colSpan = 3;
				}
				aHeadRow.appendChild(aHeadCell);
			}
			myTHead.appendChild(aHeadRow);

			//for (var i=(day-1)*(this.length/numberofgames); i<day*(this.length/numberofgames); i++){
			for (var i=MatchesPerDay[day-1]; i<MatchesPerDay[day]; i++){
				FreeTeams.push(this[i].TeamHome);
				FreeTeams.push(this[i].TeamAway);
				var aRow = document.createElement("tr");
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].DateOfGame));
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].StartTime));
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(replaceUmlauts(this[i].TeamHome.Name, 1)));
				aCell.className = "LEJS_TeamHome noborderright";
				if (this[i].TeamHome.equal(FavouriteTeam))
					aCell.className += " favouriteTeam";	
				aCell.style.borderRight = "none";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode("-"));
				aCell.className = "noborderleftright";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(replaceUmlauts(this[i].TeamAway.Name, 1)));
				aCell.className = "LEJS_TeamAway noborderleftright";
				if (this[i].TeamAway.equal(FavouriteTeam))
					aCell.className += " favouriteTeam";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				if (this[i].getLink() != "")
					aCell.appendChild(this[i].getLink());
				else
					aCell.appendChild(document.createTextNode(String.fromCharCode(160)));
				aCell.className = "noborderleft";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].ResultHome));
				aCell.className = "LEJS_TeamHome noborderright";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(":"));
				aCell.className = "noborderleftright";
				aRow.appendChild(aCell);
				var aCell = document.createElement("td");
				aCell.appendChild(document.createTextNode(this[i].ResultAway));
				aRow.appendChild(aCell);
				aCell.className = "LEJS_TeamAway noborderleft";
				myTBody.appendChild(aRow);
			}
					
			if ((LeagueTeams.length-FreeTeams.length) != 0){
				var k = 0;
				var p = 0;
				var str = "";
				while (k < LeagueTeams.length && p<(LeagueTeams.length-FreeTeams.length)){ 
					if (FreeTeams.getTeamIndexFromName(LeagueTeams[k].Name) == null){
						str += LeagueTeams[k].Name + ", ";
						p++;
					}
					k++;
				}
				var aRow = document.createElement("tr");
				var aHeadCell = document.createElement("th");
				aHeadCell.colSpan = 9;
				aHeadCell.appendChild(document.createTextNode(replaceUmlauts(MenuTitle[6][2], 1)));
				aRow.appendChild(aHeadCell);
				myTBody.appendChild(aRow);
				
				var aRow = document.createElement("tr");
				var aCell = document.createElement("td");
				aCell.colSpan = 9;
				aCell.appendChild(document.createTextNode(replaceUmlauts(str.substring(0,str.length-2),1)));
				aRow.appendChild(aCell);
				myTBody.appendChild(aRow);
			}
			
			myTable.id = "LEJS_DataTable";
			myTable.appendChild(myTHead);
			myTable.appendChild(myTBody);
			
			ContentPanel.appendChild(MatchDaySubMenu);
			ContentPanel.appendChild(myTable);

			if (typeof(ParentElement.getElementsByTagName("div")[1]) != "undefined" && ParentElement.getElementsByTagName("div")[1].id == "LEJS_ContentPanel"){
				ParentElement.replaceChild(ContentPanel, ParentElement.getElementsByTagName("div")[1]);
			}
			else if (typeof(ParentElement.getElementsByTagName("p")[0]) != "undefined" && ParentElement.getElementsByTagName("p")[0].id == "copyright"){
				ParentElement.insertBefore(ContentPanel, ParentElement.getElementsByTagName("p")[0]);
			}
			ContentPanel.id = "LEJS_ContentPanel";
		}
		
		function trim(string){
			return string.replace(/^\s*|\s*$/g, "");
		}

		function replaceHtml(string) {
			return string.replace (/\<[\/\!]*?[^\<\>]*?\>/g,"");
		}
		
		function getFileFromURI(){
			var HTTP_GET_VAR_Name = "leagueeditor="
			if (window.location.search.length > HTTP_GET_VAR_Name.length) {
				var HTTP_GET_VARS = (window.location.search.substring(1,window.location.search.length)).split("&");
				for (var i=0; i<HTTP_GET_VARS.length; i++){
					if (HTTP_GET_VARS[i].substring(0,HTTP_GET_VAR_Name.length) == HTTP_GET_VAR_Name){
						return HTTP_GET_VARS[i].substring(HTTP_GET_VAR_Name.length,HTTP_GET_VARS[i].length);
					}
				}
			}
			return null;
		}
		
		function initLeagueEditor(){
			uri = (UseHTTP_GET==true)?getFileFromURI():FileName;
			if (typeof(uri) == "undefined" || uri == null || trim(uri) == "") {
				return false;
			}
			uri += FileExtension;
			var request = false;
			var data = null;
			if (typeof(XMLHttpRequest) != "undefined") {
				try {
					request = new XMLHttpRequest();
				} catch(e) {
					request  = false;
				}
			}
			if (!request) {
				try {
					request  = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(e) {
					try {
						request  = new ActiveXObject("Microsoft.XMLHTTP");
					} catch(e) {
						request  = false;
					}
				}
			}

			if (request) {
				request.open('GET', uri+"?"+new Date().getTime(), true);
				request.onreadystatechange = function () {
					if (request.readyState == 4) {	
						ParentElement = document.getElementById("LeagueEditor");
						if (typeof(ParentElement) != "undefined"){
							clearParentNode(ParentElement);
							createLeague(request.responseText);
							createMainMenu();
							iniToolTip();
							LeagueFixture.createMatchDayTable(currentMatchDay);
						}
						else {
							window.alert("ID=\"LeagueEditor\" ist "+typeof(ParentElement));
						}
					}
				};
				request.send(null);
			}
		}
		
		function createLeague(db){
			if (typeof(db) != "undefined") {
				db = trim(replaceHtml(db));
				if (db.length > 0){
					var header = true;
					var rows = db.split("\n");
					if (rows.length > 0){
						for (var i=0; i<rows.length; i++){
							if (trim(rows[i])!=""){
								var columns = rows[i].split(seperator);
								if (columns.length > 0){
									if(columns.length == 5 && header == true) {
										LeagueTeams.push(new TeamClass(columns[0], columns[1], columns[2], columns[3]));
									}
									else if(columns.length == 8 && header == false){
										var index_one = LeagueTeams.getTeamIndexFromName(columns[2]);
										var index_two = LeagueTeams.getTeamIndexFromName(columns[3]);
										if (index_one != null && index_two != null){
											if (!isNaN(parseInt(columns[4])) && !isNaN(parseInt(columns[5])) && parseInt(columns[4]) > parseInt(columns[5])){
												LeagueTeams[index_one].Points += ResultPoints[0];
												LeagueTeams[index_one].addRun(ResultPoints[0]);
												LeagueTeams[index_one].Games += 1;
												LeagueTeams[index_one].Wins += 1;
												LeagueTeams[index_one].WinsHome += 1;
												LeagueTeams[index_one].GoalsIn += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												LeagueTeams[index_one].GoalsOut += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
																									
												LeagueTeams[index_two].Points += ResultPoints[2];
												LeagueTeams[index_two].addRun(ResultPoints[2]);
												LeagueTeams[index_two].Games += 1;
												LeagueTeams[index_two].Lose += 1;
												LeagueTeams[index_two].GoalsIn += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
												LeagueTeams[index_two].GoalsOut += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												currentMatchDay = 0;
											}
											else if (!isNaN(parseInt(columns[4])) && !isNaN(parseInt(columns[5])) && parseInt(columns[4]) < parseInt(columns[5])){
												LeagueTeams[index_one].Points += ResultPoints[2];
												LeagueTeams[index_one].addRun(ResultPoints[2]);
												LeagueTeams[index_one].Games += 1;
												LeagueTeams[index_one].Lose += 1;
												LeagueTeams[index_one].GoalsIn += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												LeagueTeams[index_one].GoalsOut += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
												
												LeagueTeams[index_two].Points += ResultPoints[0];
												LeagueTeams[index_two].addRun(ResultPoints[0]);
												LeagueTeams[index_two].Games += 1;
												LeagueTeams[index_two].Wins += 1;
												LeagueTeams[index_two].WinsAway += 1;
												LeagueTeams[index_two].GoalsIn += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
												LeagueTeams[index_two].GoalsOut += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												currentMatchDay = 0;
											}
											else if (!isNaN(parseInt(columns[4])) && !isNaN(parseInt(columns[5])) && parseInt(columns[4]) == parseInt(columns[5])){
												LeagueTeams[index_one].Points += ResultPoints[1];
												LeagueTeams[index_one].addRun(ResultPoints[1]);
												LeagueTeams[index_one].Games += 1;
												LeagueTeams[index_one].Ties += 1;
												LeagueTeams[index_one].GoalsIn += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												LeagueTeams[index_one].GoalsOut += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
												
												LeagueTeams[index_two].Points += ResultPoints[1];
												LeagueTeams[index_two].addRun(ResultPoints[1]);
												LeagueTeams[index_two].Games += 1;
												LeagueTeams[index_two].Ties += 1;
												LeagueTeams[index_two].GoalsIn += isNaN(parseInt(columns[5]))?0:parseInt(columns[5]);
												LeagueTeams[index_two].GoalsOut += isNaN(parseInt(columns[4]))?0:parseInt(columns[4]);
												currentMatchDay = 0;
											}
											else if (!isNaN(parseInt(columns[4])) && columns[4] == 0 && isNaN(parseInt(columns[5])) && trim(columns[5].toLowerCase()) == "x"){
												LeagueTeams[index_one].Points += ResultPoints[2];
												LeagueTeams[index_one].addRun(ResultPoints[2]);
												LeagueTeams[index_one].Games += 1;
												LeagueTeams[index_one].Lose += 1;
												
												LeagueTeams[index_two].Points += ResultPoints[0];
												LeagueTeams[index_two].addRun(ResultPoints[0]);
												LeagueTeams[index_two].Games += 1;
												LeagueTeams[index_two].Wins += 1;
											}
											else if (isNaN(parseInt(columns[4])) && trim(columns[4].toLowerCase()) == "x" && !isNaN(parseInt(columns[5])) && columns[5] == 0){
												LeagueTeams[index_one].Points += ResultPoints[0];
												LeagueTeams[index_one].addRun(ResultPoints[0]);
												LeagueTeams[index_one].Games += 1;
												LeagueTeams[index_one].Wins += 1;
												
												LeagueTeams[index_two].Points += ResultPoints[2];
												LeagueTeams[index_two].addRun(ResultPoints[2]);
												LeagueTeams[index_two].Games += 1;
												LeagueTeams[index_two].Lose += 1;
											}
											else if (isNaN(parseInt(columns[4])) && isNaN(parseInt(columns[5]))){
												currentMatchDay++;
											}
											MatchesPerDay[MatchesPerDay.length-1] += 1;
											LeagueFixture.push(new FixtureClass(numberofgames, columns[0], columns[1], LeagueTeams[index_one], LeagueTeams[index_two], columns[4], columns[5], columns[6]));
										}
									}
								}
							}
							else{
								if (header==true){
									FavouriteTeam = LeagueTeams[0];
									RandomiseTeam = LeagueTeams[Math.round(1+(LeagueTeams.length-2)*(Math.random()))];
									MatchesPerDay.push(0);
								}
								else {
									LeagueTeams.sortLeagueTableNumerical();
								}
								header = false;
								MatchesPerDay.push(MatchesPerDay[MatchesPerDay.length-1]);
								numberofgames++;
							}
						}
						currentMatchDay = MatchesPerDay.array_search(MatchesPerDay[MatchesPerDay.length-1] - currentMatchDay);
						//currentMatchDay = numberofgames - parseInt(currentMatchDay/(LeagueFixture.length/numberofgames));
						if (currentMatchDay <= 0){
							currentMatchDay = 1;
						}
					}
					if (LeagueTeams.length > 0){
						LeagueTeams.sortLeagueTableNumerical();
					}
					if (LeagueFixture.length > 0){
						var lastMatchDaydate = LeagueFixture[LeagueFixture.length-1].DateOfGame.split(".");
		
						if (lastMatchDaydate[1].substr(0,1) == "0"){
							mm = parseInt(lastMatchDaydate[1].substr(1,2));
						}
				
						else {
							mm = parseInt(lastMatchDaydate[1]);
						}
				
						if (parseInt(lastMatchDaydate[2]) < year){
							yy = parseInt(lastMatchDaydate[2]);
							mm = mm-1;
						}
				
						else if ((parseInt(lastMatchDaydate[2]) == year) && (mm < (month+1))){
							yy = parseInt(lastMatchDaydate[2]);			
							mm = mm-1;	
						}
				
						else {
							yy = year;
							mm = month;
						}
					}
				}
			} 
		}		
		function addContentLoadListener () {
			if (document.addEventListener) {
				var DOMContentLoadFunction = function () {
					isDOMContentLoaded = true;
					initLeagueEditor();
				};
				document.addEventListener("DOMContentLoaded", DOMContentLoadFunction, false);
			}
			var oldonload = (window.onload || new Function());
			window.onload = function () {
				if (!isDOMContentLoaded) {
					oldonload();
					initLeagueEditor();
				}
			};
		}
		addContentLoadListener();