﻿var rentalStartDatePickerID;
var rentalEndDatePickerID;
var rentalStartTimePickerID;
var rentalEndTimePickerID;

function OnParametricLoad(StartDatePickerID, EndDatePickerID, StartTimePickerID, EndTimePickerID)
{
   rentalStartDatePickerID = StartDatePickerID
   rentalEndDatePickerID = EndDatePickerID
   rentalStartTimePickerID = StartTimePickerID
   rentalEndTimePickerID = EndTimePickerID

   RentalPeriodChanged()
}

function DateChangeHandler() {RentalPeriodChanged()}

function TimeChangeHandler() {RentalPeriodChanged()}

function RentalPeriodChanged()
{
   var startDate = getRentalDate(rentalStartDatePickerID, rentalStartTimePickerID)
   var endDate = getRentalDate(rentalEndDatePickerID, rentalEndTimePickerID)

   var thousandthsOfSecondsInAnHour = 1000*60*60;
   var thousandthOfSecondsInADay = thousandthsOfSecondsInAnHour * 24
   var gracePeriod = thousandthsOfSecondsInAnHour - 1;
   var dateDifference = endDate.getTime() - startDate.getTime() - gracePeriod

   var daysDifference = Math.ceil(dateDifference / thousandthOfSecondsInADay)
   if (daysDifference < 0)
   {
      var targetDate = endDate
            
      targetDate.setMonth(endDate.getMonth() + 1)

      var one_day=1000*60*60*24
      daysDifference = Math.ceil((targetDate.getTime()-startDate.getTime())/(one_day))
      SetDate(rentalEndDatePickerID,  targetDate)
   }
   document.getElementById('divTotalDays').innerHTML = Math.abs(daysDifference)
}

function getRentalDate(datePickerID, timePickerID)
{
   var date = GetDate(datePickerID)
   var time = GetTime(timePickerID)    
   return new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), 0, 0);
}