$(function() {

 $("#check-in").datepicker({
 dateFormat: 'MM dd, yy',
 onSelect: function(dateText, inst)
  {
   $('#alt-check-in').val(dateText);
   comparedate($('#alt-check-in'), $('#alt-check-out'), $('.nights-stay'), 'check-in');
  }
});

$('#check-out').datepicker({
 dateFormat: 'MM dd, yy',
 onSelect: function(dateText, inst)
  {
   $('#alt-check-out').val(dateText);
    comparedate($('#alt-check-in'), $('#alt-check-out'), $('.nights-stay'), 'check-out');
  }
 });

function comparedate(input1, input2, input3, mode)
{
 var date1        = new Date(input1.val());
 var date2        = new Date(input2.val());
 var nightStay    = input3;

 if(date2.getTime() == date1.getTime())
 {
  alert('Check out date must be different from the check-in date');
  input2.val('');
  nightStay.val('');
 }
 else if(date2.getTime() < date1.getTime())
 {

  if(mode == 'check-in')
  {
   alert('Check-in date must be lower than the Check-out date');
   input1.val('');
   input2.val('');
   nightStay.val('');
  }
  else if(mode == 'check-out')
  {
   alert('Check out date must be higher than the Check-in date');
   input2.val('');
   nightStay.val('');
  }
 }
 else
 {
  nightStay.val(returnNumberOfDaysBetweenTwoDates(input1, input2));
 }

}

function returnNumberOfDaysBetweenTwoDates(input1, input2) {
 var date1 = new Date(input1.val());
 var date2 = new Date(input2.val());

 if(input2.val() != '')
 {
  var minutes = 1000*60;
  var hours = minutes*60;
  var days = hours*24;

  var diff = Math.abs(date1.getTime() - date2.getTime());

  return diff / days;
 }

 return '';

}

});
