// 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 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 (message.value.Trim() == "" && sendFlag){
		alert("請輸入你的訊息");
		sendFlag = false;
		message.focus();
	}
	
	if (sendFlag && !document.formPostedFlag) {
		document.formPostedFlag = "POSTED";
		return sendFlag;
	}
	return (document.formPostedFlag) ? false : sendFlag;
}