function form_date_calendar_request(container_id, field_id, month, year, lang, cal_id, cal_class, sd, df, ds, dual, add_info, add_info_fid) { var params = ''; var q = true; if (field_id != undefined) { params = params + (q ? '?' : '&') + 'field_id=' + field_id; q = false; } if (month != undefined) { params = params + (q ? '?' : '&') + 'm=' + month; q = false; } if (year != undefined) { params = params + (q ? '?' : '&') + 'y=' + year; q = false; } if (lang != undefined) { params = params + (q ? '?' : '&') + 'lang=' + lang; q = false; } if (cal_id != undefined) { params = params + (q ? '?' : '&') + 'cal_id=' + cal_id; q = false; } if (cal_class != undefined) { params = params + (q ? '?' : '&') + 'cal_cls=' + cal_class; q = false; } if (sd != undefined) { params = params + (q ? '?' : '&') + 'sd=' + sd; q = false; } if (df != undefined) { params = params + (q ? '?' : '&') + 'df=' + df; q = false; } if (ds != undefined) { params = params + (q ? '?' : '&') + 'ds=' + ds; q = false; } if (dual != undefined) { var dual_str = (dual ? 1 : 0); params = params + (q ? '?' : '&') + 'dual=' + dual_str; q = false; } if (add_info != undefined) { params = params + (q ? '?' : '&') + 'add_info=' + add_info; q = false; } if (add_info_fid != undefined) { params = params + (q ? '?' : '&') + 'add_info_fid=' + add_info_fid; q = false; } url = 'http://villamasuria.pl/_xhr/form_date_calendar/' + params; xhr_request(xhr_fill_element_quiet, url, container_id); } function form_date_get_value(field_id, suffix) { var field_element = document.getElementById(field_id + '_' + suffix); if (field_element != null) { return field_element.value; } else { return false; } } function form_field_get_value(field_id) { var field_element = document.getElementById(field_id); if (field_element != null) { return field_element.value; } else { return false; } } function form_date_calendar_refresh(cal_id, field_id, lang, cal_class, sd, df, ds, offset, dual, add_info, add_info_fid, vm_hack) { var day = parseInt(form_date_get_value(field_id+(dual ? '_from' : ''), 'day')); var month = parseInt(form_date_get_value(field_id+(dual ? '_from' : ''), 'month')); var year = parseInt(form_date_get_value(field_id+(dual ? '_from' : ''), 'year')); var maxday = 0; switch(offset) { case '+1': month++; if (month == 13) { month = 1; year++; } break; case '-1': month--; if (month == 0) { month = 12; year--; } break; } switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: maxday = 31; break; case 4: case 6: case 9: case 11: maxday = 30; break; case 2: maxday = 29; break; } if (day > maxday && maxday > 0) { day = maxday; } if (day !== false && month !== false && year !== false) { if (vm_hack == undefined) { form_date_calendar_request(cal_id + '-container', field_id, month, year, lang, cal_id, cal_class, sd, df, ds, dual, add_info, add_info_fid); } else { form_date_calendar_request(cal_id + '-container', field_id, month, year, lang, cal_id, cal_class, sd, df, ds, dual, 1, add_info_fid); form_date_calendar_request(cal_id + '2-container', field_id, month, year, lang, cal_id, cal_class, sd, df, ds, dual, 2, add_info_fid); } if (dual) { form_date_set_value(field_id+'_from', day, month, year); form_date_set_value(field_id+'_to', '', month, year); } else { form_date_set_value(field_id, day, month, year); } } } function form_date_set_value(field_id, day, month, year) { day_element = document.getElementById(field_id + '_day'); month_element = document.getElementById(field_id + '_month'); year_element = document.getElementById(field_id + '_year'); if (day_element != null) { day_element.value = day; } if (month_element != null) { month_element.value = month; } if (year_element != null) { year_element.value = year; } } $(document).ready( function() { $('#reservation-form-house').change( function() { $('#reservation-form-date_from_day').change(); }); });