function getRequest (url) { return new Promise((resolve, reject) => { let xhttp = new XMLHttpRequest(); xhttp.open('GET', url, true); xhttp.responseType = 'json'; xhttp.onreadystatechange = () => { if (xhttp.readyState == 4 ) { if ( xhttp.status == 200) { resolve(xhttp.response); } else if (xhttp.status == 403) { reject('Wrong channel name or password'); } else { reject('request failed with status:' + xhttp.status); }; } }; xhttp.send(); }) } function postRequest (url, params) { return new Promise((resolve, reject) => { let xhttp = new XMLHttpRequest(); xhttp.open('POST', url, true); xhttp.responseType = 'json'; xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhttp.onreadystatechange = () => { if (xhttp.readyState == 4 ) { if ( xhttp.status == 200) { resolve(xhttp.response); } else if (xhttp.status == 401) { reject( new AuthenticationError('Wrong channel name or password')); } else { reject('request failed with status:' + xhttp.status); }; } }; xhttp.send(params); }) } function createProgressBar(element, size){ var x = 0; var adder = 1; // create the bar holder & place it var barHolder = document.createElement('p'); for (var i = 0; i < size; i++) { const bar = document.createElement('span'); bar.innerText = '| '; bar.setAttribute('class', 'progress-bar progress-bar--inactive'); barHolder.appendChild(bar); } element.appendChild(barHolder); // get the bars const bars = document.getElementsByClassName('progress-bar'); // function to update the bars' classes function updateOneBar(){ // update the appropriate bar if (x > -1 && x < size){ if (adder === 1){ bars[x].setAttribute('class', 'progress-bar progress-bar--active'); } else { bars[x].setAttribute('class', 'progress-bar progress-bar--inactive'); } } // set x if (x === size){ adder = -1; } else if ( x === -1){ adder = 1; } // update the adder x += adder; }; // start updater setInterval(updateOneBar, 300); } function setCookie(key, value) { document.cookie = `${key}=${value}`; } function getCookie(cname) { const name = cname + "="; const decodedCookie = decodeURIComponent(document.cookie); const ca = decodedCookie.split(';'); for(let i = 0; i