/*
 * fussballdeAPI
 */

var egmWidgetUrl = 'http://www.fussball.de/widget';
var egmWidgetActionUrl = 'http://www.fussball.de/widget.action';

var fbdeAPISchluessel = "";
var fbdeAPItransportKey = "";
var fbdeAPIalertDone = 0;
var fbdeAPIScripts = document.getElementsByTagName("script");

for (var i = fbdeAPIScripts.length -1; i >= 0; i--) {

	if (fbdeAPIScripts[i].src /*&& fbdeAPIScripts[i].src.match(/(\/export\.widget\.js\/-)(\/js\/fbdeAPIFunctions\.js)(\/js\/egmWidget\.js)[\/\?]schluessel[\/=]([^\/&\?\n]*)/)*/) {
		var tmp = fbdeAPIScripts[i].src.match(/\/export\.widget\.js\/-\/schluessel\/([^\/\?\n]*)/);
		if (tmp) {
			fbdeAPISchluessel = tmp[1];
			break;
		}
		tmp = fbdeAPIScripts[i].src.match(/\/js\/fbdeAPIFunctions\.js\?schluessel=([^\/&\?\n]*)/);
		if (tmp) {
			fbdeAPISchluessel = tmp[1];
			break;
		}
		tmp = fbdeAPIScripts[i].src.match(/\/js\/egmWidget\.js\?schluessel=([^\/&\?\n]*)/);
		if (tmp) {
			fbdeAPISchluessel = tmp[1];
			break;
		}
	}
}

var referer = '';
if(location.host){
	referer = encodeURIComponent(location.host);
}else{
	referer = 'unknown';
}



document.write('<script type="text/javascript" src="' + egmWidgetActionUrl + '/-/action/TransportKey/schluessel/' + fbdeAPISchluessel + "/refdata/" + referer + '"><\/script>');


fussballdeAPI = function() {
	var D = new Object();
	var C = new Object();
	var B = "";
	var A = "";

	var W = "";
	var M = "";
	if (fbdeAPItransportKey == "" && fbdeAPIalertDone == 0) {
		var msg = "Der auf dieser Seite verwendete Schlüssel wurde für eine andere Webseite registriert. Du kannst einen neuen Schlüssel für diese Webseite unter http://www.fussball.de/ generieren.";
		alert(msg);
		console.log(msg);
		fbdeAPIalertDone = 1
	}
	D.setzeSaison = function(E) {
		B = E;
		B = B.replace(/\//, "")
	};
	D.setzeWettbewerbID = function(E) {
		A = E
	};
	D.setzeWettbewerb = function(E) {
		W = E
	};
	D.setzeMandant = function(E) {
		M = E
	};
	D.zeigeWettbewerb = function(E) {
		if (fbdeAPItransportKey != "") {
			if (document.getElementById(E)) {
				if (W != "" && M != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/mandant/" + M
						+ "/staffel/" + W
						+ "/view/fixtures"
						+ "/target/" + E;
					createIFrame(E, src);

				} else if (B != "" && A != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/saison/" + B
						+ "/division-number/" + A
						+ "/view/fixtures"
						+ "/target/" + E;
					createIFrame(E, src);

				} else if (W != "") {

					var src = egmWidgetUrl + "/-"
				    	+ "/tk/" + fbdeAPItransportKey
				    	+ "/staffel/" + W
				    	+ "/view/fixtures"
				    	+ "/target/" + E;
					createIFrame(E, src);

				} else {
					if(W == ""){
						alert("Wettbewerb muss angegeben werden.");
					} else {
						if (B == "" && A == "") {
							alert("Saison und WettbewerbID müssen angegeben werden.")
						} else {
							if (B == "") {
								alert("Die Saison muss angegeben werden.")
							} else {
								if (A == "") {
									alert("Die WettbewerbID muss angegeben werden.")
								}
							}
						}
					}
				}
			} else {
				alert("Der angegebene DIV mit der ID " + E
						+ " zur Ausgabe existiert nicht.")
			}
		}
	};
	D.zeigeBegegnungen = function(E) {
		if (fbdeAPItransportKey != "") {
			if (document.getElementById(E)) {
				if (W != "" && M != "") {
					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/mandant/" + M
						+ "/staffel/" + W
						+ "/view/fixtures"
						+ "/target/" + E;
					createIFrame(E, src);

				} else if (B != "" && A != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/saison/" + B
						+ "/division-number/" + A
						+ "/view/fixtures"
						+ "/target/" + E;
					createIFrame(E, src);

				} else if (W != "") {
					var src = egmWidgetUrl + "/-"
				    	+ "/tk/" + fbdeAPItransportKey
				    	+ "/staffel/" + W
				    	+ "/view/fixtures"
				    	+ "/target/" + E;
					createIFrame(E, src);

				} else {
					if(W == ""){
						alert("Wettbewerb muss angegeben werden.");
					} else {
						if (W == "" && M == "") {
							alert("Mandant und Wettbewerb müssen angegeben werden.")
						} else {
							if (M == "") {
								alert("Der Mandant muss angegeben werden.")
							} else {
								if (W == "") {
									alert("Der Wettbewerb muss angegeben werden.")
								}
							}
						}
					}
				}
			} else {
				alert("Der angegebene DIV mit der ID " + E
						+ " zur Ausgabe existiert nicht.")
			}
		}
	};
	D.zeigeTabelle = function(E) {
		if (fbdeAPItransportKey != "") {
			if (document.getElementById(E)) {
				if (W != "" && M != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/mandant/" + M
						+ "/staffel/" + W
						+ "/view/table"
						+ "/target/" + E;
					createIFrame(E, src);


				} else if (B != "" && A != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/saison/" + B
						+ "/division-number/" + A
						+ "/view/table"
						+ "/target/" + E;
					createIFrame(E, src);

				} else if (W != "") {

					var src = egmWidgetUrl + "/-"
					    + "/tk/" + fbdeAPItransportKey
						+ "/staffel/" + W
						+ "/view/table"
						+ "/target/" + E;
					createIFrame(E, src);

				} else {
					if(W == ""){
						alert("Wettbewerb muss angegeben werden.");
					} else {
						if (W == "" && M == "") {
							alert("Mandant und Wettbewerb müssen angegeben werden.")
						} else {
							if (M == "") {
								alert("Der Mandant muss angegeben werden.")
							} else {
								if (W == "") {
									alert("Der Wettbewerb muss angegeben werden.")
								}
							}
						}
					}
				}
			} else {
				alert("Der angegebene DIV mit der ID " + E
						+ " zur Ausgabe existiert nicht.")
			}
		}
	};
	window.addEventListener("message", receiveMessage, false);
	function receiveMessage(event)
	{
	  /*if (event.origin.indexOf("fussball.de") === -1)
	    return;*/
	  if (event.data.type === 'setHeight'){
	    document.querySelectorAll('#' + event.data.container + ' iframe')[0].setAttribute('height', event.data.value + 'px');
	  }
	}
	return D
};


function createIFrame(parentId, src){
	var parent = document.getElementById(parentId);
	var iframe = document.createElement('iframe');
	iframe.frameBorder=0;
	iframe.setAttribute("src", src);
	iframe.setAttribute("scrolling", "no");
	iframe.setAttribute("width", "494px");
	iframe.setAttribute("height", "500px");
	iframe.setAttribute("style", "border: 1px solid #CECECE;");
	parent.innerHTML="";
//	while (parent.firstChild) {
//	    parent.removeChild(C.firstChild);
//	}
	parent.appendChild(iframe);
}
