<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
   <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.2.1/pulse/bootstrap.min.css">
   <link rel="stylesheet" href="/static/css/cookie.css">
    <title>NNOV</title>
  </head>
  <body >
  <nav class="navbar navbar-light bg-light navbar-expand-lg">
      <div class="container">
          <a class="navbar-brand " href="/">NAMES.NNOV.RU</a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>

          <div class="collapse navbar-collapse" id="navbarNav">
            <div class="navbar-nav  mr-auto">
                <a class="nav-item nav-link px-3" href="/pages/tarif/">Тарифы</a>
                <a class="nav-item nav-link px-3" href="/pages/reglament/">Регламент</a>
                <a class="nav-item nav-link px-3" href="/pages/dogovor/">Договор-оферта</a>
                <a class="nav-item nav-link px-3" href="/pages/peredacha/">Передача прав</a>
            </div>

            <div class="navbar-nav ">
            
                <a class="nav-item nav-link px-3" href="/login/">Вход</a>
                <a class="nav-item nav-link px-3" href="/signup/">Регистрация</a>
            
            </div>
          </div>
      </div>
  </nav>

  <main class="my-5"  style="min-height: calc(100vh - 305px)">
  <div class="container">
  
    <div class="row justify-content-between">
        <div class="col-lg-6" id="content">
            
    <h2>Домены в зоне .nnov.ru</h2>
    <form action="." method="post" id="checkDomain"><input type="hidden" name="csrfmiddlewaretoken" value="u5Lv8EoJhkihWAhGZK9pF7MGVhCc4Hm23ZLXl39NN7DdlfN2K2ju0gOTz0NYoLxt">

        <div class="d-flex align-items-center">
            <input type="text" name="name" class="form-control mr-2" autocomplete="off" maxlength="250" required id="id_name">
            .nnov.ru
        </div>

        <button type="submit" id="id_submit" class="btn btn-outline-primary my-3 " disabled>Проверить</button>

    </form>

    

    


        </div>
        <div class="col-lg-5 pt-5" id="description">
            
           
           
            <!-- Yandex.RTB R-A-395254-1 -->
<div id="yandex_rtb_R-A-395254-1"></div>
<script type="text/javascript">
   (function(w, d, n, s, t) {
       w[n] = w[n] || [];
       w[n].push(function() {
           Ya.Context.AdvManager.render({
               blockId: "R-A-395254-1",
               renderTo: "yandex_rtb_R-A-395254-1",
               async: true
           });
       });
       t = d.getElementsByTagName("script")[0];
       s = d.createElement("script");
       s.type = "text/javascript";
       s.src = "//an.yandex.ru/system/context.js";
       s.async = true;
       t.parentNode.insertBefore(s, t);
   })(this, this.document, "yandexContextAsyncCallbacks");
</script>
        </div>
    </div>

  </div>
  </main>
  <footer class="bg-light">
      <div class="container py-3">
        <div class="">
            <p>
                  Контактный телефон: <a href="tel:+78312775950">(831) 277-59-50</a><br>
                  <a href="mailto:nnov@r52.ru" title="Написать">nnov@r52.ru</a> - Администрация зоны NNOV.RU. Решение проблем, связанных с регистрацией объектов в базе NNOV.
                  <br>
                  © 2001—2019 ООО «Интернет-агентство Р52.РУ»<br>
              Домен nnov.ru является собственностью группы компаний ОАО «Вымпелком», находится под управлением ООО «Интернет-агентство Р52.РУ»</p>
        </div>
        <ul style="width:100%;display:flex;gap:10px;list-style:none;padding:0;">
            <li><a href="/pages/personal_data/">Согласие на обработку персональных данных</a></li>
            <li><a href="/pages/privacy_policy/">Политика конфиденциальности и обработки персональных данных</a></li>
            <li><a href="/pages/personal_data_subject/">Согласие на обработку персональных данных, разрешенных субъектом персональных данных для распространения</a></li>
            <li><a href="/pages/receive_newsletters/">Согласие на получение рассылки рекламного, информационного характера</a></li>
        </ul>
  </footer>

    <section class="cookies cookies--right">
        <div class="cookies__inner">
            <div class="cookies__body">
                <p>Мы используем cookies для того, чтобы сделать наш сайт максимально удобным и функциональным для пользователей. Продолжая пользоваться нашим веб-сайтом, Вы выражаете своё согласие на обработку Ваших персональных данных с использованием интернет-сервиса Yandex Metrica.</p>
            </div>
            <div class="cookies__footer">
                <button type="button" class="cookies__btn cookies__btn-accept">Принять</button>
            </div>
        </div>
    </section>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
  <script>
    function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
        return cookieValue;
    }
    var csrftoken = getCookie('csrftoken');
    console.log(csrftoken);

    //Ajax call
    function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }
    $.ajaxSetup({
        crossDomain: false, // obviates need for sameOrigin test
        beforeSend: function(xhr, settings) {
            if (!csrfSafeMethod(settings.type)) {
                xhr.setRequestHeader("X-CSRFToken", csrftoken);
            }
        }
    });

    // Cookie Banner
    document.addEventListener('DOMContentLoaded', function() {
        const cookiesElement = document.querySelector('.cookies');
        const currentValueAccess = getCookie("accept_cookies")

        const setCookie = (name,value,days) => {
            var expires = "";
            if (days) {
                var date = new Date();
                date.setTime(date.getTime() + (days*24*60*60*1000));
                expires = "; expires=" + date.toUTCString();
            }
            document.cookie = name + "=" + (value || "")  + expires + "; path=/";
        }

        if(currentValueAccess === null) setTimeout(() => {cookiesElement.classList.add('active');}, 100);
        
        const acceptButton = document.querySelector('.cookies__btn-accept');
        acceptButton.addEventListener('click', function() {
            setCookie('accept_cookies', "Y", 365);
            cookiesElement.classList.remove('active');
        });
    });
    // Cookie Banner

  </script>
    
    <script>

    $('input#id_name').bind('keyup',function(){
        $(this).val($(this).val().replace(/[^A-Za-z0-9-]/i, ""));
        if ( $(this).val().length > 1){
            $('#id_submit').attr('disabled', false)
        }else{
            $('#id_submit').attr('disabled', true)
        }
    });

    $('#checkDomain').on('submit', function(){
        var str = $('#id_name').val();
        var re = /[^A-Za-z0-9-]/i;
        if (re.test(str)) {
           alert('Вы ввели недопустимые символы в имени домена. Разрешены только буквы латинского алфавита и числа. Попробуйте еще раз.')
            return false
          }
    })


   function sendData(domain){
        var nsData = []
        $('.nsInput').each(function(){
            nsData.push($(this).val())
        })
        var data = {
            nsservers: JSON.stringify(nsData),
            domain: domain
        }
        $.ajax({
            url:"/api/nsServers/",
            type:'post',
            data:  data,
            success: function(res){
                
                json_nsservers = JSON.parse(localStorage.nsservers);
                data_nsservers = JSON.parse(data.nsservers);

                for (index in json_nsservers){
                    if (json_nsservers[index].name == res.domain) {

                        json_nsservers[index].nsservers = {}

                        for (ns_index in data_nsservers) {
                            json_nsservers[index].nsservers[ns_index] = { "route": data_nsservers[ns_index]}
                        }
                    }
                }

                localStorage.nsservers = JSON.stringify(json_nsservers)

                let html;
                html = "<div class='alert alert-success' style='background-color: #5bd8a75e;border: 1px solid green;margin: 15px 0 10px 0;'>Успешно!</div>";

                $('.alert-success').remove();
                $('.alert-error').remove();
                $('#nsControl').append(html);

            },

            error: function(res) {
                let html;
                html = "<div class='alert alert-error' style='background-color: #fdb2c7b0;border: 1px solid red;margin: 15px 0 10px 0;'>" + res.responseText + "</div>";

                $('.alert-success').remove();
                $('.alert-error').remove();
                $('#nsControl').append(html);
            } 
        })
   }


    function showDomainProfile(i){
        // $('#nsControl').remove()

            domains = JSON.parse(localStorage.getItem('nsservers'))
            data = domains[i].profile

            var profileHTML = ""
            console.log(221, data)
            if (data){
                var legalType = 'Физическое лицо',
                    documentName = "Паспорт",
                    documentsChecked = "Не идентифицирован";
                    
                if (data.legal == "organization"){
                    legalType = 'Юридическое лицо';
                    documentName = "ИНН";
                }

                if (data.documents_checked) {
                    documentsChecked = "Идентифицирован"
                }

                data.legal = legalType;
                profileFields = {
                    id: `${documentsChecked} под ID`,
                    // legal: "Тип собственника",
                    name: "Наименование",
                    document: documentName,
                    phone: 'Телефон',
                    email: 'E-mail',
                    
                };

                for (key in profileFields){
                    let verifyLink = (key == 'id' && !data.documents_checked) ? 
                        `<a style="margin-left:10px;" href="/manage_profiles/${data[key]}/">Пройти идентификацию</a>` : '<br>';

                    profileHTML += `
                        ${profileFields[key]}:  ${data[key]}${verifyLink}
                    `;
                }
            }

            var html=`
                <div class="input-group p-3">
                ${profileHTML}
                </div>
            `;
            $('#nsControl-' + i).append(html)



    }

    function nsControl(i){

        $('#nsControl').remove()

        $('.card').addClass('border-light')
        $('.card').removeClass('bg-light')

        domains = JSON.parse(localStorage.getItem('nsservers'))
        data = domains[i].nsservers

        var nsList = ""
        if (data){
             for (index in data){
                nsList += `
                <div class="input-group mb-3 add-on alert-dismissable">
                    <input value="${data[index].route}" class="form-control nsInput">
                    <div class="input-group-btn" style="position: absolute; right: 9px; top: 4px;">
                        <button class="close" onclick="this.parentElement.parentElement.remove()">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>        
                </div>`;
             }
        }
        
        var html=`
        <div class="p-3" id="nsControl">
            ${nsList}
            <div class="d-flex">
            <a class="btn btn-outline-primary mr-3" href="javascript:void(0)" onclick="addInput(this)">Добавить запись</a>
            <a class="btn btn-primary" href="javascript:void(0)" onclick="sendData('${domains[i].name}')">Сохранить</a>
            </div>
        </div>
        `;

         $('#nsControl-' + i).removeClass('border-light')
         $('#nsControl-' + i).addClass('bg-light')

         $('#nsControl-' + i).append(html)
    }

    function addInput(thisInput) {

        let html = `
                <div class="input-group mb-3 add-on  alert-dismissable">
                    <input value="" class="form-control nsInput">
                    <div class="input-group-btn" style="position: absolute; right: 9px; top: 4px;">
                        <button class="close" onclick="this.parentElement.parentElement.remove()">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>         
                </div>`;

        $(thisInput).parent().before(html);
    }

    function showQR(data){
        console.log(data);

    }

    

    function renderDomains(data){
        var html = ''
        console.log(data)
        for(i in data){
            var status, sum;
            if (data[i].status == 'checked'){
                status = '<span>Ожидает оплаты</span>'
                sum = '1000';
                nds = `47,62`
            }else if(data[i].status == 'paid' || data[i].status == 'expired'){
                status = `<span>Оплачен до ${ data[i].paid_till }</span>`;
                sum = '1500';
                nds = "71,43"
                
            }else{
                status = '<span>Ожидает проверки</span>'
                sum = false;
                nds = false;
            }

         var qrURL =  `https://qr.dools.ru/?data=ST00011|Name=%D0%9E%D0%9E%D0%9E%20%22%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D1%81%D1%82%D0%B2%D0%BE%20%D0%A052.%D0%A0%D0%A3%22|PersonalAcc=40702810103000004948|BankName=%D0%9F%D1%80%D0%B8%D0%B2%D0%BE%D0%BB%D0%B6%D1%81%D0%BA%D0%B8%D0%B9%20%D1%84%D0%B8%D0%BB%D0%B8%D0%B0%D0%BB%20%D0%9F%D0%90%D0%9E%20%22%D0%9F%D1%80%D0%BE%D0%BC%D1%81%D0%B2%D1%8F%D0%B7%D1%8C%D0%B1%D0%B0%D0%BD%D0%BA%22|BIC=042202803|CorrespAcc=30101810700000000803|PayeeINN=5257140425|KPP=525701001|Sum=${sum}00|Purpose=${data[i].name} Адаптация%20программного%20обеспечения%20и%20настройка%20ресурсов%20хостинг-сервера:%20доменная%20зона%20nnov.ru%20на%201%20год.%20Сумма%20${sum}%20р.,%20в%20т.ч.%20НДС%205%%20${nds}%20р.&charset=cp1251`;
        //  qrURL = 'javascript:void(0)';
        
        var qrLink = `<a href="${qrURL}" target="_blank">Оплатить по QR-коду</a>`;
        if (!sum){
            qrLink = '';
        }
        var nsLink = '';
        if (data[i].status == 'paid' || data[i].status == 'expired') {
            nsLink = `<a onclick="nsControl(${i})" href="javascript:void(0)">Управление NS-записями</a>`;
        }
         var obj = `
              <div class="card mb-3 border-light" id='nsControl-${i}'>
              <div class="card-body d-flex flex-column flex-sm-row justify-content-between">
                <div class="d-flex flex-column">
                <b class="mr-3">
                    ${ data[i].name }
                </b>
                <span>${ status }</span>
                </div>
                <div class="d-flex flex-column">
                    <a onclick="showDomainProfile(${i})"  href="javascript:void(0)">Данные администратора (владельца) домена</a>
                    ${qrLink}
                    ${nsLink}
                </div>

              </div>
             
            </div>
            `
          html += obj
        }
        $('#content').append(html)
    }

    $(document).ready(function(){
        $('.show-info').click(function(){
            $('.domain-info').slideToggle()
        })
        $.ajax({
            type: 'get',
            url: "/api/domainList/",
            success: function(result){

                localStorage.setItem('nsservers', JSON.stringify(result));

                renderDomains(JSON.parse(localStorage.getItem('nsservers')))

            }
        })
    })
    </script>


  </body>
</html>