// JavaScript Document

String.prototype.Trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 

function getFckEditorTextLength(fckName) {
	// This functions shows that you can interact directly with the editor area
	// DOM. In this way you have the freedom to do anything you want with it.
	
	// Get the editor instance that we want to interact with.
	var oEditor = FCKeditorAPI.GetInstance(fckName) ;

	// Get the Editor Area DOM (Document object).
	var oDOM = oEditor.EditorDocument ;

	var iLength ;

	// The are two diffent ways to get the text (without HTML markups).
	// It is browser specific.

	if ( document.all ) { // If Internet Explorer.
		var innerText = oDOM.body.innerText;
		iLength = innerText.length ;
	} else {// If Gecko.
		var r = oDOM.createRange() ;
		r.selectNodeContents( oDOM.body ) ;
		iLength = r.toString().length ;
	}

	return iLength;
}

// 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 checkKeywordSearch(myForm) {
	var selSub = myForm.selSub;
	var keyword = myForm.keyword;
	var sendFlag = true;
	
	if ((selSub.value.Trim() == "" && (keyword.value.Trim() == "" || keyword.value.Trim() == "關鍵字")) && sendFlag){
		alert("請先輸入關鍵字");
		sendFlag = false;
		keyword.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkCatSearch(myForm) {
	var selSub = myForm.selSub;
	var sendFlag = true;
	
	if (selSub.value.Trim() == "" && sendFlag){
		alert("請先選擇分類");
		sendFlag = false;
		selSub.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkRequestAd(myForm) {
	var companyName = myForm.companyName;
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var tel = myForm.tel;
	var message = myForm.message;
	var sendFlag = true;
	
	if (companyName.value.Trim() == "" && sendFlag){
		alert("請輸入公司名稱");
		sendFlag = false;
		companyName.focus();
	}
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入您的姓名");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入您的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("請輸入電話");
		sendFlag = false;
		tel.focus();
	}
		
	if (message.value.Trim() == "" && sendFlag){
		alert("請輸入查詢內容");
		sendFlag = false;
		message.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 tel = myForm.tel;
	var message = myForm.message;
	var sendFlag = true;
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入您的姓名");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入您的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("請輸入電話");
		sendFlag = false;
		tel.focus();
	}
		
	if (message.value.Trim() == "" && sendFlag){
		alert("請輸入查詢內容");
		sendFlag = false;
		message.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberReg(myForm) {
	var email = myForm.email;
	var email_confirm = myForm.email_confirm;
	var pass = myForm.pass;
	var pass_confirm = myForm.pass_confirm;
	var memberType = myForm.memberType;
	var firstName = myForm.firstName;
	var lastName = myForm.lastName;
	var phone = myForm.phone;
	var address = myForm.address;
	var gender = myForm.gender;
	var ageGroup = myForm.ageGroup;
	var education = myForm.education;
	var salary = myForm.salary;
	var heardVia = myForm.heardVia;
	var sendFlag = true;
		
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵地址");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (email_confirm.value.Trim() == "" && sendFlag){
		alert("請確認電郵地址");
		sendFlag = false;
		email_confirm.focus();
	} else if (email.value.Trim() != email_confirm.value.Trim() && sendFlag) {		
		email_confirm.value = "";
		alert("電郵不相乎, 請重新確認");
		sendFlag = false;
		email.focus();
	}
	
	if (pass.value.Trim() == "" && sendFlag){
		alert("請輸入密碼");
		sendFlag = false;
		pass.focus();
	}
	
	if (pass_confirm.value.Trim() == "" && sendFlag){
		alert("請確認密碼");
		sendFlag = false;
		pass_confirm.focus();
	} else if (pass.value.Trim() != pass_confirm.value.Trim() && sendFlag) {
		pass.value = "";
		pass_confirm.value = "";
		alert("密碼不相乎, 請重新輸入");	
		sendFlag = false;
		pass.focus();
	}
	
	if (getCheckedValue(memberType) == "" && sendFlag){
		alert("請選擇會員類別");
		sendFlag = false;
	}
	
	if (firstName.value.Trim() == "" && sendFlag){
		alert("請輸入你的名稱");
		sendFlag = false;
		firstName.focus();
	}
	
	if (lastName.value.Trim() == "" && sendFlag){
		alert("請輸入你的姓氏");
		sendFlag = false;
		lastName.focus();
	}
	
	if (phone.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡電話");
		sendFlag = false;
		phone.focus();
	}
	
	if (address.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡地址");
		sendFlag = false;
		address.focus();
	}
	
	if (getCheckedValue(gender) == "" && sendFlag){
		alert("請選擇你的性別");
		sendFlag = false;
	}
	
	if (getCheckedValue(ageGroup) == "" && sendFlag){
		alert("請選擇你的年齡");
		sendFlag = false;
	}
	
	if (getCheckedValue(education) == "" && sendFlag){
		alert("請選擇你的教育程度");
		sendFlag = false;
	}
	
	if (getCheckedValue(salary) == "" && sendFlag){
		alert("請選擇你的每月收入");
		sendFlag = false;
	}
	
	if (getCheckedValue(heardVia) == "" && sendFlag){
		alert("請選擇你得知本網的途徑");
		sendFlag = false;
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberEdit(myForm) {
	var pass = myForm.pass;
	var pass_new = myForm.pass_new;
	var pass_new_confirm = myForm.pass_new_confirm;
	var personName = myForm.personName;
	var age = myForm.age;
	var email = myForm.email;
	var gender = myForm.gender;
	var monthlySalary = myForm.monthlySalary;
	var occupation = myForm.occupation;
	var sendFlag = true;
	
	if (pass_new.value.Trim() != "" && sendFlag){
		if (pass.value.Trim() == "" && sendFlag){
			alert("請輸入舊密碼");
			sendFlag = false;
			pass.focus();
		}
		if (pass_new_confirm.value.Trim() == "" && sendFlag){
			alert("請輸入確認密碼");
			sendFlag = false;
			pass_new_confirm.focus();
		} else if (pass_new.value.Trim() != pass_new_confirm.value.Trim() && sendFlag) {
			pass_new.value = "";
			pass_new_confirm.value = "";
			alert("密碼不相乎, 請重新輸入");	
			sendFlag = false;
			pass_new.focus();
		}
	}	
	
	if (personName.value.Trim() == "" && sendFlag){
		alert("請輸入您的姓名/別名");
		sendFlag = false;
		personName.focus();
	}
	
	if (age.value.Trim() == "" && sendFlag){
		alert("請輸入您的年齡");
		sendFlag = false;
		age.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入您的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (getCheckedValue(gender) == "" && sendFlag){
		alert("請選擇您的性別");
		sendFlag = false;
	}
	
	if (monthlySalary.value.Trim() == "" && sendFlag){
		alert("請輸入您的平均每月薪金");
		sendFlag = false;
		monthlySalary.focus();
	}
	
	if (occupation.value.Trim() == "" && sendFlag){
		alert("請輸入您的職業");
		sendFlag = false;
		occupation.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberLogin(myForm) {
	var username = myForm.username;
	var pass = myForm.pass;
	var sendFlag = true;
	
	if (username.value.Trim() == "" && sendFlag){
		alert("請輸入你已登記之電郵");
		sendFlag = false;
		username.focus();
	}
	
	if (pass.value.Trim() == "" && sendFlag){
		alert("請輸入密碼");
		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;
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入您已登記的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkPostAdStep2(myForm) {
	var selCat = myForm.selCat;
	var selSub = myForm.selSub;
	var sendFlag = true;
	
	if (selCat.value.Trim() == "" && sendFlag){
		alert("請先選擇分類");
		sendFlag = false;
		selCat.focus();
	}
	
	if (selSub.value.Trim() == "" && sendFlag){
		alert("請先選擇次分類");
		sendFlag = false;
		selSub.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkPostAdStep3(myForm) {
	var caption = myForm.caption;
	var content = myForm.content;
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var tel = myForm.tel;
	var sendFlag = true;
	
	if (caption.value.Trim() == "" && sendFlag){
		alert("請輸入廣告標題");
		sendFlag = false;
		caption.focus();
	}
	
	if (getFckEditorTextLength('content') <= 0 && sendFlag){
		alert("請輸入廣告內容");
		sendFlag = false;
	}
	
	if (contactPerson.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡人姓名或公司名稱");
		sendFlag = false;
		contactPerson.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		alert("電郵格式錯誤\n請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (tel.value.Trim() == "" && sendFlag){
		alert("請輸入聯絡電話");
		sendFlag = false;
		tel.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}