if (!(navigator.userAgent.indexOf("AdobeAIR") > 0)) {
    var $;
    (function() {
        // Load CSS
        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 = 'https://css2.rtve.es/css/rtve.elecciones/rtve.elecciones.commons/rtve.elecciones.widgets/rtve.elecciones.widgets2024-6-9.desktp.css';
            link.media = 'all';
            head.appendChild(link);
        }
        // Load the script
        var script = document.createElement("SCRIPT");
        script.type = "application/javascript";
        script.charset = "UTF-8";
        script.src = 'https://resultados-elecciones.rtve.es/europeas/2024/multimedia/js/libs/jquery-2.1.3.min.js';
        document.getElementsByTagName("head")[0].appendChild(script);
        script.onload = function() {
            window.jQuery = $;
            window.$ = $;
            console.log($.fn.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/europeas/2024/multimedia/js/bundle-elecciones.js?v=3',
                            
                        ]
                        if (document.querySelector('div[data-widget="barraMapa"]')) {
                            this._scripts = this._scripts.concat([
                                'https://resultados-elecciones.rtve.es/europeas/2024/multimedia/js/libs/ol.custom.js?v=3',
                                'https://resultados-elecciones.rtve.es/europeas/2024/multimedia/js/OLMapView.js?v=3',
                                'https://resultados-elecciones.rtve.es/europeas/2024/multimedia/js/OLMapViewData.js?v=3'
                            ])
                        }
                        this._searchScriptUrl = 'https://resultados-elecciones.rtve.es/europeas/2024/multimedia/js/search-widgets.js?v=3';
                        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, opt, num, gov, paisEu) {
                    iframe = iframe || false;
                    searcher = searcher || false;
                    comparator = comparator || true;
        
                    var optParam = '';
                    if (opt != null){
                        optParam = '&opt=' + opt;
                    }
        
                    var govParam = '';
                    if (gov != null){
                        govParam = '&gov=' + gov;
                    }
        
                    var numParam = '';
                    if(num != null){
                        numParam = '&num=' + num;
                    }

                    var paisEuParam = '';
                    if(paisEu != null){
                        paisEuParam = '&pais=' + paisEu;
                    }
        
                    $('#'+id).parent().closest('.container').addClass(widget);
                    var url = this._services[type] + '?iframe=' + iframe + '&id=' + id + '&searcher=' + searcher + '&comparator=' + comparator + govParam + numParam + optParam + paisEuParam;
                    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.opt, data.num, data.gov, data.pais);
                    });
                    /*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 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('bundle-elecciones') !== -1) {
                                /* $ = window.jQuery;
                                console.log($); */
                            }
                            loadScr();
                        }, false);
                    }.bind(this);
                    loadScr()
                };
        
                return Widget_Loader;
            })(jQuery);
            var widget_loader = new Widget_Loader('https://resultados-elecciones.rtve.es');
        }
    })(); 
}