// JavaScript Document

String.prototype.Trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function checkMail(email) {
	var x = email;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function checkSearchBox(myForm) {
	var keyword = myForm.keyword;
	var sendFlag = true;
	
	if (keyword.value.Trim() == "") {
		alert("Please input the keyword");
		sendFlag = false;
		keyword.focus();
	}
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemReg(myForm) {
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var tel = myForm.tel;
	var username = myForm.username;
	var pass = myForm.pass;
	var pass_confirm = myForm.pass_confirm;
	var email = myForm.email;
	var sendFlag = true;
	
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please input your first name");
		sendFlag = false;
		firstName.focus();
	}
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("Please input your last name");
		sendFlag = false;
		lastName.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your email.");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid Email. Please input again.");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("Please input your tel");
		sendFlag = false;
		tel.focus();
	}
	
	if (username.value.Trim() == "" && sendFlag){
		alert("Please input an username");
		sendFlag = false;
		username.focus();
	}
	
	if (pass.value.Trim() == "" && sendFlag){
		alert("Please input the password");
		sendFlag = false;
		pass.focus();
	}
	
	if (pass_confirm.value.Trim() == "" && sendFlag){
		alert("Please re-input the password");
		sendFlag = false;
		pass_confirm.focus();
	} else if (pass.value.Trim() != pass_confirm.value.Trim() && sendFlag) {
		alert("The passwords do not match. Please re-input.");
		sendFlag = false;
		pass.value = '';
		pass_confirm.value = '';
		pass.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemLogin(myForm) {
	var username = myForm.username;
	var pass = myForm.pass;
	var sendFlag = true;
	
	if (username.value.Trim() == "" && sendFlag){
		alert("Please input your username");
		sendFlag = false;
		username.focus();
	}
	
	if (pass.value.Trim() == "" && sendFlag){
		alert("Please input your password");
		sendFlag = false;
		pass.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemForgotPass(myForm) {
	var email = myForm.email;
	var firstName = myForm.firstName;
	var sendFlag = true;
		
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please input your first name");
		sendFlag = false;
		firstName.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your registered email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid email. Please input again");
		sendFlag = false;
		email.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkEnquiryForm(myForm) {
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var email = myForm.email;
	var tel = myForm.tel;
	var buyFlag = myForm.buyFlag;
	var buyDetails = myForm.buyDetails;
	var rentFlag = myForm.rentFlag;
	var rentDetails = myForm.rentDetails;
	var propertyCountry = myForm.propertyCountry;
	var sendFlag = true;
		
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please input your first name");
		sendFlag = false;
		firstName.focus();
	}
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("Please input your last name");
		sendFlag = false;
		lastName.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your registered email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid email. Please input again");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("Please input your tel. no.");
		sendFlag = false;
		tel.focus();
	}
	
	if (!buyFlag.checked && !rentFlag.checked && sendFlag) {
		alert("Please at least choose one of the property details (Buy or Rent)");
		sendFlag = false;
	}
	
	if(buyFlag.checked && buyDetails.value.Trim()=="" && sendFlag) {
		alert("Please input the property details (Buy)");
		sendFlag = false;
		buyDetails.focus();
	}
	
	if(rentFlag.checked && rentDetails.value.Trim()=="" && sendFlag) {
		alert("Please input the property details (Rent)");
		sendFlag = false;
		rentDetails.focus();
	}
	
	if (propertyCountry.value.Trim() == "" && sendFlag){
		alert("Please input the country of the property");
		sendFlag = false;
		propertyCountry.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkInstructionForm(myForm) {
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var email = myForm.email;
	var tel = myForm.tel;
	var saleFlag = myForm.saleFlag;
	var saleDetails = myForm.saleDetails;
	var leaseFlag = myForm.leaseFlag;
	var leaseDetails = myForm.leaseDetails;
	var propertyCountry = myForm.propertyCountry;
	var propertyAddress = myForm.propertyAddress;
	var sendFlag = true;
		
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please input your first name");
		sendFlag = false;
		firstName.focus();
	}
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("Please input your last name");
		sendFlag = false;
		lastName.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your registered email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid email. Please input again");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("Please input your tel. no.");
		sendFlag = false;
		tel.focus();
	}
	
	if (!saleFlag.checked && !leaseFlag.checked && sendFlag) {
		alert("Please at least choose one of the property details (Sale or Lease)");
		sendFlag = false;
	}
	
	if(saleFlag.checked && saleDetails.value.Trim()=="" && sendFlag) {
		alert("Please input the property details (Sale)");
		sendFlag = false;
		saleDetails.focus();
	}
	
	if(leaseFlag.checked && leaseDetails.value.Trim()=="" && sendFlag) {
		alert("Please input the property details (Lease)");
		sendFlag = false;
		leaseDetails.focus();
	}
	
	if (propertyCountry.value.Trim() == "" && sendFlag){
		alert("Please input the country of the property");
		sendFlag = false;
		propertyCountry.focus();
	}
	
	if (propertyAddress.value.Trim() == "" && sendFlag){
		alert("Please input the address of the property");
		sendFlag = false;
		propertyAddress.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}
