function newXmlHttp()
{
	var http=null; 
	// for IE
	try 
	{ 
		http=new ActiveXObject("Msxml2.XMLHTTP") 
	} 
	catch(e) 
	{ 
		try 
		{ 
			http=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(oc) 
		{ 
			http=null; 
		} 
	} 
	// for FireFox
	if ( !http && typeof(XMLHttpRequest) != "undefined" ) 
	{
		http=new XMLHttpRequest(); 
	} 
	return http; 
}
function isEmail(obj) 
{
	var email = obj.value;
	var match = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/; 

	if (match.test(email))
		return true;
	else
	{
		alert("Email 帳號格式錯誤");
		obj.focus();
     		return false ;
	}
}
function CheckDate(obj,dt)
{		
//	var re = new RegExp("^([0-9]{4})[./]{1}([0-1]{1})([0-9]{1})[./]{1}([0-3]{1})([0-9]{1})$"); yyyy/mm/dd

	var re = new RegExp("^([0-9]{4})([0-1]{1})([0-9]{1})([0-3]{1})([0-9]{1})$");
 	if (dt.match(re) == null)
	{
       		alert("[" + dt + "]為非法日期,請依【yyyymmdd】格式輸入");
		obj.focus();
  		return false;
 	}

	var y = dt.substr(0,4);
	var m = dt.substr(4,2);
	var d = dt.substr(6,2);

	var newDt = new Date(y+"/"+m+"/"+d);
	if (parseInt(m) == 0) m = m.substr(1,1);
	if (parseInt(d) == 0) d = d.substr(1,1);

	if (newDt.getFullYear() != parseInt(y) || newDt.getDate() != parseInt(d) || newDt.getMonth() != parseInt(m) - 1)
	{
       		alert("[" + dt + "]為非法日期,請依【yyyymmdd】格式輸入");
		obj.focus();
		return false;
	}
	return true;
}
function Ltrim(str)
{
	return str.replace(/^[\s]+/g,"");
}
function Rtrim(str)
{
	return str.replace(/[\s]+$/g,"");
}
function Alltrim(str)
{
	return str.replace(/^[\s]+/g,"").replace(/[\s]+$/g,"");
}
function isAlpha(s)
{
	var regu = "^[A-Za-z0-9]+$";
	var re = new RegExp(regu);
	if (s.search(re) != -1)
	{
		return true;
	}
	else
	{
		return false;
	}

	if (/[^0-9a-zA-Z]/g.test(s))
		return false;
	else
		return true;
}
function isNumber(s)
{
//	var regu = "^([1-9]*[0-9]*)$";
	var regu = "^[0-9]*$";
	var re = new RegExp(regu);
	if (s.search(re) != -1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function checkGUI(obj)
{
	var No = document.all(obj).value;
	if (No.length != 8)
	{
		alert("統一編號錯誤");
		document.all(obj).focus();
		return false;
	}
	if (!isNumber(No))
	{
		alert("統一編號錯誤");
		document.all(obj).focus();
		return false;
	}
	var n;
	var sum = 0;
	var c = new Array(1,2,1,2,1,2,4,1);
	for (var i=0;i<8;i++)
	{
		n = parseInt(No.charAt(i)) * c[i];
		
		if (i == 0 || i == 2 || i == 4 || i == 7)
		{
			sum = parseInt(sum) + parseInt(n);
		}
		else
		{
			sum = parseInt(sum) + parseInt(n/10) + parseInt(n%10);
		}
	}

	if ( sum % 10 != 0)
	{
		if (No.substr(6,1) == "7")
		{
			//判斷 1: 第 7位數是否為 7
			sum = parseInt(sum) + 1; //令iSum=iSum+1再再除以10取得餘數		
			if (sum % 10 == 0) return true;
		}
		alert("統一編號錯誤");
		document.all(obj).focus();
		return false;
	}
	return true;
}
function checkCard(obj,No)
{
	var aWord = 0;
	var ChkSum = 0;
	var WordIndex = 0;
	var temp;

	if (No == "")
	{
		alert("信用卡號空白");
		document.all(obj).focus();
		return false;	
	}
	if (!isNumber(No))
	{
		alert("信用卡號錯誤");
		document.all(obj).focus();
		return false;
	}
	if (No.indexOf("-") != -1)
	{
		alert("信用卡號錯誤");
		document.all(obj).focus();
		return false;
	}
	if (No.length == 16)
	{
		if (No.substr(0,1) != "4" && No.substr(0,1) !="5" && No.substr(0,2) !="35")
		{
			alert("信用卡號錯誤");
			document.all(obj).focus();
			return false;
		}
		for ( WordIndex=1; WordIndex <= No.length; WordIndex++)
		{
			aWord = parseInt(No.substr(WordIndex-1,1));
			if (WordIndex % 2 !=0)
			{
				if (parseInt(aWord) >= 5)
					ChkSum = parseInt(ChkSum) + (parseInt(aWord)-5) * 2 + 1;
				else
					ChkSum = parseInt(ChkSum) + parseInt(aWord) * 2;
			}
			else
				ChkSum = parseInt(ChkSum) + parseInt(aWord);
		}
		if (ChkSum % 10 != 0)
		{
			alert("信用卡號錯誤");
			document.all(obj).focus();
			return false;
		}
	}
	else
	{
		if (No.substr(0,2)=="36" && No.length != 14)
		{
			alert("信用卡號錯誤");
			document.all(obj).focus();
			return false;
		}
		else if (No.substr(0,2)=="37" && No.length != 15)
		{
			alert("信用卡號錯誤");
			document.all(obj).focus();
			return false;
		}
		else if (No.length == 11)
		{
			WordIndex = aWord = ChkSum = 0;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(0,1)) * 7;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(1,1)) * 3;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(2,1)) * 5;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(3,1)) * 6;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(4,1)) * 7;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(5,1)) * 9;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(6,1)) * 8;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(7,1)) * 5;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(8,1)) * 9;
			WordIndex = parseInt(WordIndex) + parseInt(No.substr(9,1)) * 7;

			temp = WordIndex + "A";
			ChkSum = parseInt(ChkSum) + parseInt(temp.substr(0,1)) * 5;
			ChkSum = parseInt(ChkSum) + parseInt(temp.substr(1,1)) * 9;
			ChkSum = parseInt(ChkSum) + parseInt(temp.substr(2,1)) * 7;
			ChkSum = parseInt(ChkSum) + 3;

			ChkSum = ChkSum % 10;
			if (ChkSum > 0) ChkSum = 10 - ChkSum;
			if (ChkSum != parseInt(No.substr(10,1))) 
			{
				alert("信用卡號錯誤");
				document.all(obj).focus();
				return false;
			}
		}
		else
		{
			alert("信用卡號錯誤");
			document.all(obj).focus();
			return false;
		}
	}
	return true;
}
function checkID(obj)
{
	var id = document.all(obj).value.toUpperCase();
	var code = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
	var alpha = "ABCDEFGHJKLMNPQRSTUVWXYZIO";
	if (id.length != 10 || alpha.indexOf(id.charAt(0)) == -1) 
	{
		alert("身分證ID錯誤");
		document.all(obj).focus();	
		return false;
	}
	var letter = code[alpha.indexOf(id.charAt(0))];
	var x = new Array(11);
	x[0] = letter.charAt(0);
	x[1] = letter.charAt(1);
	for (var i=1;i<10;i++)
	{
		x[i+1] = id.charAt(i);
	}
	var sum = x[0];
	for (var i=1;i<10;i++)
	{
		sum = parseInt(sum) + parseInt(x[i]) * (10-i);
	}
	sum = parseInt(sum) + parseInt(x[10]);
  	if (sum % 10 != 0) 
	{
		alert("身分證ID錯誤");
		document.all(obj).focus();	
		return false;
	}
	return true;
}
