//驗證是否為 iso 日期格式	//Added by Spike 2010.4.2
function checkIsoDate(obj, cName)
{
	if(!/\d{4}-\d{1,2}-\d{1,2}/.test(obj.value))
		alert(cName+'格式不正確');
	else
		return true;
	
	obj.focus();
	return false;
}

//驗證是否為英數字	//Add by Spike 97.8.1
function checkStrNum(obj,cName,min,max)
{
	re = /\w/g;	//英數字及底線

	if(obj.value && !re.test(obj.value))
		alert(cName + '必須為英數字');
	else if(obj.value.length < min)
		alert(cName + '字數不得少於 ' + min + ' 字');
	else if(obj.value.length > max)
		alert(cName + '字數不得超過 ' + max + ' 字');
	else
		return true;
		
	obj.focus();
	return false;
}

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<4)
	{
		alert(cName+"字元數不得小於四個！");
		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+"不相同！");
		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+" 未填寫！");
		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+"至少填寫1個！");
		if (obj1.type=='text')
		obj1.focus();
		
		return false;
	}
	return true;
}

function checkNotFirst(obj,cName){
	var data1 = obj.selectedIndex;
	if (data1==0){
		alert(cName+" 尚未選取！");
		obj.focus();
		
		return false;
	}
	return true;
}

function checkNotLast(obj,cName){
	var data1 = obj.selectedIndex;
	if (data1==(obj.options.length-1)){
		alert(cName+" 尚未選取！");
		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+" 尚未選取！");
  
  return false;
}

//checkbox,不可選超過n個
function checkCheckBoxThan(obj,cName,n){

   chk = 0;
   for (i=0;i<obj.length;i++){
      if (obj[i].checked){
		 chk++;
      }
   }
  if (chk>n)
  {
  	alert(cName+" 不可選超過 "+n+" 個!");
  	return false;
  }
 return true;
}

// 對於多個radio,驗證它至少有一個被選中
function checkCheckRadio(obj,cName){
   for (i=0;i<obj.length;i++){
      if (obj[i].checked){
		 return true;
      }
   }
  alert(cName+" 尚未選取！");
  
  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=="@")||(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)&&(allobj[i].name.indexOf('mediaYTBconf')==-1)&&(allobj[i].name.indexOf('analytics')==-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
			){ 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;	
	}
} 