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

Array.prototype.inArray = function (value) {
	// Returns true if the passed value is found in the
	// array. Returns false if it is not.
	var i;
	for (i=0; i < this.length; i++)
		if (this[i] == value)
			return true;
	return false;
};

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 checkFileType(inVal, acceptType) {
  var ext = inVal;
  ext = ext.substring(ext.length-3,ext.length);
  ext = ext.toLowerCase();
  if(!acceptType.inArray(ext)) {
    return false; 
  }
  return true; 
}


function checkContactUs(myForm) {
	var contactPerson = myForm.contactPerson;
	var email = myForm.email;
	var subject = myForm.subject;
	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("電郵格式錯誤 請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (subject.value.Trim() == "" && sendFlag){
		alert("請輸入標題");
		sendFlag = false;
		subject.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 username = myForm.username;
	var email = myForm.email;
	var pass = myForm.pass;
	var pass_confirm = myForm.pass_confirm;
	var memberPhoto = myForm.memberPhoto;
	var sendFlag = true;
	
	if (username.value.Trim() == "" && sendFlag){
		alert("請輸入登入名稱");
		sendFlag = false;
		username.focus();
	}
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		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 (!checkFileType(memberPhoto.value, new Array('jpg')) && memberPhoto.value!="" && sendFlag){
		alert("上載頭像格式不正確 (只接受.jpg檔)");
		sendFlag = false;
		memberPhoto.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMemberEdit(myForm) {
	var email = myForm.email;
	var pass = myForm.pass;
	var pass_confirm = myForm.pass_confirm;
	var memberPhoto = myForm.memberPhoto;
	var sendFlag = true;
	
	if (email.value.Trim() == "" && sendFlag){
		alert("請輸入你的電郵");
		sendFlag = false;
		email.focus();
	} else if (!checkMail(email.value.Trim()) && sendFlag) {
		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 (!checkFileType(memberPhoto.value, new Array('jpg')) && memberPhoto.value!="" && sendFlag){
		alert("上載頭像格式不正確 (只接受.jpg檔)");
		sendFlag = false;
		memberPhoto.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkKeywordSearch(myForm) {
	var keyword = myForm.keyword;
	var sendFlag = true;
	
	if (keyword.value.Trim() == "" && sendFlag){
		alert("請輸入關鍵字");
		sendFlag = false;
		keyword.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("電郵格式錯誤 請重新輸入");
		sendFlag = false;
		email.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkEventPost(myForm) {
	var caption = myForm.caption;
	var poster = myForm.poster;
	var event_date = myForm.event_date;
	var event_time_hour = myForm.event_time_hour;
	var event_time_min = myForm.event_time_min;
	var apm = myForm.apm;	
	var location = myForm.location;
	var sendFlag = true;
	
	if (caption.value.Trim() == "" && sendFlag){
		alert("請輸入活動名稱");
		sendFlag = false;
		caption.focus();
	}
		
	if (!checkFileType(poster.value, new Array('jpg')) && poster.value!="" && sendFlag){
		alert("活動海報格式不正確 (只接受.jpg檔)");
		sendFlag = false;
		poster.focus();
	}
	
	if (event_date.value.Trim() == "" && sendFlag){
		alert("請輸入舉行日期");
		sendFlag = false;
		event_date.focus();
	}
	
	if (event_time_hour.value.Trim() == "" && sendFlag){
		alert("請輸入舉行時間");
		sendFlag = false;
		event_time_hour.focus();
	} else if (parseInt(event_time_hour.value)>12) {
		alert("舉行時間格式錯誤");
		sendFlag = false;
		event_time_hour.focus();
	}
	
	if (event_time_min.value.Trim() == "" && sendFlag){
		alert("請輸入舉行時間");
		sendFlag = false;
		event_time_min.focus();
	} else if (parseInt(event_time_min.value)>60) {
		alert("舉行時間格式錯誤");
		sendFlag = false;
		event_time_min.focus();
	}
	
	if (getCheckedValue(apm) == "" && sendFlag){
		alert("請輸入舉行時間");
		sendFlag = false;
	}
	
	if (location.value.Trim() == "" && sendFlag){
		alert("請輸入地點");
		sendFlag = false;
		location.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}

function checkMessageBoard(myForm) {
	var sendFlag = true;
	
	if (getFckEditorTextLength('message')<=0 && sendFlag){
		alert("請輸入留言內容");
		sendFlag = false;
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}