function checkStrId(obj,cName){
	var data1 = obj.value;
   	//re = /[a-z|\d]/g;
	if ( data1.match(/[^\w\d]/g)!=null)
	{
		alert(cName+" please enter lowercase letters or numbers！");
		obj.focus();
		return false;
	}
	if ( data1.length<4)
	{
		alert(cName+" not less than 4 digits！");
		obj.focus();
		return false;
	}
	return true;	
}

function checkStrPwd(obj,cName)
{
	var data1 = rmTrailingBlank(obj.value);
	if ( data1.length<6)
	{
		alert(cName+" not less than 6 digits！");
		obj.focus();
		return false;
	}
	return true;	
}
function checkStrUserPwd(obj,cName)
{
	var data1 = rmTrailingBlank(obj.value);
	if ( data1.length<4)
	{
		alert(cName+" not less than 4 digits！");
		obj.focus();
		return false;
	}
	return true;	
}

function checkPwdSame(obj1,obj2,cName)
{
	var data1 = rmTrailingBlank(obj1.value);
	var data2 = rmTrailingBlank(obj2.value);
	if ( data1!=data2 )
	{
		alert(cName+" conformation fail！");
		obj2.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(Source,Chr){
  Chr=Chr||" ";
  return Ltrim(Rtrim(Source,Chr),Chr);
}
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+" is empty！");
		if (obj.type=='text')
		obj.focus();
		return false;
	}
	return true;
}

function checkNotAllEmpty(obj1,obj2,cName){
	var data1 = obj1.value;
	var data2 = obj2.value;
	if (data1=="" && data2==""){
		alert(cName+" input either one！");
		if (obj1.type=='text')
		obj1.focus();
		return false;
	}
	return true;
}

function checkNotFirst(obj,cName){
	var data1 = obj.selectedIndex;
	if (data1==0){
		alert(cName+" is not select！");
		obj.focus();
		return false;
	}
	return true;
}

function checkNotLast(obj,cName){
	var data1 = obj.selectedIndex;
	if (data1==(obj.options.length-1)){
		alert(cName+" is not select！");
		obj.focus();
		return false;
	}
	return true;
}
 
/*
function checkCheckBox(str,cName,cont){
   var result = false;

   for (i=0;i<cont;i++){
      if (document.getElementById(str+i).checked){
		 return true;
      }
   }
  alert(cName+" 尚未選取！");
  
  return false;
}
*/
// 對於多個checkbox,驗證它至少有一個被選中
function checkCheckBox(obj,cName){
   for (i=0;i<obj.length;i++){
      if (obj[i].checked){
		 return true;
      }
   }
  alert(cName+" is not select！");
  
  return false;
}

// 對於多個radio,驗證它至少有一個被選中
function checkCheckRadio(obj,cName){

   for (i=0;i<obj.length;i++){
      if (obj[i].checked){
		 return true;
      }
   }
  alert(cName+" is not select！");
  
  return false;
}

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+" is invalid！");
		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)&&
			(allobj(i).name.indexOf('mediaYTBconf')==-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("Special character is not allowed！");
				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+" is invalid！");
		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+" is invalid！");
		obj.select();
		return false;	
	}
} 
