/*******************************************************************************
 * 一天的時間長度 ms
 ******************************************************************************/
var ONE_DAY_ms = 1000 * 60 * 60 * 24;

/*******************************************************************************
 * 檢查台灣地址長度 Input: obj address 物件 Output: ture 地址長度夠，也有號這個字 false 格式可能有錯
 ******************************************************************************/
function isValidAddress(address) {
	if (address.value.length < 8)
		return false;
	if (address.indexOf("號") == -1)
		return false;

	return true;
}

/********************************************
 檢查指定的 text 物件的值是否為空字串
 Input:
 obj text 物件
 Output:
 ture 為空字串
 ********************************************/
function isEmpty(obj) {
	var str = obj.value;

	if (trim(str).length == 0)
		return true;
	else
		return false;
}

/********************************************
 檢查指定的 text 物件資料的長度是否等於指定的長度
 Input:
 obj text 物件
 len 指定的長度 
 Output:
 若資料的長度大於 len 傳回 1
 若資料的長度等於 len 傳回 0
 若資料的長度小於 len 傳回 -1
 ********************************************/
function validLength(obj, len) {
	var str = obj.value;

	if (str.length > len)
		return 1; // too long
	if (str.length == len)
		return 0; // equeal
	if (str.length < len)
		return -1; // too short
}

/********************************************
 檢查指定的 radio 物件中是否有一個被選擇
 Input:
 obj radio 物件
 array 可選的值
 Output:
 所選的值或 null
 ********************************************/
function hasSelected(obj) {
	for (i = 0; i < obj.length; i++) {
		if (obj[i].checked)
			return true;
	}
	return false;
}

/********************************************************************
 開啟新視窗

 輸入參數
 url 	要開啟的視窗的 網址
 w 		新開啟的視窗的寬度
 h			新開啟的視窗的高度
 lock	是否要將開啟的視窗鎖定在原來視窗的前面 yes 鎖住 no 不鎖住

 範例：
 openWindow("/html/mtm/A/b/ACQ_Ab102.htm", 150, 100);
 開啟空視窗
 openWindow("", 150, 100);

 newWindow:被開啟的視窗
 ********************************************************************/
var newWindow = null;
function openWindow(url, w, h) {
	var features = 'width=' + w + ',height=' + h + ','
			+ 'status=yes,menubar=no,toolbar=no,resizable=yes,titlebar=no,'
			+ 'z-lock=yes,dependent=yes,scrollbars=yes';

	newWindow = window.open(url, '', features);
	/*
	 * window.onfocus=openerFocus; document.onclick=openerFocus;
	 * document.ondblclick=openerFocus; document.onmousedown=openerFocus;
	 */
}

/*********************************************************************
 檢查身分證字號是否符合格式
 Input:
 待檢查的身分證號碼
 Output:
 true 符合， false 不符合
 *********************************************************************/
function isValidID(id) {
	id = id.toUpperCase();

	// 先用RE語法檢查輸入的格式是否正確
	patten = /^[A-Z][12][0-9]{8}$/;

	if (patten.test(id)) {
		h = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
		x = 10 + h.indexOf(id.substring(0, 1));
		chksum = (x - (x % 10)) / 10 + (x % 10) * 9;

		for (i = 1; i < 9; i++) {
			chksum += id.substring(i, i + 1) * (9 - i);
		}
		chksum = (10 - chksum % 10) % 10

		if (chksum == id.substring(9, 10))
			return true;
	}
	return false;
}

/*************************************************************
 檢查密碼的格式是否為文數字的組合
 輸入：
 密碼字串
 輸出：
 true 密碼格式符合， false 密碼格式錯誤
 *************************************************************/
function checkPassword(strng) {
	var illegalChars = /[\W_]/; // allow only letters and numbers

	if (illegalChars.test(strng)) { // 密碼中有特殊符號的字元
		return false;
	}
	//alert(strng.search(/[A-Z]+/));
	// alert(strng.search(/[a-z]+/));
	// alert(strng.search(/\d/));
	if (!(strng.search(/\d/) >= 0 && (strng.search(/[a-z]+/) >= 0 || strng
			.search(/[A-Z]+/) >= 0))) { // 密碼沒有包含至少一個文字與數字
		return false;
	}
	return true;
}

/*************************************************************
 檢查輸入的字串是否是整數值的字串
 輸入：
 字串
 輸出：
 true 是， false 否
 *************************************************************/
function isInteger(s) {
	var i;

	// Search through string's characters one by one
	// until we find a non-numeric character.
	// When we do, return false; if we don't, return true.
	for (i = 0; i < s.length; i++) {
		// Check that current character is number.
		var c = s.charAt(i);
		if (i == 0)
			if (c == '-' || c == '+')
				continue;

		if (!isDigit(c))
			return false;
	}

	// All characters are numbers.
	return true;
}

/*************************************************************
 檢查輸入的字元是否為數字
 輸入：
 字元
 輸出：
 true 是數字， false 不是數字
 *************************************************************/
function isDigit(c) {
	return ((c >= "0") && (c <= "9"))
}

/*************************************************************
 將字串頭尾的空白字元去除
 輸入：
 字串
 輸出：
 去除頭尾空白字元後的字串
 *************************************************************/
function trim(str) {
	return str.replace(/^\s*|\s*$/, "");
}

/*************************************************************
 檢查輸入的 email 是否符合格式
 輸入：
 email 要被檢查的 email
 *************************************************************/
function isValidEmail(email) {
	AtPos = email.indexOf("@")
	StopPos = email.lastIndexOf(".")
	result = true;

	if (email == "") {
		result = false;
	}

	if (AtPos == -1 || StopPos == -1) {
		result = false;
	}

	if (StopPos < AtPos) {
		result = false;
	}

	if (StopPos - AtPos == 1) {
		result = false;
	}

	return result;
	/*
	 * var pattern =
	 * /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	 * //"/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/";
	 * 
	 * if (pattern.test(email.value)) { return true; } return false;
	 */
}

/*************************************************************
 轉寄
 此 function 會找出所有被 <div id="_print_">...</div> 所包圍的資料
 而被 <div id="_no_print_">...</div> 所包圍的則不會被取出
 輸入：
 url 為將要執行轉寄功能的表單 例如： ctlr?PRO=SendMail&value=
 *************************************************************/
function sendMailForm() {
	// 先找出要寄送的內容
	var unPrintAreas = document.getElementsByName("_no_mailable_");
	for (i = 0; i < unPrintAreas.length; i++)
		unPrintAreas[i].style.display = "none";

	var printAreas = document.getElementsByName("_mailable_");
	var printableHTML = "";
	for (i = 0; i < printAreas.length; i++)
		printableHTML = printableHTML + printAreas[i].innerHTML;

	var FormObj = document._SENDMAIL_;

	FormObj.mail_content.value = printableHTML;
	FormObj.submit();
}

/*************************************************************
 友善列印
 此 function 會找出所有被 <div id="_print_">...</div> 所包圍的資料顯示 
 而被 <div id="_no_print_">...</div> 所包圍的則不會被顯示
 *************************************************************/
function friendlyPrint() {
	var unPrintAreas = document.getElementsByName("_no_print_");
	for (i = 0; i < unPrintAreas.length; i++)
		unPrintAreas[i].style.display = "none";

	var printAreas = document.getElementsByName("_print_");
	var printableHTML = "";
	for (i = 0; i < printAreas.length; i++)
		printableHTML = printableHTML + printAreas[i].innerHTML;

	document.body.innerHTML = printableHTML;
}

/**********************************
 全選/取消負責的部門單位
 **********************************/
function checkAll() {
	FormObj = document.form1;

	if (FormObj.industry_type != null) {
		if (FormObj.industry_type.length > 1) {
			for (i = 0; i < FormObj.industry_type.length; i++) {
				if (FormObj.industry_type[i].checked)
					FormObj.industry_type[i].checked = false;
				else
					FormObj.industry_type[i].checked = true;
			}
		} else {
			if (FormObj.industry_type.checked)
				FormObj.industry_type.checked = false;
			else
				FormObj.industry_type.checked = true;
		}
	}
}

/**********************************
 當滑鼠移到英文版的"轉寄"，改變的狀態
 **********************************/
function mouseOverForward() {
	var tmp = document.getElementById("sp");
	tmp.innerHTML = "<u>Forward</u>"
	tmp.style.color = "#14589c";
}

/**********************************
當滑鼠離開英文版的"轉寄"，改變的狀態
 **********************************/
function mouseOutForward() {
	var tmp = document.getElementById("sp");
	tmp.innerHTML = "Forward"
	tmp.style.color = "#000000";

}

/*
 * 檢查是否為符合格式的 email 
 */
function isEmail(str) {

	var validEmail = /[a-zA-Z0-9_]+@[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_]+/;
	var validEmail2 = /[^a-zA-Z0-9_@\.\-]/;

	if (validEmail.test(str)) {
		if (!validEmail2.test(str)) {
			if (str.lastIndexOf('@') == str.indexOf('@'))
				return true;
		}
	}
	return false;
}

