//requires initialisation of the following variables: //curDay, curMonth (0-11), curYear //date validation var curDay = 28 var curMonth = 7 var curYear = 2008 setDatesCookie(29, 8, 2008, 30, 8, 2008) function validDate(date, ctlDay) { return date.getDate() == getVal(ctlDay) } //clear options of select control function clearSelect(ctl, preservedOpt) { for (var i=ctl.options.length-1; i>preservedOpt; i--) ctl.options[i] = null } //populate and set select boxes function populateDates(frm, startBlank) { var preservedOpt if (startBlank) preservedOpt = 0 else preservedOpt = -1 populateDay(frm.inDay, preservedOpt) populateMonth(frm.inMonth, preservedOpt) populateYear(frm.inYear, preservedOpt) populateDay(frm.outDay, preservedOpt) populateMonth(frm.outMonth, preservedOpt) populateYear(frm.outYear, preservedOpt) setDefDates(frm, startBlank) } //populate day select box function populateDay(ctl, preservedOpt) { clearSelect(ctl, preservedOpt) var newText for (var i=1+preservedOpt; i<32+preservedOpt; i++) { newText = i-preservedOpt if (newText < 10) newText = "0" + newText ctl[i] = new Option(newText, i-preservedOpt) } } //populate month select box function populateMonth(ctl, preservedOpt) { var monthArray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") clearSelect(ctl, preservedOpt) for (var i=1+preservedOpt; i<13+preservedOpt; i++) ctl[i] = new Option(monthArray[i-1-preservedOpt], i-preservedOpt) } //populate year select box function populateYear(ctl, preservedOpt) { clearSelect(ctl, preservedOpt) for (var i=1+preservedOpt; i<6+preservedOpt; i++) ctl[i] = new Option(i+curYear-1-preservedOpt, i+curYear-1-preservedOpt) } //set default dates function setDefDates(frm, startBlank) { var defInDay, defInMonth, defInYear, defOutDay, defOutMonth, defOutYear var noCookie = true //extract dates from cookie var cookieArray = document.cookie.split("|") for (var i=0; i 2160000000) { //25 days in milliseconds alert("Your period of stay should be not longer than 25 nights.\n\nIf you wish to book for more than 25 nights,\nplease send us an e-mail with your request.") frm.outDay.focus() return false } if (checkoutDate - checkinDate <= 0) { alert("The Checkout Date should be greater than the Checkin Date.") frm.outDay.focus() return false } //save dates to cookie setDatesCookie(getVal(frm.inDay), getVal(frm.inMonth), getVal(frm.inYear), getVal(frm.outDay), getVal(frm.outMonth), getVal(frm.outYear)) return true } //save dates to cookie function setDatesCookie(inDay, inMonth, inYear, outDay, outMonth, outYear) { var arrCookie = document.cookie.split("|") var i var defCountry = "" var defCity = "" var defSuburb = "" for (i=0; i "9" || number.charAt(i) < "0") return true } return false } //format number as currency function formatCur(number, currencyCode) { if (number == "") return "on request" if (number < 0) { var sign = "-" number = -number } else var sign = "" number = Math.round(number * 100).toString() var decimal = number.substring(number.length-2, number.length) number = number.substring(0, number.length-2) var tmpNumber = "" for (var i=0; i=0; i--) { if (trimmedString.charAt(i) != " ") break } trimmedString = trimmedString.substring(0, i + 1) return trimmedString } //validate email address function notEmail(field) { var email = trim(field.value) if (email == "") return false var at = false var dot = false for (var i=0; i 5) return false alert("The e-mail you entered is not a valid e-mail address.") field.focus() return true }