viktorShmer / Get Staff Queue

// ==UserScript==
// @name        Get Staff Queue
// @namespace    http://tampermonkey.net/
// @version      0.3.6
// @description  Get Staff Queue!
// @author      ShmerViktor (MegaGroup)
// @include    https://staff.megagroup.ru/staff/reglament/
// @grant      none
// ==/UserScript==

(function() {
    'use strict';
    var colReg ,
        colRegCur,
        bdrId,
        queueId,
        textNot,
        audio,
        tabIsPressed = false/*,
        
        notification*/;


    $('<audio id="chatAudio"><source src="https://ringon.ru/?do=get-file&id=21548" type="audio/mp3"></audio>').appendTo('body');
        if (localStorage.getItem('bdrId')){
            bdrId = localStorage.getItem('bdrId');
        }
        else{
            bdrId = prompt('Введите свой Staff ID:', '');
            localStorage.setItem('bdrId',bdrId);
        }
        if (localStorage.getItem('colReg')){
            colReg = localStorage.getItem('colReg');
        }
        else{
            colReg = 0;
        }
        if (localStorage.getItem('textNot')){
            textNot = localStorage.getItem('textNot');
        }
        else{
            textNot = prompt('Введите текст оповещения:', '');
            localStorage.setItem('textNot',textNot);
        }
        if (localStorage.getItem('queueId')){
            queueId = localStorage.getItem('queueId');
        }
        else{
            queueId = prompt('Введите номер(только цифру) очереди: 1-ОДР, 54-БДР, 88-Бесп.Вер.', '');
            localStorage.setItem('queueId',queueId);
        }
    if (localStorage.getItem('audio')){
        audio = localStorage.getItem('audio');
    }
    else{
        audio = prompt('Включить звук оповещения (да/нет)','нет');
        localStorage.setItem('audio',audio);
    }
    getBDR();
    setInterval(function(){
        getBDR();
    },30000);
    function clickFunc() { window.open("https://staff.megagroup.ru/staff/queue/?queue_id="+queueId+"&doer_id=" + bdrId); }
    function getBDR(){
        var x = new XMLHttpRequest();
        x.open("GET", "https://staff.megagroup.ru/staff/reglament/", true);
        x.onload = function (){
            if (parseInt($(x.responseText).find('.menu a[href$="queue_id='+queueId+'&doer_id=' + bdrId +'"] i').text())){
                colRegCur = parseInt($(x.responseText).find('.menu a[href$="queue_id='+queueId+'&doer_id=' + bdrId + '"] i').text());
                if ((colReg!=colRegCur) || (colRegCur===0)){
                    colReg = colRegCur;
                    localStorage.setItem('colReg',colReg);
                    if (colRegCur>0){
                        Notification.requestPermission(function(permission){
                            var notification = new Notification(textNot, { dir: 'auto',icon: 'http://img15.nnm.me/b/f/a/2/a/dc7f284ec9ad3f1093836550af3.jpg',requireInteraction: true });
                            if (localStorage.getItem('audio') == "да"){
                                $('#chatAudio')[0].play();
                            }
                            notification.onclick = clickFunc;
                        });
                    }
                }
            }
            else{
                colReg = 0;
                localStorage.setItem('colReg',colReg);
            }
        };
        x.send(null);
    }
    function setSettings(){
        bdrId = prompt('Введите свой Staff ID:', '');
        localStorage.setItem('bdrId',bdrId);
        textNot = prompt('Введите текст оповещения:', '');
        localStorage.setItem('textNot',textNot);
        queueId = prompt('Введите номер(только цифру) очереди: 1-ОДР, 54-БДР, 88-Бесп.Вер.', '');
        localStorage.setItem('queueId',queueId);
        audio = prompt('Включить звук оповещения (да/нет)','нет');
        localStorage.setItem('audio',audio);
    }

     $(window).keydown(function(event){
         console.log(event.keyCode);
         if(event.keyCode == 18) {
             tabIsPressed = true; event.preventDefault();
         }
     });

     $(window).keyup(function(event){
         if(event.keyCode == 18) {
             tabIsPressed = false; event.preventDefault();
         }
     });

     $(window).on('keydown', function(e) {
         if (tabIsPressed && event.keyCode === 110) {
             event.preventDefault();
             setSettings();
             return;
         }
     });

})();