﻿var objConfiguratie = null;
var eCompetitieType = { Veld: 0, Zaal: 1 };
var eSorteerVolgorde = { Datum: 0, Team: 1 };
var eOrientatie = { Verticaal: 0, Horizontaal: 1 };
var blnCorrect = true;
var objXmlRequest;

Overloader = function() {
	var f = function(args) {
		var i, l, h = "", empty = {};
		for (i = -1, l = (args = [].slice.call(arguments)).length; ++i < l; )
			args[i] !== undefined && args[i] !== null ? h += args[i].constructor : empty[i] = 1;
		if (!(h = f._methods[h])) {
			var x, j, k, m = -1;
			for (i in f._methods) {
				for (k = 0, j = -1, l = Math.max(args.length, x = f._methods[i][1]); ++j < l;
                    !empty[j] && (args[j] instanceof x[j] || args[j].constructor == x[j]) && ++k);
				k > m && (h = f._methods[i], m = k);
			}
		}
		return h ? h[0].apply(f, args) : undefined;
	};
	f._methods = {};
	f.overload = function(f, args) {
		this._methods[(args = [].slice.call(arguments, 1)).join("")] = [f, args];
	};
	f.unoverload = function(args) {
		return delete this._methods[[].slice.call(arguments).join("")];
	};
	return f;
};

function ToonData(strURL) {
	// code for Mozilla, etc. 
	if (window.XMLHttpRequest) {
		objXmlRequest = new XMLHttpRequest();
		objXmlRequest.open("GET", "/Data/KNKVCompetitie.aspx?URL=" + escape(strURL), false);
		objXmlRequest.send(null);

	}
	// code for IE 6 and lower
	else if (window.ActiveXObject) {
		objXmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
		if (objXmlRequest) {
			objXmlRequest.open("GET", "/Data/KNKVCompetitie.aspx?URL=" + escape(strURL), false);
			objXmlRequest.send();
		}
	}
	if ((objXmlRequest.readyState == 4) && (objXmlRequest.status == 200)) {
		document.write(objXmlRequest.responseText);
	}
	else {
		document.write("Er is een fout opgetreden (" + objXmlRequest.status + ").<br>");
	}
}

function KNKVConfiguratie(strVerenigingID) {
	this.VerenigingID = strVerenigingID;
}

function KNKVInit(strVerenigingID) {
	if (objConfiguratie == null) {
		objConfiguratie = new KNKVConfiguratie(strVerenigingID);
	}
	else {
		document.write("U mag KNKVInit maar één keer aanroepen.<br>");
		blnCorrect = false;
	}
}

KNKVGeefStand = new Overloader();

KNKVGeefStand.overload(function KNKVGeefStand(strTeamNaam, CompetitieType, blnToonLegenda) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("StandF.aspx?V=" + objConfiguratie.VerenigingID + "&T=" + strTeamNaam + "&P=0&C=" + CompetitieType + "&L=" + ((blnToonLegenda) ? 1 : 0));
		}
	}
}, String, Number, Boolean);


KNKVGeefStand.overload(function KNKVGeefStand(strTeamNaam, intPouleID, CompetitieType, blnToonLegenda) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("StandF.aspx?V=" + objConfiguratie.VerenigingID + "&T=" + strTeamNaam + "&P=" + intPouleID + "&C=" + CompetitieType + "&L=" + ((blnToonLegenda) ? 1 : 0));
		}
	}
}, String, Number, Number, Boolean);


KNKVGeefTeamUitslagen = new Overloader();

KNKVGeefTeamUitslagen.overload(function KNKVGeefTeamUitslagen(strTeamNaam, CompetitieType) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("UitslagenF.aspx?V=" + objConfiguratie.VerenigingID + "&W=0&T=" + strTeamNaam + "&P=0&O=0&C=" + CompetitieType);
		}
	}
}, String, Number);

KNKVGeefTeamUitslagen.overload(function KNKVGeefTeamUitslagen(strTeamNaam, intPouleID, CompetitieType) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("UitslagenF.aspx?V=" + objConfiguratie.VerenigingID + "&W=0&T=" + strTeamNaam + "&P=" + intPouleID + "&O=0&C=" + CompetitieType);
		}
	}
}, String, Number, Number);

KNKVGeefVerenigingUitslagen = new Overloader();

KNKVGeefVerenigingUitslagen.overload(function KNKVGeefVerenigingUitslagen(intWeekNr, CompetitieType, SorteerVolgorde) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("UitslagenF.aspx?V=" + objConfiguratie.VerenigingID + "&W=" + intWeekNr + "&T=V&P=-1&&O=" + SorteerVolgorde + "&C=" + CompetitieType);
		}
	}
}, Number, String, Number, Number);

KNKVGeefTeamProgramma = new Overloader();

KNKVGeefTeamProgramma.overload(function KNKVGeefTeamProgramma(strTeamNaam, CompetitieType, Orientatie) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("ProgrammaF.aspx?V=" + objConfiguratie.VerenigingID + "&W=0&T=" + strTeamNaam + "&P=0&O=0&C=" + CompetitieType + "&H=" + Orientatie);
		}
	}
}, String, Number, Number);

KNKVGeefTeamProgramma.overload(function KNKVGeefTeamProgramma(strTeamNaam, intPouleID, CompetitieType, Orientatie) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("ProgrammaF.aspx?V=" + objConfiguratie.VerenigingID + "&W=0&T=" + strTeamNaam + "&P=" + intPouleID + "&O=0&C=" + CompetitieType + "&H=" + Orientatie);
		}
	}
}, String, Number, Number, Number);

KNKVGeefVerenigingProgramma = new Overloader();

KNKVGeefVerenigingProgramma.overload(function KNKVGeefVerenigingProgramma(intWeekNr, CompetitieType, SorteerVolgorde, Orientatie) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("ProgrammaF.aspx?V=" + objConfiguratie.VerenigingID + "&W=" + intWeekNr + "&T=V&P=-1&&O=" + SorteerVolgorde + "&C=" + CompetitieType + "&H=" + Orientatie);
		}
	}
}, Number, Number, Number, Number);

KNKVGeefVerenigingScheidsrechterProgramma = new Overloader();

KNKVGeefVerenigingScheidsrechterProgramma.overload(function KNKVGeefVerenigingScheidsrechterProgramma(Orientatie) {
	if (blnCorrect) {
		if (objConfiguratie == null) {
			document.write("U moet als eerste KNKVInit aanroepen.<br>");
		}
		else {
			ToonData("ScheidsrechterProgrammaF.aspx?V=" + objConfiguratie.VerenigingID + "&H=" + Orientatie);
		}
	}
},Number);

