"use strict"; var pCfg = (function() { var _displayGeneric = function(cur) {return '<td>' + (cur.Gew1 !== ''?'<span data-wedid="' + cur.ID + '" style="cursor:pointer;font-weight:bold;color:red">+</span>':'') + '</td>' + ksLib.td(ksLib.dutchDateFormat(cur.Datum)) + ksLib.td(cur.CNaam1 + ' ' + cur.PNaam1) + ksLib.td(cur.CNaam2 + ' ' + cur.PNaam2) + ksLib.td(cur.Gew1, 'right') + ksLib.td(cur.Gew2, 'right') + ksLib.td(cur.P1, 'right') + ksLib.td(cur.P2, 'right')}; var _GVPP = '<th style="text-align:right">G</th><th style="text-align:right">V</th><th style="text-align:right">+P</th><th style="text-align:right">-P</th>'; var _seperatorRowGeneric = '<tr style="background-color:salmon"><td colspan="8"></td></tr>'; var outputContainer = 'ks_hoofdcontainer'; var clubsContainer = 'p_Clubs'; var ploegenContainer = 'p_Ploegen'; var afdelingenContainer = 'p_Afdelingen'; var baseDir = 'php'; var loadMsg = 'Gegevens worden geladen. Even geduld aub.'; var Ads = [['reclames/1.jpg', 'http://members.ziggo.nl/clarijs/bcm/', 30], ['reclames/2.png', 'http://www.expert.nl/nijverdal', 150], ['reclames/3.jpg', 'http://www.billardfabriekjanbrock.nl/', 30], ['reclames/4.png', 'http://www.autoschadekelder.nl/', 30], ['reclames/5.png', 'http://www.bramerbv.nl/', 30], ['reclames/6.png', 'http://www.ijsclubeendracht.nl', 30], ['reclames/7.png', '', 30], ['reclames/8.png', '', 30], ['reclames/9.png', '', 30], ['reclames/10.png', '', 30]]; Ads = ksLib.listExpanded(Ads); var WedstrAfdWeek = {source:function(arr) {return arr .filter(function(cur) { return (cur.AfdelingNaam === ksLib.htmlSanitize(pSrvData.AfdelingNaam) || pSrvData.AfdelingNaam === '*'); }) .sort(function(a, b) { if (parseInt(a.NR, 10) > parseInt(b.NR, 10)) return 1; if (parseInt(a.NR, 10) < parseInt(b.NR, 10)) return -1; if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { if (prv.NR !== cur.NR) return 1; if (ksLib.weekStart(prv.Datum.slice(0, 10), 1) < ksLib.weekStart(cur.Datum.slice(0, 10), 1)) return 2; return -1; }, headers:['<table><tbody>', function(cur) {return '<tr><th colspan="4" style="text-align:center">' + cur.AfdelingNaam + '</th>' + _GVPP + '</tr>'}], footers:['</tbody></table>', '', _seperatorRowGeneric], display:function(cur) {return '<tr>' + _displayGeneric(cur) + '</tr>'} }; var WedstrWeekAfd = {source:function(arr) {return arr.sort(function(a, b) { var tmpWS1 = ksLib.weekStart(a.Datum.slice(0, 10), 1), tmpWS2 = ksLib.weekStart(b.Datum.slice(0, 10), 1); if (tmpWS1 > tmpWS2) return 1; if (tmpWS1 < tmpWS2) return -1; if (parseInt(a.NR, 10) > parseInt(b.NR, 10)) return 1; if (parseInt(a.NR, 10) < parseInt(b.NR, 10)) return -1; if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { if (ksLib.weekStart(prv.Datum.slice(0, 10), 1) < ksLib.weekStart(cur.Datum.slice(0, 10), 1)) return 1; if (prv.NR !== cur.NR) return 2; return -1; }, headers:['<table><tbody>', '', function(cur) {return '<tr><th colspan="4" style="text-align:center">' + cur.AfdelingNaam + '</th>' + _GVPP + '</tr>'}], footers:['</tbody></table>', _seperatorRowGeneric], display:function(cur) {return '<tr>' + _displayGeneric(cur) + '</tr>'} }; var WedstrPlg = {source:function(arr) {return arr .filter(function(cur) { return (ksLib.htmlSanitize(pSrvData.CNaam) === cur.CNaam1 && (ksLib.htmlSanitize(pSrvData.PNaam) === cur.PNaam1 || pSrvData.PNaam === '*') || (ksLib.htmlSanitize(pSrvData.CNaam) === cur.CNaam2 && (ksLib.htmlSanitize(pSrvData.PNaam) === cur.PNaam2 || pSrvData.PNaam === '*'))); }) .sort(function(a, b) { if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { return -1; }, headers:[function(cur) {return '<table><tbody><tr><th colspan="4" style="text-align:center">' + ksLib.htmlSanitize(pSrvData.CNaam) + (pSrvData.PNaam === '*'?'':' ' + ksLib.htmlSanitize(pSrvData.PNaam) + ' (' + cur.AfdelingNaam + ')') + '</th>' + _GVPP + '</tr>'}], footers:['</tbody></table>'], display:function(cur) {return '<tr>' + _displayGeneric(cur) + '</tr>'} }; var WedstrPloegThuis={source:function(arr) {return arr .filter(function(cur) { return (cur.CNaam1 === ksLib.htmlSanitize(pSrvData.CNaam) && (ksLib.htmlSanitize(pSrvData.PNaam) === cur.PNaam1 || pSrvData.PNaam === '*')); }) .sort(function(a, b) { if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { return -1; }, headers:[function(cur) {return '<table><tbody><tr><th colspan="4" style="text-align:center">' + ksLib.htmlSanitize(pSrvData.CNaam) + (pSrvData.PNaam === '*'?'':' ' + ksLib.htmlSanitize(pSrvData.PNaam)) + '</th>' + _GVPP + '</tr>'}], footers:['</tbody></table>'], display:function(cur) {return '<tr>' + _displayGeneric(cur) + '</tr>'} }; var Tussenstand = {source:function(arr) {return arr .filter(function(cur) { return (cur.AfdelingNaam === ksLib.htmlSanitize(pSrvData.AfdelingNaam) || pSrvData.AfdelingNaam === '*'); }) .sort(function(a, b) { if (parseInt(a.NR, 10) > parseInt(b.NR, 10)) return 1; if (parseInt(a.NR, 10) < parseInt(b.NR, 10)) return -1; if (parseInt(a.SomUitslag, 10) > parseInt(b.SomUitslag, 10)) return -1; if (parseInt(a.SomUitslag, 10) < parseInt(b.SomUitslag, 10)) return 1; if (parseInt(a.SomGew, 10) > parseInt(b.SomGew, 10)) return -1; if (parseInt(a.SomGew, 10) < parseInt(b.SomGew, 10)) return 1; if (parseInt(a.SomPV, 10) > parseInt(b.SomPV, 10)) return -1; if (parseInt(a.SomPV, 10) < parseInt(b.SomPV, 10)) return 1; if (parseInt(a.SomPT, 10) > parseInt(b.SomPT, 10)) return 1; if (parseInt(a.SomPT, 10) < parseInt(b.SomPT, 10)) return -1; return 0; }) .reduce(ksLib.addPlace(ksLib.detectFldChange(['SomUitslag','SomGew', 'SomPV', 'SomPT']), ksLib.detectFldChange(['NR'])), {arr: []}) }, compare:function(prv, cur) { if (prv.NR !== cur.NR) return 1; return -1; }, headers:['', function(cur) {return '<div class="tablefloat" style="float:left;margin:0 10px 10px 0;"><table><tbody><tr><th colspan="2" style="text-align:center">' + cur.AfdelingNaam + '</th><th style="text-align:right">wk</th>' + _GVPP + '<th style="text-align:right">pnt</th></tr>'}], footers:['<div style="clear:both;"></div>', '</tbody></table></div>'], display:function(cur) {return '<tr>' + ksLib.td(cur.Place, 'right') + ksLib.td(cur.ClubNaam + ' ' + cur.PloegNaam) + ksLib.td(cur.Aantal, 'right') + ksLib.td(cur.SomGew, 'right') + ksLib.td(cur.SomVerl, 'right') + ksLib.td(cur.SomPV, 'right') + ksLib.td(cur.SomPT, 'right') + ksLib.td(cur.SomUitslag, 'right') + '</tr>'} }; var WedstrSpelers = {source:function(arr) {return arr.sort(function(a, b) { if (a.ThuisOfUit > b.ThuisOfUit) return 1; if (a.ThuisOfUit < b.ThuisOfUit) return -1; if (a.Bnr > b.Bnr) return 1; if (a.Bnr < b.Bnr) return -1; return 0; })}, compare:function(prv, cur) { if (prv.ThuisOfUit !== cur.ThuisOfUit) return 1; return -1; }, headers:[function(cur) {return '<div style="margin:5px;font-size:200%;font-weight:bold">' + pSrvData.thisWedstrijdData.eq(1).html() + '</div>'}, function(cur) {return '<table style="float:left;margin:5px;"><tbody>'}, function(cur) {return '<tr><th colspan="2" style="text-align:center">' + pSrvData.thisWedstrijdData.eq(1 + parseInt(cur.ThuisOfUit, 10)).html() + ' - ' + '<span style="color:blue">' + pSrvData.thisWedstrijdData.eq(3 + parseInt(cur.ThuisOfUit, 10)).html() + ' (' + pSrvData.thisWedstrijdData.eq(5 + parseInt(cur.ThuisOfUit, 10)).html() + ')' + '</span>' + '</th></tr>'}], footers:['<div style="clear:both;"></div><span style="color:red">*</span>=Woont in buitenland', '</tbody></table>'], display:function(cur) {return '<tr>' + ksLib.td(cur.Bnr) + ksLib.td(cur.Naam + (cur.WoontInBuitenLand==='1'?' <span style="color:red">*</span>':'')) + '</tr>'} }; var SpelersGespeeld ={source:function(arr) {return arr .filter(function(cur) { return (cur.ClubNaam === ksLib.htmlSanitize(pSrvData.CNaam)); }) .sort(function(a, b) { if (a.Naam.localeCompare(b.Naam) > 0) return 1 if (a.Naam.localeCompare(b.Naam) < 0) return -1 if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { if (prv.Naam !== cur.Naam) return 1; return -1; }, headers:['<table><tbody>', function(cur) {return '<tr><th>' + cur.Naam + '</th>' + '<th colspan="2" style="text-align:center">' + cur.Bnr + '</th></tr>'}], footers:['</tbody></table>'], display:function(cur) {return '<tr>' + ksLib.td(ksLib.dutchDateFormat(cur.Datum)) + ksLib.td('Ploeg: ' + cur.PloegNaam) + ksLib.td('Klasse: ' + cur.AfdelingNaam) + '</tr>'} }; var SpelersGesp3afd ={source:function(arr) {return arr .filter(function(cur) { return (cur.ClubNaam === ksLib.htmlSanitize(pSrvData.CNaam)); }) .sort(function(a, b) { if (a.Naam.localeCompare(b.Naam) > 0) return 1 if (a.Naam.localeCompare(b.Naam) < 0) return -1 if (a.Datum > b.Datum) return 1; if (a.Datum < b.Datum) return -1; return 0; })}, compare:function(prv, cur) { if (prv.Naam !== cur.Naam) return 1; return -1; }, headers:['<table><tbody>', function(cur) {return '<tr><th>' + cur.Naam + '</th>' + '<th style="text-align:center">' + cur.Bnr + '</th></tr>'}], footers:['</tbody></table>'], display:function(cur) {return '<tr>' + ksLib.td(ksLib.dutchDateFormat(cur.Datum)) + ksLib.td('Klasse: ' + cur.AfdelingNaam) + '</tr>'} }; var Clubs = {source:function(arr) {return arr}, compare:function(prv, cur) { return -1; }, headers:['<hr/>'], footers:['<hr/>'], display:function(cur) {return '<span>' + cur.ClubNaam + '</span> '} }; var Ploegen = {source:function(arr) {return arr}, compare:function(prv, cur) { return -1; }, headers:['<span>*</span> '], footers:['<hr/>'], display:function(cur) {return '<span>' + cur.PloegNaam + '</span> '} }; var Afdelingen = {source:function(arr) {return arr}, compare:function(prv, cur) { return -1; }, headers:['<hr/><span>*</span> '], footers:['<hr/>'], display:function(cur) {return '<span>' + cur.AfdelingNaam + '</span> '} }; return {baseDir: baseDir, loadMsg: loadMsg, WedstrAfdWeek: WedstrAfdWeek, WedstrWeekAfd: WedstrWeekAfd, WedstrSpelers: WedstrSpelers, WedstrPlg: WedstrPlg, WedstrPloegThuis: WedstrPloegThuis, Tussenstand: Tussenstand, outputContainer: outputContainer, SpelersGespeeld: SpelersGespeeld, SpelersGesp3afd: SpelersGesp3afd, Clubs: Clubs, Ploegen: Ploegen, afdelingenContainer: afdelingenContainer, clubsContainer: clubsContainer, Ads: Ads, ploegenContainer: ploegenContainer, Afdelingen: Afdelingen} }()); var pSrvData = {}; var pLib = (function() { var fetchXHRqryWedstrPnt = function() { pSrvData.$XHRqryWedstrPnt = pSrvData.$XHRqryWedstrPnt || $.getJSON(pCfg.baseDir + '/qryWedstrPnt.php') .then(function(data) {return data .map(ksLib.updNullFlds(['P1', 'P2', 'Gew1', 'Gew2'])) .map(ksLib.updStringFlds(['AfdelingNaam', 'CNaam1', 'PNaam1', 'CNaam2', 'PNaam2'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRqryTussenstand = function() { pSrvData.$XHRqryTussenstand = pSrvData.$XHRqryTussenstand || $.getJSON(pCfg.baseDir + '/qryTussenstand.php') .then(function(data) {return data .map(ksLib.updNullFlds(['SomUitslag','SomGew', 'SomVerl', 'SomPV', 'SomPT'])) .map(ksLib.updStringFlds(['AfdelingNaam', 'ClubNaam', 'PloegNaam'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRqrySpelersGespeeld_Verrijkt = function() { pSrvData.$XHRqrySpelersGespeeld_Verrijkt = pSrvData.$XHRqrySpelersGespeeld_Verrijkt || $.getJSON(pCfg.baseDir + '/qrySpelersGespeeld_Verrijkt.php') .then(function(data) {return data .map(ksLib.updStringFlds(['AfdelingNaam', 'ClubNaam', 'PloegNaam', 'Naam'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRqrySpelersGespeeld_datum_3afd = function() { pSrvData.$XHRqrySpelersGespeeld_datum_3afd = pSrvData.$XHRqrySpelersGespeeld_datum_3afd || $.getJSON(pCfg.baseDir + '/qrySpelersGespeeld_datum_3afd.php') .then(function(data) {return data .map(ksLib.updStringFlds(['AfdelingNaam', 'ClubNaam', 'Naam'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRClubs = function() { pSrvData.$XHRClubs = pSrvData.$XHRClubs || $.getJSON(pCfg.baseDir + '/Clubs.php') .then(function(data) {return data .sort(function(a, b) {return a.ClubNaam.localeCompare(b.ClubNaam)}) .map(ksLib.updStringFlds(['ClubNaam'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRClub_Ploegen = function() { return $.getJSON(pCfg.baseDir + '/Club_Ploegen.php', {ClubNaam: pSrvData.CNaam}) .then(function(data) {return data .sort(function(a, b) {return a.PloegNaam.localeCompare(b.PloegNaam)}) .map(ksLib.updStringFlds(['PloegNaam'])) }) .fail(ksLib.errorFetchingData); }; var fetchXHRAfdelingen = function() { pSrvData.$XHRAfdelingen = pSrvData.$XHRAfdelingen || $.getJSON(pCfg.baseDir + '/Afdelingen.php') .then(function(data) {return data .sort(function(a, b) {return parseInt(a.NR, 10) - parseInt(b.NR, 10)}) .map(ksLib.updStringFlds(['AfdelingNaam'])) }) .fail(ksLib.errorFetchingData); }; var displayClubs = function() { fetchXHRClubs(); pSrvData.$XHRClubs.then(ksLib.createOutput(pCfg.Clubs)).then(function(data) {document.getElementById(pCfg.clubsContainer).innerHTML = data}); }; var displayClub_Ploegen = function() { fetchXHRClub_Ploegen().then(ksLib.createOutput(pCfg.Ploegen)).then(function(data) {document.getElementById(pCfg.ploegenContainer).innerHTML = data}); }; var displayAfdelingen = function() { fetchXHRAfdelingen(); pSrvData.$XHRAfdelingen.then(ksLib.createOutput(pCfg.Afdelingen)).then(function(data) {document.getElementById(pCfg.afdelingenContainer).innerHTML = data}); }; var emptyContainers = function() { $('#' + pCfg.afdelingenContainer + ', #' + pCfg.clubsContainer + ', #' + pCfg.ploegenContainer + ', #' + pCfg.outputContainer).empty(); }; var spelersGespeeld_click = function() { emptyContainers(); pSrvData.ClubCode = function() {fetchXHRqrySpelersGespeeld_Verrijkt(); pSrvData.$XHRqrySpelersGespeeld_Verrijkt .then(ksLib.createOutput(pCfg.SpelersGespeeld)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data})}; displayClubs(); }; var spelersGespeeld3afd_click = function() { emptyContainers(); pSrvData.ClubCode=function() {fetchXHRqrySpelersGespeeld_datum_3afd(); pSrvData.$XHRqrySpelersGespeeld_datum_3afd .then(ksLib.createOutput(pCfg.SpelersGesp3afd)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data})}; displayClubs(); }; var tussenstand_click = function() { emptyContainers(); pSrvData.AfdelingCode=function() {fetchXHRqryTussenstand(); pSrvData.$XHRqryTussenstand .then(ksLib.createOutput(pCfg.Tussenstand)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data; ksLib.sameWidth($('#' + pCfg.outputContainer).find('div.tablefloat'))})}; displayAfdelingen(); }; var ploeg_click = function() { emptyContainers(); pSrvData.ClubCode=function(){displayClub_Ploegen()}; pSrvData.PloegCode=function() {fetchXHRqryWedstrPnt(); pSrvData.$XHRqryWedstrPnt .then(ksLib.createOutput(pCfg.WedstrPlg)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data})}; displayClubs(); }; var thuisPloeg_click = function() { emptyContainers(); pSrvData.ClubCode=function(){displayClub_Ploegen()}; pSrvData.PloegCode=function() {fetchXHRqryWedstrPnt(); pSrvData.$XHRqryWedstrPnt .then(ksLib.createOutput(pCfg.WedstrPloegThuis)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data})}; displayClubs(); }; var perWeekperAfdeling_click = function() { emptyContainers(); fetchXHRqryWedstrPnt(); pSrvData.$XHRqryWedstrPnt .then(ksLib.createOutput(pCfg.WedstrWeekAfd)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data}); }; var perAfdelingperWeek_click = function() { emptyContainers(); pSrvData.AfdelingCode=function() {fetchXHRqryWedstrPnt(); pSrvData.$XHRqryWedstrPnt .then(ksLib.createOutput(pCfg.WedstrAfdWeek)) .then(function(data) {document.getElementById(pCfg.outputContainer).innerHTML = data})}; displayAfdelingen(); }; var outputContainer_datawedid_click = function() { pSrvData.thisWedstrijdData = $(this).closest('tr').find('td'); $.getJSON(pCfg.baseDir + '/WedstrijdSpelers.php', {wedid: $(this).attr('data-wedid')}) .then(function(data) {return data.map(ksLib.updStringFlds(['Naam']))}) .then(ksLib.createOutput(pCfg.WedstrSpelers)) .then(function(data) {ksLib.lightBox(data)}) .fail(ksLib.errorFetchingData); }; var ks_menu_span_click = function() { $('#ks_menu span').css('font-weight', ''); $(this).css('font-weight', 'bold'); }; var afdelingenContainer_span_click = function() { $('#' + pCfg.afdelingenContainer + ' span').css('color', ''); $(this).css('color', 'red'); pSrvData.AfdelingNaam = $(this).text(); pSrvData.AfdelingCode(); }; var clubsContainer_span_click = function() { $('#' + pCfg.clubsContainer + ' span').css('color', ''); $('#' + pCfg.ploegenContainer + ', #' + pCfg.outputContainer).empty(); $(this).css('color', 'red'); pSrvData.CNaam = $(this).text(); pSrvData.ClubCode(); }; var ploegenContainer_span_click = function() { $('#' + pCfg.ploegenContainer + ' span').css('color', ''); $('#' + pCfg.outputContainer).empty(); $(this).css('color', 'red'); pSrvData.PNaam = $(this).text(); pSrvData.PloegCode(); }; return {fetchXHRqryWedstrPnt: fetchXHRqryWedstrPnt, fetchXHRqryTussenstand: fetchXHRqryTussenstand, fetchXHRqrySpelersGespeeld_Verrijkt: fetchXHRqrySpelersGespeeld_Verrijkt, fetchXHRqrySpelersGespeeld_datum_3afd: fetchXHRqrySpelersGespeeld_datum_3afd, fetchXHRClubs: fetchXHRClubs, fetchXHRClub_Ploegen: fetchXHRClub_Ploegen, displayClubs: displayClubs, displayClub_Ploegen: displayClub_Ploegen, displayAfdelingen: displayAfdelingen, emptyContainers: emptyContainers, spelersGespeeld_click: spelersGespeeld_click, spelersGespeeld3afd_click: spelersGespeeld3afd_click, tussenstand_click: tussenstand_click, ploeg_click: ploeg_click, thuisPloeg_click: thuisPloeg_click, perWeekperAfdeling_click: perWeekperAfdeling_click, perAfdelingperWeek_click: perAfdelingperWeek_click, outputContainer_datawedid_click: outputContainer_datawedid_click, ks_menu_span_click: ks_menu_span_click, afdelingenContainer_span_click: afdelingenContainer_span_click, clubsContainer_span_click: clubsContainer_span_click, ploegenContainer_span_click: ploegenContainer_span_click} }()); $(document).ready(function() { $('#' + pCfg.outputContainer).on('click', 'table span[data-wedid]', pLib.outputContainer_datawedid_click); $('#ks_menu').on('click', 'span', pLib.ks_menu_span_click); $('#' + pCfg.afdelingenContainer).on('click', 'span', pLib.afdelingenContainer_span_click); $('#' + pCfg.clubsContainer).on('click', 'span', pLib.clubsContainer_span_click); $('#' + pCfg.ploegenContainer).on('click', 'span', pLib.ploegenContainer_span_click); var updateAds = function() {document.getElementById("reclames").innerHTML = ksLib.showRandomAd(pCfg.Ads, 4)}; updateAds(); setInterval(updateAds, 15000); });