function CheckID(obj) 
{
	var id = trim(obj.value);

	tab = "ABCDEFGHJKLMNPQRSTUVWXYZIO"
	A1 = new Array (1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3 );
	A2 = new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 );
	Mx = new Array (9,8,7,6,5,4,3,2,1,1);

	if ( id.length != 10 ) return false;
	i = tab.indexOf( id.charAt(0) );
	if ( i == -1 ) return false;
	sum = A1[i] + A2[i]*9;

	for ( i=1; i<10; i++ ) 
	{
		v = parseInt( id.charAt(i) );
		if ( isNaN(v) ) return false;
		sum = sum + v * Mx[i];
	}
	if ( sum % 10 != 0 ) return false;
	return true;
}

function CheckDoc_Num(obj) 
{
	var sDoc = trim(obj.value);

	tab = "0123456789"
	
	if ( sDoc.length != 10 ) 
	{	
		return false;
	}
	
	for(i=0; i<10; i++) 
	{
		if(tab.indexOf(sDoc.charAt(i)) == -1)
		{
			return false;
		}
	}
	
	return true;
}

//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
function MaxBytes(obj, nLimit) 
{
	var str = trim(obj.value);
	obj.value = str;
	var nBytes = LenX(str);
	
	if(LenX(str) > nLimit) 
	{
		alert("超出本欄位限制的寬度" + nLimit + " Bytes.");
		obj.focus();
		return false;
	}
	else 
	{ 
		return true; 
	}
}


function LenX(str) {
	var nBytes,i
	var nLen = str.length;
	nBytes = 0
	for (i=0; i<nLen; i++) {
		if	(str.charCodeAt(i) > 127) { nBytes += 2; }
		else { nBytes++ }
	}
	return nBytes;
}


function LTrim(str)	{
	var nLen = str.length;
	var i;
	for (i=0; (str.charAt(i)==" " && i<nLen); i++);
	return str.substring(i);
}

function RTrim(str)	{
	var nLen = str.length-1;
	var i;
	for (i=nLen; (str.charAt(i)==" " && i>-1); i--);
	return str.substring(0,i+1);
}

function trim(str)	{
	var nLen = str.length;
	var i, j;
	for (i=0; (str.charAt(i)==" " && i<nLen); i++);
	for (j=nLen-1; (str.charAt(j)==" " && j>-1); j--);
	if	(i>j) { return ""; }
	else { return str.substring(i,j+1); }
}


function CheckAmt2(fieldname,int1,int2,maxInt1,minInt)
{
	var nBytes
	var nLen = fieldname.value.length;
	var i, j;
		
	i = 0;

	if (isNaN(fieldname.value))
	{
		alert("本欄位須輸入數字！");
		fieldname.focus();
		fieldname.select();
		return false;
	}


	if (fieldname.value.substr(0,1) == 0 && nLen > 1 && fieldname.value.substr(1,1) != ".")
	{
		alert("本欄位須輸入數字！");
		fieldname.focus();
		fieldname.select();
		return false;
	}

	
	for (j = 0;j < nLen;j++)
	{
		if(fieldname.value.charAt(j) == ".")
		{
			i = j; 
			if(i == nLen - 1)
			{
				alert("本欄位須輸入數字！");
				fieldname.focus();
				fieldname.select();
				return false;
			}
		}
	}

	if(i > int1)
	{
		alert("超出本欄位整數" + int1 + "位限制！");
		fieldname.focus();
		return false;
	}
	else if(((nLen - (i + 1)) > int2) && (i > 0))
	{
		alert("超出本欄位小數點" + int2 + "位限制！");
		fieldname.focus();
		return false;
	}
	else if((i == 0) && (nLen > int1))
	{
		alert("超出本欄位限制的寬度" + int1 + " Bytes.");
		fieldname.focus();
		return false;
	}
	else if(parseFloat(fieldname.value) > parseFloat(maxInt1))
	{
		alert("超出本欄位最大值" + maxInt1 + "限制！");
		fieldname.focus();
		return false;
	}
	else if(parseFloat(fieldname.value) < parseFloat(minInt))
	{
		alert("超出本欄位最小值" + minInt + "限制！");
		fieldname.focus();
		return false;
	}
	else
	{
		return true;
	}		
}

function CheckNull(fieldname,fieldshow)
{
	var sTemp = "";
	var sValue = trim(fieldname.value);
	
	for (j = 0;j < sValue.length;j++)
	{
		if(sValue.charAt(j) != "\n" && sValue.charAt(j) != "\r") 
		{
			sTemp = sTemp + sValue.charAt(j);	
		}
	}
		
	if(trim(fieldname.value) == "" || sTemp == "")
	{
		alert("請輸入" + fieldshow + "！");
		fieldname.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function CheckDTYM_C(obj,date1) {
	var sDT = trim(obj.value);	//判斷日期是否正確使用

	if	( sDT=="" ) return true;
	if	( isNaN(sDT) ) 
	{
		obj.select();
		alert("年月格式不正確：["+sDT+"]\n\nEx. 200701(YYYYMM)");
		return true;
	}

	var sDTStr = sDT;		//保留給後面判斷日期大小使用
	var nLen= sDT.length;

	if	(nLen==4) 
	{
		sDT = sDT.substr(2,2) + "/01/" + eval( sDT.substr(0,2)+"+1911" );
	} 
	else 
	{
		sDT = sDT.substr(4,2) + "/01/" + eval( sDT.substr(0,4));
	}

	var dDTv = new Date(sDT);
	var nMonth	= dDTv.getMonth()+1;		// 月份傳回 0 開始
	var nYear	= dDTv.getFullYear();
	var nDate	= dDTv.getDate();
	if	(nMonth<10) nMonth = "0" + nMonth;
	if	(nDate<10) nDate = "0" + nDate;
	if	( dDTv=="NaN" || sDT != nMonth+"/"+nDate+"/"+nYear ) 
	{
		obj.select();
		alert("年月格式不正確：["+sDTStr+"]\n\nEx. 200701(YYYYMM)");
		return true;
	}
}


function CheckDT_W(obj,date1) {
	var sDT = RTrim(obj.value);	//判斷日期是否正確使用

	if	( sDT=="" ) return true;
	if	( isNaN(sDT) ) {
		obj.select();
		alert("日期格式不正確：["+sDT+"]\n\nEx. 20060101(YYYYMMDD)");
		return true;
	}
	var sDTStr = sDT;		//保留給後面判斷日期大小使用
	var nLen= sDT.length;
	
	sDT = sDT.substr(4,2) + "/" + sDT.substr(6,2) + "/" + sDT.substr(0,4);
	
	var dDTv = new Date(sDT);
	var nMonth	= dDTv.getMonth()+1;		// 月份傳回 0 開始
	var nYear	= dDTv.getFullYear();
	var nDate	= dDTv.getDate();
	if	(nMonth<10) nMonth = "0" + nMonth;
	if	(nDate<10) nDate = "0" + nDate;
	if	( dDTv=="NaN" || sDT != nMonth+"/"+nDate+"/"+nYear ) {
		obj.select();
		alert("日期格式不正確：["+sDTStr+"]\n\nEx. 20060101(YYYYMMDD)");
		return true;
	}
	//判斷是否早於指定的第2個參數
	if	(date1 != "" && date1>sDTStr) {
		obj.select();
		alert("日期不得小於 ["+date1+"]");
		return true;
	}
	// sDT (02/29/2004)
	dDTv = new Date();	//today
	nMonth	= dDTv.getMonth()+1;		// 月份傳回 0 開始
	nYear	= dDTv.getFullYear() + 10;	// 要判斷不超過 10 年
	nDate	= dDTv.getDate();
	if	(nMonth<10) nMonth = "0" + nMonth;
	if	(nDate<10) nDate = "0" + nDate;
	var sDT10 = nMonth+"/"+nDate+"/"+nYear;
	sDT10 = new Date(sDT10);
	sDT = new Date(sDT);
	if	(sDT>sDT10) {
		//alert("您輸入的日期超過10年之後\n請確認是否正確! ["+sDTStr+"]");
		//return true;
	}
}


function chk_email(obj) 
{  
  var e = obj.value 
  if (e != "" && e.indexOf('@', 0) == -1) 
  { 
     alert('\n請重新確認您填寫的Email！');
     obj.focus(); 
     return false; 
  } 
}