var imageAddr = 'https://areariservata.wirtek.it/app/images/engage_logo.png'; var downloadSize = 81538; //bytes function ShowProgressMessage(msg) { if (console) { if (typeof msg == "string") { console.log(msg); } else { for (var i = 0; i < msg.length; i++) { console.log(msg[i]); } } } $('#internet_status').attr('title',msg); } function InitiateSpeedDetection() { //ShowProgressMessage("Loading the image, please wait..."); window.setTimeout(MeasureConnectionSpeed, 1); }; if (window.addEventListener) { window.addEventListener('load', InitiateSpeedDetection, false); } else if (window.attachEvent) { window.attachEvent('onload', InitiateSpeedDetection); } function MeasureConnectionSpeed() { var startTime, endTime; var download = new Image(); download.onload = function () { endTime = (new Date()).getTime(); showResults(); } download.onerror = function (err, msg) { ShowProgressMessage("Invalid image, or error downloading"); } startTime = (new Date()).getTime(); var cacheBuster = "?nnn=" + startTime; download.src = imageAddr + cacheBuster; function showResults() { var led_status = document.getElementById('internet_status'); var duration = (endTime - startTime); var speedBps = (downloadSize*8*1000/duration).toFixed(2); var speedKbps = (speedBps/1024).toFixed(2); var speedMbps = (speedKbps*20/2500).toFixed(2); var speedPerc = speedMbps*100/50; if (speedPerc>100){ var speedPerc = 100; } var webStatus = false; $('#internet_status').attr('title',duration+"ms "+(downloadSize/1024).toFixed(2)+"kb "+speedMbps+"Mbps"); if (speedMbps>=7){ $('#internet_status').removeClass('zmdi-cast'); $('#internet_status').addClass('zmdi-cast-connected'); //$('#internet_status').removeClass('zmdi-wifi-info'); //$('#internet_status').removeClass('zmdi-wifi-outline'); //$('#internet_status').removeClass('zmdi-wifi-alt-2'); //$('#internet_status').removeClass('zmdi-wifi-alt'); //$('#internet_status').addClass('zmdi-wifi'); $('#internet_status').css('color','#1CCC30'); $('#internet_status_label').css('color','#1CCC30'); $('#internet_status_progress_bar').css('background-color','#1CCC30'); $('.status-webserver').removeClass('btn-default').removeClass('btn-danger').removeClass('btn-warning').addClass('btn-success'); webStatus = true; } else if (speedMbps<7 && speedMbps>=4){ $('#internet_status').removeClass('zmdi-cast'); $('#internet_status').addClass('zmdi-cast-connected'); //$('#internet_status').removeClass('zmdi-wifi-info'); //$('#internet_status').removeClass('zmdi-wifi-outline'); //$('#internet_status').removeClass('zmdi-wifi-alt-2'); //$('#internet_status').removeClass('zmdi-wifi'); //$('#internet_status').addClass('zmdi-wifi-alt'); $('#internet_status').css('color','#A1F244'); $('#internet_status_label').css('color','#A1F244'); $('#internet_status_progress_bar').css('background-color','#A1F244'); $('.status-webserver').removeClass('btn-default').removeClass('btn-danger').removeClass('btn-success').addClass('btn-warning'); webStatus = true; } else if (speedMbps<4 && speedMbps>=2){ $('#internet_status').removeClass('zmdi-cast'); $('#internet_status').addClass('zmdi-cast-connected'); //$('#internet_status').removeClass('zmdi-wifi-info'); //$('#internet_status').removeClass('zmdi-wifi-outline'); //$('#internet_status').removeClass('zmdi-wifi-alt'); //$('#internet_status').removeClass('zmdi-wifi'); //$('#internet_status').addClass('zmdi-wifi-alt-2'); $('#internet_status').css('color','#F2DE5B'); $('#internet_status_label').css('color','#F2DE5B'); $('#internet_status_progress_bar').css('background-color','#F2DE5B'); $('.status-webserver').removeClass('btn-default').removeClass('btn-danger').removeClass('btn-success').addClass('btn-warning'); webStatus = true; } else if (speedMbps<2 && speedMbps>=1){ $('#internet_status').removeClass('zmdi-cast'); $('#internet_status').addClass('zmdi-cast-connected'); //$('#internet_status').removeClass('zmdi-wifi-info'); //$('#internet_status').removeClass('zmdi-wifi-alt-2'); //$('#internet_status').removeClass('zmdi-wifi-alt'); //$('#internet_status').removeClass('zmdi-wifi'); //$('#internet_status').addClass('zmdi-wifi-outline'); $('#internet_status').css('color','#F26C2E'); $('#internet_status_label').css('color','#F26C2E'); $('#internet_status_progress_bar').css('background-color','#F26C2E'); $('.status-webserver').removeClass('btn-default').removeClass('btn-warning').removeClass('btn-success').addClass('btn-danger'); webStatus = true; } else { $('#internet_status').removeClass('zmdi-cast-connected'); $('#internet_status').addClass('zmdi-cast'); //$('#internet_status').removeClass('zmdi-wifi-outline'); //$('#internet_status').removeClass('zmdi-wifi-alt-2'); //$('#internet_status').removeClass('zmdi-wifi-alt'); //$('#internet_status').removeClass('zmdi-wifi'); //$('#internet_status').addClass('zmdi-wifi-info'); $('#internet_status').css('color','#F20707'); $('#internet_status_label').css('color','#F20707'); $('#internet_status_progress_bar').css('background-color','#F20707'); $('.status-webserver').removeClass('btn-danger').removeClass('btn-warning').removeClass('btn-success').addClass('btn-default'); } $('#internet_status_progress_bar').css('width',speedPerc+"%"); $('#internet_status_progress_bar').attr('aria-valuenow',speedPerc); $('#internet_status_progress_value').html(speedMbps+' Mbps'); $('.status-cloud').removeClass('btn-default').removeClass('btn-warning').removeClass('btn-success').addClass('btn-danger'); var cloudStatus = false; $('.status-database').removeClass('btn-default').removeClass('btn-warning').removeClass('btn-danger').addClass('btn-success'); var databaseStatus = true; //if (!cloudStatus || !databaseStatus || !webStatus){ if (!databaseStatus || !webStatus){ if ($('.btn-login').length==1){ $('.btn-login').removeClass('btn-primary').addClass('btn-default').attr('disabled','disabled'); } else { alertMsg = "Attenzione!!!\n"; if (!cloudStatus){ alertMsg += "Ci sono problemi di connessione con il server cloud.\n"; } if (!databaseStatus){ alertMsg += "Ci sono problemi di connessione con il database.\n"; } if (!webStatus){ alertMsg += "Ci sono problemi di connessione internet.\n"; } alertMsg += "Non รจ possibile continuare ad utilizzare il sistema in sicurezza.\n"; alert( alertMsg ); location.replace( '/app/pages/logout.php' ); } } else { if ($('.btn-login').length==1 && $('.btn-login').attr('disabled')!='disabled'){ $('.btn-login').removeClass('btn-default').addClass('btn-primary'); } } ShowProgressMessage([ //"Your connection speed is:", //speedBps + " bps", //speedKbps + " kbps", //""+speedMbps + " Mbps" duration+"ms "+(downloadSize/1024).toFixed(2)+"kb "+speedMbps+"Mbps" ]); } }