<head>
        
    <!--
        DOCS
    ================================

        Страпон https://bootstrap-4.ru/docs/5.1/components/navbar/#supported-content
        Дропдаун https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_js_dropdown_filter
        Пиздинг https://timetable.spbu.ru/MATH/StudentGroupEvents/Attestation/304513?Length=18
        АПЕЕЕ https://portal.kuzstu.ru/api/
    -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Расписание занятий КузГТУ: преподователи и студенты</title>

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
    <link rel="shortcut icon" href="static/trash/minilogo.png" type="image/png"/>

    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700"/>
    <link href="static/main.css" rel="stylesheet">
    <link href="static/dev.css" rel="stylesheet">
    
        
<body>
    <div class="container-fluid initalContainerHead">
        <nav class="navbar desimborto navbar-dark ">
            <div class="container">
                <div class="col-2">
                    <!--
                        <a class="navbar-brand">Расписание КузГТУ</a>
                    -->
                    <img class="navbar-brand" src="static/trash/mainlogo.png" style="padding-top: 2px;padding-right: 2px;padding-bottom: 2px;padding-left: 2px;">
                    
                </div>
                <div class="col-xl-6 col-sm-4">
                    <!---
                    <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
                        <div class="navbar-nav" style="flex-direction: row;">
                          <a class="nav-link active" aria-current="page" href="#">Главная</a>
                          <a class="nav-link" href="#">Экспорт календаря</a>
                          <a class="nav-link" href="#">Весь функционал</a>
                          <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Кабинет препода</a>
                        </div>
                      </div>
                    -->
                </div>
                <div class='col-xl-6 col-sm-6 p0'>
                    <form class="d-flex saparento">
                        <input class="formespateroindutodasfind form-control me-2" type="text" autocomplete="off" placeholder="нехватаетджаваскрипта!!" aria-label="Search" id="myInput" onmousedown="myFunction()" onkeyup="filterFunction()">
                        <div id="myDropdown" class="dropdown-content formespateroindutodasfind" style="margin-top: 38px;">
                            <!--http://localhost:8000/icsshudle/web-api/search?tgt=КСС вонтентим апе---> 
                                <!--ТУТ вот после аякспоиска будет выводиться ID!! и уже он записываться в хранилище а не высылать текст в жопу анализу рандома-->

                          </div>
                          
                        <div class="dropdown">
                            <button onclick="updateRasp()" class="btn btn-outline-primary">обновить</button>
                            
                          </div>
                          
                    </form>
                </div>
            </div>
          </nav>
          
    </div>
    


    
    <div id='body'></div>
</body>

<script>
    
    fsdadp=0
    //ftgttext=localStorage.getItem('tgttext')
    //ftgtid = '-75942'
    //ftgttext='Коротин Владимир Олегович'
    ftgtid=6265
    ftgttext='КСс-211'
    //ftgtid=localStorage.getItem('tgtid')
    if(ftgttext!=null && ftgtid!=null){
        document.getElementById("myInput").placeholder=ftgttext;
        }
    else{
        document.getElementById("myInput").placeholder="Нажмите чтобы искать"
        }
    
    const baseURL='http://localhost:8000/icsshudle/web-api/v1.1d/'
    /* When the user clicks on the button,
    toggle between hiding and showing the dropdown content */
    function togler(id){document.getElementById("scidred"+id.toString()).classList.toggle('show');}
    function plotRaspDiv(isTeacher,name,content){
        console.log(isTeacher,"хухйуххуйхуй")
        ///ВОТТУТВОТ СОРТИРОВКУ ПОДАТЕ И КАСТРАЦИЮ
        suckers={
            '6':"Сб",
            '5':"Пт",
            '4':"Чт",
            '3':"Ср",
            '2':"Вт",
            '1':"Пн",
            '7':"Воскресенье? Блять? Шиза?",
            }

        for(i in content){
            
            dateDisplay=content[i]['date'].replace('-',0)+suckers[content[i]['day_number']]
            csd=content[i]['date'].split('-')
            csd[0]=Number(csd[0])%1000
            dateDisplay=suckers[content[i]['day_number']]+", "+csd[2]+'<span class="romandate">'+convertToRoman(csd[1])+"</span><span class='display-7'>"+csd[0]+'</span>'
            up='<div class="container" style="max-width:550px;"><h1 class="display-6 maintainerColorTextDisplay">'+dateDisplay+'</h1><div class="list-group">'
            down='</div></div>'//name это группа или имя препода
            body=subPlot(isTeacher,name,content[i]['content'])

            var sp = document.createElement("a");
            sp.innerHTML=up+body+down
            document.getElementById("body").appendChild(sp);
        }
        


        
        function subPlot(isTeacher,subDate,subContent){
            //console.log('subPlot',subDate,isTeacher,subContent)
            costi=['&#9856;','&#9857;','&#9858;','&#9859;','&#9860;','&#9861;']
            dictCallstring=[['09:00', '10:30'], ['10:50', '12:20'], ['13:20', '14:50'], ['15:10', '16:40'], ['17:00', '18:30'], ['18:50', '20:20'], ['20:30', '22:00']]
            body=''
            
            for(i in subContent){
                console.log('subcon',isTeacher,subContent)
                educzone=subContent[i]['place']+"(адрес не найден)"
                if(1==1){
                educorus=Math.floor((subContent[i]['place'].replace("а", ''))/1000,0)   
                    educar=["улица Демьяна Бедного, 4б",
                            "улица Весенняя, 28",
                            "улица Дзержинского, 9",
                            "улица Красноармейская, 117",
                            "улица 50 лет Октября, 19",
                            "улица 50 лет Октября, 17",
                            "улица Дзержинского, 9Б"]
                    if(educorus>6){educzone=subContent[i]['place']}else{educzone=educar[educorus]}
                }else{
                    
                    
                }
                if(subContent[i]['place']=='лыж/б'){educzone="проспект Шахтёров, 14Б"}
                if(subContent[i]['place'].substring(0,3)=='Дис'){educzone="Д/О"}
                
                educzone=educzone//+"  <u><span onclick=(\"window.location.href='https://yandex.ru/maps/-/CCUmzMqEHC'\")>где</span></u>"
                edGroupId=''; if(isTeacher==true){
                    //edGroupId='<b>'+subContent[i]['education_group_name']+'</b>   ';
                    
                }
                smallObj=''; if(isTeacher==true){
                    
                    smallObj='<u><small class="upnametext" onclick=\"seth(`'+subContent[i]['education_group_id']+'`,`'+validName(subContent[i]['education_group_name'])+'`)\">'+subContent[i]['education_group_name']+'</small></u>';
                    if(subContent[i]['education_group_id']=='0'){
                        //subContent[i]['education_group_id']='УМЕР'
                        smallObj='<i><small class="upnametext">'+subContent[i]['education_group_name']+'</small></i>';
                    }
                
                }else{
                    
                        smallObj='<u><small class="upnametext" onclick=\"seth(`-'+subContent[i]['teacher_id']+'`,`'+validName(subContent[i]['teacher_name'])+'`)\">'+validName(subContent[i]['teacher_name'])+'</small></u>';
                        if(subContent[i]['education_group_id']=='0'){
                        //subContent[i]['education_group_id']='УМЕР'
                        smallObj='<i><small class="upnametext">'+subContent[i]['education_group_name']+'</small></i>';
                    }
                    }
                colorbir=" toColorBir-"+subContent[i]['lesson_number'].toString()
                colorbirType=" toColorBirType-"+subContent[i]['type'].toString().replace('.','')
                subgroup="подгруппа "+subContent[i]['subgroup']+","
                if(subContent[i]['subgroup']=='0'){subgroup=''}
                comments=''
                for(gfi in subContent[i]['comments']){
                    divdiz=''
                    lastdiv=''
                    if(gfi>=0){divdiz='<br>';}
                    if(gfi==subContent[i]['comments'].length-1){divdiz='';lastdiv='<br>--------'}
                    num=parseInt(gfi)+1
                    comments+=("<i>["+num+"] "+subContent[i]['comments'][gfi]+"</i>"+divdiz+lastdiv)
                }
                
        body+='<div href="#" class="list-group-item list-group-item-action'+colorbir+'" aria-current="true"><div class="row"><!--<div class="col-1 toDefWidth'+colorbir+'"></div>--><div onclick="togler('+subContent[i]['id']+')" class="col-2 toDefWidth rounded-pill'+colorbirType+'"></div>'+
            '<div class="col-11">'+
            '<div class="d-flex w-100 justify-content-between">'+
            '<h5 class="mb-1">'+'<span style="font-size: 12px;">'+edGroupId+subContent[i]['type']+"</span>"+subContent[i]['subject']+'</h5>'+
            smallObj+
            '</div>'+
            '<p class="mb-1">'+costi[subContent[i]['lesson_number']-1]+" "+edGroupId+subContent[i]['place']+'<span style="font-size: 12px;">, '+subgroup+' <i>'+dictCallstring[subContent[i]['lesson_number']-1][0]+"-"+dictCallstring[subContent[i]['lesson_number']-1][1]+'</i></p></span>'+
            '<p class="mb-1">'+comments+'</p></span>'+
            '<small class="text-muted">'+educzone+" pID:"+subContent[i]['id']+", источник: "+subContent[i]['source']+'</small>'+
            '</div></div>'+
            '<div class="collapse" id="scidred'+subContent[i]['id']+'"></br><div class="card card-block" style="color:black;">Тут место под форму редактора<br>Нужно добавить еще лист правок<br>Подумать над идентификацией<br>Короче добавляем просто будем новое расписание и ему в аргументе замены строить цепочку зависимостей. если число замен >0 делаем текущий день серым, а лучше в штриховке, мы же строители ёбана</div></div>'+
            '</div>'    
            }
            
            
            return body
        }
    }

    function raspWeekN(d){
        d=d.split('-')
        
        var today = new Date(d[0], d[1], d[2]).getTime(); 
        var now = new Date().getTime(); 
        var week = Math.ceil((now - today) / (604800000)); 
        //maping=week%2
        //если false то не четная
        if (week % 2==1)  {  
            maping=true
        }  else  {  
            maping=false
        } 
        return maping
    }
    function updateRasp(){
        
        //http://localhost:8000/icsshudle/web-api/-61189
        getJSON(baseURL+'rasp?tgt='+ftgtid.toString(),
        function(err, data) {
        if (err !== null) {
            alert('Свеятой светильник!!! Мы обосрались! И вот как: ' + err);
        } else {
            
            rd=data
            console.log(rd);
            document.getElementById("body").innerHTML=""
            plotRaspDiv(rd['isteacher'],rd['name'],rd['content'])
            
        }
        });
        
        return 0
    }


    
    function myFunction() {
      document.getElementById("myDropdown").classList.toggle("show");
    }
    rda=0
    function filterFunction() {
      var input, filter, ul, li, a, i;
      input = document.getElementById("myInput");
      filter = input.value.toUpperCase();
      fsdpd=filter
      getJSON(baseURL+'search?tgt='+filter,
        function(err, data) {
        if (err !== null) {
            alert('Свеятой светильник господь наш небесный Ярило!!! Я не смог в ajax, давай разбирайся ' + err);
        } else {
            
            rd=data.slice(0,10)
            console.log(rd);
            document.getElementById("myDropdown").innerHTML=""
            for(t in rd){
                rda=rd[t]

                addSearchLine(rda['ID'],rda['NAME'].toString())
                console.log('r',rda['NAME'].toString())
            }
        }
        });
      div = document.getElementById("myDropdown");
      
    }
    function seth(id,text){    
        console.log("Set",id,text)
        localStorage.setItem('tgtid', id);
        localStorage.setItem('tgttext', text);
        ftgtid=id
        ftgttext=text
        document.getElementById("myInput").placeholder=text
        clear()
        updateRasp()
    }
    function clear(){
        document.getElementById("myDropdown").innerHTML=""
        document.getElementById("myDropdown").classList.remove("show")
        document.getElementById("myInput").value=''
    }
    function addSearchLine(id,name){
        var sp = document.createElement("a");

        name=name
        sp.innerHTML="<a id='"+id+"' onclick='seth("+id+",`"+name+"`)'>"+name+"</a>"
        //sp.innerHTML = "<input type='button' title='Bold' value='spoiler' onclick=\"simpletag('spoiler','','','message','')\" class='codeButtons' id='b' style='width:20px;font-weight:bold'>";
        //sp.style.paddingRight = "1px";
        sp.id = "GUS"+id; //ID должен быть уникален!
 
        document.getElementById("myDropdown").appendChild(sp);
    }

    var getJSON = function(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'json';
    xhr.onload = function() {
      var status = xhr.status;
      if (status === 200) {
        callback(null, xhr.response);
      } else {
        callback(status, xhr.response);
      }
    };
    xhr.send();
};
    function validName(input){

        
    return input.replace(/(.+) (.).+ (.).+/, '$1 $2. $3.');

    }
    function convertToRoman(number) {    return [        { value: 1000, char: 'M' },        { value: 900, char: 'CM' },        { value: 500, char: 'D' },        { value: 400, char: 'CD' },        { value: 100, char: 'C' },        { value: 90, char: 'XC' },        { value: 50, char: 'L' },        { value: 40, char: 'XL' },        { value: 10, char: 'X' },        { value: 9, char: 'IX' },        { value: 5, char: 'V' },        { value: 4, char: 'IV' },        { value: 1, char: 'I' }    ].reduce((result, currentValue) => {        while (number >= currentValue.value) {            result += currentValue.char;            number -= currentValue.value;        }        return result;    }, '');}
updateRasp()
    </script>
{'avg_line_length': 46.73684210526316, 'max_line_length': 695, 'alphanum_fraction': 0.5193428722840487, 'licenses': ['MPL-2.0', 'MPL-2.0-no-copyleft-exception'], 'repository_name': 'deb8v/KSTU-FrontEnd', 'path': 'demo.html', 'size': 16073, 'lang': 'HTML'}