//<![CDATA[


var stadiumDataArr = new Object();
var msgdetail = '';
var stadiondetailtext = '';
var map = null;



var handleSuccess = function(type, data, evt){
	//alert('succ: '+data);
	if(data !== undefined){
		// Daten analysieren
		stadiumDataArr = splitData(data, stadiumDataArr);
	   	//var map = null;
	   	if (stadiumDataArr["sta.no"]==1) {
	   			map = initMap(stadiumDataArr["sta.gb.1"], stadiumDataArr["sta.gl.1"], 16, map);
   		        stadescr.innerHTML = buildStadionDescr(stadiumDataArr, 1);
		        route.innerHTML = showRouteForm(1);
		        displayGames(stadiumDataArr["sta.id.1"]);
	   	} else {
		   		map = initMap(51.19, 9.25, 6, map);
		 	}
		 	
		 //	alert('init done 1111');
	   	
		var stoutname = '';
		var stoutnameshort = '';
		list.innerHTML = '';
		var unc = 0;
		for (var i = 1; i <= stadiumDataArr["sta.no"]; ++i) {
			//alert('stadiumDataArr: '+stadiumDataArr["sta.gl."+i]);
			if (stadiumDataArr["sta.ort."+i]!="") {
				createMarker(stadiumDataArr["sta.gb."+i], stadiumDataArr["sta.gl."+i], map, createStadionMsg(stadiumDataArr, i));
				msgdetail = 'Detailansicht des Stadions<br>';
    				stoutnameshort += "<li><a href=\"javascript:loadstadionpar(stadiumDataArr, "+stadiumDataArr["sta.id."+i]+", "+i+", '')\">";
    				stoutnameshort += stadiumDataArr["sta.plz."+i]+" "+stadiumDataArr["sta.ort."+i]+": "+stadiumDataArr["sta.name."+i];
    				stoutnameshort += "</a>";
    				if (stadiumDataArr["sta.status."+i]!=0) {
    					unc++;
	    				stoutnameshort += " (unconfirmed)";
    				}
			}
		}  
		if (unc>0) {
			stoutnameshort += "<hr>'unconfirmed' bedeutet: Stadion ist von anonymen Nutzer eingegeben worden und noch nicht von Admins geprüft worden";
		}
		if (stadiumDataArr["sta.no"]=='' || stadiumDataArr["sta.no"]==0) {
			stoutnameshort = 'Es ist dieser Liga bisher kein Stadion zugeordnet. Möglicherweise auch kein Spielplan aus dem die Stadien hervorgehen!<p>';
			stoutnameshort += "<p><a href=http://www.tabellator.de target=_blank>Bitte bei tabellator.de einloggen und Spielplan, Stadien anlegen.</a><p>Vielen Dank!";
		} else {
			stoutnameshort += "<hr noshade size=-1>Fehlt ein Stadion?<br><a href=http://www.tabellator.de target=_blank>Bitte bei tabellator.de einloggen und Stadion im Liga-Spielplan zuordnen.</a><p>Vielen Dank!";
		}
		list.innerHTML = stoutnameshort;//'g: '+stadiumDataArr["sta.no"];
	}		
}


function splitData(data, dataArray){
	if(data !== undefined){
		// Daten analysieren
		var linien = data.split("\n");
		for (var i = 0; i < linien.length; ++i) {
			// item ist der = gesplittete string-array
			var item = linien[i].split("=");
		  	var key = item.shift();
			dataArray[key] = item.join("=");
  		}
	}
	return dataArray;	
}


var handleFailure = function(o){
	//alert('handleFailure');
	var innerHTML = '';
	if(o.responseText !== undefined){
		innerHTML = "<li>Transaction id: " + o.tId + "</li>";
		innerHTML += "<li>HTTP status: " + o.status + "</li>";
		innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	}
	alert(innerHTML);
}


function displayGames(stadionid) {
	var gameUrl = sUrlSpiele + stadionid;
	//alert(gameUrl);	
	makeRequestGamelist(gameUrl);
}

function makeRequestGamelist(dataurl){
	//alert('makeRequestGamelist: '+dataurl);
	// IE: Extras > Internetoptionen > Temp. Internetdateien > Einstellungen > Bei jedem Zugriff
	// Dann aktualisiert IE auch!!! Sonst nicht!!!
	dojo.io.bind({
			url: dataurl,
			load: function(type, data, evt){ handleSuccessGames(type, data, evt); },
    			error: function(type, error){ handleFailure(error); },
    			mimetype: "text/plain"
	});
}


var handleSuccessGames = function(type, data, evt){
	//alert(data);
 	if(data !== undefined){
		// Daten analysieren
		var gameDataArr = new Object();
		gameDataArr = splitData(data, gameDataArr);
  		
		var gooutname = '';
		var an = 0;
		for (var i = 1; i <= gameDataArr["gam.no"]; ++i) {
			if (gameDataArr["gam.id."+i]>0) {
				gooutname += "<li>";
				if (gameDataArr["gam.scoreguest."+i]>-1) {
					gooutname += gameDataArr["gam.date."+i] + " ";
				}
				gooutname += gameDataArr["gam.tnh."+i]+" - "+gameDataArr["gam.tng."+i]+ " ";
				gooutname += "<a href=http://www.soccermagazin.de/tm/feed.php?type=game&lgeid="+gameDataArr["gam.lge_id."+i];
				gooutname += "&season="+gameDataArr["gam.sea_id."+i]+"&gameid="+gameDataArr["gam.id."+i]+" target=_blank>";
				if (gameDataArr["gam.scoreguest."+i]>-1) {
					gooutname += gameDataArr["gam.scorehome."+i]+" - "+gameDataArr["gam.scoreguest."+i]+ " ";
					if (gameDataArr["gam.scorehomehz."+i]>-1) {
						gooutname += "("+gameDataArr["gam.scorehomehz."+i]+" - "+gameDataArr["gam.scoreguesthz."+i]+ ")";
					}
					//gooutname += "("+gameDataArr["gam.scorehomehz."+i]+" - "+gameDataArr["gam.scoreguesthz."+i]+ ")";
				} else {
					gooutname += gameDataArr["gam.date."+i];
				}
				gooutname += "</a></li>";
				an++;
			}
		}  
		
		/*
		var sname1 = '<b>' + gameDataArr["sta.name"] + '</b><br>';
		sname1 += gameDataArr["sta.str"] + ', ' + gameDataArr["sta.plz"] + ' ' + gameDataArr["sta.ort"] + '<br>';
		sname1 += 'Link auf diese Seite: ' + '<br>';
		var li2s = 'http://SoccerMagazin.de/ajax/stadion/index.php?stadium='+gameDataArr["sta.id"];
		sname1 += '<a href='+li2s+' target=_blank>'+li2s+'</a><p>';
		*/
		gooutname = '<b>' + an +' Spiele in diesem Stadion:</b><ul>' + gooutname;
		gooutname += "</ul><hr>";
		if (an>0) {
			games.innerHTML = gooutname;//'g: '+stadiumDataArr["sta.no"];
		} else {
			games.innerHTML = "Bisher kein Spiel in diesem Stadion bei tabellator.de eingetragen. <a href=http://www.tabellator.de target=_blank>Eintragen!</a><hr>";
		}
	}
}



	function makeRequestStadionlist(dataurl){
		//alert('makeRequestStadionlist: '+dataurl);
		// IE: Extras > Internetoptionen > Temp. Internetdateien > Einstellungen > Bei jedem Zugriff
		// Dann aktualisiert IE auch!!! Sonst nicht!!!
		dojo.io.bind({
			url: dataurl,
			load: function(type, data, evt){ handleSuccess(type, data, evt); },
    			error: function(type, error){ handleFailure(error); },
    			mimetype: "text/plain"
		});
		//alert('makeRequestStadionlist res');
	}


function showRouteForm(i){
	var routeSrc = 'http://www.de.map24.com/source/link2map/v2.0.0/cnt_pick_code.php?linksection=linkdestroute&lid=e8330bf1&ol=de-de&dstreet=';
	routeSrc += encodeURI(stadiumDataArr["sta.str."+i])+"&dzip="+encodeURI(stadiumDataArr["sta.plz."+i])+"&dcity="+encodeURI(stadiumDataArr["sta.ort."+i])+'&dstate=&dcountry=de&';
	routeSrc += 'ddescription='+encodeURI(stadiumDataArr["sta.name."+i]+"<br>"+stadiumDataArr["sta.plz."+i]+" "+stadiumDataArr["sta.ort."+i]+"<br>"+stadiumDataArr["sta.str."+i]);
	//alert('h: '+routeSrc);
	var route = '<iframe width=\"200\" height=\"300\" scrolling=\"no\" frameborder=\"0\" src=\"'+routeSrc+'\"></iframe>\n';
	
	
	/*
	var wetter = '<iframe width="149" height="155" marginheight="0" marginwidth="0" frameborder="0" src="';
	wetter += 'http://www.wetteronline.de/cgi-bin/homecif?WMO=10866&PLZN='+encodeURI(stadiumDataArr["sta.ort."+i])+'&L=de';
	wetter += '"></iframe>';
	route += wetter;
	*/
	
	return route;
}


function buildStadionDescr(stadiumDataArr, i) {
	var txt = " <b>"+stadiumDataArr["sta.name."+i]+"</b><br>";
	if (stadiumDataArr["sta.str."+i]!="") {
    		txt += stadiumDataArr["sta.str."+i]+", ";
    	}
    	txt += stadiumDataArr["sta.plz."+i]+" "+stadiumDataArr["sta.ort."+i]+"<br>";
     	if (stadiumDataArr["sta.size."+i]!=0) {
    		txt += ""+ stadiumDataArr["sta.size."+i]+" Zuschauer<br>";
    	}
	txt += "<a href=\"javascript:zoomedMap("+stadiumDataArr["sta.gb."+i]+", "+stadiumDataArr["sta.gl."+i]+", 10);\">Regionale Übersicht</a>";

	var li2s = 'http://SoccerMagazin.de/ajax/stadion/index.php?stadium='+stadiumDataArr["sta.id."+i];
	txt += '<p>Link auf diese Seite:<br><a href='+li2s+' target=_blank>'+li2s+'</a><p>';
	if (stadiumDataArr["sta.descr."+i]!="") {
		txt += stadiumDataArr["sta.descr."+i] + '<br>';
	}
	if (stadiumDataArr["sta.auto."+i]!="") {
		txt += stadiumDataArr["sta.auto."+i] + '<br>';
	}
	if (stadiumDataArr["sta.opnv."+i]!="") {
		txt += stadiumDataArr["sta.opnv."+i] + '<br>';
	}
	return txt;
}

function loadstadionpar(stadiumDataArr, staid, i, zoom) {
    	var zoomfac = 16;
    	if (zoom!='') { zoomfac = zoom; }
    	var lat = stadiumDataArr["sta.gb."+i];
    	var lon = stadiumDataArr["sta.gl."+i];
  	 map = initMap(lat, lon, zoomfac, map);

	/*
	var txt = " <b>"+stadiumDataArr["sta.name."+i]+"</b><br>";
	if (stadiumDataArr["sta.str."+i]!="") {
    		txt += stadiumDataArr["sta.str."+i]+", ";
    	}
    	txt += stadiumDataArr["sta.plz."+i]+" "+stadiumDataArr["sta.ort."+i]+"<br>";
     	if (stadiumDataArr["sta.size."+i]!=0) {
    		msg += ""+ stadiumDataArr["sta.size."+i]+" Zuschauer<br>";
    	}
	txt += "<a href=\"javascript:zoomedMap("+stadiumDataArr["sta.gb."+i]+", "+stadiumDataArr["sta.gl."+i]+", 10);\">Regionale Übersicht</a>";

	var li2s = 'http://SoccerMagazin.de/ajax/stadion/index.php?stadium='+stadiumDataArr["sta.id."+i];
	txt += '<p>Link auf diese Seite: <a href='+li2s+' target=_blank>'+li2s+'</a>';
	txt += '<p>' + stadiumDataArr["sta.name.1"];
	*/
      createMarker(lat, lon, map, buildStadionDescr(stadiumDataArr, i));
   displayGames(staid);
   stadescr.innerHTML = buildStadionDescr(stadiumDataArr, i);
        route.innerHTML = showRouteForm(i);
    }


     function zoomedMap(lat, lon, zoom) {
//alert('zoomedmap');
			 map = initMap(lat, lon, zoom, map);
 	for (var i = 1; i <= stadiumDataArr["sta.no"]; ++i) {
		//alert('stadiumDataArr: '+stadiumDataArr["sta.gl."+i]);
		createMarker(stadiumDataArr["sta.gb."+i], stadiumDataArr["sta.gl."+i], map, createStadionMsg(stadiumDataArr, i));
	}  
	games.innerHTML = '';
  	
     }

     function initMap(lat, lon, zoom, mapHandle) {
     if (!mapHandle) {
  	 map = new GMap2(document.getElementById("map"));
  	 }
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl(),
               new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10, 10)));
// alert('addControl-pre');
      //map.addControl(new GOverviewMapControl());
  //alert('addControl-after');
  	map.setCenter(new GLatLng(lat, lon), zoom, G_HYBRID_MAP);
    	return map;
     }
              

     function buildFirstMapMap(mapHandle) {
  //	alert('buildFirstMapMap');

return initMap(51.19, 9.25, 6, mapHandle);
     }




   function loadlgestadien(seaid, lgeid) {
   	//## ajax-request für liste der ligenstadien
   	stadiumDataArr = [];
	sUrl = sUrlLeagueStadien + "?t%3Dlge%26sea%3D"+seaid+"%26lge%3D"+lgeid+"%26f%3Dhtml";
	//alert("sUrl: "+sUrl);
	makeRequestStadionlist(sUrl);
   	
   	//## karte zeichen
   	map = buildFirstMapMap(map);
 		for (var i = 1; i <= stadiumDataArr["sta.no"]; ++i) {
			//alert('stadiumDataArr: '+stadiumDataArr["sta.gl."+i]);
			createMarker(stadiumDataArr["sta.gb."+i], stadiumDataArr["sta.gl."+i], map, createStadionMsg(stadiumDataArr, i));
		}  
    	
    }



   function loadstadien() {
   	loadstadienwithurl(sUrlAll);
    }


   function loadsinglestadion(stadionid) {
   	stadiumDataArr = [];
	makeRequestStadionlist(sUrlSingle + stadionid);
	games.innerHTML = '';
    }


   function loadstadienwithurl(stadienurl) {
   	stadiumDataArr = [];
	makeRequestStadionlist(stadienurl);
   	map = buildFirstMapMap(map);
 	for (var i = 1; i <= stadiumDataArr["sta.no"]; ++i) {
		//alert('stadiumDataArr: '+stadiumDataArr["sta.gl."+i]);
		createMarker(stadiumDataArr["sta.gb."+i], stadiumDataArr["sta.gl."+i], map, createStadionMsg(stadiumDataArr, i));
	}  
	games.innerHTML = '';
    }


    function createStadionMsg(stadiumDataArr, i) {
   	var msg = " <b>"+stadiumDataArr["sta.name."+i]+"</b><br>";
    	msg += stadiumDataArr["sta.str."+i]+", "+stadiumDataArr["sta.plz."+i]+" "+stadiumDataArr["sta.ort."+i]+"<br>";
     	if (stadiumDataArr["sta.size."+i]!=0) {
    		msg += ""+ stadiumDataArr["sta.size."+i]+" Zuschauer<br>";
    	}
  	msg += "<a href=\"javascript:displayGames("+stadiumDataArr["sta.id."+i]+");\">Spiele in diesem Stadion</a><p>";

	msg += "<a href=\"javascript:zoomedMap("+stadiumDataArr["sta.gb."+i]+", "+stadiumDataArr["sta.gl."+i]+", 10);\">Regional heranzoomen</a> | ";

	stadiondetailtext = stadiumDataArr["sta.ort."+i];
	//msg += "<a href=\"javascript:loadstadion("+stadiumDataArr["sta.id."+i]+","+stadiumDataArr["sta.gb."+i]+", "+stadiumDataArr["sta.gl."+i]+", 'Detailansicht des Stadions<br>"+stadiondetailtext+"', '');\">Zoom auf das Spielfeld</a>";

	msg += "<a href=\"javascript:loadstadionpar(stadiumDataArr,"+stadiumDataArr["sta.id."+i]+","+i+", 16);\">Zoom auf das Spielfeld</a>";
     	return msg;
    }

    function createMarker(lat, lon, map, name) {
    	var outHTML = "" + name;
	var point = new GLatLng(lat, lon);
	var marker = new GMarker(point);
	map.addOverlay(marker);
   	GEvent.addListener(marker, "click",
    		function () {
    			marker.openInfoWindowHtml(outHTML);
    		}
    	);
    	return true;
    }
    
function searchStadium(sUrl) {
	searchStadiumParam(sUrl, document.sstadion.sstadion.value);
}

function searchStadiumParam(sUrl, sv) {
	//sUrlSearch += "%26search%3D"+ escape(sv);
	//alert('searchStadium: '+ encodeURI(sUrlSearch));
	//loadstadienwithurl(sUrlSearch);
	searchStadiumPattern(sUrl, '', sv);
}

function searchStadiumPattern(sUrl, pattern, sv) {
	var sUrlSearch1 = sUrlSearch + "%26search%3D"+ escape(sv)+"%26pat%3D"+pattern;
	//alert('searchStadium: '+ encodeURI(sUrlSearch));
	loadstadienwithurl(sUrlSearch1);
}


    //]]>