//嚚
var space = new RegExp(/\s/);
function toShowMessage(obj, msg)//錯誤訊息回報
{
	if (msg != null && msg != "") alert(msg);
	try { obj.focus(); }
	catch (err)	{}
}

var eMailReg = new RegExp(/^.+@.+\..+$/);//E-Mail 格式
function IsMailFormat(email)//E-Mail,字串參數
{
	var result = true;
	result &= !space.test(email);
	result &= eMailReg.test(email);
	return result;
}
function IsEMail(obj, msg)//E-Mail，input物件參數
{
	var result = IsMailFormat(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_receiptNum = new RegExp(/[0-9]{8}/);//統一編號
function IsReceiptNum(obj, msg)//統一編號格式
{
	var result = true;
	result &= !isNaN(obj.value);
	result &= Reg_receiptNum.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_tel_1 = new RegExp(/^[0][1-9]{1,3}\-[0-9]{5,8}/);//電話號碼
var Reg_tel_2 = new RegExp(/[0-9]{7,12}/);//電話號碼
function IsTelphoneNum(obj, msg)
{
	var result = false;
	result |= Reg_tel_1.test(obj.value);
	result |= Reg_tel_2.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_telex = new RegExp(/[0-9]{1,6}/);//電話號碼分機
function IsTelphoneExNum(obj, msg)
{
	var result = true;
	result &= !isNaN(obj.value);
	result &= Reg_telex.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_cellphone = new RegExp(/^[0][9][0-9]{8}/);//手機號碼
function IsCellphoneNum(obj, msg)
{
	var result = true;
	result &= !isNaN(obj.value);
	result &= Reg_cellphone.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_zip = new RegExp(/[1-9][0-9]{2,4}/);//郵遞區號
function IsZipCode(obj, msg)
{
	var result = true;
	result &= !isNaN(obj.value);
	result &= Reg_zip.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

var Reg_chkCode = new RegExp(/[0-9]{4}/);//驗證碼
function IsCheckCode(obj, msg)
{
	var result = true;
	result &= !isNaN(obj.value);
	result &= Reg_chkCode.test(obj.value);
	if (!result) toShowMessage(obj, msg);
	return result;
}

function IsNum(obj, msg)//數字
{
	var result = true;
	result &= Number(obj.value).toString() == obj.value;
	if (!result) toShowMessage(obj, msg);
	return result;
}

function IsInteger(obj, msg)//整數 含正、負
{
	var result = true;
	result &= parseInt(obj.value).toString() == obj.value;//整數
	if (!result) toShowMessage(obj, msg);
	return result;
}

function IsNaturalNum(obj, msg)//自然數、正整數
{
	var result = true;
	result &= parseInt(obj.value).toString() == obj.value;//整數
	if (result) result &= parseInt(obj.value) > 0;//大於 0 -> 正整數
	if (!result) toShowMessage(obj, msg);
	return result;
}

function IsLoginID(obj, msg)//帳號(申請、登入)
{
	var result = true;
	result &= !space.test(obj.value);
	if (result) result &= /^[a-zA-Z]/.test(obj.value);
	if (result) result &= obj.value.length >= 3;
	if (!result) toShowMessage(obj, msg);
	return result;
}
function IsLoginPw(obj, msg)//密碼(申請、登入)
{
	var result = true;
	result &= !space.test(obj.value);
	if (result) result &= obj.value.length >= 3;
	if (!result) toShowMessage(obj, msg);
	return result;
}
function IsStrDate(obj, msg)
{
	var sDate = obj.value.replace("-","/").replace(".","/");
	var aryDate = sDate.split("/");
	var dtDate = new Date(sDate);
	var result = !isNaN(dtDate);
	if (result) result &= Number(aryDate[0]) == dtDate.getFullYear();
	if (result) result &= Number(aryDate[1]) == dtDate.getMonth() + 1;
	if (result) result &= Number(aryDate[2]) == dtDate.getDate();
	if (!result) toShowMessage(obj, msg);
	return result;
}
function toCheckData(obj, msg)
{ 
	var ok = false;
	switch (obj.type)
	{
	case "text":
	case "textarea":
	case "password":
		ok = (obj.value != "");
		if (!ok)
		{	
			alert(msg);
			obj.focus();
		}
		break;
	case "select-one":
		ok = obj.options.length > 0;
		if (ok) ok &= obj.selectedIndex != -1;
		if (ok) ok &= obj.value != "";
		if (!ok)
		{
			alert(msg);
			obj.focus();
		}
		break;
	case "radio":
		break;
	case "checkbox":
		break;
	case "file":
		break;
	default:
		break;
	}
	return ok;
}
function IsCheckOneItem(obj, msg)
{
	var ok = false;
	alert(obj.length);
	for (var i = 0 ; i < obj.length ; i++)
		ok |= obj[i].checked;
	if (!ok) toShowMessage(obj, msg);
	return ok;
}
