﻿function formChk(iptid,namevar,msgid,chktype,ctrltype,forceFocus,limitlen)
{
	var iptobj = document.getElementById(iptid);
	var msgobj = document.getElementById(msgid);
	try{
		if ( chktype=='noempty' )
		{
			var data1 = rmTrailingBlank(iptobj.value);
			if (data1==""){
				if ( ctrltype=='showstop' ){
					msgobj.innerHTML=namevar+"不得為空值";
					if ( forceFocus!=null )
					{
						iptobj.focus();
						return false;
					}
				}
			}else{
					
					msgobj.innerHTML="";
					return true;
			}
			return true;
		}
		else if ( chktype=='mustplusint' )
		{
			if (iptobj.value!='')
			{
				var data1 = rmTrailingBlank(iptobj.value);
				n1=Number(data1);
				if ( isNaN(n1) ){
					if ( ctrltype=='showstop' ){
						msgobj.innerHTML=namevar+"必須為正整數";
						iptobj.value='';
						if ( forceFocus!=null )
						{
							iptobj.focus();
							return false;
						}
						
					}
				}  
				
			}
			return true;  
		}
		else if ( chktype=='mustint' )
		{
			if (iptobj.value!='')
			{
				var data1 = rmTrailingBlank(iptobj.value);
				n1=Number(data1);
				if ( isNaN(n1) ){
					if ( ctrltype=='showstop' ){
						msgobj.innerHTML=namevar+"必須為數字";
						iptobj.value='';
						if ( forceFocus!=null )
						{
							iptobj.focus();
							return false;
						}
						
					}
				}else{
					
					msgobj.innerHTML="";
					return true;
				}
				
			}
			return true;
		}
		else if ( chktype=='strid' )
		{
			if (iptobj.value!='')
			{
				var data1 = iptobj.value;
				if ( data1.match(/[^\w\d]/g)!=null)
				{
					msgobj.innerHTML=namevar+"請輸入小寫英文字母或數字";
					iptobj.value='';
					if ( forceFocus!=null )
					{
						iptobj.focus();
						return false;
					}
					else
					{
						return true;
					}
					
				}
				if ( data1.length<6)
				{
					msgobj.innerHTML=namevar+"字元數不得小於六個";
					if ( forceFocus!=null )
					{
						iptobj.focus();
						return false;
					}
					 
				}
			}
			return true;
		}
		else if ( chktype=='email' )
		{
			if (iptobj.value!='')
			{
				var data1=iptobj.value;
				var len = data1.length;
				var errflag=0;
				if (len==0) {return true;}   //如果空白不檢查
				for(var i=0;i<len;i++){
					var c=data1.charAt(i);
					if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@"))){
						errflag=1;
					}
				}
				if((data1.indexOf("@")==-1)||(data1.indexOf("@")==0)||(data1.indexOf("@")==(len-1))){
					errflag=1;
				}else if((data1.indexOf("@")!=-1)&&(data1.substring(data1.indexOf("@")+1,len).indexOf("@")!=-1)){
					errflag=1;
				}else if((data1.indexOf(".")==-1)||(data1.indexOf(".")==0)||(data1.lastIndexOf(".")==(len-1))){
					errflag=1;
				}      
				if (errflag==1){
					msgobj.innerHTML=namevar+"請輸入正確格式";
					iptobj.value='';
					if ( forceFocus!=null )
					{
						iptobj.focus();
						return false;
					}
					else
					{
						return true;
					}
					
				}	
				return true;
			}
		}
		else if ( chktype=='textarealen' )
		{
			//alert(limitlen);
			if (iptobj.value!='' && iptobj.type=='textarea' && limitlen!=null )
			{
				
				var len = iptobj.value.length;
				if ( len > limitlen )
				{
					//alert(limitlen);
					iptobj.value = iptobj.value.substring(0, limitlen);
					msgobj.innerHTML = "已超出"+limitlen+"個字元";
				}
				else
					msgobj.innerHTML = "";
			}
		}
		
	}
	catch(e)
	{}
	
}

﻿function showWindow( s,varW,varH ){
   wx=varW;wy=varH;
   x=(screen.width-wx)/2;
   y=(screen.height-wy)/2;
  window.open(s,"media","scrollbars=yes,resizable=yes,left="+x+",top="+y+",width="+wx+",height="+wy+"");
}

function checkIP(obj,cName)
{
	var data1 = obj.value;
    var   reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ 
    if ( data1!='' )
    {  
    	if(arr=data1.match(reg))
    	{   
    		for(i=1;i<arr.length;i++)if(parseInt(arr[i])>255)
    		{
    			alert(cName+"格式錯誤！");
				obj.focus();
    			return false;
    		}   
    		return true;   
    	}   
    	else   
    	{
    		alert(cName+"格式錯誤！");
    		obj.focus();
			return false;
    	}   
	}
	else
		return true;
}   

function checkTelFormat(obj,cName)
{
	var data1 = obj.value;
   	//re = /[a-z|\d]/g;
	if ( data1.match(/[^\d|^-]/g)!=null)
	{
		alert(cName+"格式錯誤！");
		obj.focus();
		return false;
	}
	return true;	
}
function checkStrId(obj,cName)
{
	var data1 = obj.value;
   	//re = /[a-z|\d]/g;
	if ( data1.match(/[^\w\d]/g)!=null)
	{
		alert(cName+"請輸入小寫英文字母或數字！");
		obj.focus();
		return false;
	}
	if ( data1.length<4)
	{
		alert(cName+"字元數不得小於四個！");
		obj.focus();
		return false;
	}
	return true;	
}
function checkStrPwd(obj,cName)
{
	var data1 = rmTrailingBlank(obj.value);
	if ( data1.length<6)
	{
		alert(cName+"字元數不得小於六個！");
		obj.focus();
		return false;
	}
	return true;	
}
function checkStrUserPwd(obj,cName)
{
	var data1 = rmTrailingBlank(obj.value);
	if ( data1.length<6)
	{
		alert(cName+"字元數不得小於六個！");
		obj.focus();
		return false;
	}
	return true;	
}
function replaceBigComma(obj) 
{
	str = obj.value;
    if (str == "" || str == null) return str
	if(str.indexOf("，")!=-1)
	{
		str = str.replace(/，/g,",")
	}
	obj.value = str;
	return true;
} 

function rmTrailingBlank(str) 
{
    if (str == "" || str == null) return str

    var lastBlank = str.lastIndexOf(' ')
    if (lastBlank == (str.length-1)) {
        var i
        for (i=str.length-2; i>=0; i--) {  // It is blank at str.length-1
            if (str.charAt(i) != ' ')
                break
        }
        return str.substring(0, i+1)       // From 0 to ith chars are returned
    }
    else return str
} 
 
function cleartext(obj)
{
	obj.value="";
}

function trim(stringToTrim){
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function checkStrLength(obj,cName,limit){
	var data1 = obj.value;
	if (data1.length>limit){
		alert(cName+"字數不得超過"+limit+"個字元(含空白)！");
		obj.focus();
		return false;
	}
	return true;
}
function checkStrLength_Low(obj,cName,limit){
	var data1 = obj.value;
	if (data1.length<limit){
		alert(cName+"字數不得少於"+limit+"個字元！");
		obj.focus();
		return false;
	}
	return true;
}
function checkNotEmpty(obj,cName){
	var data1 = obj.value;
	if (data1==""){
		alert(cName+"不得為空值！");
		if (obj.type=='text')
		obj.focus();
		
		return false;
	}
	return true;
}

function checkIntNumber(obj,cName){
	var data1 = obj.value;
	n1=Number(data1);
	if ( isNaN(n1) ){
		alert(cName+"必需為整數！");
		obj.select();
		return false;
	}
	return true;
}
function checkPlusNumber(obj,cName){
	var data1 = obj.value;
	n1=Number(data1);
	n2=Math.floor(n1);
	if (isNaN(n1)||(n1<0)||(n1!=n2)){
		alert(cName+"必需為正整數！");
		obj.select();
		return false;
	}
	return true;
}
function checkPlusFloat(obj,cName){
	var data1 = obj.value;
	n1=Number(data1);
	if (isNaN(n1)||(n1<0)){
		alert(cName+"必需為正數！");
		obj.select();
		return false;
	}
	return true;
}
 
 
 
 

function checkEmail(obj,cName){
	var data1=obj.value;
	var len = data1.length;
	var errflag=0;
	if (len==0) {return true;}   //如果空白不檢查
	for(var i=0;i<len;i++){
		var c=data1.charAt(i);
		if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c==".")||(c=="@"))){
			errflag=1;
		}
	}
	if((data1.indexOf("@")==-1)||(data1.indexOf("@")==0)||(data1.indexOf("@")==(len-1))){
		errflag=1;
	}else if((data1.indexOf("@")!=-1)&&(data1.substring(data1.indexOf("@")+1,len).indexOf("@")!=-1)){
		errflag=1;
	}else if((data1.indexOf(".")==-1)||(data1.indexOf(".")==0)||(data1.lastIndexOf(".")==(len-1))){
		errflag=1;
	}      
	if (errflag==1){
		alert(cName+"請輸入正確格式！");
		obj.select();
		return false;	
	}	
	return true;
}
 

function checkSpecialChar(allobj){	
	var check=new Array("'","\"","&","%","+","$","?","<>","=","<",">","\\","|","~","--");
	var errflag=0;
	var data1="";	
	for( var i=0; i<allobj.length; i++){
		//略過欄位名稱含desc與url字元者
		if (((allobj(i).type=="text")||(allobj(i).type=="textarea"))&&(allobj(i).name.indexOf('desc')==-1)&&(allobj(i).name.indexOf('url')==-1)&&(allobj(i).name.indexOf('cont')==-1)){
			data1 = allobj(i).value;
			if (data1.indexOf(check[0])!=-1
			|| data1.indexOf(check[1])!=-1
			|| data1.indexOf(check[2])!=-1
			|| data1.indexOf(check[3])!=-1
			|| data1.indexOf(check[4])!=-1
			|| data1.indexOf(check[5])!=-1
			|| data1.indexOf(check[6])!=-1
			|| data1.indexOf(check[7])!=-1
			|| data1.indexOf(check[8])!=-1
			|| data1.indexOf(check[9])!=-1
			|| data1.indexOf(check[10])!=-1
			|| data1.indexOf(check[11])!=-1
			|| data1.indexOf(check[12])!=-1
			|| data1.indexOf(check[13])!=-1
			|| data1.indexOf(check[14])!=-1
			|| data1.indexOf(check[15])!=-1
			){ errflag=1;}
			
			if (errflag==1){
				alert("輸入值有特殊字元，禁止輸入！");
				allobj(i).select();
				return false;
			}
		}
	} 
	return true;		
}
//*********************************************
//函數功能：判斷檢查身分証號碼格式是否正確
//參　　數：obj物件本身;cName中文欄位名稱
//傳 回 值：假如正確是傳回true;假如錯誤則傳回false
//*********************************************
function checkPersonalID(obj,cName){	
	var data1=obj.value;
	var intIdLength=data1.length;
	var strIdFirst=data1.charAt(0).toUpperCase();
	var strIdSecond=data1.charAt(1);
	var strIdNum=data1.substr(1,9);
	
	var errflag=0;
	if (intIdLength != 10){ 
		errflag=1; 
	}else if (strIdFirst<'A' || strIdFirst>'Z'){ 
		errflag=1; 
	}else if (strIdSecond != '1' && strIdSecond != '2'){ 
		errflag=1; 
	}				
	for (i=0;i<=8;i++){
		if (isNaN(strIdNum.substr(i,1))){ errflag=1; }
	}
	if (errflag==1){
		alert(cName+"請輸入正確格式！");
		obj.select();
		return false;	
	}	
		     
	var intVerify1=("ABCDEFGHJKLMNPQRSTUVXYWZIO".indexOf(strIdFirst,0))+10;
	data1=""+intVerify1+strIdNum;
	var intVerify2=eval(data1.substr(0,1));	
	for (i=1;i<=9;i++){
		intVerify2=intVerify2+(eval(data1.substr(i,1))*(10-i));
	}
	intVerify2=intVerify2+eval(data1.substr(10,1));
	
	if (intVerify2%10==0){
		return true;
	}else{
		alert(cName+"請輸入正確格式！");
		obj.select();
		return false;	
	}
}
//*********************************************
//函數功能：判斷檢查中國身分証號碼格式是否正確，簡易版
//參　　數：obj物件本身;cName中文欄位名稱
//傳 回 值：假如正確是傳回true;假如錯誤則傳回false
//*********************************************
function checkChsPersonalID(obj,cName)
{
	var data1=obj.value;
	var errflag=0;
	if (data1==''){ 
		errflag=1;
	}
	if ( data1.match(/[^\d]/g)!=null)
	{
		errflag=1;
		
	}
	if (data1.length==15 || data1.length==18){

	}else{
		errflag=1;
	}
	if ( errflag==1 )
	{
		alert(cName+"請輸入正確格式！");
		obj.select();
		return false;
	}
	return true;
}
