function dispDate() { alert ('hello, we are in dispDate()') var today = new Date(); var month = today.getMonth(); var day = today.getDate(); var year = today.getFullYear(); alert ('We Today:' + today); document.enquiry.arrDay.selectedIndex = day-1; document.enquiry.arrMonth.selectedIndex = month; document.enquiry.arrYear.selectedIndex = year-2005; document.enquiry.depDay.selectedIndex = day; document.enquiry.depMonth.selectedIndex = month; document.enquiry.depYear.selectedIndex = year-2005; } function addZero(dateItem) { if(parseInt(dateItem) < 10) { dateItem = '0' + dateItem; } return dateItem } function validate() { var fName = enquiry.firstName.value; var lName = enquiry.lastName.value; var eMail = enquiry.email.value; var arDay = enquiry.arrDay.value; var arMonth = enquiry.arrMonth.value; var arYear = enquiry.arrYear.value; var dpDay = enquiry.depDay.value; // alert ('dpDay' + dpDay); var dpMonth = enquiry.depMonth.value; // alert ('dpMonth' + dpMonth); var dpYear = enquiry.depYear.value; // alert ('dpYear' + dpYear); var nAdults = enquiry.noAdults.value; var nChild = enquiry.noChild.value; var accom = enquiry.accomType.value; var status = true; var arrDateStatus = true; var depDateStatus = true; var dateOrderStatus = true; if (fName == '') { alert('Your first name is a required field. Please try again.'); status = false; } if (lName == '') { alert('Your last name is a required field. Please try again.'); status = false; } if (nAdults == '') { alert('The number of adults is a required field. Please try again.'); status = false; } if (nChild == '') { alert('The number of children is a required field. Please try again.'); status = false; } if (accom == '') { alert('The accommodation type is a required field. Please try again.'); status = false; } // check email syntax if (eMail == "") { alert("Please enter a value for the \"E-mail\" field."); enquiry.email.focus(); status = false; } else if (eMail.length < 3) { alert("Please enter at least 3 characters in the \"email\" field."); enquiry.email.focus(); status = false; } else if (!isEmailAddr(eMail)) { alert("Please enter a complete email address in the form: yourname@yourdomain.com"); enquiry.email.focus(); status = false; } // validate dates arrDateStatus = check_date(arDay, arMonth, arYear); if(arrDateStatus == false) { alert('Your arrival date is invalid. Please try again.'); status = false; } depDateStatus = check_date(dpDay, dpMonth, dpYear); if(depDateStatus == false) { alert('Your departure date is invalid. Please try again.'); status = false; } // if the format of the dates are correct, check for the correct order (ie. arrival date must be before departure date) if ((arrDateStatus == true) && (depDateStatus == true)) { arDate = new Date(arYear, (arMonth-1), arDay); dpDate = new Date(dpYear, (dpMonth-1), dpDay); // alert('dpYear' + dpYear + '; dpMonth' + dpMonth + '; dpDay' + dpDay + '; Full Date' + dpDate); if(dpDate.getFullYear() > arDate.getFullYear()) { // Later year so therefore no problem. } else { if(dpDate.getFullYear() == dpDate.getFullYear()) // In this year so better check details... { if(dpDate.getMonth() > arDate.getMonth()) { // Later month so no problem. } else { if(dpDate.getMonth() == arDate.getMonth()) // Same month better check the day... if(dpDate.getDate() > arDate.getDate()) { // Later in the month so no problem. } else { alert('Departure day must be after the arrival day. Please try again.'); status = false; } else { alert('Departure month is prior to arrival month. Please try again.'); status = false; } } } else { alert('Departure year is before arrival year. Please try again.'); status = false; } } } if (status == true) { return true; } return false; } function isEmailAddr(email) { var result = false var theStr = new String(email) var index = theStr.indexOf("@"); if (index > 0) { var pindex = theStr.indexOf(".",index); if ((pindex > index+1) && (theStr.length > pindex+1)) result = true; } return result; } function check_date(fieldDay, fieldMonth, fieldYear) { var checkstr = "0123456789"; var DateTemp = ""; var seperator = "."; var day; var month; var year; var leap = 0; var err = 0; var i; var errStatus = true; err = 0; /* Validation of day*/ if (fieldDay < 1) { err = 22; } /* Validation leap-year / february / day */ if ((fieldYear % 4 == 0) || (fieldYear % 100 == 0) || (fieldYear % 400 == 0)) { leap = 1; } if ((fieldMonth == 2) && (leap == 1) && (fieldDay > 29)) { err = 23; } if ((fieldMonth == 2) && (leap != 1) && (fieldDay > 28)) { err = 24; } /* Validation of other months */ if ((fieldDay > 31) && ((fieldMonth == "01") || (fieldMonth == "03") || (fieldMonth == "05") || (fieldMonth == "07") || (fieldMonth == "08") || (fieldMonth == "10") || (fieldMonth == "12"))) { err = 25; } if ((fieldDay > 30) && ((fieldMonth == "04") || (fieldMonth == "06") || (fieldMonth == "09") || (fieldMonth == "11"))) { err = 26; } /* if 00 ist entered, no error, deleting the entry */ if ((fieldDay == 0) && (fieldMonth == 0) && (fieldYear == 00)) { err = 0; day = ""; month = ""; year = ""; seperator = ""; } /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */ if (err == 0) { errStatus = true; } /* Error-message if err != 0 */ else { errStatus = false; } return errStatus; } function compareDate(arrDate, depDate) { var arrYear = arrDate.substr(4, 4); var arrMonth = arrDate.substr(2, 2); var arrDay = arrDate.substr(0, 2); var depYear = depDate.substr(4, 4); var depMonth = depDate.substr(2, 2); var depDay = depDate.substr(0, 2); var orderStatus = true; alert("checking Year " + depYear + ", " + arrYear); if((parseInt(depYear) - parseInt(arrYear)) < 0) { orderStatus = false; } else if((parseInt(depMonth) - parseInt(arrMonth)) < 0) { orderStatus = false; } else if((parseInt(depDay) - parseInt(arrDay)) < 0) { orderStatus = false; } return orderStatus; } function validateEmailToFriendForm() { var recipName = sendToFriend.recipName.value; var recipEmail = sendToFriend.recipEmail.value; var sendName = sendToFriend.sendName.value; var sendEmail = sendToFriend.sendEmail.value; var comments = sendToFriend.comments.value; var status = true; if (recipName == '') { alert('Recipient Name is a required field. Please try again.'); status = false; } // check recipient email syntax if (recipEmail == '') { alert("Please enter a value for the \"Recipient's Email\" field."); sendToFriend.recipEmail.focus(); status = false; } else if (recipEmail.length < 3) { alert("Please enter at least 3 characters in the \"Recipient's Email\" field."); sendToFriend.recipEmail.focus(); status = false; } else if (!isEmailAddr(recipEmail)) { alert("Please enter a complete email address in the form: yourname@yourdomain.com"); sendToFriend.recipEmail.focus(); status = false; } // check sender email syntax if (sendEmail == '') { alert("Please enter a value for the \"Sender's Email\" field."); sendToFriend.sendEmail.focus(); status = false; } else if (sendEmail.length < 3) { alert("Please enter at least 3 characters in the \"Sender's Email\" field."); sendToFriend.sendEmail.focus(); status = false; } else if (!isEmailAddr(sendEmail)) { alert("Please enter a complete email address in the form: yourname@yourdomain.com"); sendToFriend.sendEmail.focus(); status = false; } if (sendName == '') { alert('Sender Name is a required field. Please try again.'); status = false; } if (sendEmail == '') { alert('Sender Email is a required field. Please try again.'); status = false; } if (status == true) { return true; } return false; }