zombieserv / BADM Dashboard

// ==UserScript==
// @name         BADM Dashboard
// @version      0.1
// @description  Badm system
// @author       Alex Monolit
// @license MIT

// @include     *://badm.gtarp.ru/dashboard
// @ require  http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js
// ==/UserScript==

(function() {
    'use strict';
    var elems = document.getElementsByTagName('*');
    var myElems = [];
    var day = getWeekDay(new Date());

    //document.getElementById("push_msg_enable").style.display = 'none'; // Скрыть глючную
    document.getElementById("adm-row-1").style.display = 'none'; // Скрыть Томаса
    document.getElementById("adm-row-886").style.display = 'none'; // Скрыть Батона

    var nums = [1, 4, 5];
    for(var i = 0; i < nums.length; i++){
        $("table thead th:nth-child("+nums[i]+"), #admin-table td:nth-child("+nums[i]+")").hide();
    }

    var replaced = $("body").html().replace(/Наиграно\/АФК\/Репорты/g,'До нормы');
    $("body").html(replaced);
    var replaceda = $("body").html().replace(/Отпуск/g,'Неактив');
    $("body").html(replaceda);

    //warning danger success info active
    //document.querySelector("#adm-row-775").className = "_class_server_admin_06 warning"
    $('.panel').width(1300)
    $('.panel').css('margin-left','-40px')



    for(var z = 0, length = elems.length; z < length; z++) {
        if (elems[z].id.match(/^adm_row_stand_/)) {
            var s = elems[z].id.replace(/adm_row_stand_([0-9]+)/,'#adm-row-$1')

            var idadm = elems[z].id.match(/^adm_row_stand_(.+)/)[1];
            if(/([0-9]+) \/ ([0-9]+) \/ ([0-9]+)/.test(elems[z].innerHTML)){
                var norma = elems[z].innerHTML.match(/([0-9]+) \/ ([0-9]+) \/ ([0-9]+)/);
                var timea = norma[1];
                var afka = norma[2];
                var repa = norma[3];
                var timeWithoutAFKa = timea-afka;
                var leftTimea = ""

                if(idadm == 11 || idadm == 775){
                    leftTimea = (day == "Воскресенье" ? (75 - timeWithoutAFKa > 0 ? "Ещё " + ((75 - timeWithoutAFKa)/60).toFixed(1) + " час(а).<br>("+(75 - timeWithoutAFKa)+" мин.)": "Есть норма.") : (150 - timeWithoutAFKa > 0 ? "Ещё " + ((150 - timeWithoutAFKa)/60).toFixed(1) + " час(а).<br>("+(150 - timeWithoutAFKa)+" мин.)": "Есть норма."))
                }else if(document.querySelector(s).className.indexOf('info') > -1){
                    leftTimea = "Неактив."
                }else{
                    var statusTime = (day == "Воскресенье" ? (90 - timeWithoutAFKa > 0 ? "Ещё " + ((90 - timeWithoutAFKa)/60).toFixed(1) + " час(а)." : "Есть норма.") : (180 - timeWithoutAFKa > 0 ? "Ещё " + ((180 - timeWithoutAFKa)/60).toFixed(1) + " час(а)." : "Есть норма."))
                    var statusReport = (day == "Воскресенье" ? (75 - repa > 0 ? "Ещё " + (75 - repa) + " реп." : "Есть норма.") : (150 - repa > 0 ? "Ещё " + (150 - repa) + " реп." : "Есть норма."))
                    if(statusTime == "Есть норма." && statusReport == "Есть норма."){
                        leftTimea = "Есть норма."
                    }else{
                        leftTimea = statusTime + "<br>" + statusReport
                    }
                }

                var newTexta = timea + " / " + afka + " / " + repa;
                document.getElementById(elems[z].id).innerHTML='<div title="'+newTexta+'">'+leftTimea+'</div>';


                }
        }
    }



    function getWeekDay(date) {
    date = date || new Date();
    var days = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'];
    var day = date.getDay();
    return days[day];
    }
})();