//Form Validator
function strip(filter,str){
	var i,curChar;
	var retStr = '';
	var len = str.length;
	for(i=0; i<len; i++){
		curChar = str.charAt(i);
		if(filter.indexOf(curChar)<0) //not in filter, keep it
			retStr += curChar;
	}
	return retStr;
}
function reformat(str){
	var arg;
	var pos = 0;
	var retStr = '';
	var len = reformat.arguments.length;
	for(var i=1; i<len; i++){
		arg = reformat.arguments[i];
		if(i%2==1)
			retStr += arg;
		else{
			retStr += str.substring(pos, pos + arg);
			pos += arg;
		}
	}
	return retStr;
}


function notEmpty(str){
	if(strip(" \n\r\t",str).length ==0)
		return false;
	else
		return true;
}

function validateEMail(str){
	str = strip(" \n\r\t",str);
	if(str.indexOf("@")>-1 && str.indexOf(".")>-1)
		return true;
	else
		return false;
}


function validatePhone(str){
	str = strip("*() -./_\n\r\t\\",str);
	if(str.length == 10 || str.length == 8)
		return true;
	else
		return false;
}

function highlightElement(labelElement, inputElement, highlight) {
	if (highlight) {
		if (labelElement != null) {
			if (labelElement.className == 'noerror' || labelElement.className == 'error') labelElement.className = '';
			labelElement.className = labelElement.className.replace(' noerror', '');
			labelElement.className = labelElement.className.replace(' error', '');
			labelElement.className = labelElement.className + ' error';
		}
		if (inputElement != null) {
			inputElement.className = inputElement.className.replace(' noerror', '');
			inputElement.className = inputElement.className.replace(' error', '');
			inputElement.className = inputElement.className + ' error';
		}
	}
	else {
		if (labelElement != null) {
			if (labelElement.className == 'noerror' || labelElement.className == 'error') labelElement.className = '';
			labelElement.className = labelElement.className.replace(' noerror', '');
			labelElement.className = labelElement.className.replace(' error', '');
			labelElement.className = labelElement.className + ' noerror';
		}
		if (inputElement != null) {
			inputElement.className = inputElement.className.replace(' noerror', '');
			inputElement.className = inputElement.className.replace(' error', '');
			inputElement.className = inputElement.className + ' noerror';
		}
	}
}

function validator_contact_us(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}
		
	eLabel = document.getElementById("enqu-iry");
	eInput = document.getElementById("enquiry");
	if(notEmpty(eInput.value)==false){
		error += "<li>How can we help you</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.enquiry;
	}else {
		highlightElement(eLabel, eInput, false);
	}
	
	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
			
		el.focus();
		return false;
	}
}

function validator_feedback(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("feed-back");
	eInput = document.getElementById("feedback");
	if(notEmpty(eInput.value)==false || eInput.value=="Please detail your feedback here"){
		error += "<li>Feedback</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.feedback;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
			
		el.focus();
		return false;
	}
}

function validator_membership_renewal(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}
		
	eLabel = document.getElementById("e-mail");
	eInput = document.getElementById("email");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("member-name");
	eInput = document.getElementById("member_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Member name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.member_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("membership-level");
	eInput = document.getElementById("membership_level");
	if(eInput.value=='Select membership level'){
		error += "<li>Level of membership required</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.membership_level;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("agr-ee");
	eLabel1 = document.getElementById("agr-ee1");
	eInput = document.getElementById("agree");
	if(!eInput.checked){
		error += "<li>I have read the Membership Benefits Guide and agree to the Terms and Conditions</li>";
		highlightElement(eLabel, eInput, true);
		highlightElement(eLabel1, eInput, true);
		if(!el) el = form.agree;
	}else {
		highlightElement(eLabel, eInput, false);
		highlightElement(eLabel1, eInput, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_logo_request(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("job-title");
	eInput = document.getElementById("job_title");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job title</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_title;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("organisation-name");
	eInput = document.getElementById("organisation_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Name of organisation</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.organisation_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("pho-ne");
	eInput = document.getElementById("phone");
	if(notEmpty(eInput.value)==false){
		error += "<li>Phone number</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.phone;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("e-mail");
	eInput = document.getElementById("email");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("website-address");
	eInput = document.getElementById("website_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Website address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.website_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("logo-purpose");
	eInput = document.getElementById("logo_purpose");
	if(eInput.value=='Select purpose'){
		error += "<li>Purpose for requesting logo</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.logo_purpose;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("publication-name");
	eInput = document.getElementById("publication_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Name of project or publication</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.publication_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("logo-format");
	eInput = document.getElementById("logo_format");
	if(eInput.value=='Select format'){
		error += "<li>Logo format required</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.logo_format;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("date-req");
	eInput = document.getElementById("date_req");
	if(notEmpty(eInput.value)==false){
		error += "<li>Date required</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.date_required;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("agr-ee");
	eLabel1 = document.getElementById("agr-ee1");
	eInput = document.getElementById("agree");
	if(!eInput.checked){
		error += "<li>I have read and agree to the Logo Terms and Conditions</li>";
		highlightElement(eLabel, eInput, true);
		highlightElement(eLabel1, eInput, true);
		if(!el) el = form.agree;
	}else {
		highlightElement(eLabel, eInput, false);
		highlightElement(eLabel1, eInput, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_publications_order(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("job-title");
	eInput = document.getElementById("job_title");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job title</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_title;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("organisation-name");
	eInput = document.getElementById("organisation_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Name of organisation</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.organisation_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("postal-address");
	eInput = document.getElementById("postal_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Postal address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.postal_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("ci-ty");
	eInput = document.getElementById("city");
	if(notEmpty(eInput.value)==false){
		error += "<li>City</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.city;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("sta-te");
	eInput = document.getElementById("state");
	if(notEmpty(eInput.value)==false){
		error += "<li>State</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.state;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("post-code");
	eInput = document.getElementById("postcode");
	if(notEmpty(eInput.value)==false){
		error += "<li>Post code</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.postcode;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("pho-ne");
	eInput = document.getElementById("phone");
	if(notEmpty(eInput.value)==false){
		error += "<li>Phone number</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.phone;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("email-address");
	eInput = document.getElementById("email_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("order-purpose");
	eInput = document.getElementById("order_purpose");
	if(notEmpty(eInput.value)==false){
		error += "<li>Purpose for order</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.order_purpose;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("date-req");
	eInput = document.getElementById("date_req");
	if(notEmpty(eInput.value)==false){
		error += "<li>Date required</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.date_req;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("or-der");
	eInput1 = document.getElementById("event_planners_guide");
	eInput1_q = document.getElementById("event_planners_guide_q");
	eInput2 = document.getElementById("sydney_incentive_brochure");
	eInput2_q = document.getElementById("sydney_incentive_brochure_q");
	eInput3 = document.getElementById("official_guide_to_sydney");
	eInput3_q = document.getElementById("official_guide_to_sydney_q");
	eInput4 = document.getElementById("whats_on_sydney");
	eInput4_q = document.getElementById("whats_on_sydney_q");
	eInput5 = document.getElementById("delegate_boosting_brochure");
	eInput5_q = document.getElementById("delegate_boosting_brochure_q");
	eInput6 = document.getElementById("clip_on_koalas");
	eInput6_q = document.getElementById("clip_on_koalas_q");
	isValid = 1;
	// check quantities for those ticked
	if (eInput1.checked && !notEmpty(eInput1_q.value)) { 	isValid = 0; highlightElement(eLabel, eInput1_q, true); }
	if (eInput2.checked && !notEmpty(eInput2_q.value)) {	isValid = 0; highlightElement(eLabel, eInput2_q, true); }
	if (eInput3.checked && !notEmpty(eInput3_q.value)) {	isValid = 0; highlightElement(eLabel, eInput3_q, true); }
	if (eInput4.checked && !notEmpty(eInput4_q.value)) {	isValid = 0; highlightElement(eLabel, eInput4_q, true); }
	if (eInput5.checked && !notEmpty(eInput5_q.value)) {	isValid = 0; highlightElement(eLabel, eInput5_q, true); }
	if (eInput6.checked && !notEmpty(eInput6_q.value)) {	isValid = 0; highlightElement(eLabel, eInput6_q, true); }
	// check checkbox for those with quantities
	if (!eInput1.checked && notEmpty(eInput1_q.value)) { 	isValid = 0; highlightElement(eLabel, eInput1_q, true); }
	if (!eInput2.checked && notEmpty(eInput2_q.value)) {	isValid = 0; highlightElement(eLabel, eInput2_q, true); }
	if (!eInput3.checked && notEmpty(eInput3_q.value)) {	isValid = 0; highlightElement(eLabel, eInput3_q, true); }
	if (!eInput4.checked && notEmpty(eInput4_q.value)) {	isValid = 0; highlightElement(eLabel, eInput4_q, true); }
	if (!eInput5.checked && notEmpty(eInput5_q.value)) {	isValid = 0; highlightElement(eLabel, eInput5_q, true); }
	if (!eInput6.checked && notEmpty(eInput6_q.value)) {	isValid = 0; highlightElement(eLabel, eInput6_q, true); }
	if(!isValid)	{
		error += "<li>I would like to place an order for</li>";
		if(!el) el = form.event_planners_guide_q;
	}else {
		highlightElement(eLabel, eInput1_q, false);
		highlightElement(eLabel, eInput2_q, false);
		highlightElement(eLabel, eInput3_q, false);
		highlightElement(eLabel, eInput4_q, false);
		highlightElement(eLabel, eInput5_q, false);
		highlightElement(eLabel, eInput6_q, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}


function validator_job_advertisement(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("job-title-of-advertisement"); 
	eInput = document.getElementById("job_title_of_advertisement");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job title of advertisement</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_title_of_advertisement;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("organisation-name");
	eInput = document.getElementById("organisation_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Name of organisation</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.organisation_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("industry-sector");
	eInput = document.getElementById("industry_sector");
	if(eInput.value=='Select industry sector'){
		error += "<li>Industry sector</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.industry_sector;
	}else {
		highlightElement(eLabel, eInput, false);
		if(eInput.value=='Other'){
			eLabel = document.getElementById("other-industry-sector");
			eInput = document.getElementById("other_industry_sector");
			if(notEmpty(eInput.value)==false){
				error += "<li>If Other please specify</li>";
				highlightElement(eLabel, eInput, true);
				if(!el) el = form.other_industry_sector;
			}else {
				highlightElement(eLabel, eInput, false);
			}
		}
	}

	eLabel = document.getElementById("job-description");
	eInput = document.getElementById("job_description");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job Description</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_description;
	}else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("application-closing-date");
	eInput = document.getElementById("application_closing_date");
	if(notEmpty(eInput.value)==false || eInput.value=='Needs to be at least one week away'){
		error += "<li>Application closing date</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.application_closing_date;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("contact-for-further-information");
	eInput = document.getElementById("contact_for_further_information");
	if(notEmpty(eInput.value)==false){
		error += "<li>Contact for further information</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.contact_for_further_information;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("job-title");
	eInput = document.getElementById("job_title");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job title</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_title;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("phone-number");
	eInput = document.getElementById("phone_number");
	if(notEmpty(eInput.value)==false){
		error += "<li>Phone number</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.phone_number;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("email-address");
	eInput = document.getElementById("email_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("website-address");
	eInput = document.getElementById("website_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Website address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.website_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("mem-ber");
	eInput = document.getElementById("member");
	if(eInput.value=='Select'){
		error += "<li>Are you a member?</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.member;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_competition_entry(form){
	el = false;
	error = "";
	var eLabel, eInput;

	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("job-title");
	eInput = document.getElementById("job_title");
	if(notEmpty(eInput.value)==false){
		error += "<li>Job title</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.job_title;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("organisation-name");
	eInput = document.getElementById("organisation_name");
	if(notEmpty(eInput.value)==false){
		error += "<li>Name of organisation</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.organisation_name;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("postal-address");
	eInput = document.getElementById("postal_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Postal address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.postal_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("ci-ty");
	eInput = document.getElementById("city");
	if(notEmpty(eInput.value)==false){
		error += "<li>City</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.city;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("sta-te");
	eInput = document.getElementById("state");
	if(notEmpty(eInput.value)==false){
		error += "<li>State</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.state;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("post-code");
	eInput = document.getElementById("postcode");
	if(notEmpty(eInput.value)==false){
		error += "<li>Post code</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.postcode;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("pho-ne");
	eInput = document.getElementById("phone");
	if(notEmpty(eInput.value)==false){
		error += "<li>Phone number</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.phone;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("email-address");
	eInput = document.getElementById("email_address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email_address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("competition-id-number");
	eInput = document.getElementById("competition_id_number");
	if(notEmpty(eInput.value)==false){
		error += "<li>Competition ID number</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.competition_id_number;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("competition-answer");
	eInput = document.getElementById("competition_answer");
	if(notEmpty(eInput.value)==false){
		error += "<li>Competition answer</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.competition_answer;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_subscription(form){
	el = false;
	error = "";
	var eLabel, eInput;

	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	// address
	eLabel = document.getElementById("add-ress");
	eInput = document.getElementById("address");
	if(notEmpty(eInput.value)==false){
		error += "<li>Postal address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.address;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	// city
	eLabel = document.getElementById("ci-ty");
	eInput = document.getElementById("city");
	if(notEmpty(eInput.value)==false){
		error += "<li>City</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.city;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	// state
	eLabel = document.getElementById("sta-te");
	eInput = document.getElementById("state");
	if(notEmpty(eInput.value)==false){
		error += "<li>State</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.state;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	// postcode
	eLabel = document.getElementById("post-code");
	eInput = document.getElementById("postcode");
	if(notEmpty(eInput.value)==false){
		error += "<li>Postcode</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.postcode;
	}else {
		highlightElement(eLabel, eInput, false);
	}


	eLabel = document.getElementById("e-mail");
	eInput = document.getElementById("email");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email address</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email;
	}else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("or-der");
	eInput1 = document.getElementById("newsletter");
	eInput2 = document.getElementById("invitations");
	eInput3 = document.getElementById("guide");

	if(!eInput1.checked && !eInput2.checked && !eInput3.checked){
		error += "<li>Please tick one or more options below</li>";
		highlightElement(eLabel, eInput1, true);
		if(!el) el = form.newsletter;
	}else {
		highlightElement(eLabel, eInput1, false);
	}

	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_bid_wins_name(form){
	el = false;
	error = "";
	var eLabel, eInput;

	eInput = document.getElementById("search_event");

	if(notEmpty(eInput.value)==false || eInput.value=='Enter keywords'){
		error += "<li>Event name</li>";
		if(!el) el = form.search_event;
	}

	if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_member_login(form){
	el = false;
	error = "";
	var eLabel, eInput;

	eLabel = document.getElementById("user-name"); 
	eInput = document.getElementById("username");
	if(notEmpty(eInput.value)==false){
		error += "<li>Username</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.username;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("pass-word"); 
	eInput = document.getElementById("password");
	if(notEmpty(eInput.value)==false){
		error += "<li>Password</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.password;
	} else {
		highlightElement(eLabel, eInput, false);
	}


    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_forgotten_password(form){
	el = false;
	error = "";
	var eLabel, eInput;

	eLabel = document.getElementById("e-mail"); 
	eInput = document.getElementById("email");
	if(notEmpty(eInput.value)==false){
		error += "<li>Email</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.email;
	} else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("user-name"); 
	eInput = document.getElementById("username");
	if(notEmpty(eInput.value)==false){
		error += "<li>Username</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.username;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}

function validator_edit_login(form){
	el = false;
	error = "";
	error1 = "";
	var eLabel, eInput, eInput1, eInput2;

	eLabel = document.getElementById("user-name"); 
	eInput = document.getElementById("username");
	if(notEmpty(eInput.value)==false){
		error += "<li>Username</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.username;
	} else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("existing-password"); 
	eInput = document.getElementById("existing_password");
	if(notEmpty(eInput.value)==false){
		error += "<li>Existing password</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.existing_password;
	} else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("new-password"); 
	eInput = document.getElementById("new_password");
	if(notEmpty(eInput.value)==false){
		error += "<li>New password</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.new_password;
	} else {
		highlightElement(eLabel, eInput, false);
	}

	eLabel = document.getElementById("confirm-new-password"); 
	eInput = document.getElementById("confirm_new_password");
	if(notEmpty(eInput.value)==false){
		error += "<li>Confirm new password</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.confirm_new_password;
	} else {
		highlightElement(eLabel, eInput, false);
	}

	eInput1 = document.getElementById("new_password");
	eInput2 = document.getElementById("confirm_new_password");
	if(eInput1.value != eInput2.value) {
		error1 += "<li>New passwords are not same</li>";
		if(!el) el = form.new_password;		
	}
	
    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
	
	if (error1 != "") {
		errorHtml = "<p><strong>The following error has occured</strong></p>";
		errorHtml = errorHtml + "<ul>" + error1 + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
		el.focus();
		return false;
	}
}


function validator_common_form(form){
	el = false;
	error = "";
	var eLabel, eInput;
	
	eLabel = document.getElementById("first-name"); 
	eInput = document.getElementById("firstname");
	if(notEmpty(eInput.value)==false){
		error += "<li>First name</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.firstname;
	} else {
		highlightElement(eLabel, eInput, false);
	}
	
	eLabel = document.getElementById("sur-name");
	eInput = document.getElementById("surname");
	if(notEmpty(eInput.value)==false){
		error += "<li>Surname</li>";
		highlightElement(eLabel, eInput, true);
		if(!el) el = form.surname;
	}else {
		highlightElement(eLabel, eInput, false);
	}
	
	eInput = document.getElementById("captcha");
	if(notEmpty(eInput.value)==false || eInput.value=="Please enter text displayed above"){
		error += "<li>Please enter text displayed in the image below</li>";
		if(!el) el = form.captcha;
		highlightElement(null, eInput, true);
	} else 
		highlightElement(null, eInput, false);

    if (error != "") {
		errorHtml = "<p><strong>The following fields are required</strong></p>";
		errorHtml = errorHtml + "<ul>" + error + "</ul>";
		element = document.getElementById("error-message");
		if(element) {
			element.innerHTML = errorHtml;
			element.style.display = 'block';
		}
			
		el.focus();
		return false;
	}
}