Advertisement
Guest User

Литовское посольство

a guest
Jul 23rd, 2014
4,393
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // -----------------------
  2. (function(){
  3.     var period = 10, // в секундах
  4.         fDP = [],
  5.         $dp = $("#evas_visitbundle_visit_visitDatetime");
  6.  
  7.     /**
  8.      * Делает даты в календаре зелеными.
  9.      *
  10.      * http://api.jqueryui.com/datepicker/#option-beforeShowDay
  11.      * @param date
  12.      * @returns {*[]}
  13.      */
  14.     function ownBeforeShowDay(date) {
  15.         var caldt = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2);
  16.         for (var i = 0; i < fDP.length; i++) {
  17.             if (fDP[i] == caldt) {
  18.                 return [true, 'free-day', 'Laisva/Free'];
  19.             }
  20.         }
  21.         return [false, ''];
  22.     }
  23.  
  24.     /**
  25.      * Заменяем на свою реализацию стандартный datepicker.
  26.      */
  27.     $dp.datepicker("option", "beforeShowDay", ownBeforeShowDay);
  28.  
  29.     update(); // запускаем скрипт
  30.  
  31.     /**
  32.      * Отправляет запросы на сервер кажед
  33.      */
  34.     function update() {
  35.         $.ajaxSetup({async: false}); // отключаем асинхронные запросы
  36.         $.getJSON("https://evas2.urm.lt/calendar/json?_d=&_aby=3&_cry=6&_c=1&_t=")
  37.             .done(function (data) {
  38.                 fDP = []; // обнуляем данные
  39.                 $.each(data, function (index, value) {
  40.                     fDP.push(value);
  41.                 });
  42.                 if (fDP.length > 0 && fDP[0] != "") { // проверяем есть ли зеленые даты
  43.                     alert("Есть открытые даты!");
  44.                     $dp.change(); // чтобы появилось время в календаре
  45.                 } else {
  46.                     setTimeout(update, period * 1000); // нету зеленых дат, ждем period и отправляем новый запрос.
  47.                 }
  48.             })
  49.             .fail(function() {
  50.                 if (prompt("Нужно сменить IP. Продолжить выполнение скрипта(Y/N)?", "Y") == "Y") {
  51.                     update();
  52.                 }
  53.             });
  54.     }
  55. })();
Advertisement
RAW Paste Data Copied
Advertisement