Jquery UI Datepicker - Period

Расширение Datepicker для выбора периода

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://jquery-ui-bootstrap.github.io/jquery-ui-bootstrap/css/custom-theme/jquery-ui-1.10.3.custom.css">
<script src="https://rawgit.com/Artemeey/5ebc39370e568c34f03dce1639cabee8/raw/8de40b26479c406ee9cd6f9b4b3f4ad05370a024/jquery.datepicker.extension.range.min.js"></script>
Выберите период:
<br>
<br>
<div id="date_range"></div>
<br>
<input name="startDate">
<input name="endDate">
    <div class="start">
    <div class="whatbe">Дата заезда</div>
    <input type="text" class="day" disabled="yes">
    <input type="text" class="month" disabled="yes">
    <input type="text" class="daily" disabled="yes">

    </div>
    <div class="end">
    <div class="whatbe">Дата съезда</div>
    
    <input type="text" class="day" disabled="yes">
    <input type="text" class="month" disabled="yes">
    <input type="text" class="daily" disabled="yes">
    </div>

CSS

.ui-datepicker .selected-start:not(.selected-end) a,
.ui-datepicker .selected-end:not(.selected-start) a {
  background: #F3FDD5;
}

.ui-datepicker .selected.first-of-month:not(.selected-start) a {
  border-left: 2px dotted #D4E7F6;
  padding-left: 1px;
}

.ui-datepicker .selected.last-of-month:not(.selected-end) a {
  border-right: 2px dotted #D4E7F6;
  padding-right: 1px;
}

JavaScript

$(function() {
	var array = ["2016-11-20","2016-11-25","2016-12-03"]
   $('#date_range').datepicker({
    range: 'period', // режим - выбор периода
    numberOfMonths: 2,
    dateFormat: "yy-mm-dd",
    firstDay: 1,
    nextText: "",
    prevText: "",
    minDate: 2,
    onSelect: function(dateText, inst, extensionRange) {
        // extensionRange - объект расширения.
      $('[name=startDate]').val(extensionRange.startDateText);
      $('[name=endDate]').val(extensionRange.endDateText);
      
// Подсчет кол-ва выбраных дней
var data = new Date(extensionRange.startDate);
for (var i = 1; data <extensionRange.endDate;)  {
data.setHours(24);
var string = jQuery.datepicker.formatDate('yy-mm-dd', data);
array.indexOf(string) == -1  && i++;
}
$('.count-active').text(i);

// Вывод дня,месяца,года и дня недели
var monthString = ['Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря'],
dayNames = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
	start = new Date($('[name=startDate]').val()), // дата заезда
    end = new Date($('[name=endDate]').val()), // дата съезда
    daystart = start.getDate(), // день заезда
    dayend = end.getDate(), // день съезда
        monthstart = start.getMonth(), // месяц заезда
    monthend = end.getMonth(), // месяц съездаget
    yearstart = start.getFullYear(),
   yearend = end.getFullYear(),
   dailystart = start.getDay(),
   dailyend = end.getDay();

$('.start .day').val(daystart);
$('.start .month').val(monthString[monthstart] + ' ' + yearstart);
$('.start .daily').val(dayNames[dailystart]);

$('.end .day').val(dayend);
$('.end .month').val(monthString[monthend] + ' ' + yearend);
$('.end .daily').val(dayNames[dailyend]);

// Вывод стоимость (цена помноженая на кол-во дней)
$('.price').val(i*14000 + ' рублей')


// немного говнокода. кудаж без него?) За то - красиво...
 if ($('.day').val() > 1) {
    $('.chousedate').addClass('opacity');
...