// Validate email address

var chkDot = true;
var usEmail = true;

function validEmail(eAddr)
{
var lenSuffix = (usEmail) ? 4: 3;
var goodAddr = false;
var ndxAt = ndxDot = 0;

ndxAt  = eAddr.indexOf("@");
ndxDot = eAddr.indexOf(".");
ndxDot2 = eAddr.lastIndexOf(".");

if ((ndxDot < 0) || (ndxAt < 0))
alert("Your email address lacks '.' or '@'.\n\nThe format is 'you@yourdomain.com'");
else if (chkDot  && (ndxDot < ndxAt) )
chkDot =!( confirm("You entered a 'dot' before the '@'\n Are you sure that is right?"));
else if ( (ndxDot2 - 3) <= ndxAt)
alert("You may be missing your domain name.\n\nThe format is 'yourdomain.com'");
//else if ( eAddr.length < (ndxDot2 + lenSuffix) )
//usEmail =!( confirm("You have fewer than 3 characters as a domain suffix.\nAre you sure that is right?"));
else
goodAddr = true;
return (goodAddr);
} 

// Date validation for Netscape

function isValidDate(dateStr) {

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(datePat);

if (matchArray == null) {
alert("Date is not in a valid format.\rThe correct format is dd-mm-yyyy.\rFor example, 26-07-2004.");
return false;
}

day = matchArray[1];
month = matchArray[3];
year = matchArray[4];

if (month < 1 || month > 12) {
alert("Month must be between 1 and 12.");
return false;
}

if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}

if ((month==4) && day==31) {
alert("April has only 30 days!");
return false
}

if ((month==6) && day==31) {
alert("June has only 30 days!");
return false
}

if ((month==9) && day==31) {
alert("September has only 30 days!");
return false
}

if ((month==11) && day==31) {
alert("November has only 30 days!");
return false
}

if (month == 2) {
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
   }
}
return true;
}

// Form validation

var fieldnames = new Array (9)
fieldnames[0] = "Contact name"
fieldnames[1] = "Address"
fieldnames[2] = "City or town"
fieldnames[3] = "Country"
fieldnames[4] = "Phone"
fieldnames[5] = "Email"
fieldnames[6] = "Your intended arrival date"
fieldnames[7] = "Nights accommodation"
fieldnames[8] = "Number of guests"

function validation(form) {

var onoff = 0
var alertboxnames = ""
var fields = new Array (9)
fields[0] = form.Name.value.length
fields[1] = form.Address1.value.length
fields[2] = form.City.value.length
fields[3] = form.Country.value.length
fields[4] = form.Phone.value.length
fields[5] = form.MailFrom.value.length
fields[6] = form.ArrivalDate.value.length
fields[7] = form.Nights.value.length
fields[8] = form.Guests.value.length

for (var i=0; i < fields.length; i++) {
if (fields[i] == 0) {
alertboxnames = alertboxnames + "     " + fieldnames[i] + ",\r";
onoff ++;
}              
}
if (onoff == 0) {
return true
} else {
if (onoff == 1) {
var catness = alertboxnames.substring (0, alertboxnames.indexOf(","));
alert ("The following field must be completed:\r\r" + catness + ".\r\rPlease fill in this field before continuing.          ");
} else {
var catness = alertboxnames.substring (0, alertboxnames.length-2)
alert ("The following fields must be completed:\r\r" + catness + ".\r\rPlease fill in these fields before continuing.          "); 
}
return false
}
}
