// 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 checkProductReg(myForm) {
	var prodNodeId = myForm.prodNodeId;
	var prodId = myForm.prodId;
	var serialNumber = myForm.serialNumber;
	var dealerName = myForm.dealerName;
	var purchaseDay = myForm.purchaseDay;
	var purchaseMonth = myForm.purchaseMonth;
	var purchaseYear = myForm.purchaseYear;
	var sendFlag = true;
	
	if (prodNodeId.value.Trim() == "" && sendFlag) {
		alert("Please select the product category");
		sendFlag = false;
		prodNodeId.focus();
	}
	if (prodId.value.Trim() == "" && sendFlag) {
		alert("Please select the model number");
		sendFlag = false;
		prodId.focus();
	}
	if (serialNumber.value.Trim() == "" && sendFlag) {
		alert("Please input the serial number");
		sendFlag = false;
		serialNumber.focus();
	}
	if (dealerName.value.Trim() == "" && sendFlag) {
		alert("Please input the dealer name");
		sendFlag = false;
		dealerName.focus();
	}
	if (purchaseDay.value.Trim() == "" && sendFlag) {
		alert("Please select the purchase day");
		sendFlag = false;
		purchaseDay.focus();
	}
	if (purchaseMonth.value.Trim() == "" && sendFlag) {
		alert("Please select the purchase month");
		sendFlag = false;
		purchaseMonth.focus();
	}
	if (purchaseYear.value.Trim() == "" && sendFlag) {
		alert("Please select the purchase year");
		sendFlag = false;
		purchaseYear.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemReg(myForm) {
	var loginName = myForm.loginName;
	var pass = myForm.pass;
	var pass_confirm = myForm.pass_confirm;
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var mobile = myForm.mobile;
	var email = myForm.email;
	var address1 = myForm.address1;
	var sendFlag = true;	
	
	if (loginName.value.Trim() == "" && sendFlag){
		alert("Please fill in the login name");
		sendFlag = false;
		loginName.focus();
	} else if (loginName.value.length < 6 && sendFlag) {
		alert("Please fill in 6-12 alphanumeric of login name");
		sendFlag = false;
		loginName.focus();
	}
	
	if (pass.value.Trim() == "" && sendFlag){
		alert("Please fill in the password");
		sendFlag = false;
		pass.focus();
	} else if (pass.value.length < 6 && sendFlag) {
		alert("Please fill in 6-12 alphanumeric of password");
		sendFlag = false;
		pass.focus();
	}
	
	if (pass_confirm.value.Trim() == "" && sendFlag){
		alert("Please fill in the confirm password");
		sendFlag = false;
		pass_confirm.focus();
	} else if (pass.value.Trim() != pass_confirm.value.Trim() && sendFlag){
		alert("Passwords do not match\nPlease fill in again");
		sendFlag = false;
		pass.value = "";
		pass_confirm.value = "";
		pass.focus();
	}
	
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please fill in your first name");
		sendFlag = false;
		firstName.focus();
	}	
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("Please fill in your last name");
		sendFlag = false;
		lastName.focus();
	}	
	
	if (mobile.value.Trim() == "" && sendFlag){
		alert("Please fill in your mobile");
		sendFlag = false;
		mobile.focus();
	}	
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please fill in your email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid email! Please fill in again");
		sendFlag = false;
		email.focus();
	}
	
	if (address1.value.Trim() == "" && sendFlag){
		alert("Please fill in your addess");
		sendFlag = false;
		address1.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemEdit(myForm) {
	var pass = myForm.pass;
	var pass_new = myForm.pass_new;
	var pass_new_confirm = myForm.pass_new_confirm;
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var mobile = myForm.mobile;
	var email = myForm.email;
	var address1 = myForm.address1;
	var sendFlag = true;
	
	if (pass_new.value.Trim() != "" && pass_new.value.length < 6 && sendFlag) {
		alert("Please fill in 6-12 alphanumeric of password");
		sendFlag = false;
		pass_new.focus();
	}
	if (pass_new_confirm.value.Trim() == "" && pass_new.value.Trim() != "" && sendFlag){
		alert("Please fill in the confirm password");
		sendFlag = false;
		pass_new_confirm.focus();
	} else if (pass_new.value.Trim() != pass_new_confirm.value.Trim() && sendFlag){
		alert("Passwords do not match\nPlease fill in again");
		sendFlag = false;
		pass_new.value = "";
		pass_new_confirm.value = "";
		pass_new.focus();
	}
	
	if (firstName.value.Trim() == "" && sendFlag){
		alert("Please fill in your first name");
		sendFlag = false;
		firstName.focus();
	}	
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("Please fill in your last name");
		sendFlag = false;
		lastName.focus();
	}	
	
	if (mobile.value.Trim() == "" && sendFlag){
		alert("Please fill in your mobile");
		sendFlag = false;
		mobile.focus();
	}	
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please fill in your email");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid email! Please fill in again");
		sendFlag = false;
		email.focus();
	}
	
	if (address1.value.Trim() == "" && sendFlag){
		alert("Please fill in your addess");
		sendFlag = false;
		address1.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
		if (pass_new.value.Trim() != "") {
			sendFlag = confirm("Are you sure to change your password?");	
		}
	}
	
	return sendFlag;
}

function checkMemLogin(myForm) {
	var loginName = myForm.loginName;
	var pass = myForm.pass;
	var sendFlag = true;
	
	if (loginName.value.Trim() == "" && sendFlag){
		alert("Please input your login name");
		sendFlag = false;
		loginName.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 sendFlag = true;
	
	if (email.value.Trim() == "" && sendFlag){
		alert("Please input your registered e-mail");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("Invalid e-mail. Please input again.");
		sendFlag = false;
		email.focus();
	}
	
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkMemTerms(myForm) {
	var policyFlag = document.getElementById('policyFlag');
	var sendFlag = true;
	
	if (!policyFlag.checked && sendFlag) {
		sendFlag = false;
		alert('Please read the terms and conditions first');
	}
	
	if (sendFlag) {
		window.location = 'member_reg.php';
	}
}
