function setCookie(key, value, expiry) { var expires = new Date(); expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000)); document.cookie = key + '=' + value + ';path=/' + ';expires=' + expires.toUTCString(); } function getCookie(key) { var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)'); return keyValue ? keyValue[2] : null; } // Store Widgetkey in cookies setCookie('Widgetkey',getCookie('ms_api_key'),'365'); // WidgetKey can be obtained from your account var Widgetkey = getCookie('Widgetkey'); // Function that prevent click to acces link href function windowPreventOpening() { jQuery(this).click(function(event) { event.preventDefault(); }); } // Function that open new window for Match Details function windowOpenMatch(match_id, leagueLogo, fixturesDate, countryName, leagueName, homeTeam, awayTeam) { sessionStorage.setItem('matchDetailsKey', match_id); if (leagueLogo != '') { sessionStorage.setItem('leagueLogo', leagueLogo); } var generatedLink = countryName+'/'+leagueName+'/'+homeTeam+'-vs-'+awayTeam+'/'+fixturesDate+'/'+match_id; var newGeneratedLink = generatedLink.replace(/\s/g,'-'); sessionStorage.setItem('fixturesDate', fixturesDate); var WindowNW = window.open( ((typeof widgetMatchResultsLocation !== "undefined") ? widgetMatchResultsLocation.pluginHtmlUrl : 'widgetMatchResults.php')+'?'+newGeneratedLink+'', "_blank", "width=870, height=650"); } // Function that open new window for League Info function windowOpenLeagueInfo(league_id, league_name, leagueLogo) { sessionStorage.setItem('leagueInfoKey', league_id); sessionStorage.setItem('leagueInfoName', league_name); if (leagueLogo != '') { sessionStorage.setItem('leagueInfoLogo', leagueLogo); } var WindowNW = window.open( widgetLeagueLocation.pluginHtmlUrl, "_blank", "width=700, height=650"); } // Function that comapare times function naturalCompare(a, b) { var ax = [], bx = []; a['time'].replace(/(\d+)|(\D+)/g, function(_, $1, $2) { ax.push([$1 || Infinity, $2 || ""]) }); b['time'].replace(/(\d+)|(\D+)/g, function(_, $1, $2) { bx.push([$1 || Infinity, $2 || ""]) }); while (ax.length && bx.length) { var an = ax.shift(); var bn = bx.shift(); var nn = (an[0] - bn[0]) || an[1].localeCompare(bn[1]); if (nn) return nn; } return ax.length - bx.length; } // Function that sort ascendent by league round function groupSortingAsc(a, b) { var ax = [], bx = []; a['league_round'].replace(/(\d+)|(\D+)/g, function(_, $1, $2) { ax.push([$1 || Infinity, $2 || ""]) }); b['league_round'].replace(/(\d+)|(\D+)/g, function(_, $1, $2) { bx.push([$1 || Infinity, $2 || ""]) }); while (ax.length && bx.length) { var an = ax.shift(); var bn = bx.shift(); var nn = (an[0] - bn[0]) || an[1].localeCompare(bn[1]); if (nn) return nn; } return ax.length - bx.length; } // Function that group by var groupBy = function(xs, key) { return xs.reduce(function(rv, x) { (rv[x[key]] = rv[x[key]] || []).push(x); return rv; }, {}); }; // Function that sort by key descendent function sortByKeyDesc(array, key) { return array.sort(function(a, b) { var x = a[key]; var y = b[key]; return ((x > y) ? -1 : ((x < y) ? 1 : 0)); }); } // Function that sort by key ascendent function sortByKeyAsc(array, key) { return array.sort(function(a, b) { var x = a[key]; var y = b[key]; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); } // Function that sort by key function sortByKey(array, key) { return array.sort(function(a, b) { var x = a[key]; var y = b[key]; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); } // Function for Match Details css, js and widget activation var isWidgetMatchResults = 0; function initiateWidgetMatchResultsScript(widgetMatchResultsLocation, Widgetkey) { if (isWidgetMatchResults == 0) { isWidgetMatchResults = 1; setTimeout(function() { jQuery(widgetMatchResultsLocation).unbind().removeData().html('').widgetMatchResults({ 'Widgetkey': Widgetkey, 'match_id': (sessionStorage.getItem('matchDetailsKey') ? sessionStorage.getItem('matchDetailsKey') : ''), 'action': 'get_events', 'withoutDetails' : true }); }, 1000); } } // Function for League css, js and widget activation var isWidgetLeague = 0; function initiateWidgetLeagueScript(widgetLeagueLocation, Widgetkey) { if (isWidgetLeague == 0) { isWidgetLeague = 1; } } function initiateWidgetLeague(widgetLeagueLocation, Widgetkey, league_id, league_name, leagueLogo) { if (isWidgetLeague == 1) { jQuery(widgetLeagueLocation).unbind().removeData().html('').widgetLeague({ 'Widgetkey': Widgetkey, 'league_id': league_id, 'league_name': league_name, 'leagueLogo': leagueLogo }); } } // Function that get server time var timeForFixtures = ''; var fiTFF = setInterval(function() { if (typeof getTimeZone() != 'undefined') { jQuery.ajax({ url: 'https://apiv3.apifootball.com/?', cache: false, data: { action: 'get_data', Widgetkey: Widgetkey, timezone: getTimeZone() }, dataType: 'json' }).done(function(res) { var formattedDate = new Date(res.datetime + "T00:00"); var d = formattedDate.getDate(); var m = formattedDate.getMonth() + 1; var y = formattedDate.getFullYear(); timeForFixtures = y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d); }).fail(function(error) { }); clearInterval(fiTFF); } }, 10); // Function that get local time function getTimeZone() { var offset = new Date().getTimezoneOffset(), o = Math.abs(offset); return (offset < 0 ? "+" : "-") + ("00" + Math.floor(o / 60)).slice(-2) + ":" + ("00" + (o % 60)).slice(-2); } // Function for Live Score css, js and widget activation var isWidgetLiveScore = 0; function initiateWidgetLiveScoreScript(widgetLiveScoreLocation, Widgetkey) { if (isWidgetLiveScore == 0) { isWidgetLiveScore = 1; var fi = setInterval(function() { if (jQuery('#widgetLiveScore-js').length > 0) { jQuery(widgetLiveScoreLocation).unbind().removeData().html('').widgetLiveScore({ 'Widgetkey': Widgetkey, 'action': 'get_events', 'match_live ': '1', 'from': timeForFixtures, 'to': timeForFixtures, 'timezone': getTimeZone() }); clearInterval(fi); } }, 10); } } // Function that get calendar days for desktop function getDateCalendar(liveScoreCalendarContainer, currentDate, getDateCalendar, dayNb, addSubstractSign) { var ttCalendar = currentDate; var dateCalendar = new Date(ttCalendar); var newdateCalendar = new Date(dateCalendar); if (addSubstractSign == 'addDateCalendar') { newdateCalendar.setDate(newdateCalendar.getDate() + dayNb); } else if (addSubstractSign == 'substractDateCalendar') { newdateCalendar.setDate(newdateCalendar.getDate() - dayNb); } var ddCalendar = newdateCalendar.getDate(); var mmCalendar = newdateCalendar.getMonth() + 1; var yCalendar = newdateCalendar.getFullYear(); var finalDay = (ddCalendar < 10 ? '0' + ddCalendar : ddCalendar) + '.' + (mmCalendar < 10 ? '0' + mmCalendar : mmCalendar) + '.' + yCalendar; var finalDayClick = yCalendar + '-' + (mmCalendar < 10 ? '0' + mmCalendar : mmCalendar) + '-' + (ddCalendar < 10 ? '0' + ddCalendar : ddCalendar); return jQuery('' + finalDay + '').prependTo(jQuery('#' + liveScoreCalendarContainer)); } // Function that get calendar days for mobile function getDateCalendarMobile(liveScoreCalendarContainer, currentDate, getDateCalendar, dayNb, addSubstractSign) { var ttCalendar = currentDate; var dateCalendar = new Date(ttCalendar); var newdateCalendar = new Date(dateCalendar); if (addSubstractSign == 'addDateCalendar') { newdateCalendar.setDate(newdateCalendar.getDate() + dayNb); } else if (addSubstractSign == 'substractDateCalendar') { newdateCalendar.setDate(newdateCalendar.getDate() - dayNb); } var ddCalendar = newdateCalendar.getDate(); var mmCalendar = newdateCalendar.getMonth() + 1; var yCalendar = newdateCalendar.getFullYear(); var finalDay = (ddCalendar < 10 ? '0' + ddCalendar : ddCalendar) + '.' + (mmCalendar < 10 ? '0' + mmCalendar : mmCalendar) + '.' + yCalendar; var finalDayClick = yCalendar + '-' + (mmCalendar < 10 ? '0' + mmCalendar : mmCalendar) + '-' + (ddCalendar < 10 ? '0' + ddCalendar : ddCalendar); return jQuery('').prependTo(jQuery('#' + liveScoreCalendarContainer)); } function whatToPush(where, bookmaker, one, two) { return where.push({ bookmaker: bookmaker, one: ((typeof one != 'undefined') ? one : '' ), two: ((typeof two != 'undefined') ? two : '' ) }); }