<!--

// Trims the leading and trailing blanks from a given string:
function Trim(strToTrim) {
	while(strToTrim.charAt(0)==' '){strToTrim = strToTrim.substring(1,strToTrim.length);}
	while(strToTrim.charAt(strToTrim.length-1)==' '){strToTrim = strToTrim.substring(0,strToTrim.length-1);}
	return strToTrim;
}

// Validate an e-mail address:
function ValidateEmail(str){
	if (str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true;
	else return false; 
}

// Allows only letters, numbers and underscore:
function ChkIllegalChars(str){
	var illegalChars = /\W/;
	if (illegalChars.test(str)) return false;
	else return true;
}


// Validates Auction Email Updates.
function ValidateAuctionUpdates(frm) {
	if (Trim(frm.EU_FirstName.value)=="") {alert("First Name is required.");frm.EU_FirstName.focus();return false;}
	else if (Trim(frm.EU_Surname.value)=="") {alert("Surname is required.");frm.EU_Surname.focus();return false;}
	else if (Trim(frm.EU_EmailAddress.value)=="") {alert("Email is required.");frm.EU_EmailAddress.focus();return false;}
	else if (!ValidateEmail(Trim(frm.EU_EmailAddress.value))) {alert("Please enter a valid email address.");frm.EU_EmailAddress.focus();return false;}
	else if (Trim(frm.EU_Password.value)=="") {alert("Password is required.");frm.EU_Password.focus();return false;}
	else if (!ChkIllegalChars(Trim(frm.EU_Password.value))) {alert("Please use only alpha-numeric characters or underscore for Password.");frm.EU_Password.focus();return false;}
	else if (!frm.agreetoterms.checked) {alert("You have to agree to email terms.");frm.agreetoterms.focus();return false;}
	else {return true;}
}

// Validates Login.
function ValidateLogin(frm) {
	if (Trim(frm.username.value)=="") {alert("Username is required.");frm.username.focus();return false;}
	else if (Trim(frm.password.value)=="") {alert("Password is required.");frm.password.focus();return false;}
	else if (frm.loginas.selectedIndex==0) {alert("Please choose login type.");frm.loginas.focus();return false;}
	else {return true;}
}

// Validates Estate Agent registration.
function ValidateEstateAgent(frm) {
	var ext="";
	if (typeof(frm.FileLogo)!="undefined") {
		var fname=Trim(frm.FileLogo.value)
		var ext=Trim(fname.substr(fname.lastIndexOf(".")+1))
		ext=ext.toLowerCase();
	}
	
	if (Trim(frm.Company.value)=="") {alert("Company Name is required.");frm.Company.focus();return false;}
	else if (Trim(frm.ContactsFirstName.value)=="") {alert("Contact First Name is required.");frm.ContactsFirstName.focus();return false;}
	else if (Trim(frm.ContactsSurname.value)=="") {alert("Contact Surname is required.");frm.ContactsSurname.focus();return false;}
	else if (Trim(frm.AddressLine1.value)=="") {alert("Address Line 1 is required.");frm.AddressLine1.focus();return false;}
	else if (Trim(frm.City.value)=="") {alert("City is required.");frm.City.focus();return false;}
	else if (Trim(frm.County.value)=="") {alert("County is required.");frm.County.focus();return false;}
	else if (Trim(frm.Postcode.value)=="") {alert("Postcode is required.");frm.Postcode.focus();return false;}
	else if (Trim(frm.MainPhoneNo.value)=="") {alert("Main Phone No is required.");frm.MainPhoneNo.focus();return false;}
	else if (Trim(frm.ContactsEmailAddress.value)=="") {alert("Email Address (username) is required.");frm.ContactsEmailAddress.focus();return false;}
	else if (!ValidateEmail(Trim(frm.ContactsEmailAddress.value))) {alert("Please enter a valid email address.");frm.ContactsEmailAddress.focus();return false;}
	else if (Trim(frm.Password.value)=="") {alert("Password is required.");frm.Password.focus();return false;}
	else if (!ChkIllegalChars(Trim(frm.Password.value))) {alert("Please use only alpha-numeric characters or underscore for Password.");frm.Password.focus();return false;}
	else if (typeof(frm.FileLogo)!="undefined" && Trim(frm.FileLogo.value)!=""  && (ext!="jpg" && ext!="jpeg" && ext!="jpe" && ext!="gif" && ext!="bmp" && ext!="png") ) {alert("This type of file is not allowed to upload."); frm.FileLogo.focus(); return false;}
	else {
		if (typeof(frm.ReceiveEmailUpdates)!="undefined")
		{
			if (frm.ReceiveEmailUpdates.checked)
			{
				if (typeof(frm.AgreedToEmailTerms)!="undefined")
					if (!frm.AgreedToEmailTerms.checked) {alert("You have to agree Email Terms.");return false;}
			}
		}
		
		if (typeof(frm.WebsiteTermsAccepted)!="undefined")
			if (!frm.WebsiteTermsAccepted.checked) {alert("You have to agree Website Terms.");return false;}
		
		
		return true;
	}
}

// Validates Vendor registration.
function ValidateVendor(frm) {
	if (Trim(frm.FirstName.value)=="") {alert("First Name is required.");frm.FirstName.focus();return false;}
	else if (Trim(frm.Surname.value)=="") {alert("Surname is required.");frm.Surname.focus();return false;}
	else if (Trim(frm.AddressLine1.value)=="") {alert("Address Line 1 is required.");frm.AddressLine1.focus();return false;}
	else if (Trim(frm.City.value)=="") {alert("City is required.");frm.City.focus();return false;}
	else if (Trim(frm.County.value)=="") {alert("County is required.");frm.County.focus();return false;}
	else if (Trim(frm.Postcode.value)=="") {alert("County is required.");frm.Postcode.focus();return false;}
	else if (Trim(frm.MainPhoneNo.value)=="") {alert("Main Phone No is required.");frm.MainPhoneNo.focus();return false;}
	else if (Trim(frm.EmailAddress.value)!="" && !ValidateEmail(Trim(frm.EmailAddress.value))) {alert("Please enter a valid email address.");frm.EmailAddress.focus();return false;}
	else {
		if (typeof(frm.terms)!="undefined")
			if (!frm.terms.checked) {alert("You have to agree Website Terms.");return false;}
		
		return true;
	}
}

// Validates Vendor Solicitor.
function ValidateVendorSolicitor(frm) {
	if (Trim(frm.Company.value)=="") {alert("Company Name is required.");frm.Company.focus();return false;}
	else if (Trim(frm.ContactsFirstName.value)=="") {alert("Contact First Name is required.");frm.ContactsFirstName.focus();return false;}
	else if (Trim(frm.ContactsSurname.value)=="") {alert("Contact Surname is required.");frm.ContactsSurname.focus();return false;}
	else if (Trim(frm.AddressLine1.value)=="") {alert("Address Line 1 is required.");frm.AddressLine1.focus();return false;}
	else if (Trim(frm.City.value)=="") {alert("City is required.");frm.City.focus();return false;}
	else if (Trim(frm.County.value)=="") {alert("County is required.");frm.County.focus();return false;}
	else if (Trim(frm.Postcode.value)=="") {alert("Postcode is required.");frm.Postcode.focus();return false;}
	else if (Trim(frm.MainPhoneNo.value)=="") {alert("Main Phone No is required.");frm.MainPhoneNo.focus();return false;}
	else if (Trim(frm.ContactsEmailAddress.value)!="" && !ValidateEmail(Trim(frm.ContactsEmailAddress.value))) {alert("Please enter a valid email address.");frm.ContactsEmailAddress.focus();return false;}
	else {
		return true;
	}
}

// Validates Property - Step 1.
function ValidatePropertyStep1(frm) {
	if (Trim(frm.vFirstName.value)=="") {alert("First Name is required.");frm.vFirstName.focus();return false;}
	else if (Trim(frm.vSurname.value)=="") {alert("Surname is required.");frm.vSurname.focus();return false;}
	else if (Trim(frm.vAddressLine1.value)=="") {alert("Address Line 1 is required.");frm.vAddressLine1.focus();return false;}
	else if (Trim(frm.vCity.value)=="") {alert("City is required.");frm.vCity.focus();return false;}
	else if (Trim(frm.vCounty.value)=="") {alert("County is required.");frm.vCounty.focus();return false;}
	else if (Trim(frm.vPostcode.value)=="") {alert("Postcode is required.");frm.vPostcode.focus();return false;}
	else if (Trim(frm.vMainPhoneNo.value)=="") {alert("Main Phone No is required.");frm.vMainPhoneNo.focus();return false;}
	else if (Trim(frm.vEmailAddress.value)!="" && !ValidateEmail(Trim(frm.vEmailAddress.value))) {alert("Please enter a valid email address.");frm.vEmailAddress.focus();return false;}
	else {
		return true;
	}
}

// Validates Property - Step 2.
function ValidatePropertyStep2(frm) {
	if (Trim(frm.sCompany.value)=="") {alert("Company Name is required.");frm.sCompany.focus();return false;}
	else if (Trim(frm.sContactsFirstName.value)=="") {alert("Contact First Name is required.");frm.sContactsFirstName.focus();return false;}
	else if (Trim(frm.sContactsSurname.value)=="") {alert("Contact Surname is required.");frm.sContactsSurname.focus();return false;}
	else if (Trim(frm.sAddressLine1.value)=="") {alert("Address Line 1 is required.");frm.sAddressLine1.focus();return false;}
	else if (Trim(frm.sCity.value)=="") {alert("City is required.");frm.sCity.focus();return false;}
	else if (Trim(frm.sCounty.value)=="") {alert("County is required.");frm.sCounty.focus();return false;}
	else if (Trim(frm.sPostcode.value)=="") {alert("Postcode is required.");frm.sPostcode.focus();return false;}
	else if (Trim(frm.sMainPhoneNo.value)=="") {alert("Main Phone No is required.");frm.sMainPhoneNo.focus();return false;}
	else if (Trim(frm.sContactsEmailAddress.value)!="" && !ValidateEmail(Trim(frm.sContactsEmailAddress.value))) {alert("Please enter a valid email address.");frm.sContactsEmailAddress.focus();return false;}
	else {
		return true;
	}
}

// Validates Property - Step 3.
function ValidatePropertyStep3(frm) {
	var GuidePrice = parseInt(new Number(frm.GuidePrice.value));
	if(isNaN(GuidePrice)) GuidePrice = 0;
	if (Trim(frm.AddressLine1.value)=="") {alert("Address Line 1 is required.");frm.AddressLine1.focus();return false;}	
	else if (Trim(frm.City.value)=="") {alert("City is required.");frm.City.focus();return false;}
	else if (Trim(frm.County.value)=="") {alert("County is required.");frm.County.focus();return false;}
	else if (Trim(frm.Postcode.value)=="") {alert("Postcode is required.");frm.Postcode.focus();return false;}
	else if (Trim(frm.DisplayAddress.value)=="") {alert("Display Address is required.");frm.DisplayAddress.focus();return false;}
	else if (GuidePrice <= 0) {alert("Guide Price is required.");frm.GuidePrice.focus();return false;}
	else if (Trim(frm.Feature1.value)=="") {alert("Feature 1 is required.");frm.Feature1.focus();return false;}
	else if (Trim(frm.Feature2.value)=="") {alert("Feature 2 is required.");frm.Feature2.focus();return false;}
//	else if (Trim(frm.Feature3.value)=="") {alert("Feature 3 is required.");frm.Feature3.focus();return false;}
//	else if (Trim(frm.Feature4.value)=="") {alert("Feature 4 is required.");frm.Feature4.focus();return false;}
//	else if (Trim(frm.Feature5.value)=="") {alert("Feature 5 is required.");frm.Feature5.focus();return false;}
	else if (Trim(frm.Summary.value)=="") {alert("Summary is required.");return false;}
	else if (Trim(frm.Description.value)=="") {alert("Description is required.");return false;}
	else if (Trim(frm.ViewingDetails.value)=="") {alert("Viewing Details field is required.");return false;}
	else {
		return true;
	}
}

// Validates property edit form:
function ValidateProperty(frm){
	if (Trim(frm.AddressLine1.value)=="") {alert("Address Line 1 is required.");frm.AddressLine1.focus();return false;}
	else if (Trim(frm.City.value)=="") {alert("City is required.");frm.City.focus();return false;}
	else if (Trim(frm.County.value)=="") {alert("County is required.");frm.County.focus();return false;}
	else if (Trim(frm.Postcode.value)=="") {alert("Postcode is required.");frm.Postcode.focus();return false;}
	else {
		return true;
	}
}

// Validates buyer profile:
function ValidateBuyerProfile(frm){
	if (Trim(frm.FirstName.value)=="") {alert("First Name is required.");frm.FirstName.focus();return false;}
	else if (Trim(frm.Surname.value)=="") {alert("Surname is required.");frm.Surname.focus();return false;}
	else if (Trim(frm.EmailAddress.value)=="") {alert("Email Address (username) is required.");frm.EmailAddress.focus();return false;}
	else if (!ValidateEmail(Trim(frm.EmailAddress.value))) {alert("Please enter a valid email address.");frm.EmailAddress.focus();return false;}
	else if (Trim(frm.Password.value)=="") {alert("Password is required.");frm.Password.focus();return false;}
	else if (!ChkIllegalChars(Trim(frm.Password.value))) {alert("Please use only alpha-numeric characters or underscore for Password.");frm.Password.focus();return false;}
	else if (Trim(frm.Nickname.value)=="") {alert("Nickname is required.");frm.Nickname.focus();return false;}
	else {
		if (typeof(frm.AgreedToTerms)!="undefined")
			if (!frm.AgreedToTerms.checked) {alert("You have to agree the Terms.");return false;}
		
		return true;
	}
}

// Validates bid registration:
function ValidateBidRegistration(frm) {
	if (frm.propertyID.selectedIndex==0) {alert("Please select the Auction.");frm.propertyID.focus();return false;}
	else if (!frm.biddingType[0].checked && !frm.biddingType[1].checked) {alert("Please choose Bidding Type.");return false;}
	else if (Trim(frm.SolicitorCompany.value)=="") {alert("Solicitor Company is required.");frm.SolicitorCompany.focus();return false;}
	else if (Trim(frm.SolictorAddress.value)=="") {alert("Solictor Address is required.");frm.SolictorAddress.focus();return false;}
	else if (Trim(frm.SolicitorTelephone.value)=="") {alert("Solicitor Telephone is required.");frm.SolicitorTelephone.focus();return false;}
	else {
		if (typeof(frm.terms)!="undefined")
			if (!frm.terms.checked) {alert("You have to agree the Terms.");return false;}
		
		return true;
	}
}

// Validates enquiry form:
function ValidateEnquiry(frm) {
	if (Trim(frm.first_name.value)=="") {alert("First Name is required.");frm.first_name.focus();return false;}
	else if (Trim(frm.last_name.value)=="") {alert("Last Name is required.");frm.last_name.focus();return false;}
	else if (Trim(frm.email.value)=="") {alert("Email is required.");frm.email.focus();return false;}
	else if (!ValidateEmail(Trim(frm.email.value))) {alert("Please enter a valid email address.");frm.email.focus();return false;}
	else return true;
}

// Validates advertise form:
function ValidateAdvertise(frm) {
	if (Trim(frm.message.value)=="") {alert("Message is required.");frm.message.focus();return false;}
	else if (Trim(frm.contactname.value)=="") {alert("Contact name is required.");frm.contactname.focus();return false;}
	else if (Trim(frm.contactnumber.value)=="") {alert("Contact number is required.");frm.contactnumber.focus();return false;}
	else if (Trim(frm.emailaddress.value)=="") {alert("Email is required.");frm.emailaddress.focus();return false;}
	else if (!ValidateEmail(Trim(frm.emailaddress.value))) {alert("Please enter a valid email address.");frm.emailaddress.focus();return false;}
	else return true;
}

// Validates contact form:
function ValidateContact(frm) {
	if (Trim(frm.subject.value)=="") {alert("Subject is required.");frm.subject.focus();return false;}
	else if (Trim(frm.message.value)=="") {alert("Message is required.");frm.message.focus();return false;}
	else if (Trim(frm.contactname.value)=="") {alert("Contact name is required.");frm.contactname.focus();return false;}
	else if (Trim(frm.contactnumber.value)=="") {alert("Contact number is required.");frm.contactnumber.focus();return false;}
	else if (Trim(frm.emailaddress.value)=="") {alert("Email is required.");frm.emailaddress.focus();return false;}
	else if (!ValidateEmail(Trim(frm.emailaddress.value))) {alert("Please enter a valid email address.");frm.emailaddress.focus();return false;}
	else return true;
}
//-->
