
// javascript code for validating individual forms

/* Template code
function checkForm(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.fieldname.value + " ";
    if (f.fieldname.value == "")
    {
        formok = false;
        errmsg += "- ";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}
*/

function checkSubscriptions(f)
{
    // checks that at least one extra subscription has been selected

    var selected  = 0;
    for (var i = 0; i < f.length; i++)
    {
        e = f.elements[i];
        if (e.type == "checkbox")
        {
            if (e.name == "new_subscriptions[]" && e.checked == true)
            {
                selected++;
                break;
            }
        }
    }

    if (selected == 0)
    {
        alert("At least one Abeceder service must be selected to proceed to the next stage.");
        return false;
    }
    else
    {
        // ok
        return true;
    }

}

function checkCareerProfile(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";

    if (f.sector_id.value == "")
    {
        formok = false;
        errmsg += "- Industry Sector\n";
    }

    if (f.organisation_size.value == "")
    {
        formok = false;
        errmsg += "- Organisation Size\n";
    }

    if (f.salary.value == "")
    {
        formok = false;
        errmsg += "- Current Salary\n";
    }

    if (f.level_id.value == "")
    {
        formok = false;
        errmsg += "- Job Level\n";
    }

    if (f.resp_id.value == "")
    {
        formok = false;
        errmsg += "- Job Responsibility\n";
    }

    if (f.area_of_interest1.value == "" || f.area_of_interest2.value == "" || f.area_of_interest3.value == ""
        || f.area_of_interest4.value == "" || f.area_of_interest5.value == "")
    {
        formok = false;
        errmsg += "- Areas of Interest\n";
    }

    if (f.classification_id.value == "")
    {
        formok = false;
        errmsg += "- Employment Classification\n";
    }

    if (f.ethnicity_id.value == "")
    {
        formok = false;
        errmsg += "- Ethnicity\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkJobApplication(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";

    if (f.applicant_name.value == "")
    {
        formok = false;
        errmsg += "- Name\n";
    }

    if (f.applicant_location.value == "")
    {
        formok = false;
        errmsg += "- Your current location\n";
    }

    if (f.applicant_mobile.value == "")
    {
        formok = false;
        errmsg += "- Mobile Tel\n";
    }

    if (f.applicant_hometel.value == "")
    {
        formok = false;
        errmsg += "- Home Tel\n";
    }

    if (f.applicant_daytel.value == "")
    {
        formok = false;
        errmsg += "- Daytime Tel\n";
    }

    if (f.applicant_email.value == "")
    {
        formok = false;
        errmsg += "- Email Address\n";
    }
    else if (!validateEmail(f.applicant_email.value))
    {
        formok = false;
        errmsg += "- Valid Email Address Required\n";
    }

    if (f.applicant_address.value == "")
    {
        formok = false;
        errmsg += "- Address\n";
    }

    if (f.applicant_info.value == "")
    {
        formok = false;
        errmsg += "- Additional Information\n";
    }

    if (f.submit_file.value == "" || f.submit_file.value.length == 0)
    {
        formok = false;
        errmsg += "- CV Document\n";
    }
    else if (!validFileType(f.submit_file.value, "doc,txt,rtf,pdf"))
    {
        formok = false;
        errmsg += "- Invalid CV file type (requires .doc, .txt, .rtf or pdf)\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkLinkSuggestion(f, sc)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";

    if (f.url.value == "")
    {
        formok = false;
        errmsg += "- Website URL required\n";
    }

    if (f.description.value == "")
    {
        formok = false;
        errmsg += "- Description of website required\n";
    }
    
	if (f.security.value == "")
    {
        formok = false;
        errmsg += "\n- The Security Validation Code";
    }
        
    if (f.security.value.toLowerCase() != sc.toLowerCase()) {
    	formok = false;
        errmsg += "\n\nThe secrutiry code entered does not match";
    }
    
    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkForgottonPass(f)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";

    if (f.login_username.value == "")
    {
        formok = false;
        errmsg += "- Membership reference\n";
    }

    if (f.dob_day.value == "" || f.dob_month.value == "" || f.dob_year.value == "")
    {
        formok = false;
        errmsg += "- Date of birth is required\n";
    }
    else if (!isValidDate(f.dob_day.value, f.dob_month.value, f.dob_year.value))
    {
        formok = false;
        errmsg += "- Valid date of birth required\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkJoinForm(f)
{
    // checks sign up form
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";

    if (f.account_forename.value == "")
    {
        formok = false;
        errmsg += "- Forename\n";
    }

    if (f.account_surname.value == "")
    {
        formok = false;
        errmsg += "- Surname\n";
    }

    if (f.dob_day.value == "" || f.dob_month.value == "" || f.dob_year.value == "")
    {
        formok = false;
        errmsg += "- Date of birth is required\n";
    }
    else if (!isValidDate(f.dob_day.value, f.dob_month.value, f.dob_year.value))
    {
        formok = false;
        errmsg += "- Valid date of birth required\n";
    }

    if (f.account_password.value == "" || f.account_password_conf.value == "")
    {
        formok = false;
        errmsg += "- Both password fields must be completed\n";
    }
    else if (f.account_password.value != f.account_password_conf.value)
    {
        formok = false;
        errmsg += "- Passwords do not match\n";
    }

    if (f.account_home_add1.value == "")
    {
        formok = false;
        errmsg += "- Home address\n";
    }

    if (f.account_home_postcode.value == "")
    {
        formok = false;
        errmsg += "- Home address postcode\n";
    }

    if (f.account_home_tel.value == "")
    {
        formok = false;
        errmsg += "- Home telephone number\n";
    }

    if (f.account_home_email.value == "")
    {
        formok = false;
        errmsg += "- Home email address\n";
    }
    else if (!validateEmail(f.account_home_email.value))
    {
        formok = false;
        errmsg += "- Home email address must be valid\n";
    }

    if (f.account_company_name.value == "")
    {
        formok = false;
        errmsg += "- Company name\n";
    }

    if (f.account_jobtitle.value == "")
    {
        formok = false;
        errmsg += "- Job title\n";
    }

    if (f.account_bus_add1.value == "")
    {
        formok = false;
        errmsg += "- Business address\n";
    }

    if (f.account_bus_postcode.value == "")
    {
        formok = false;
        errmsg += "- Business address postcode\n";
    }

    if (f.account_bus_tel.value == "")
    {
        formok = false;
        errmsg += "- Business telephone number\n";
    }

    if (f.account_bus_email.value == "")
    {
        formok = false;
        errmsg += "- Business email address\n";
    }
    else if (!validateEmail(f.account_bus_email.value))
    {
        formok = false;
        errmsg += "- Business email address must be valid\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkTrainingSearch(f)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";
    var field_count = 0;

    if (f.keyword.value != "enter search keyword here")
    {
        field_count++;
    }

    if (f.region_selected.value != "")
    {
        field_count++;
    }

    if ( f.price_from.value != "" && !isNumber(f.price_from.value) )
    {
        formok = false;
        errmsg += "- From price must be numeric\n";
    }
    else
    {
        field_count++;
    }

    if ( f.price_to.value != "" && !isNumber(f.price_to.value) )
    {
        formok = false;
        errmsg += "- To price must be numeric\n";
    }
    else
    {
        field_count++;
    }

    if (field_count == 0)
    {
        alert("At least one search option must be completed");
        return false;
    }
    else if (formok == false)
    {
        alert("Please enter numeric values for the course price criteria.");
        return false;
    }
    else
    {
        return true;
    }

}

function checkEventSearch(f)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";
    var field_count = 0;

    if (f.keyword.value != "enter search keyword here")
    {
        field_count++;
    }

    if (f.region_selected.value != "")
    {
        field_count++;
    }

    if ( f.price_from.value != "" && !isNumber(f.price_from.value) )
    {
        formok = false;
        errmsg += "- From price must be numeric\n";
    }
    else
    {
        field_count++;
    }

    if ( f.price_to.value != "" && !isNumber(f.price_to.value) )
    {
        formok = false;
        errmsg += "- To price must be numeric\n";
    }
    else
    {
        field_count++;
    }

    if (field_count == 0)
    {
        alert("At least one search option must be completed");
        return false;
    }
    else if (formok == false)
    {
        alert("Please enter numeric values for the course price criteria.");
        return false;
    }
    else
    {
        return true;
    }
}

function checkClassifiedOffer(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.offer_text.value + " ";
    if (f.offer_text.value == "")
    {
        formok = false;
        errmsg += "- Details about your offer\n";
    }

    if (f.price_offered.value == "")
    {
        formok = false;
        errmsg += "- Your offer value\n";
    }
    else if (!isNumber(f.price_offered.value))
    {
        formok = false;
        errmsg += "- Your offer price must be numeric\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}


function checkJoinStart(f)
{
    if (f.account_type.value == "")
    {
        alert("Please select a membership account type and try again.");
        return;
    }
    f.submit();
}

function checkCheckoutPage(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";

    var agree_sales = false;
    var agree_returns = false;

    var formok = f;

    for (var i = 0; i < f.length; i++)
    {
        e = f.elements[i];

        if (e.type == "checkbox")
        {
            if (e.checked == true && e.name == "agree_sales")
            {
                agree_sales = true;
            }

            if (e.checked == true && e.name == "agree_returns")
            {
                agree_returns = true;
            }
        }
    }

    if(f.ship_address1.value=="" || f.ship_city.value==""  || f.ship_country.value=="" || f.ship_postcode.value=="" )
    {
            formok = false;
            errmsg += "- Delivery address is required\n";
    }

    if(f.address1.value == "" || f.city.value==""  || f.country.value=="" || f.postcode.value=="" )
    {
            formok = false;
            errmsg += "- Billing address is required\n";
    }
    
    if(f.postcode.value != "") {
	    if(f.address1.value == f.postcode.value || f.address2.value == f.postcode.value || f.city.value == f.postcode.value || f.country.value == f.postcode.value )
	    {
	            formok = false;
	            errmsg += "- Postcode is duplicated in other fields please correct. \n";  	
	    }
    }
    
    
    if (!agree_sales)
    {
        formok = false;
        errmsg += "- You must agree to our sales conditions\n";
    }

    if (!agree_returns)
    {
        formok = false;
        errmsg += "- You must agree to our returns policy\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkAddBestPractice(f)
{
    // check form used to submit an example of best practice
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.practice_title.value + " ";
    if (f.practice_title.value == "")
    {
        formok = false;
        errmsg += "- Best practive example title\n";
    }

    alltext += " " + f.practice_description.value + " ";
    if (f.practice_description.value == "")
    {
        formok = false;
        errmsg += "- Description of your work\n";
    }

    alltext += " " + f.practice_problem.value + " ";
    if (f.practice_problem.value == "")
    {
        formok = false;
        errmsg += "- Description of the problem you faced\n";
    }

    alltext += " " + f.practice_challenges.value + " ";
    if (f.practice_challenges.value == "")
    {
        formok = false;
        errmsg += "- Description of any challenges\n";
    }

    alltext += " " + f.practice_results.value + " ";
    if (f.practice_results.value == "")
    {
        formok = false;
        errmsg += "- Details of the results obtained\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }

    return formok;
}

function checkbasketQty(f)
{
    // checks that all values entered in the quantities boxes are +ve integers
    // and valid number

    var formok = true;

    for (var i = 0; i < f.length; i++)
    {
        e = f.elements[i];
        if (e.type == "text")
        {
            if (!isNumber(e.value) || !isPosInteger(e.value))
            {
                formok = false;
                e.focus();
                e.select();
                break;
            }
        }
    }

    return formok;
}

function checkSendFriend(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.your_name.value + " ";
    if (f.your_name.value == "")
    {
        formok = false;
        errmsg += "- Your name\n";
    }

    alltext += " " + f.friend_email.value + " ";
    if (f.friend_email.value == "")
    {
        formok = false;
        errmsg += "- Your friends E-mail address\n";
    }
    else if (!validateEmail(f.friend_email.value))
    {
        formok = false;
        errmsg += "-A valid friends E-mail is required\n";
    }

    alltext += " " + f.message.value + " ";
    if (f.message.value == "")
    {
        formok = false;
        errmsg += "- Your message\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}

function checkAdvSearch(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkSiteQuickSearch(f)
{
    if (f.site_keyword.value == "")
    {
        alert("Please enter a search keyword and try again.");
        return false;
    }
    return true;
}

function checkNewTopic(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.message_subject.value + " ";
    if (f.message_subject.value == "")
    {
        formok = false;
        errmsg += "- Message subject\n";
    }

    alltext += " " + f.message_content.value + " ";
    if (f.message_content.value == "")
    {
        formok = false;
        errmsg += "- Message content\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}

function checkArticleSearch(f)
{
    if (f.keyword.value == "" || f.keyword.value == "enter search keyword here")
    {
        alert("Please enter a search keyword and try again.");
        return false;
    }
    return true;
}

function checkProductSearch(f)
{
    if (f.keyword.value == "" || f.keyword.value == "enter search keyword here")
    {
        alert("Please enter a search keyword and try again.");
        return false;
    }
    return true;
}

function checkMyMessage(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.message_subject.value + " ";
    if (f.message_subject.value == "")
    {
        formok = false;
        errmsg += "- Message subject\n";
    }

    alltext += " " + f.message_content.value + " ";
    if (f.message_content.value == "")
    {
        formok = false;
        errmsg += "- Message body content\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}

function checkSendArticleTemplate(f)
{
    if (f.completed_template.value == "")
    {
        alert("Please select your completed Word template file and try again.");
        return false;
    }
    else if (!validFileType(f.completed_template.value, "doc"))
    {
        alert("Only Microsoft Word files can be submitted.");
        return false;
    }
    return true;
}

function checkArticle(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    alltext += " " + f.article_headline.value + " ";
    if (f.article_headline.value == "")
    {
        formok = false;
        errmsg += "- Article headline\n";
    }

    alltext += " " + f.article_abstract.value + " ";
    if (f.article_abstract.value == "")
    {
        formok = false;
        errmsg += "- Article abstract\n";
    }

    alltext += " " + f.article_content.value + " ";
    if (f.article_content.value == "")
    {
        formok = false;
        errmsg += "- Article main body content\n";
    }

    alltext += " " + f.article_keywords.value + " ";
    if (f.article_keywords.value == "")
    {
        formok = false;
        errmsg += "- Article keywords\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}

function checkClassified(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";
    var alltext = "";

    if (f.type_id.value == "")
    {
        formok = false;
        errmsg += "- Advert type must be selected\n";
    }

    alltext += " " + f.classified_description.value + " ";
    if (f.classified_description.value == "")
    {
        formok = false;
        errmsg += "- Description must be completed\n";
    }

    alltext += " " + f.classified_price.value + " ";
    if (f.classified_price.value == "")
    {
        formok = false;
        errmsg += "- Price must be completed\n";
    }

    alltext += " " + f.classified_delivery_text.value + " ";
    if (f.classified_delivery_text.value == "")
    {
        formok = false;
        errmsg += "- Delivery information be completed\n";
    }

    alltext += " " + f.classified_keywords.value + " ";
    if (f.classified_keywords.value == "")
    {
        formok = false;
        errmsg += "- Keywords be completed\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    else if (containsBanned(alltext))
    {
        formok = false;
        alert("Form contains questionnable content\n\nPlease try again.");
    }
    return formok;
}

function checkAuthorProfile(f)
{
    if (containsBanned(f.author_profile.value))
    {
        alert("Form contains questionnable content\n\nPlease try again.");
        return false;
    }
    return true;
}

function checkUpdateAccount(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n\n";

    if (f.forename.value == "")
    {
        formok = false;
        errmsg += "- Forename\n";
    }

    if (f.surname.value == "")
    {
        formok = false;
        errmsg += "- Surname\n";
    }

    if (!isValidDate(f.day.value, f.month.value, f.year.value))
    {
        formok = false;
        errmsg += "- A valid DOB\n";
    }

    var home_add = f.account_home_add1.value + f.account_home_add2.value + f.account_home_add3.value + f.account_home_add4.value;
    if (home_add == "")
    {
        formok = false;
        errmsg += "- Home address\n";
    }

    if (f.account_home_postcode.value == "")
    {
        formok = false;
        errmsg += "- Home postcode\n";
    }

    if (f.account_home_tel.value == "")
    {
        formok = false;
        errmsg += "- Home telephone number\n";
    }

    if (f.account_home_email.value == "")
    {
        formok = false;
        errmsg += "- Home E-mail address\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkComparisonSelection(f)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";

    if (f.measure.value == "")
    {
        formok = false;
        errmsg += "- Measure for comparison must be selected\n";
    }

    if (f.country1.value == "")
    {
        formok = false;
        errmsg += "- Country #1 must be selected\n";
    }

    if (f.country2.value == "")
    {
        formok = false;
        errmsg += "- Country #2 must be selected\n";
    }

    if (f.country1.value == f.country2.value && f.country1.value != "" && f.country2.value != "")
    {
        // same country not permitted
        formok = false;
        errmsg += "- Countries selected must be different for comparison\n";
    }

    if (!formok)
    {
        errmsg += "\nPlease modify your selection";
        alert(errmsg);
    }

    return formok;
}

function checkChangePassword(f)
{
    var formok = true;
    var errmsg = "The following errors have been found:\n\n";

    if (f.new_password.value == "" || f.confirm_password.value == "")
    {
        formok = false;
        errmsg += "- Password and confirmation password are both required";
    }
    else if (f.new_password.value != f.confirm_password.value)
    {
        formok = false;
        errmsg += "- Passwords entered do not match";
    }
    else if (!validatePassword(f.new_password.value))
    {
        formok = false;
        errmsg += "- Invalid password - please selected a more secure password";
    }

    if (!formok)
    {
        errmsg += "\n\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkTranslation(f)
{
    var formok = true;
    var errmsg = "The following fields are required:\n";

    if (f.submit_file.value == "")
    {
        formok = false;
        errmsg += "\n- File for translation quotation";
    }
    else if (!validFileType(f.submit_file.value, "doc,txt,rtf,pdf"))
    {
        formok = false;
        errmsg += "\n- Invalid file type (requires .doc, .txt, .rtf or pdf)";
    }

    if (f.message.value == "")
    {
        formok = false;
        errmsg += "\n- Description of translation services required";
    }

    if (f.word_count.value == "")
    {
        formok = false;
        errmsg += "\n- Approx word count of the document";
    }
    else if (!isNumber(f.word_count.value))
    {
        formok = false;
        errmsg += "\n- Word count must be a numeric entry";
    }

    if (!formok)
    {
        errmsg += "\n\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkBookSuggestion(f, sc)
{
    var formok = true;
    var errmsg = "The following fields are required:\n";

    if (f.suggested_book_title.value == "")
    {
        formok = false;
        errmsg += "\n- Book title";
    }

    if (f.suggested_book_purpose.value == "")
    {
        formok = false;
        errmsg += "\n- Purpose of book";
    }

    if (f.suggested_book_structure.value == "")
    {
        formok = false;
        errmsg += "\n- Structure of book";
    }

    if (f.suggested_book_length.value == "")
    {
        formok = false;
        errmsg += "\n- Suggested book length";
    }

    if (f.suggested_book_market.value == "")
    {
        formok = false;
        errmsg += "\n- Market details";
    }

    if (f.suggested_book_competition.value == "")
    {
        formok = false;
        errmsg += "\n- Competition details";
    }

    if (f.suggested_book_selling_points.value == "")
    {
        formok = false;
        errmsg += "\n- Unique selling points";
    }

    if (f.forename.value == "")
    {
        formok = false;
        errmsg += "\n- Your forename";
    }

    if (f.surname.value == "")
    {
        formok = false;
        errmsg += "\n- Your surname";
    }

    if (f.add1.value == "")
    {
        formok = false;
        errmsg += "\n- Your address";
    }

    if (f.postcode.value == "")
    {
        formok = false;
        errmsg += "\n- Your postcode";
    }

    if (f.email.value == "")
    {
        formok = false;
        errmsg += "\n- Your contact E-mail address";
    }
  
    
    
    if (f.cv_doc.value == "")
    {
        formok = false;
        errmsg += "\n - Your CV Word document";
    }
    else if (!validFileType(f.cv_doc.value, "doc"))
    {
        formok = false;
        errmsg += "\n - CV must be a Word document";
    }

    if (f.security.value == "")
    {
        formok = false;
        errmsg += "\n- The Security Validation Code";
    }
        
    if (f.security.value.toLowerCase() != sc.toLowerCase()) {
    	formok = false;
        errmsg += "\n\nThe secrutiry code entered does not match";
    }
    
    
    if (!formok)
    {
        errmsg += "\n\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkContact(f, sc)
{
    var formok = true;
    var errmsg = "The following fields are required:\n";

    if (f.contact_name.value == "")
    {
        formok = false;
        errmsg += "\n- Name";
    }

    if (f.contact_email.value == "")
    {
        formok = false;
        errmsg += "\n- E-mail address";
    }
    else if (!validateEmail(f.contact_email.value))
    {
        formok = false;
        errmsg += "\n- E-mail address is invalid";
    }

    if (f.postcode.value == "")
    {
        formok = false;
        errmsg += "\n- Postcode";
    }

    if (f.enquiry.value == "")
    {
        formok = false;
        errmsg += "\n- Enquiry message";
    }

    if ( f.attachment.value != "" && !validFileType(f.attachment.value, "doc,txt,rtf,pdf") )
    {
        formok = false;
        errmsg += "\n- Invalid file type selected (valid are .doc, .txt, .rtf, .pdf)";
    }
    
    if (sc) {
	    if (f.security.value.toLowerCase() != sc.toLowerCase()) {
	    	formok = false;
	        errmsg += "\n\nThe secrutiry code entered does not match";
	    }
    }

    if (!formok)
    {
        errmsg += "\n\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

function checkAccountLogin(f)
{
    var formok = true;
    var errmsg = "The following are required:\n\n";

    if (f.acc_username.value == "")
    {
        formok = false;
        errmsg += "\n- Account username";
    }

    if (f.acc_password.value == "")
    {
        formok = false;
        errmsg += "\n- Account password";
    }

    if (!formok)
    {
        errmsg += "\n\nPlease try again.";
        alert(errmsg);
    }
    return formok;
}

/*
 * used in the join process to submit the forms to the correct page
 */
function goTo(f, submit_target, validation_func)
{
    if (validation_func != undefined)
    {
        if (validation_func(f))
        {
            f.action = submit_target;
            f.submit();
        }
    }
    else
    {
        // don't need to check form
        f.action = submit_target;
        f.submit();
    }
}
