var availability_per_day = [];
var wpbc_check_in_dates = [];
var wpbc_check_out_dates = [];
var wpbc_check_in_out_closed_dates = [];
var highlight_availability_word = '';
function getDayAvailability4Show(bk_type, tooltip_time, td_class){
if ( wpdev_in_array( parent_booking_resources, bk_type ) )
if (is_show_availability_in_tooltips) {
if(typeof( availability_per_day[bk_type] ) !== 'undefined')
if(typeof( availability_per_day[bk_type][td_class] ) !== 'undefined') {
if (tooltip_time!== '') tooltip_time = tooltip_time + '
';
var both_check_in_out_num = getNumberClosedCheckInOutDays( bk_type, td_class ) ;
return tooltip_time + highlight_availability_word + parseInt( availability_per_day[bk_type][td_class] - both_check_in_out_num ) ;
}
}
return tooltip_time;
}
function getNumberClosedCheckInOutDays( bk_type, td_class ){
var both_check_in_out_num = 0;
if(typeof(wpbc_check_in_out_closed_dates) !== 'undefined')
if(typeof(wpbc_check_in_out_closed_dates[ bk_type ]) !== 'undefined')
if(typeof(wpbc_check_in_out_closed_dates[ bk_type ][ td_class ]) !== 'undefined') {
// [ Number of check In / Out bookings both in the same child resource ]
both_check_in_out_num = wpbc_check_in_out_closed_dates[ bk_type ][ td_class ] ;
}
return both_check_in_out_num;
}
function checkDayAvailability4Visitors(bk_type, inp_value, my_dates_array) {
if ( ( is_use_visitors_number_for_availability ) && (my_dates_array != '') ) {
var my_single_data = '';
var td_class1 = '';
if ( (availability_based_on == 'visitors') && ( wpdev_in_array( parent_booking_resources, bk_type ) ) ) { // Visitors
my_dates_array = my_dates_array.split(',');
for (var i = 0; i < my_dates_array.length; i++) {
if (my_dates_array[i]== '') return true;
my_single_data = my_dates_array[i].split('.');
my_single_data[0] = my_single_data[0].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[1] = my_single_data[1].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[2] = my_single_data[2].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[0] = my_single_data[0].replace(/(^0+)|(\s+$)/g, ""); // TRim
my_single_data[1] = my_single_data[1].replace(/(^0+)|(\s+$)/g, ""); // TRim
my_single_data[2] = my_single_data[2].replace(/(^0+)|(\s+$)/g, ""); // TRim
td_class1 = parseInt(my_single_data[1]) + '-' + parseInt(my_single_data[0]) + '-' + parseInt(my_single_data[2]);
if ( parseInt( availability_per_day[bk_type][td_class1] ) < parseInt( inp_value ) )
return true;
}
// availability based on items, so we will check visitors for maximum support of them for specific item
} else { // Items
if ( parseInt( max_visitors_4_bk_res[bk_type] ) < parseInt( inp_value ) )
return true;
my_dates_array = my_dates_array.split(',');
for (var i = 0; i < my_dates_array.length; i++) {
if (my_dates_array[i]== '') return true;
my_single_data = my_dates_array[i].split('.');
my_single_data[0] = my_single_data[0].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[1] = my_single_data[1].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[2] = my_single_data[2].replace(/(^\s+)|(\s+$)/g, ""); // TRim
my_single_data[0] = my_single_data[0].replace(/(^0+)|(\s+$)/g, ""); // TRim
my_single_data[1] = my_single_data[1].replace(/(^0+)|(\s+$)/g, ""); // TRim
my_single_data[2] = my_single_data[2].replace(/(^0+)|(\s+$)/g, ""); // TRim
td_class1 = parseInt(my_single_data[1]) + '-' + parseInt(my_single_data[0]) + '-' + parseInt(my_single_data[2]);
if ( parseInt( availability_per_day[bk_type][td_class1] ) < 1 ) //parseInt( inp_value ) )
return true;
}
}
return false;
} else { // No apply of visitors
return false;
}
}
////////////////////////////////////////////////////////////////////////////
// Booking Search functionality
function searchFormClck( search_form, wpdev_active_locale ){
if ( (search_form.check_in.value == '') || (search_form.check_out.value == '') ) {
alert(search_emty_days_warning);
return;
}
document.getElementById('booking_search_results' ).innerHTML = '
/div>';
ajax_search_submit( search_form, wpdev_active_locale );
}
//
function setDaysSelectionsInCalendar(bk_type, check_in, check_out){
clearTimeout(timeout_DSwindow);
var inst = jQuery.datepick._getInst(document.getElementById('calendar_booking'+bk_type));
inst.dates = [];
var original_array = []; var date;
/*
current_edit_booking['dates'] as $dt) {
$dt = trim($dt);
$dta = explode(' ',$dt);
$tms = $dta[1];
$tms = explode(':' , $tms);
$dta = $dta[0];
$dta = explode('-',$dta);
?>
date=new Date();
date.setFullYear( ); // get date
original_array.push( jQuery.datepick._restrictMinMax(inst, jQuery.datepick._determineDate(inst, date, null)) ); //add date
/**/
for(var j=0; j < original_array.length ; j++) { //loop array of dates
if (original_array[j] != -1) inst.dates.push(original_array[j]);
}
dateStr = (inst.dates.length == 0 ? '' : jQuery.datepick._formatDate(inst, inst.dates[0])); // Get first date
for ( i = 1; i < inst.dates.length; i++)
dateStr += jQuery.datepick._get(inst, 'multiSeparator') + jQuery.datepick._formatDate(inst, inst.dates[i]); // Gathering all dates
jQuery('#date_booking' + bk_type).val(dateStr); // Fill the input box
if (original_array.length>0) { // Set showing of start month
inst.cursorDate = original_array[0];
inst.drawMonth = inst.cursorDate.getMonth();
inst.drawYear = inst.cursorDate.getFullYear();
}
// Update calendar
jQuery.datepick._notifyChange(inst);
jQuery.datepick._adjustInstDate(inst);
jQuery.datepick._showDate(inst);
jQuery.datepick._updateDatepick(inst);
}
function is_max_visitors_selection_more_than_available( bk_type, visitors_selection , element ) {
if ( ( wpdev_in_array( parent_booking_resources, bk_type ) ) || // Item have some capacity
( is_use_visitors_number_for_availability === true ) // Item single, but checking for MAX visitors in situatio, when visitors apply to capacity
) {
var my_dates_v = document.getElementById('date_booking' + bk_type).value;
if(typeof( checkDayAvailability4Visitors ) == 'function') {
var is_visitors_more_then_need = checkDayAvailability4Visitors(bk_type, visitors_selection, my_dates_v);
if (is_visitors_more_then_need) {
showErrorMessage( element , message_verif_visitors_more_then_available);
return true;
}
}
}
return false;
}
jQuery(document).ready(function(){
if (
(location.href.indexOf('bk_check_in=')>0) &&
(location.href.indexOf('bk_check_out=')>0) &&
(location.href.indexOf('bk_type=')>0)
) {
timeout_SelectDaysInCalendar=setTimeout("setDaySelectionsInCalendar()",1500);
}
});
function setDaySelectionsInCalendar(){
clearTimeout(timeout_SelectDaysInCalendar);
// Parse a URL
var myURLParams = location.href.split('?');
myURLParams = myURLParams[1].split('&');
for (myParam in myURLParams) {
myParam = myURLParams[myParam].split('=');
if (myParam[0] == 'bk_check_in') var check_in_date = myParam[1];
if (myParam[0] == 'bk_check_out') var check_out_date = myParam[1];
if (myParam[0] == 'bk_visitors') var bk_visitors_num = myParam[1];
if (myParam[0] == 'bk_type') var my_bk_type = myParam[1].split('#')[0];
}
jQuery('select[name=visitors'+ my_bk_type + ']').val( bk_visitors_num );
check_in_date = check_in_date.split('-');
check_out_date = check_out_date.split('-');
var bk_type = my_bk_type;
var inst = jQuery.datepick._getInst(document.getElementById('calendar_booking'+bk_type));
inst.dates = [];
var original_array = [];
var date;
var bk_inputing = document.getElementById('date_booking' + bk_type);
var bk_distinct_dates = [];
date=new Date();
date.setFullYear( check_in_date[0], (check_in_date[1]-1), check_in_date[2] ); // year, month, date
var original_check_in_date = date;
original_array.push( jQuery.datepick._restrictMinMax(inst, jQuery.datepick._determineDate(inst, date, null)) ); //add date
if ( ! wpdev_in_array(bk_distinct_dates, (check_in_date[2]+'.'+check_in_date[1]+'.'+check_in_date[0]) ) ) {
bk_distinct_dates.push(check_in_date[2]+'.'+check_in_date[1]+'.'+check_in_date[0]);
}
var date_out=new Date();
date_out.setFullYear( check_out_date[0], (check_out_date[1]-1), check_out_date[2] ); // year, month, date
var original_check_out_date = date_out;
var mewDate=new Date(original_check_in_date.getFullYear(), original_check_in_date.getMonth(), original_check_in_date.getDate() );
mewDate.setDate(original_check_in_date.getDate()+1);
while(
(original_check_out_date > date ) &&
(original_check_in_date != original_check_out_date ) )
{
date=new Date(mewDate.getFullYear(), mewDate.getMonth(), mewDate.getDate() );
original_array.push( jQuery.datepick._restrictMinMax(inst, jQuery.datepick._determineDate(inst, date, null)) ); //add date
if ( ! wpdev_in_array(bk_distinct_dates, (date.getDate()+'.'+parseInt(date.getMonth()+1)+'.'+date.getFullYear()) ) ) {
bk_distinct_dates.push((date.getDate()+'.'+parseInt(date.getMonth()+1)+'.'+date.getFullYear()));
}
mewDate=new Date(date.getFullYear(), date.getMonth(), date.getDate() );
mewDate.setDate(mewDate.getDate()+1);
}
original_array.pop();
bk_distinct_dates.pop();
for(var j=0; j < original_array.length ; j++) { //loop array of dates
if (original_array[j] != -1) inst.dates.push(original_array[j]);
}
dateStr = (inst.dates.length == 0 ? '' : jQuery.datepick._formatDate(inst, inst.dates[0])); // Get first date
for ( i = 1; i < inst.dates.length; i++)
dateStr += jQuery.datepick._get(inst, 'multiSeparator') + jQuery.datepick._formatDate(inst, inst.dates[i]); // Gathering all dates
jQuery('#date_booking' + bk_type).val(dateStr); // Fill the input box
if (original_array.length>0) { // Set showing of start month
inst.cursorDate = original_array[0];
inst.drawMonth = inst.cursorDate.getMonth();
inst.drawYear = inst.cursorDate.getFullYear();
}
// Update calendar
jQuery.datepick._notifyChange(inst);
jQuery.datepick._adjustInstDate(inst);
jQuery.datepick._showDate(inst);
jQuery.datepick._updateDatepick(inst);
showCostHintInsideBkForm(bk_type);
}