function valForm (form)
{
    var errstr = '';
    if (form.contact_name.value == '')
    {
        errstr += "You must enter a contact name\n";
    }
    if (form.bus_telno.value == '')
    {
        errstr += "You must enter a contact number\n";
    }
    if (form.email.value == '')
    {
        errstr += "You must enter an email address\n";
    }
    else if (!isValidEmailAddress(form.email.value))
    {
        errstr += "You must enter a valid email address\n";
    }
    if (form.book_type.selectedIndex == 0)
    {
        errstr += "You must select a type of booking\n";
    }
    if (form.adult_no.value == '' || form.adult_no.value == 0 )
    {
        errstr += "You must enter number of adults\n";
    }
    else if (!IsNumeric(form.adult_no.value))
    {
        errstr += "You must enter a valid number of adults\n";
    }

    if(errstr != '')
    {
        alert("Errors found:\n\n" + errstr);
        return false;
    }
    return true;
}

function IsNumeric(str)
{
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;
    for (i = 0; i < str.length && IsNumber == true; i++) 
    { 
        Char = str.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}

function isValidEmailAddress(str)
{
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if (str.indexOf(at)==-1){
       return false
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       return false
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        return false
    }

     if (str.indexOf(at,(lat+1))!=-1){
        return false
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false
     }

     if (str.indexOf(dot,(lat+2))==-1){
        return false
     }

     if (str.indexOf(" ")!=-1){
        return false
     }

     return true
}
