if (!(navigator.userAgent.indexOf("AdobeAIR") > 0)) { (function() { // Load the script var script = document.createElement("SCRIPT"); script.type = "application/javascript"; script.charset = "UTF-8"; script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js'; document.getElementsByTagName("head")[0].appendChild(script); script.onload = function() { var $ = window.jQuery; (function($) { Widget_Loader = function(host) { if (!window.widget_instanced) { this._url = ''; this._services = { 'autonomicas-tabla': host + '/autonomicas/{year}/{aut}/widget/{widget}/{mode}/{view}', 'autonomicas-prov': host + '/autonomicas/{year}/{aut}/widget/{widget}/{prov}', 'autonomicas-mun': host + '/autonomicas/{year}/{aut}/widget/{widget}/{prov}/{mun}', 'autonomicas-dist': host + '/autonomicas/{year}/{aut}/widget/{widget}/{prov}/{mun}/{dist}', 'autonomicas-mapa': host + '/autonomicas/{year}/widget/{widget}', 'autonomicas-mixto': host + '/autonomicas/{year}/{aut}/widget/{widget}', 'autonomicas': host + '/autonomicas/{year}/{aut}/widget/{widget}', 'municipales': host + '/municipales/{year}/widget/{widget}', 'municipales-tabla': host + '/municipales/{year}/widget/{widget}/{aut}/{prov}/{mun}/{mode}/{view}', 'municipales-aut': host + '/municipales/{year}/widget/{widget}/{aut}', 'municipales-mun': host + '/municipales/{year}/widget/{widget}/{aut}/{prov}/{mun}', 'municipales-dist': host + '/municipales/{year}/widget/{widget}/{aut}/{prov}/{mun}/{dist}', 'municipales-prov': host + '/municipales/{year}/widget/{widget}/{aut}/{prov}', 'congreso': host + '/generales/{year}/congreso/widget/{widget}', 'congreso-aut': host + '/generales/{year}/congreso/widget/{widget}/{aut}', 'congreso-prov': host + '/generales/{year}/congreso/widget/{widget}/{aut}/{prov}', 'congreso-mun': host + '/generales/{year}/congreso/widget/{widget}/{aut}/{prov}/{mun}', 'congreso-tabla': host + '/generales/{year}/congreso/widget/{widget}/{mode}/{view}', 'senado': host + '/generales/{year}/senado/widget/{widget}', 'europeas': host + '/europeas/{year}/widget/{widget}', 'europeas-tabla': host + '/europeas/{year}/widget/{widget}/{mode}/{view}', 'europeas-aut': host + '/europeas/{year}/widget/{widget}/{aut}', 'europeas-prov': host + '/europeas/{year}/widget/{widget}/{aut}/{prov}', 'europeas-mun': host + '/europeas/{year}/widget/{widget}/{aut}/{prov}/{mun}', 'europeas-dist': host + '/europeas/{year}/widget/{widget}/{aut}/{prov}/{mun}/{dist}' }; this._patternAut = '{aut}'; this._patternMod = '{mode}'; this._patternView = '{view}'; this._patternWidget = '{widget}'; this._patternYear = '{year}'; this._patternProv = '{prov}'; this._patternMun = '{mun}'; this._patternDist = '{dist}'; this._htmlPromises = []; this._scripts = [ 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/libs/underscore-min.js', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/libs/underscore.string.min.js', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/libs/jquery-ui-1.12.1.custom.js', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js', 'https://cdnjs.cloudflare.com/ajax/libs/nunjucks/2.4.3/nunjucks.js', 'https://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.9/backbone-min.js', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/utils.js?v=1', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/templates.js?v=1', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/UpdaterView.js?v=1', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/TableViews.js?v=1', 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/PopupViews.js?v=1' ] this._searchScriptUrl = 'https://resultados-elecciones.rtve.es/autonomicas/junio-2022/multimedia/js/search.js?v=1'; this._linkWidgets = 'https://css2.rtve.es/css/rtve.elecciones/rtve.elecciones.commons/rtve.elecciones.widgets/rtve.elecciones.widgets2022.desktp.css'; this.init(); window.widget_instanced = true; } else { console.warn("¡OJO! Widget_Loader ya fue instanciado."); } }; Widget_Loader.prototype.load = function(id, iframe, searcher, comparator, type, aut, prov, mun, dist, year, widget, mode, view, num, gov) { iframe = iframe || false; searcher = searcher || false; comparator = comparator || true; var govParam = ''; if (gov != null){ govParam = '&gov=' + gov; } $('#'+id).parent().closest('.container').addClass(widget); var url = this._services[type] + '@iframe=' + iframe + '&id=' + id + '&searcher=' + searcher + '&comparator=' + comparator + govParam; if(num){ url += '&num=' + num; } this.get(this.buildUrl(url, aut, prov, mun, dist, year, widget, mode, view), this.add, id); }; Widget_Loader.prototype.add = function(data, id) { $('#' + id + '.widget-elecc').html(data); }; Widget_Loader.prototype.get = function(url, callback, id) { this._htmlPromises.push(new Promise(function(resolve, rejected) { $.get(url, function(data, status) { callback(data, id); console.info("Widget: " + url + " cargado.") resolve(true); }).fail(function() { resolve(true); console.warn("Widget no disponible."); }); })); }; Widget_Loader.prototype.buildUrl = function(url, aut, prov, mun, dist, year, widget, mode, view) { return url.replace(this._patternAut, aut). replace(this._patternProv, prov). replace(this._patternMun, mun). replace(this._patternDist, dist). replace(this._patternYear, year). replace(this._patternMod, mode). replace(this._patternView, view). replace(this._patternWidget, widget); }; Widget_Loader.prototype.start = function() { var widgets = $('.widget-elecc'), that = this; widgets.map(function() { var data = $(this).data(); that.load($(this).attr('id'), data.iframe, data.searcher, data.comparator, data.type, data.aut, data.prov, data.mun, data.dist, data.year, data.widget, data.mode, data.view, data.num, data.gov); }); Promise.all(this._htmlPromises).then(function(values) { var url = that._searchScriptUrl, script = document.createElement('script'); script.type = "application/javascript"; script.charset = "UTF-8"; script.src = url; document.querySelector('head').appendChild(script); script.addEventListener('load', function() { console.info("Cargado: " + url); }, false); }); }; Widget_Loader.prototype.init = function() { var cssId = 'myCss'; // you could encode the css path itself to generate id.. if (!document.getElementById(cssId)) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.id = cssId; link.rel = 'stylesheet'; link.type = 'text/css'; link.href = this._linkWidgets; link.media = 'all'; head.appendChild(link); } var loadScr; loadScr = function() { if (this._scripts == 0) { this.start(); return; } var url = this._scripts.shift(), script = document.createElement('script'); script.type = "application/javascript"; script.charset = "UTF-8"; script.src = url; document.querySelector('head').appendChild(script); script.addEventListener('load', function() { console.info("Cargado: " + url); if (url.indexOf('backbone') !== -1) { console.log(window.Backbone); } else if (url.indexOf('jquery-ui') !== -1) { console.log(window.jQuery.ui); } else if (url.indexOf('underscore') !== -1) { console.log(window._); } else if (url.indexOf('nunjucks') !== -1) { console.log(window.nunjucks); } else if (url.indexOf('ol.custom.js') !== -1) { console.log(window.ol); } else if (url.indexOf('raphael') !== -1) { console.log(window.Raphael); } else if (url.indexOf('TableViews') !== -1) { console.log(window.tableComp); } else if (url.indexOf('UpdaterView') !== -1) { console.log(window.UpdaterView); } loadScr(); }, false); }.bind(this); loadScr() }; return Widget_Loader; })(jQuery); var widget_loader = new Widget_Loader('https://resultados-elecciones.rtve.es'); }; })(); }