function SetPeriodRanges(StartDateFieldControlId, EndDateFieldControlId, MinStartDateDay, MinStartDateMonth, MinStartDateYear, MaxEndDateDay, MaxEndDateMonth, MaxEndDateYear, TotalNightCount) { var startDate = jQuery("#" + StartDateFieldControlId).datepicker("getDate"); var todayDate = new Date(); var minStartDate, maxStartDate, minEndDate, maxEndDate; if (MinStartDateDay != null && MinStartDateMonth != null && MinStartDateYear != null) { minStartDate = new Date(MinStartDateYear, MinStartDateMonth - 1, MinStartDateDay); minEndDate = AddDaysToDate(minStartDate, TotalNightCount, true); jQuery("#" + StartDateFieldControlId).datepicker("option", "minDate", minStartDate); jQuery("#" + EndDateFieldControlId).datepicker("option", "minDate", minEndDate) } else { minStartDate = todayDate; minEndDate = AddDaysToDate(minStartDate, TotalNightCount, true); jQuery("#" + StartDateFieldControlId).datepicker("option", "minDate", minStartDate); jQuery("#" + EndDateFieldControlId).datepicker("option", "minDate", minEndDate) } if (MaxEndDateDay != null && MaxEndDateMonth != null && MaxEndDateYear != null) { maxEndDate = new Date(MaxEndDateYear, MaxEndDateMonth - 1, MaxEndDateDay); maxStartDate = AddDaysToDate(maxEndDate, TotalNightCount, false); jQuery("#" + StartDateFieldControlId).datepicker("option", "maxDate", maxStartDate); jQuery("#" + EndDateFieldControlId).datepicker("option", "maxDate", maxEndDate) } else { maxEndDate = null; maxStartDate = null } if (maxStartDate != null && startDate > maxStartDate) { jQuery("#" + StartDateFieldControlId).datepicker("setDate", maxStartDate) } else { if (minStartDate != null && startDate < todayDate && (startDate < minStartDate || todayDate < minStartDate)) { jQuery("#" + StartDateFieldControlId).datepicker("setDate", minStartDate) } else { if (minStartDate != null && startDate >= minStartDate) { jQuery("#" + StartDateFieldControlId).datepicker("option", "minDate", minStartDate); jQuery("#" + StartDateFieldControlId).datepicker("setDate", startDate) } else { if (minStartDate == null && startDate >= todayDate) { jQuery("#" + StartDateFieldControlId).datepicker("option", "minDate", todayDate); jQuery("#" + StartDateFieldControlId).datepicker("setDate", startDate) } else { jQuery("#" + StartDateFieldControlId).datepicker("option", "minDate", todayDate); jQuery("#" + StartDateFieldControlId).datepicker("setDate", todayDate) } } } } } function CalculatePromotionPeriod(StartDateFieldControlId, EndDateFieldControlId, nightCountRowControlId, nightCountSpanControlId, startWeekDayColumnControlId, endWeekDayColumnControlId, valueChangeControlId, nightsNumber, hasMinimumDaysNumber, hasMaximumDaysNumber) { var startDate = jQuery("#" + StartDateFieldControlId).datepicker("getDate"); var endDate = jQuery("#" + EndDateFieldControlId).datepicker("getDate"); if (valueChangeControlId == StartDateFieldControlId) { if (hasMinimumDaysNumber) { if (startDate > endDate || GetDateDifferenceDays(startDate, endDate) <= nightsNumber) { UpdateDate(EndDateFieldControlId, startDate, nightsNumber, true) } } else { if (hasMaximumDaysNumber) { if (startDate >= endDate) { UpdateDate(EndDateFieldControlId, startDate, 1, true) } else { if (GetDateDifferenceDays(startDate, endDate) == 0 || GetDateDifferenceDays(startDate, endDate) > nightsNumber) { UpdateDate(EndDateFieldControlId, startDate, nightsNumber, true) } } } else { if (!hasMinimumDaysNumber && !hasMaximumDaysNumber) { UpdateDate(EndDateFieldControlId, startDate, nightsNumber, true) } } } } else { if (valueChangeControlId == EndDateFieldControlId) { if (hasMinimumDaysNumber) { if (endDate < startDate || GetDateDifferenceDays(startDate, endDate) <= nightsNumber) { UpdateDate(StartDateFieldControlId, endDate, nightsNumber, false) } } else { if (hasMaximumDaysNumber) { if (endDate < startDate || GetDateDifferenceDays(startDate, endDate) == 0) { UpdateDate(StartDateFieldControlId, endDate, 1, false) } else { if (GetDateDifferenceDays(startDate, endDate) > nightsNumber) { UpdateDate(StartDateFieldControlId, endDate, nightsNumber, false) } } } else { if (!hasMinimumDaysNumber && !hasMaximumDaysNumber) { UpdateDate(StartDateFieldControlId, endDate, nightsNumber, false) } } } } } startDate = jQuery("#" + StartDateFieldControlId).datepicker("getDate"); endDate = jQuery("#" + EndDateFieldControlId).datepicker("getDate"); var dayNames = jQuery("#" + StartDateFieldControlId).datepicker("option", "dayNames"); RefreshPeriodDetails(startDate, endDate, dayNames, nightCountRowControlId, nightCountSpanControlId, startWeekDayColumnControlId, endWeekDayColumnControlId) } function CalculateReservationPeriodInfo(StartDateFieldControlId, EndDateFieldControlId, nightCountRowControlId, nightCountSpanControlId, startWeekDayColumnControlId, endWeekDayColumnControlId, valueChangeControlId) { var startDate = jQuery("#" + StartDateFieldControlId).datepicker("getDate"); var endDate = jQuery("#" + EndDateFieldControlId).datepicker("getDate"); if (valueChangeControlId == StartDateFieldControlId) { if (startDate >= endDate) { UpdateDate(EndDateFieldControlId, startDate, 1, true) } var minDate = new Date(); minDate.setFullYear(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()); minDate.setDate(minDate.getDate() + 1); jQuery("#" + EndDateFieldControlId).datepicker("option", "minDate", minDate) } startDate = jQuery("#" + StartDateFieldControlId).datepicker("getDate"); endDate = jQuery("#" + EndDateFieldControlId).datepicker("getDate"); var dayNames = jQuery("#" + StartDateFieldControlId).datepicker("option", "dayNames"); RefreshPeriodDetails(startDate, endDate, dayNames, nightCountRowControlId, nightCountSpanControlId, startWeekDayColumnControlId, endWeekDayColumnControlId) };
