//'-------------------------------------
//'function checkSelect(obj,checkType)
//'功能說明判斷資料的正確性
//'input:obj:需作判斷處理的obj變數
//'      checkType:判斷的項目參考checkSwitch function中的說明
//'output:true/false
//'-------------------------------------
function checkSelect(obj,checkType,fieldname)
{
	var errMsg;
	errMsg="";
	//alert(fieldname);


	errMsg=checkSwitch(obj,checkType);
	if (errMsg!="")
	{
	        alert("["+fieldname+"]"+errMsg);
	        obj.focus();
	        return false;
	 }       
	 else
	 	return true;
}

function checkInput(obj,checkType)
{
	var errMsg;
	errMsg="";
	errMsg=checkSwitch(obj,checkType);
	if (errMsg!="")
	{
	        alert("["+obj.alias+"]"+errMsg);
	        obj.focus();
	        return false;
	 }       
	 else
	 	return true;
}
function checkSwitch(obj,checkType)
{
	//alert(checkType+"!!!!!!"+obj.value);
	switch(checkType){
		case "A":return isAlpha(obj);	//英文字 format va
		case "B":return isIA(obj);		//英數字format t(2000/12/31) va
		case "C":return cdateCheck(obj);	//民國年 format(89/12/31)
		case "D":return isDate(obj);		//Date format(2000/12/31)  va
		case "E":return emailCheck(obj);	//Email format va
		case "G":return isGreatZero(obj);     	//> 0 va
		case "H":return hourCheck(obj);	    //時 format
		case "I":return isIDNo(obj);	       //身份證字號 format
		case "M":return minuteCheck(obj);	//分 format
   		case "N":return isNum(obj);	       //Number format va
   		case "O":return isChecked(obj);		    //CHECK CHECKBOX 
   		case "W":return isInt(obj);		    //Integer format整數 va
		case "T":return telCheck(obj);		//Phone number format va
		case "S":return checkSelected(obj);	//Check <Select></select> 欄位
		case "U":return isEmpty(obj);     	//NOT EMPTY
		case "Z":return zipCheck(obj);		//Zip Code format
		case "X":return checkCoId(obj);		//check統編
		default: return "";
	}
}		
function showerror(obj,msg)
{
     obj.focus();
     alert("["+obj.alias+"]"+errMsg);
}

function isChecked(obj,alias){
	chk = false;
  	if (obj.value!=null) {

        if (obj.checked==false) {
       		 //obj.focus();
	        alert("["+alias+"]至少勾選一項!");    	
            chk = true;
	        return false;	                
         }
         else
	        return true;	 
     }       
	else {  
	    for(i=0;i<obj.length;i++) {
	        if (obj(i).checked==true) {
	            i=obj.length;
	            chk = true;
	        }
	    }    

    if (!chk )  {     	        
        //obj(0).focus();
        alert("["+alias+"]至少勾選一項!");
        return false;	        
    }	
    else
        return true;	 
    }	
            
    
}
function isChecked1(obj){
	chk = false;
  	if (obj.value!=null) {
        if (obj.checked==false) {
       		 obj.focus();
             chk = true;
        	 return "至少選擇一項";
         }
         else
        return "";
     }       
	else {  	
	    for(i=0;i<obj.length;i++) {
	        if (obj(i).checked==true) {
	            i=obj.length;
	            chk = true;
	        }
	    }    

    if (!chk )  {     	        
  		if (obj.value!=null) 
        	obj.focus();
  		else
        	obj(0).focus();
        return "至少選擇一項";
    }	
    else
        return "";
    }	
    	

}
//檢查是否空白
function isEmpty(obj){
	var instring=obj.value.toString();
	if (instring==null || instring=="" ||instring.length=="") return "不允許空白,請輸入或選擇資料！";
	return "";
}
//檢查是否空白
function isEmpty1(stringValue,fieldname){
	var errMsg;
	errMsg="";
	if (stringValue==null || stringValue=="" ||stringValue.length=="") errMsg="不允許空白,請輸入或選擇資料！";
	if (errMsg!="")
	{
	        alert("["+fieldname+"]"+errMsg);
	        return false;
	 }       
	 else
	 	return true;    

}
//檢查是否為英文字母函數
function isAlpha(obj){

 	var instring=obj.value.toString();
	for(i=0;i<instring.length;i++){
		var value=instring.charAt(i)
	    if(value < "A" || value >"Z"&&value < "a"||value > "z") return "請填寫英文字母！";
	}
	return "";
}

//檢查是否為英文字母函數或數字函數
function isIA(obj){

 	var instring=obj.value.toString();
	for(i=0;i<instring.length;i++){
		var value=instring.charAt(i);
	    if((value < "A" || value >"Z")&&(value < "a"||value > "z")&&(value < "0" || value >"9")) return "請填寫英文字母或數字！";
	}
	return "";
}

 //檢查是否為數值
 function isNum(obj){
		var instring=obj.value.toString();
		var tempArray=instring.split(",");
		var num= tempArray.join("");
		if (isNaN(num))
		{
			obj.value="";
			return "資料的型態不符,請輸入數值資料";
		}
		return "";	

}
 //檢查是否為數值且需大於0
  function isGreatZero(obj){		
 		var msg;
		msg=isNum(obj);
 		if (msg!="")
 			return msg;
		var instring=obj.value;
		if (instring==0||instring<0||instring.length==0)
		{
			return "資料必需大於0";
		}
		return "";	
 }

//檢查日期是否正確
  function isDate(obj){	  	
 		var msg;
 		//msg=allowLength(obj,10);
 		//if (msg!="")
		//	return "日期資錯誤,請輸入日期資料(yyyy/mm/dd)"; 		

		var indate=obj.value.toString();
    	if (indate.length==0) 
        	return "";		
		var dateArray	=indate.split("/");
		//因為JavaScript日期是0-11所以要減1		
		indate=new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
		return (indate.getMonth()==dateArray[1]-1)?"":"日期格式錯誤,請輸入日期資料(yyyy/mm/dd)";
 
  }

//允許字串長度
function allowLength(obj,alllen){

	var instring=obj.value.toString();
	if(instring.length!=0&instring.length!=alllen)
	{
		return "資料長度應為"+alllen+"位";
	}
	return "";
}

//日期轉換19990101=>1999/01/01
function dateTrans(obj){
	var instring=obj.value.toString();
	var tmpdate
	tmpdate = instring.substr(0,4)+"/"+instring.substr(4,2)+"/"+instring.substr(6,2);
  return tmpdate;
}

//將資料yyyymmdd轉成yyyy/mm/dd並檢查是否為日期
function dateaftChange(obj)
{
	if (obj.value=="")
		return true;
	if (!checkSelect(obj,"N"))  //數值
	        return false;
	        
	obj.value=dateTrans(obj);
	if (!checkSelect(obj,"D"))  //日期
	        return false;

    return true;				
}

//將資料yyyy/mm/dd轉成yyyymmdd
function datepreChange(obj)
{
	if (obj.value=="")
		return true;
	var tempArray=obj.value.split("/");
	var tmpdate="";
	var i;
	for(i=0;i<tempArray.length;i++)
	{
		if (tempArray[i].length<2)
			tempArray[i]="0"+tempArray[i]
		tmpdate=tmpdate+tempArray[i];
	}	
	obj.value=tmpdate;	
   return true;		
}

//檢查身份證字號是否正確
function isIDNo(obj){

	if (obj.value=="")
		return "";

	var c, n, i,s;
	var t= "ABCDEFGHJKLMNPQRSTUVXYWZIO";
    s = obj.value.toString();
	c= s.substring(0,1);
	c= t.indexOf(c.toUpperCase());
	if(s.length!= 10) return "應為10碼";
	if (c<0) return "格式輸入錯誤";

	n= parseInt(c/10)+ c%10*9+ 1;
	for(i=1; i<9; i++) n= n+ parseInt(s.substring(i,i+1))* (9-i);
	n= (10- (n% 10))% 10;
	if(n!= parseInt(s.substring(9,10))) return "格式輸入錯誤";

         	return "";
}

//檢查是否為數字函數
function isInt(obj){
  	var i;	
	var instring=obj.value.toString()
	for(i=0;i<instring.length;i++){
			if(instring.charAt(i) < "0" || instring.charAt(i) > "9") return "資料的型態不符,請整數資料"; 
	}
    return "";
}

//檢查電話號碼
function telCheck(obj){
  var i;
  var instring=obj.value.toString();
  if(instring.length !=0 && instring.length < 6) 
  	return "號碼格式輸入錯誤";
else{
		for(i=0;i<instring.length;i++){
				if(instring.charAt(i)=="-" || instring.charAt(i)=="(" || instring.charAt(i)==")" || instring.charAt(i)=="#") continue;
				if(instring.charAt(i) < "0" || instring.charAt(i) > "9") return "電話號碼格式輸入錯誤";
		}
	} 
 
  return "";
}
//檢查E-mail
function emailCheck(obj){

  var instring=obj.value.toString();
   if(instring.length !=0)
   {
	  if (instring.indexOf("@")==-1|| instring.indexOf(".")==-1){return "格式輸入錯誤";}
   }
  	
  return "";
 }
//vaching
//去除空白
function trimSpace(){
	
	var instring=obj.toString();
	var value=new String();
	//去頭
	for(var i=0;i<instring.length;i++){
		if(instring.charAt(i)!=" "){
			value=instring.substring(i);
			break;
		}
	}
	//去尾
	while(value.charAt(value.length-1)==" "){
		value=value.cutLast(1)
	}
	return value;
 }

 //檢查數字範圍
 function setRange(min,max){
 
	var instring=parseInt(obj.toString());
	return (instring >= min && instring <= max)?true:false;
 }
 //檢查日期起訖是否符合規則大於等於
 //前提兩者必須有值
 function chkGEDate(sDate,eDate,fieldname){
 		var errMsg;
    	errMsg=isEmpty(sDate);
    	if (errMsg!="")
    	{
    	        sDate.focus();
    	        alert("["+fieldname+"起日]"+errMsg);
    	        return false;
    	 }       	
		errMsg=isEmpty(eDate);
    	if (errMsg!="")
    	{
    	        eDate.focus();
    	        alert("["+fieldname+"迄日]"+errMsg);
    	        return false;
    	 }       	

    	errMsg=isDate(sDate);
    	if (errMsg!="")
    	{
    	        sDate.focus();
    	        alert("["+fieldname+"起日]"+errMsg);
    	        return false;
    	 }       	
		errMsg=isDate(eDate);
    	if (errMsg!="")
    	{
    	        eDate.focus();
    	        alert("["+fieldname+"迄日]"+errMsg);
    	        return false;
    	 }       	
		var sDate1=sDate.value.toString();
		var dateArray	=sDate1.split("/");
		sDate1=new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
		var eDate1=eDate.value.toString();
		dateArray	=eDate1.split("/");
		eDate1=new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
        if (eDate1<sDate1) {
	        eDate.focus(); 		    
   	        alert("["+fieldname+"迄日]需大於等於["+fieldname+"起日]");
   	        return false;
        }    
        return true;    
 }

 //檢查最大值
 function setMin(min){
 
	var instring=parseInt(obj.toString());
	return (instring >= min)?true:false;
 }

 //檢查最小值
function setMax(max){
 
	var instring=parseInt(obj.toString());
	return (instring >= max)?true:false;
 }

//允許的字元
function allowChar(incol){

	var flag=0;

	for (i=0;i<instring.length;i++ ){
		for(j=0;j<incol.length;j++){
				if(instring.charAt(i)==incol.charAt(j)) break;
				if(j==incol.length-1) flag=1;
		}
		if(flag==1) return false;
	}
	return true;
}

//不允計字元
function unallowChar(incol){

	var instring=obj.toString();

	for (i=0;i<instring.length;i++ ){
		for(j=0;j<incol.length;j++){
				if(instring.charAt(i)==incol.charAt(j)) return false;
			}
	}
	return true;
}


//民國年轉西元年
function toDate(){
	var tempArray=obj.split("/");
	tempArray[0]=parseInt(tempArray[0])+1911;
	return tempArray.join("/");
}

//西元年轉民國年
function toCdate(){
	var tempArray=obj.split("/");
	tempArray[0]=parseInt(tempArray[0])-1911;
	return tempArray.join("/");
}

//去掉最後num個字元
function cutLast(num){
  return obj.substring(0,obj.length-num)
}

//補滿某種符號
function frontFill(symbol,digit){
	if(obj.length <= digit){
		var temp=new String();
		for(i=obj.length;i<digit;i++){
			temp+=symbol
		}
		return temp+obj;
	}
}
 //檢查是否為數值
 function CNum(obj){		
		var instring=obj.value.toString();
		var tempArray=instring.split(",");
		var num= parseFloat(tempArray.join(""));
		return num;	

}
function ENum(num_str)
{
	var tempArray;
  	var mARR1 = new Array("","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE","THIRTEEN","FOURTEEN","FIFTEEN","SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN");
	var mARR2 = new Array("","","TWENTY","THIRTY","FORTY","FIFTY","SIXTY","SEVENTY","EIGHTY","NINETY");
	var mARR3 = new Array("","","THOUSAND","MILLION","BILLON");
	var tempArray=num_str.split(",");
	var mINTVAL;
   	var mDECVAL;
	num_str= tempArray.join("");
	if (num_str.indexOf(".")>0)
	{
		mINTVAL=num_str.substr(0,num_str.indexOf("."));
		mDECVAL=num_str.substr(num_str.indexOf(".")+1,2);
	}	
	else
	{
		mINTVAL=num_str;
		mDECVAL=0;
	}	
 	var mTEMP;
 	var mT1;
 	var mT2;
 	var mRET="";	
	var i=0;
	var iloop=0;
	var j=mINTVAL.length%3;
	if (j>0)	//不足補0
	{
		for(i=j;i<3;i++){
			mINTVAL="0"+mINTVAL;
		}	
	}	
	i=0;	
	iloop=(mINTVAL.length)/3;	
 	while ( i < mINTVAL.length)
 	{
		 mTEMP = mINTVAL.substr(i, 3);
		 mT1 = mTEMP.substr(0, 1);
		 mT2 = (mTEMP.substr(1, 2))*1;
		 //'alert(mTEMP);
		 //'alert(mT1);
		 //'alert((mTEMP.substr(1, 2)*1));
         if (mT1 > 0)
            mRET=mRET+mARR1[mT1]+" HUNDRED ";

         if (mT2 >=20)	//2?-9?         
         {
            mRET=mRET+mARR2[mTEMP.substr(1, 1)] +" ";
            if ((mT2%10)!=0)
            	mRET=mRET+mARR1[(mT2%10)] +" ";
          }  
         else
         {
         	if (mT2 > 0)
            		mRET=mRET+mARR1[mT2] +" ";
         }
         if (iloop>1)
    		mRET=mRET+mARR3[iloop] +" ";
    		
         i = i + 3;
         iloop = iloop - 1;
	}
	//alert(mDECVAL)
	if (mDECVAL >0)
	{
		mRET=mRET+"AND CENTS ";
		if (mDECVAL>=20)
		{
			 mRET=mRET+mARR2[parseInt(mDECVAL.substr(0,1))] +" ";
			 mT2=parseInt(mDECVAL.substr(1,1));
			 if (mT2!=0)
				 mRET=mRET+mARR1[mT2] +" ";
	 	}		
		else
		 	mRET=mRET+mARR1[mDECVAL*1] +" ";
	}	 
    mRET=mRET+"ONLY.";
	return mRET;
}
function checkCoId(obj)
{
	msg=isNum(obj);
	if (msg!="")
		return msg;	
	var id=obj.value.toString();

    if (id.length==0) 
        return "";
	if(id.length!= 8)
	    return "長度應為8位數";
	    
    var strChr='12121241';
    var step1=0;
    var temp=0;
    var temp1;
    var temp2=0;
    for (i=0;i<8;i++)
    {
       temp=id.charAt(i) * strChr.charAt(i);
           //alert(temp);
       if (temp<10)
           step1=step1+temp;
       else
       {
           temp1=String(temp);
           temp2=Number(temp1.charAt(0))+Number(temp1.charAt(1));
           if (temp2<10)
               step1=step1+temp2;
       }    
//                  alert(step1);

    }
    //alert(id);
    if (step1%10==0)
        return "";
               
    if (id.charAt(6)==7)
    {
       step1=step1+1;
       if (step1%10==0)
        return "";
       
     }


	return "輸入錯誤。";        
 
} 