;(function(){
		// get setup obj (containing assets, etc.)
	var SRSetup = {"assetsWidgets":"  <script id=\"SRScript_common_common\" type=\"text\/javascript\" src=\"assets\/common\/common\/js\/common.js?v=srlive-2020-47\"><\/script> <script id=\"SRScript_widgets_widgets\" type=\"text\/javascript\" src=\"assets\/kiroljokoa\/widgets\/js\/widgets.js?v=srlive-2020-47\"><\/script>","assetsSolution":" <link href=\"assets\/kiroljokoa\/sportcenter16\/css\/sportcenter16.css?v=srlive-2020-47\" type=\"text\/css\" rel=\"stylesheet\" \/> <script id=\"SRScript_common_common\" type=\"text\/javascript\" src=\"assets\/common\/common\/js\/common.js?v=srlive-2020-47\"><\/script> <script id=\"SRScript_sportcenter16_sportcenter16\" type=\"text\/javascript\" src=\"assets\/kiroljokoa\/sportcenter16\/js\/sportcenter16.js?v=srlive-2020-47\"><\/script>","srlive-query-service-id":1,"srlive-setupOverridesOptions":false,"feeds-use-config-url":true,"srlive-widgets-id":"SRLive","srlive-widgets-class":"srw-container","services":"auto"};

	// get SRLive related data from URL
	var client = 'kiroljokoa';
	var timezone = 'Europe/Berlin';
	var language = 'es';
	var solution = 'sportcenter16';
	var page = 'sportcenter16';

	// set widgets and feeds url
	var parts = {"scheme":"http","host":"ls.betradar.com","path":"\/ls\/livescore\/","query":"\/kiroljokoa\/es\/widgetloader\/sportcenter16"};
	var protocol = determineProtocol();
	var widgetsUrl = protocol + '//' + parts['host'] + parts['path'];

	// get feeds url
	var feedsUrl = protocol + '//' + parts['host'] + '/ls/feeds/';
	if (SRSetup['feeds-use-config-url'] === true) {
		feedsUrl = 'https://lsc.fn.sportradar.com';
	}

	var serviceId = SRSetup['srlive-query-service-id'] || 1;

    // get matchId (if set) from widgetloader script
    var matchId = null;
    var widgetloaderScript = document.getElementById('srlive-widgetloader');
    if (widgetloaderScript) {
        matchId = widgetloaderScript.getAttribute('data-matchid');
    }

	// widgets related stuff
	var widgetsId = SRSetup['srlive-widgets-id'] || 'SRLive';
	var widgetsClass = SRSetup['srlive-widgets-class'] || 'srw-container';	// this is just temporary, srw-container class will be handled differently

	// get all stylesheets from assets
	var cssRegX = /<link.*?\/>/g;
	var stylesheetsWidgets = SRSetup.assetsWidgets.match(cssRegX);
	var stylesheetsSolution = SRSetup.assetsSolution.match(cssRegX);

	// get all javascripts from assets
	var jsRegX = /<script.*?<\/script>/g;
	var javascriptsWidgets = SRSetup.assetsWidgets.match(jsRegX);
	var javascriptsSolution = SRSetup.assetsSolution.match(jsRegX);

	// Prototype to get uniqe array values
	function unique(arr) {
		var a = arr.concat();
		for (var i = 0; i < a.length; i++) {
			for (var j = i + 1; j < a.length; j++) {
				if (a[i] === a[j]) {
					a.splice(j--, 1);
				}
			}
		}
		return a;
	};

	function determineProtocol() {
		var scripts = document.getElementsByTagName('script');
		var len = scripts.length;
		var protocol = 'http:';

		for (var i = 0; i < len; i++) {
			if (scripts[i].src.match(/widgetloader/i) && scripts[i].src.split('//')[0] == 'https:') {
				protocol = 'https:';
				break;
			}
		}

		return protocol;
	}

	// join resources (stylesheets/javascripts)
	var stylesheets = []; 
	if (stylesheetsWidgets) { stylesheets = stylesheets.concat(stylesheetsWidgets); }
	if (stylesheetsSolution) { stylesheets = stylesheets.concat(stylesheetsSolution); }

	var javascripts = [];
	if (javascriptsWidgets) { javascripts = javascripts.concat(javascriptsWidgets); }
	if (javascriptsSolution) { javascripts = javascripts.concat(javascriptsSolution); }

	javascripts = unique(javascripts);
	stylesheets = unique(stylesheets);

	


	function includeStylesheet(obj) {
		var stylesheet = document.createElement("link");

		stylesheet.setAttribute("rel", "stylesheet");
		stylesheet.setAttribute("type", "text/css");
		if (obj.id) { stylesheet.setAttribute("id", obj.id); }
		stylesheet.setAttribute("href", widgetsUrl + obj.url);
		
		var cls = ['srlive-stylesheet'];
		if (obj.cls) {	cls.push(obj.cls); }
		if (stylesheet.className) { cls.push(stylesheet.className); }
        stylesheet.className = cls.join(' ');

		document.getElementsByTagName("head")[0].appendChild(stylesheet);
	}

	var scriptCounter = 0;
	var scriptIdx = 0;

	function scriptLoaded(script) {
		// memory leak in IE8 handled
		script.onload = script.onreadystatechange = null;

		// increase counters
		scriptIdx++;
		scriptCounter++;

		// all scripts should be loaded, init SRLive
		if (scriptCounter === javascripts.length) {
			initSRLive();
			return;
		}

		// start loading next script
		if (scriptIdx < javascripts.length) {
			includeJavascript(parseTags(javascripts[scriptIdx]));
		}
	}

	function includeJavascript(obj) {
	    var scriptNode = document.createElement('script');
	    scriptNode.type = 'text/javascript';
		if (obj.id) { scriptNode.setAttribute("id", obj.id); }
	    scriptNode.src = widgetsUrl + obj.url;
        var cls = ['srlive-script'];
		if (obj.cls) {	cls.push(obj.cls); }
		if (scriptNode.className) { cls.push(scriptNode.className); }
        scriptNode.className = cls.join(' ');

	    var headNode = document.getElementsByTagName('HEAD');
	    if (headNode[0] != null) {
	        headNode[0].appendChild(scriptNode);
	    }

        scriptNode.onload = scriptNode.onreadystatechange = function() {
            if (this.readyState && this.readyState !== 'loaded' && this.readyState !== 'complete') {
                return;
            }
            scriptLoaded(scriptNode);
        }
	}

	function initSRLive() {
		if (!SRLive || !SRLive.configureClient) {
			setTimeout(function() {
				initSRLive();
			}, 10);

			return;
		}

		// check for widgets id
		var el = document.getElementById(widgetsId);
		if (!el) {
			var html = document.getElementsByTagName('html');
			html[0].id = widgetsId;
		}

		// TODO: check for widgets class and add it if necessary

		// init SRLive for this client
		SRLive.configureClient({
			client: { timezone: timezone, language: language, name: client },
			query: { url: feedsUrl, service_id: serviceId },
            widget: { solution: solution + "_" + page, matchId: matchId, url: widgetsUrl, setupOverridesOptions: SRSetup['srlive-setupOverridesOptions'], applyIEClass: SRSetup['srlive-applyIEClass'] },
            eventpoller: {
                feeds: {
                    event_fullfeed: {
                        disabled: true
                    },
                    event_get: {
                        disabled: true
                    }
                }
            }
		});

		// trigger jQuery event on which client can hook to know when our library has been initialized
		if (window.onSRLiveInitialized) {
			window.onSRLiveInitialized();
		}
	}

	var idRegex = /id="(.*?)"/i;
	var classRegex = /class="(.*?)"/i;
	var urlRegex = /(src|href)="(.*?)"/i;
	var empty = [];

	function getRegexResult(str, reg, ix) {
		var m = reg.exec(str);

		if (m) { return m[ix] || ''; }
		return '';
	}

	function parseTags(tag) {
		return {
			id: getRegexResult(tag, idRegex, 1),
			cls: getRegexResult(tag, classRegex, 1),
			url: getRegexResult(tag, urlRegex, 2)
		};
	}

	// get thru assets to load all stylesheets
	for (var i = 0; i < stylesheets.length; i++) {
		includeStylesheet(parseTags(stylesheets[i]));
	}

	// start loading javascripts one at a time
	if (javascripts.length > 0) {
		includeJavascript(parseTags(javascripts[scriptIdx]));
	}
})();
