As the Minister of Tourism Olga Kefalogiannis announced at the 3rd Maritime Economic Conference entitled “Productive Greece in the next decade” there will be a training program for “Reskilling and upskilling skills in the field of Tourism” whose platform will open tomorrow, Wednesday, October 30, 2024 for the submission of applications by potential beneficiaries of the action. It is also pointed out that the program will be financed by the National Recovery and Resilience Fund and will have a budget of 45,029,950 euros.
What you need to know about the voucher
In fact, according to information, the program in question will concern workers and the unemployed in the tourism and catering sectors. It is clarified that the participants of the program will receive an educational allowance of 1,250 euros which will be non-disposable. This amount results from the 250 hours of free online training that will take place in a seminar for the selection of the beneficiaries at 5 euros per hour. It is also pointed out that the participants who complete the training program will receive an international Certification from a major certification body
Teracloud: Multinational invests in Greek minds
Half of the population in Greece plans purchases for Black Friday and Cyber Monday
A heroin-trafficking gang in Attica was dismantled
Dalaka irritated by the reports about Gentsoglou: “When I’m in a relationship with someone I won’t hide”
/* — PerfOps by Nuevvo (nuevvo.com) — */
// Utilities
const allScripts = document.getElementsByTagName(‘script’);
window.lst = allScripts[allScripts.length – 1];
window.isMobile=(function() {var ua=navigator.userAgent||navigator.vendor||window.opera;return ((/Android/i).test(ua) && (/Mobile/i).test(ua)) || (/BlackBerry|iPhone|iPod|Opera Mini|IEMobile/i).test(ua);})();
function asyncLoadScript(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.async = true;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function asyncLoadModule(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.type=”module”;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function displaySlot(id) {
if (document.querySelector(‘#’+id)) {
googletag.display(id);
}
}
// Fix OCM JS errors
window.defineSlots = function(t, r){};
/*! instant.page v5.2.0 – (C) 2019-2023 Alexandre Dieulot – */
(function(){
let t,e,n,o,i,a=null,s=65,c=new Set;const r=1111;function d
})();
// InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2)
setTimeout(() => {
var host=”eleftherostypos.gr”;var element=document.createElement(‘script’);var firstScript=document.getElementsByTagName(‘script’)[0];var url=” uspTries=0;var uspTriesLimit=3;element.async=true;element.type=”text/javascript”;element.src=url;firstScript.parentNode.insertBefore(element,firstScript);function makeStub(){var TCF_LOCATOR_NAME=’__tcfapiLocator’;var queue=[];var win=window;var cmpFrame;function addFrame(){var doc=win.document;var otherCMP=!!(win.frames[TCF_LOCATOR_NAME]);if(!otherCMP){if(doc.body){var iframe=doc.createElement(‘iframe’);iframe.style.cssText=”display:none”;iframe.name=TCF_LOCATOR_NAME;doc.body.appendChild(iframe);} else {setTimeout(addFrame,5);}}return !otherCMP;}function tcfAPIHandler(){var gdprApplies;var args=arguments;if(!args.length){return queue;} else if(args[0]===’setGdprApplies’){if(args.length > 3 &&args[2]===2 &&typeof args[3]===’boolean’){gdprApplies=args[3];if(typeof args[2]===’function’){args[2](‘set’,true);}}} else if(args[0]===’ping’){var retr={gdprApplies: gdprApplies,cmpLoaded: false,cmpStatus: ‘stub’};if(typeof args[2]===’function’){args[2](retr);}} else {if(args[0]===’init’ && typeof args[3]===’object’){args[3]=Object.assign(args[3],{ tag_version: ‘V3′ });}queue.push(args);}}function postMessageEventHandler(event){var msgIsString=typeof event.data===’string’;var json={};try {if(msgIsString){json=JSON.parse(event.data);} else {json=event.data;}} catch (ignore){}var payload=json.__tcfapiCall;if(payload){window.__tcfapi(payload.command,payload.version,function(retValue,success){var returnMsg={__tcfapiReturn: {returnValue: retValue,success: success,callId: payload.callId}};if(msgIsString){returnMsg=JSON.stringify(returnMsg);}if(event && event.source && event.source.postMessage){event.source.postMessage(returnMsg,’*’);}},payload.parameter);}}while (win){try {if(win.frames[TCF_LOCATOR_NAME]){cmpFrame=win;break;}} catch (ignore){}if(win===window.top){break;}win=win.parent;}if(!cmpFrame){addFrame();win.__tcfapi=tcfAPIHandler;win.addEventListener(‘message’,postMessageEventHandler,false);}}makeStub();var uspStubFunction=function(){var arg=arguments;if(typeof window.__uspapi!==uspStubFunction){setTimeout(function(){if(typeof window.__uspapi!==’undefined’){window.__uspapi.apply(window.__uspapi,arg);}},500);}};var checkIfUspIsReady=function(){uspTries++;if(window.__uspapi===uspStubFunction && uspTries 0) {
//asyncLoadScript(‘
adSenseSlots.forEach(function(e){
});
}
// Phaistos Adman
//asyncLoadScript(‘
window.AdmanQueue=window.AdmanQueue||[];
AdmanQueue.push(function(){Adman.adunit({id:338,h:’
// OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
// Disqus
var disqus_config = function() {
this.page.url=”
this.page.identifier = 1553891;
};
setTimeout(function(){
(function() {
var d = document,
s = d.createElement(‘script’);
s.src=”
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);
})();
}, 3000);
function cmpActionCompleted() {
// OCM & DFP
//asyncLoadScript(‘
asyncLoadScript(‘
asyncLoadScript(‘
/*
// CleverCore
(function(document, window) {
var a, c = document.createElement(“script”);
c.id = “CleverCoreLoader57097″;
c.src = ”
c.async = !0;
c.type = “text/javascript”;
c.setAttribute(“data-target”, window.name);
c.setAttribute(“data-callback”, “put-your-callback-macro-here”);
try {
a = parent.document.getElementsByTagName(“script”)[0] || document.getElementsByTagName(“script”)[0];
} catch (e) {
a = !1;
}
a || (a = document.getElementsByTagName(“head”)[0] || document.getElementsByTagName(“body”)[0]);
a.parentNode.insertBefore(c, a);
})(document, window);
*/
// Taboola/Project Agora
asyncLoadScript(‘
asyncLoadScript(‘
// For Google AdSense
if (document.querySelectorAll(‘.adsbygoogle’).length) {
asyncLoadScript(‘
}
// Phaistos Adman
asyncLoadScript(‘
// Glomex
if (document.querySelectorAll(‘glomex-integration’).length) {
setTimeout(function(){
asyncLoadModule(‘
}, 2000);
}
// Dalecta
setTimeout(() => asyncLoadScript(‘ 800);
// Vidoomy
//asyncLoadScript(‘
// Weather
setTimeout(() => asyncLoadScript(‘ 1000);
/*
// Facebook Pixel
!function(f, b, e, v, n, t, s) {
if (f.fbq) return;
n = f.fbq = function() {
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
};
if (!f._fbq) f._fbq = n;
n.push = n;
n.loaded = !0;
n.version = ‘2.0’;
n.queue = [];
t = b.createElement(e);
t.async = !0;
t.src = v;
s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s)
}(window, document, ‘script’, ‘
fbq(‘init’, ‘618972382017166’);
fbq(‘track’, ‘PageView’);
*/
// OneSignal
setTimeout(() => asyncLoadScript(‘ 5000);
}
// Microsoft Clarity
(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src=”https://www.clarity.ms/tag/”+i+”?ref=wordpress”;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, “clarity”, “script”, “l14tw277rg”);
// Yandex Metrica
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}}k=e.createElement
#apply #tomorrow
It looks like you have a snippet of JavaScript code, presumably related to loading various advertising and tracking scripts on a webpage. However, it seems that a significant portion of the script is incomplete or commented out. Below are some observations and suggestions based on the provided code:
### Observations:
1. **Ad Removal**: The script starts by checking whether to remove AdSense ads based on some condition, presumably related to mobile or desktop views.
2. **AdSense Slots**: It attempts to select all AdSense slots and manage them, but the logic for processing these slots is incomplete (`adSenseSlots.forEach(function(e) { … });`).
3. **Third-Party Scripts**: There are sections dedicated to loading scripts for Phaistos Adman, OneSignal (push notifications), Disqus (comments), and more.
4. **Asynchronous Loading**: The function `asyncLoadScript()` is invoked multiple times for various scripts, indicating an intention to load these scripts asynchronously.
5. **Commented Code**: There are several commented-out sections (including the CleverCore loading, which looks well-structured but is inactive).
### Suggestions:
1. **Complete the Scripts**: Ensure that all API URLs or script sources are included within `asyncLoadScript()` and other relevant calls. This is important to ensure that scripts load correctly.
2. **Error Handling**: Add error handling to the asynchronous loading functions to capture and deal with any failed script loads.
3. **Consistent Formatting**: Maintain consistent use of quote marks and template literals for readability. For example, consider using backticks for multi-line strings.
4. **Delay Logic**: Revisit the use of `setTimeout`. While it can be useful for ensuring elements are available, excessive use may lead to race conditions. Proper checks for element existence can sometimes eliminate the need for timeouts.
5. **Remove Unused Code**: If you don’t plan to use certain scripts (e.g., CleverCore, Taboola/Project Agora), consider removing those comments to clean up the code for better readability.
6. **Tracking and Identifiers**: Ensure that identifiers and tracking setups (like `OneSignal` and `Disqus`) are correctly configured for your specific application.
7. **Documentation**: Consider adding comments to document the purpose of each section for better maintainability in the future.
### Code Example:
Here is a simplified and cleaned-up version where part of the code is structured for clarity:
“`javascript
function asyncLoadScript(src) {
const script = document.createElement(‘script’);
script.src = src;
script.async = true;
document.head.appendChild(script);
}
// Remove ads based on device type
const ads = document.querySelectorAll(‘.adsbygoogle’);
ads.forEach(ad => ad.remove());
// Initialize OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
// Disqus configuration
var disqus_config = function() {
this.page.url = window.location.href; // Specify the page’s canonical URL variable
this.page.identifier = 1553891; // Replace with your page’s unique identifier
};
// Load Disqus after a delay
setTimeout(function() {
const d = document;
const s = d.createElement(‘script’);
s.src = “https://your-disqus-shortname.disqus.com/embed.js”; // Add your Disqus shortname
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);
}, 3000);
// Additional asynchronous scripts can be loaded as needed
asyncLoadScript(‘https://your-script-url.js’); // Replace with actual script URL
“`
Make sure to substitute placeholder URLs and identifiers as necessary while maintaining security and proper functionality for your site’s needs.