var CLIENT_ID = '2df09bff-902a-4609-9b9b-f38018ebf5a0'; var BASE_URL = 'http://www.serviceyourclients.com/BookingSystem/'; var DEFAULT_LIMIT = 3000; var MISSING_FIELD_MSG = 'Please fill in all fields marked with an asterisk'; var PAST_CUTOFF_TEXT = 'We can not take bookings on the same day please call on 0131 556 6040'; var TODAY_CUTOFF_TIME = '0:1'; var BOOKING_LIMIT_DATES = new Array();var BOOKING_LIMIT_VALUES = new Array();var CURRENT_BOOKING_LEVELS = new Array(); var agt=navigator.userAgent.toLowerCase(); var is_major = parseInt(navigator.appVersion); var is_ie = ((agt.indexOf('msie') != -1)); var is_ie3 = (is_ie && (is_major < 4)); var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf('msie 4')!=-1) ); var is_ie5up = (is_ie && !is_ie3 && !is_ie4); var is_Safari = (agt.indexOf('applewebkit')!=-1); var monthName = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); function getTag(tagName) { return document.getElementById(tagName); } function ValidateCheck() { try { fields = new Array; fields[0] = getTag('1-firstname').value; fields[1] = getTag('2-surname').value; fields[2] = getTag('email').value; fields[3] = getTag('guests').value; getTag('date').value = getTag('txt_day').value + ' ' + getTag('txt_month').value + ' ' + getTag('txt_year').value; allThere = true; for (i = 0; i < fields.length; i++) { val = fields[i]; if (val.length < 1) allThere = false; } if (allThere) { return true; } else { alert (MISSING_FIELD_MSG); return false; } } catch(e) { alert (e.message); return false; } } function DateComp(d1, d2) { // returns -1 if d1 < d2 // returns 1 if d1 > d2 // returns 0 if d1 = d2 if (d1.getYear() > d2.getYear()) return 1; else if (d1.getYear() < d2.getYear()) return -1; else { if (d1.getMonth() > d2.getMonth()) return 1; else if (d1.getMonth() < d2.getMonth()) return -1; else { if (d1.getDate() > d2.getDate()) return 1; else if (d1.getDate() < d2.getDate()) return -1; else return 0; } } } function CheckValidDate() { var bookDate = new Date(getTag('date').value); var todayDate = new Date(); if (DateComp(bookDate, todayDate) == 0) { alert('Bookings cannot be made for the same day'); return false; } else if(DateComp(bookDate, todayDate) == -1) { alert('This booking occurs in the past, please amend and try again'); return false; } else { return true; } } function FillOffers() { var offersEl = document.getElementById('offers'); if (offersEl != null) { offersEl.innerHTML = ''; var oOption = document.createElement('option'); oOption.text = 'Loading Offers'; oOption.value = 0; if (is_ie) offersEl.add(oOption); else offersEl.appendChild(oOption); offersEl.disabled = true; var selDate = getTag('txt_day').value + '/' + getTag('txt_month').value + '/' + getTag('txt_year').value; var url = BASE_URL + 'DynamicJS.aspx?clientid=' + CLIENT_ID + '&seldt=' + selDate; var e = document.createElement('script'); e.src = url; e.type='text/javascript'; document.getElementsByTagName('head')[0].appendChild(e); } } function SetClientTag() { var oInput = document.createElement('input'); oInput.name = 'clientid'; oInput.id = 'clientid'; oInput.value = CLIENT_ID; oInput.type = 'hidden'; document.getElementsByTagName('form')[0].appendChild(oInput); } function SetDatePicker() { // insert date picker here (replace with Calendar later) // var oDayHidden = document.createElement('input'); // oDayHidden.name = 'date'; // oDayHidden.id = 'date'; // oDayHidden.type = 'hidden'; var d = new Date(); var currD = d.getDate(); var currM = d.getMonth() + 1; var currY = d.getYear(); if(currY < 2000) currY = currY + 1900; var oDay = document.createElement('select'); oDay.name = 'txt_day'; oDay.id = 'txt_day'; oDay.onchange=FillOffers; for(var dayindex = 1; dayindex < 32; dayindex++) { var oOption = document.createElement('OPTION'); if ((dayindex == 1) || (dayindex == 21) || (dayindex == 31)) oOption.text=dayindex + 'st'; else if ((dayindex == 2) || (dayindex == 22)) oOption.text=dayindex + 'nd'; else if ((dayindex == 3) || (dayindex == 23)) oOption.text=dayindex + 'rd'; else oOption.text=dayindex + 'th'; oOption.value=dayindex; if (is_ie) { oDay.add(oOption); } else { oDay.appendChild(oOption) } if (dayindex == currD) { oOption.selected = 'true'; } } var oMonth = document.createElement('select'); oMonth.name = 'txt_month'; oMonth.id = 'txt_month'; oMonth.onchange=FillOffers; for(var monindex = 1; monindex < 13; monindex++) { var oOption = document.createElement('OPTION'); oOption.text=monthName[monindex-1]; oOption.value=monindex; if (is_ie) { oMonth.add(oOption); } else { oMonth.appendChild(oOption) } if (monindex == currM) oOption.selected = 'true'; } var oYear = document.createElement('select'); oYear.name = 'txt_year'; oYear.id = 'txt_year'; oYear.onchange=FillOffers; for(var yrindex = currY; (yrindex < currY + 2); yrindex++) { var oOption = document.createElement('OPTION'); oOption.text=yrindex; oOption.value=yrindex; if (is_ie) { oYear.add(oOption); } else { oYear.appendChild(oOption) } if (yrindex == currY) oOption.selected = 'true'; } // document.getElementById('datePicker').appendChild(oDayHidden); document.getElementById('datePicker').innerHTML = ''; document.getElementById('datePicker').appendChild(oDay); document.getElementById('datePicker').appendChild(oMonth); document.getElementById('datePicker').appendChild(oYear); } function SetFormTags() { var oForm = document.getElementsByTagName('form')[0]; oForm.onsubmit=ValidateCheck; oForm.method='post'; oForm.name='MForm'; oForm.action= BASE_URL + 'process.aspx'; // fill in form tag attributes here (method, action, onsubmit) } function SetStart() { SetClientTag(); SetDatePicker(); SetFormTags(); FillOffers(); getTag('1-firstname').focus(); } SetStart();