// 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 countCheck(obj, maxCount, method) {
	var myForm = obj.form;	
	var inputs = myForm.getElementsByTagName("input");
	var counter = 0;
	
	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].name == obj.name && inputs[i].checked)
			counter++;
	}
	if(method=='max'){
		if (counter > maxCount) return false;
	}else if(method=='min'){
		if (counter < maxCount) obj.checked = true;
		if (counter < maxCount) return alert("請選擇最少一項");
	}
}

function checkKeywordSearch(myForm) {
	var keyword = myForm.keyword;
	var sendFlag = true;
	var lang = (myForm.lang)? myForm.lang : document.createElement("input");
	lang.value = (lang.value)? lang.value : "zh";
	var errMessage = new Array(3);
	if(lang.value=="zh"){
	errMessage["keyword"] = "請輸入關鍵字。";
	}
	
	if (keyword.value.Trim() == "" && sendFlag){
		alert(errMessage["keyword"]);
		sendFlag = false;
		keyword.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkContactUs(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var message = myForm.message;
	var lang = (myForm.lang)? myForm.lang : document.createElement("input");
	lang.value = (lang.value)? lang.value : "zh";
	var errMessage = new Array(4);
	if(lang.value=="zh"){
	errMessage["checkMail"] = "電郵地址格式錯誤。請重新輸入。";
	errMessage["contactPerson"] = "請輸入姓名。";
	errMessage["email"] = "請輸入您的電郵地址。";
	errMessage["message"] = "請輸入你的查詢。";
	}
	var sendFlag = true;
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert(errMessage["contactPerson"]);
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert(errMessage["email"]);
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert(errMessage["checkMail"]);
		sendFlag = false;
		email.focus();
	}
	
	if (message.value.Trim() == "" && sendFlag){
		alert(errMessage["message"]);
		sendFlag = false;
		message.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberReg(myForm) {
	var pass = myForm.password;
	var personName = myForm.personName;
	var email = myForm.email;
	var gender = myForm.gender;
	var phone = myForm.phone;
	var fax = myForm.fax;
	var district = myForm.district;
	var address = myForm.address;
	var favourite = myForm.favourite;
	var sendFlag = true;
	var lang = (myForm.lang)? myForm.lang : document.createElement("input");
	lang.value = (lang.value)? lang.value : "zh";
	var errMessage = new Array(10);
	if(lang.value=="zh"){
	errMessage["pass"] = "請輸入密碼。";
	errMessage["pass_short"] = "密碼最少要有6個字母長度。";
	errMessage["pass_confirm"] = "請確認密碼。";
	errMessage["pass_reconfirm"] = "確認密碼不正確。請重新輸入。";
	errMessage["personName"] = "請輸入姓名。";
	errMessage["email"] = "請輸入登入電郵。";
	errMessage["emailInvalid"] = "電郵格式錯誤。請重新輸入。";
	errMessage["gender"] = "請選擇性別。";
	errMessage["phone"] = "請輸入電話。";
	errMessage["fax"] = "請輸入傳真。";
	errMessage["district"] = "請選擇地區。";
	errMessage["address"] = "請輸入地址。";
	errMessage["favourite"] = "請輸入喜愛產品類型。";
	}

	if (email.value.Trim() == "" && sendFlag){
		alert(errMessage["email"]);
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert(errMessage["emailInvalid"]);
		sendFlag = false;
		email.focus();
	}
		
	if (pass.value.Trim() == "" && sendFlag){
		alert(errMessage["pass"]);
		sendFlag = false;
		pass.focus();
	} else if (pass.value.length < 6 && sendFlag) {
		alert(errMessage["pass_short"]);
		sendFlag = false;
		pass.focus();
	}

	if (personName.value.Trim() == "" && sendFlag){
		alert(errMessage["personName"]);
		sendFlag = false;
		personName.focus();
	}

	if (getCheckedValue(gender) == "" && sendFlag){
		alert(errMessage["gender"]);
		sendFlag = false;
		gender[0].focus();
	}

	if (phone.value.Trim() == "" && sendFlag){
		alert(errMessage["phone"]);
		sendFlag = false;
		phone.focus();
	}

	if (district.value.Trim() == "" && sendFlag){
		alert(errMessage["district"]);
		sendFlag = false;
		district.focus();
	}

	if (address.value.Trim() == "" && sendFlag){
		alert(errMessage["address"]);
		sendFlag = false;
		address.focus();
	}

	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberEdit(myForm) {
	var pass = myForm.password;
	var pass_new = myForm.pass_new;
	var pass_new_confirm = myForm.pass_new_confirm;
	var gender = myForm.gender;
	var phone = myForm.phone;
	var fax = myForm.fax;
	var district = myForm.district;
	var address = myForm.address;
	var favourite = myForm.favourite;
	var sendFlag = true;
	var lang = (myForm.lang)? myForm.lang : document.createElement("input");
	lang.value = (lang.value)? lang.value : "zh";
	var errMessage = new Array(10);
	if(lang.value=="zh"){
	errMessage["pass"] = "請輸入密碼。";
	errMessage["pass_new"] = "請輸入新密碼。";
	errMessage["pass_short"] = "密碼最少要有6個字母長度。";
	errMessage["pass_confirm"] = "請確認密碼。";
	errMessage["pass_reconfirm"] = "確認密碼不正確。請重新輸入。";
	errMessage["personName"] = "請輸入姓名。";
	errMessage["email"] = "請輸入電郵地址。";
	errMessage["emailInvalid"] = "電郵格式錯誤。請重新輸入。";
	errMessage["gender"] = "請選擇性別。";
	errMessage["phone"] = "請輸入電話。";
	errMessage["fax"] = "請輸入傳真。";
	errMessage["district"] = "請選擇地區。";
	errMessage["address"] = "請輸入地址。";
	errMessage["favourite"] = "請輸入喜愛產品類型。";
	}



	if (pass_new.value.Trim() == "" && pass.value.Trim() != "" && sendFlag){
		alert(errMessage["pass_new"]);
		sendFlag = false;
		pass_new.focus();
	} else if (pass_new.value.length < 6 && pass.value.Trim() != "" && sendFlag) {
		alert(errMessage["pass_short"]);
		sendFlag = false;
		pass_new.focus();
	} else if (pass_new_confirm.value.Trim() == "" && pass_new.value.Trim() != "" && sendFlag) {
		alert(errMessage["pass_new_confirm"]);
		sendFlag = false;
		pass_new_confirm.focus();
	} else if (pass_new_confirm.value.Trim() != "" && pass_new.value.Trim() != "" && pass_new.value.Trim() != pass_new_confirm.value.Trim() && sendFlag) {
		alert(errMessage["pass_reconfirm"]);
		pass.value = "";
		pass_new.value = "";
		pass_new_confirm.value = "";
		sendFlag = false;
		pass.focus();
	}
		
	if (personName.value.Trim() == "" && sendFlag){
		alert(errMessage["personName"]);
		sendFlag = false;
		personName.focus();
	}

	if (phone.value.Trim() == "" && sendFlag){
		alert(errMessage["phone"]);
		sendFlag = false;
		phone.focus();
	}

	if (district.value.Trim() == "" && sendFlag){
		alert(errMessage["district"]);
		sendFlag = false;
		district.focus();
	}

	if (address.value.Trim() == "" && sendFlag){
		alert(errMessage["address"]);
		sendFlag = false;
		address.focus();
	}

	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberLogin(myForm) {
	var email = myForm.email;
	var pass = myForm.pass;
	var sendFlag = true;
	var errMessage = new Array(3);
	errMessage["email"] = "請輸入登入電郵。";
	errMessage["pass"] = "請輸入密碼。";
	errMessage["emailInvalid"] = "電郵格式錯誤!請重新輸入。";
	
	if (email.value.Trim() == "" && sendFlag){
		alert(errMessage["email"]);
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert(errMessage["emailInvalid"]);
		sendFlag = false;
		email.focus();
	}
		
	if (pass.value.Trim() == "" && sendFlag){
		alert(errMessage["pass"]);
		sendFlag = false;
		pass.focus();
	}
		
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberFP(myForm) {
	var email = myForm.email;
	var sendFlag = true;
	var errMessage = new Array(3);
	errMessage["email"] = "請輸入登入電郵。";
	errMessage["emailInvalid"] = "電郵格式錯誤!請重新輸入。";
	
	if (email.value.Trim() == "" && sendFlag){
		alert(errMessage["email"]);
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert(errMessage["emailInvalid"]);
		sendFlag = false;
		email.focus();
	}
		
	if (sendFlag) {
		myForm.btnSubmit.disabled = "disabled";
	}
	
	return sendFlag;
}

function checkSaveCart(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var phone = myForm.phone;
	var fax = myForm.fax;
	var paymentMethod = myForm.paymentMethod;
	var deliveryMethod = myForm.deliveryMethod;
	var district = myForm.district;
	var address = myForm.address;
	var lang = (myForm.lang)? myForm.lang : document.createElement("input");
	lang.value = (lang.value)? lang.value : "zh";
	var errMessage = new Array(4);
	if(lang.value=="zh"){
	errMessage["checkMail"] = "電郵地址格式錯誤。請重新輸入。";
	errMessage["contactPerson"] = "請輸入您的姓名。";
	errMessage["phone"] = "請輸入您的聯絡電話。";
	errMessage["email"] = "請輸入您的電郵地址。";
	errMessage["district"] = "請選擇地區。";
	errMessage["address"] = "請輸入地址。";
	errMessage["paymentMethod"] = "請選擇付款方法。";
	errMessage["deliveryMethod"] = "請選擇提取產品方法。";
	}
	var sendFlag = true;
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert(errMessage["contactPerson"]);
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (phone.value.Trim() == "" && sendFlag){
		alert(errMessage["phone"]);
		sendFlag = false;
		phone.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert(errMessage["email"]);
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert(errMessage["checkMail"]);
		sendFlag = false;
		email.focus();
	}
	
	if (district.value.Trim() == "" && district.disabled == false && sendFlag){
		alert(errMessage["district"]);
		sendFlag = false;
		district.focus();
	}

	if (address.value.Trim() == "" && district.disabled == false && sendFlag){
		alert(errMessage["address"]);
		sendFlag = false;
		address.focus();
	}

	if (getCheckedValue(paymentMethod) == "" && sendFlag){
		alert(errMessage["paymentMethod"]);
		sendFlag = false;
		paymentMethod[0].focus();
	}

	if (getCheckedValue(deliveryMethod) == "" && sendFlag){
		alert(errMessage["deliveryMethod"]);
		sendFlag = false;
		deliveryMethod[0].focus();
	}

	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}