var s_id=0; var cur_id=0; var first=0; var last=0; var sum=0; var half_day=0; var calendar_id1=1; var total_msg='Total days so far: '; var min_bl=3; var max_bl=45; var res_ids1=new Array(); function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); } function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); } function getAbsPos(elt,which) { iPos = 0; while (elt != null) { iPos += elt["offset" + which]; elt = elt.offsetParent; } return iPos; } function updatePaint1(evnt,o_id,s_col,f_col,p_col,b_col,url) { if (first==1) { half_day=0; sum=0; last=0; for (var i=0;ires_ids1[i] && res_ids1[i]>o_id)) { return; } } var tdays=Math.abs(eval(o_id-s_id))/(60*60*24)+1; document.getElementById("Messages"+calendar_id1).innerHTML=''; if (tdays>max_bl) { document.getElementById("Messages"+calendar_id1).innerHTML='Maximum 45 days per booking'; return; } if (o_id>s_id) { for (var i=s_id;i<=o_id;i=i+(60*60*24)) { try { if (last) { cur_id=i-(60*60*24); return; } var thestyle= window.document.getElementById('d'+calendar_id1+i); thestyle.style.backgroundImage=""; thestyle.style.backgroundPosition="center"; thestyle.style.backgroundColor=""; if (thestyle.scope==2 || thestyle.scope==4) { if (i==s_id) { if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+s_col+")"; } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+s_col+")"; } } else { if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+f_col+")"; } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+f_col+")"; } cur_id=i-(60*60*24); return; } } else if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+s_col+"&color2="+b_col+")"; last=1; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+s_col+"&color2="+p_col+")"; last=1; } else if (thestyle.scope==1) { thestyle.style.backgroundColor="#"+s_col; } else { } sum=parseFloat(sum)+parseFloat(thestyle.abbr); } catch (error) { } } } else { for (var i=s_id;i>=o_id;i=i-(60*60*24)) { try { if (last) { cur_id=i+(60*60*24); return; } var thestyle= window.document.getElementById('d'+calendar_id1+i); thestyle.style.backgroundImage=""; thestyle.style.backgroundPosition="center"; thestyle.style.backgroundColor=""; if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+s_col+")"; last=1; if (i==s_id) { half_day=2; } } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+s_col+")"; last=1; if (i==s_id) { half_day=2; } } else if (thestyle.scope==3 || thestyle.scope==5) { if (i==s_id) { if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+s_col+"&color2="+b_col+")"; half_day=1; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+s_col+"&color2="+p_col+")"; half_day=1; } } else { if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+b_col+")"; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+p_col+")"; } cur_id=i+(60*60*24); return; } } else if (thestyle.scope==1) { thestyle.style.backgroundColor="#"+s_col; } else { } sum=parseFloat(sum)+parseFloat(thestyle.abbr); } catch (error) { } } } if (cur_id>o_id && o_id>=s_id) { var i=o_id; for (i=i+(60*60*24);i<=cur_id;i=i+(60*60*24)) { try { var thestyle= window.document.getElementById('d'+calendar_id1+i); thestyle.style.backgroundImage=""; thestyle.style.backgroundPosition="center"; thestyle.style.backgroundColor=""; if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+f_col+")"; } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+f_col+")"; } else if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+b_col+")"; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+p_col+")"; } else if (thestyle.scope==1) { thestyle.style.backgroundColor="#"+f_col; } } catch (error) { } } } else if (cur_id=s_id) { var i=cur_id; for (i;is_id && o_id<=s_id) { var i=s_id; for (i=i+(60*60*24);i<=cur_id;i=i+(60*60*24)) { try { var thestyle= window.document.getElementById('d'+calendar_id1+i); thestyle.style.backgroundImage=""; thestyle.style.backgroundPosition="center"; thestyle.style.backgroundColor=""; if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+f_col+")"; } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+f_col+")"; } else if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+b_col+")"; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+p_col+")"; } else if (thestyle.scope==1) { thestyle.style.backgroundColor="#"+f_col; } } catch (error) { } } } cur_id=o_id; } if (o_id==-1) { var i=s_id; for (i;i<=cur_id;i=i+(60*60*24)) { try { var thestyle= window.document.getElementById('d'+calendar_id1+i); thestyle.style.backgroundImage=""; thestyle.style.backgroundPosition="center"; thestyle.style.backgroundColor=""; if (thestyle.scope==2) { thestyle.style.backgroundImage="url("+url+"?color1="+b_col+"&color2="+f_col+")"; } else if (thestyle.scope==4) { thestyle.style.backgroundImage="url("+url+"?color1="+p_col+"&color2="+f_col+")"; } else if (thestyle.scope==3) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+b_col+")"; } else if (thestyle.scope==5) { thestyle.style.backgroundImage="url("+url+"?color1="+f_col+"&color2="+p_col+")"; } else if (thestyle.scope==1) { thestyle.style.backgroundColor="#"+f_col; } } catch (error) { } } } } function updateRes1() { cal_id_len=0; temp_cal_id=calendar_id1; while(temp_cal_id>=1) { cal_id_len++; temp_cal_id=temp_cal_id/10; } var all_date=window.document.getElementsByTagName("td");; if (all_date) { for (var i=0;icur_id) { var sdate = new Date(cur_id * 1000); var edate = new Date(s_id * 1000); } else { var sdate = new Date(s_id * 1000); var edate = new Date(cur_id * 1000); } if (s_id!=cur_id) { half_day=0; } window.document.getElementById("AvailabilityCalendar"+b_id).innerHTML='Loading booking form...'; window.document.getElementById("Messages"+calendar_id1).innerHTML=''; ajaxpage('/booking/load-bookingform.php?view=12&half_day='+half_day+'&from='+s_id+'&to='+cur_id+'&sMonth='+s_month+'&sYear='+s_year+'&cid='+c_id,"AvailabilityCalendar"+b_id,'get'); } first=0; res_ids1=new Array(); } else { if (s_id>0) { if (s_id>cur_id) { var tmp_id=s_id; s_id=cur_id; cur_id=tmp_id; } updatePaint1(evnt,'-1',s_col,f_col,p_col,b_col,url); } first=1; s_id=o_id; cur_id=o_id; window.document.getElementById("DateBookings"+b_id).innerHTML=''; updatePaint1(evnt,o_id,s_col,f_col,p_col,b_col,url); } } var flagCaptcha = false; var flagFields = true; var bustcachevar=1; //bust potential caching of external pages after initial request? (1=yes, 0=no) var bustcacheparameter=""; function createRequestObject(){ try { xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert('Sorry, but your browser doesn\'t support XMLHttpRequest.'); }; return xmlhttp; }; function ajaxpage(url, containerid, requesttype){ var page_request = createRequestObject(); if (requesttype=='get'){ if (bustcachevar) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } else if (requesttype=='post') { page_request.open('POST', url, true); page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); page_request.setRequestHeader("Content-length", poststr.length); page_request.setRequestHeader("Connection", "close"); page_request.send(poststr); }; page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) { document.getElementById(containerid).innerHTML=page_request.responseText; updateRes1(); }; } function ShowToolTip(object) { document.getElementById(object).style.visibility = 'visible'; } function HideToolTip(object) { document.getElementById(object).style.visibility = 'hidden'; } function pause(millis) { var date = new Date(); var curDate = null; do { curDate = new Date(); } while(curDate-date < millis) } function checkUserRegistrationForm(){ re = /([0-9a-zA-Z\.\-\_]+)@([0-9a-zA-Z\.\-\_]+)\.([0-9a-zA-Z\.\-\_]+)/; var name, email, phone, dataRight = true; var message = ""; name = document.frm1.customerName.value; email = document.frm1.email.value; phone = document.frm1.phone.value; terms = document.frm1.termbox.checked; if (terms != true){ message += "\n - You must accept the Terms & Conditions"; dataRight=false; } if (name.length==0){ message += "\n - Name"; dataRight=false; } if (email.length==0){ message += "\n - Email"; dataRight=false; } if (phone.length==0){ message += "\n - Phone"; dataRight=false; } if (email.length!=0 && email.match(re)==null){ dataRight=false; message += "\n - Your Email is Incorrect"; } if (!dataRight){ if (message != ""){ message ="\nYou failed to correctly fill in the booking form:\n" + message; } alert(message); } return dataRight; } function ProcessingBooking1() { document.getElementById('DateBookings1').innerHTML='Processing booking. Please wait...'; }; function submitBooking1(from, to, sMonth, sYear) { if(checkUserRegistrationForm()){ s_id=0; cur_id=0; var poststr = "ac=book&startDate="+from+"&endDate="+to+"&half_day=" + encodeURIComponent( document.frm1.half_day.value ) + "&customerName=" + encodeURIComponent( document.frm1.customerName.value ) + "&email=" + encodeURIComponent( document.frm1.email.value ) + "&address=" + encodeURIComponent( document.frm1.address.value ) + "&phone=" + encodeURIComponent( document.frm1.phone.value ) + "&people=" + encodeURIComponent( document.frm1.people.value ) + "&flight=" + encodeURIComponent( document.frm1.flight.value ) + "¬es=" + encodeURIComponent( document.frm1.notes.value ) + "&price=" + encodeURIComponent( document.frm1.price.value ); ProcessingBooking1(); document.getElementById('AvailabilityCalendar1').innerHTML=''; ajaxpage('/booking/load-bookingform.php?ac=book&cid=1&'+poststr,'DateBookings1','get'); }; }; function TopMessageF1(){ document.getElementById('TopMessage1').innerHTML='Loading calendar...'; }; loadCalendar1 = '
'; document.writeln(loadCalendar1);