/********************************
*程序:checkroc_id
*說明:檢查身分證字號正確性
*傳入:string:證號
*回傳:true/false
*範例:checkroc_id('Q121198527')
*作者:fij
*時間:2002/11/05
*********************************/

function checkroc_id(id_string){
	var N00=id_string.charAt(0).toUpperCase();
	if((N00 >= "A") && (N00 <= "Z")){
		if (N00=="A") var N1="10";
		if (N00=="B") var N1="11";
		if (N00=="C") var N1="12";
		if (N00=="D") var N1="13";
		if (N00=="E") var N1="14";
		if (N00=="F") var N1="15";
		if (N00=="G") var N1="16";
		if (N00=="H") var N1="17";
		if (N00=="I") var N1="34";
		if (N00=="J") var N1="18";
		if (N00=="K") var N1="19";
		if (N00=="L") var N1="20";
		if (N00=="M") var N1="21";
		if (N00=="N") var N1="22";
		if (N00=="O") var N1="35";
		if (N00=="P") var N1="23";
		if (N00=="Q") var N1="24";
		if (N00=="R") var N1="25";
		if (N00=="S") var N1="26";
		if (N00=="T") var N1="27";
		if (N00=="U") var N1="28";
		if (N00=="V") var N1="29";
		if (N00=="W") var N1="32";
		if (N00=="X") var N1="30";
		if (N00=="Y") var N1="31";
		if (N00=="Z") var N1="33";

	}else{
		//alert("證號第1個字元 "+N00+" 錯誤！");
		return false;
	}


	idarray=new Array();
	for(var i=1; i<id_string.length; i++){
		if((id_string.charAt(i) >= "0") && (id_string.charAt(i) <= "9")){
			idarray[i+1]=id_string.charAt(i);
		}else{
			//alert("證號第"+(i+1)+"個字元 "+id_string.charAt(i)+" 錯誤！");
			return false;
		}
	}

	var check=0;
	idarray[0]=N1.charAt(0);
	idarray[1]=N1.charAt(1);
  	for(i=0;i<=10;i++){
		if(i==0 || i==10)
		check=check+parseInt(idarray[i]);
		else
		check=check+(parseInt(idarray[i])*(10-i));
	}

	if (check%10==0)
	return true;
	else
	return false;
	//alert("身分證號錯誤！");
}

/********************************
*程序:checkcompany_id
*說明:檢查統一編號正確性
*傳入:string:統一編號,
*回傳:true/false
*範例:checkcompany_id('70809673')
*作者:fij
*時間:2002/11/05
*********************************/

function checkcompany_id(thisvalue){
   var id_load=thisvalue.toUpperCase() ;
   // check length
   if(id_load.length !=8)
    {
    	return false;
    }

   var id_input=new Array(8);
   for(i=0;i<8;i++)
    { id_input[i]=id_load.charAt(i);}

   // check  IsAllNumber
   var numstring="0123456789" ;
   for(i=0;i<8;i++)
    { id_input[i]=numstring.indexOf(id_input[i])
      if(id_input[i] == -1)
       {
         return false;
       }
    }

   //check Sumary

   var chkey = "12121241" ;
   var id_check=new Array(8);
   var chk_sum = 0;
   var chk1 = 0;

   for(i=0;i<8;i++)
   {
        id_check[i]=chkey.charAt(i);
        chk1 = id_input[i] * id_check[i] ;
        chk1 = ((chk1 - (chk1 % 10)) / 10) + (chk1 % 10) ;
   	chk_sum = chk_sum + chk1 ;
   }
   //window.alert(chk_sum+"\r"+id_input[6]);

   if ((chk_sum % 10) == 0) {
      return(true);
   }else {
   	if (id_input[6] == '7') {
   	   chk_sum = chk_sum + 1;
   	   if ((chk_sum % 10) == 0)
   	        return(true);
   	}
   	return false;
   }
}


/********************************
*程序:checkemail
*說明:檢查Email正確性
*傳入:string:電子郵件
*回傳:true/false
*範例:true=checkemail('fij@pchome.com.tw')
*作者:fij
*時間:2002/11/05
*********************************/
function checkemail(email){
	if (email.indexOf('@')==-1){
		return false;
	}
	if (email.indexOf('.')==-1){
		return false;
	}
	return true;
}

/********************************
*程序:checkdate
*說明:檢查日期正確性
*傳入:string:日期字串
*回傳:true/false
*範例:true=checkdate('2002/02/31')
*作者:fij
*時間:2002/01/09
*********************************/
function checkdate(vardate){
 date1 =new Date(Date.parse(vardate));
 if (date1.getYear()<2000){
    return false;
 }else{
  return true;
 }
}

/********************************
*程序:validnum
*說明:檢查數字範圍正確性
*傳入:int:數字
*回傳:true/false
*範例:true=validnum(8,1,10)
*作者:fij
*時間:2002/11/27
*********************************/
function validnum(item,num1,num2){
   num=item*1
   if(num>=num1 && num<=num2) return(true)
   else  return(false)
 }


/***********************************
*程序: trim(strMessage)
*說明:trim all space
*傳入:strMessage=string to be trim
*回傳:Return the trimmed string
*範例:'test'=trim('  test ')
*作者:N/A
*時間:2003/02/24
************************************/
function trim(strMessage)
{
        var strResult;
        var charTemp;
        var i;

        strResult = "";

        //remove the left space
        for ( i = 0; i < strMessage.length; i++ )
        {
                charTemp = strMessage.charAt(i);
                if ( charTemp != " " )
                {
                        strResult = strMessage.substring(i);
                        break;
                }
        }

        //remove the right space
        for ( i = strResult.length-1; i >= 0; i-- )
        {
                charTemp = strResult.charAt(i);
                if ( charTemp != " " )
                {
                        strResult = strResult.substring(0,i+1);
                        break;
                }
        }
        return (strResult);
}


/***********************************
*程序:replace(String)
*說明:置換字串
*傳入:oldString,newString,fullStirng
*回傳:Return the string be replaced
*範例:'ABC'=replaceString('a','A','aBC')
*作者:N/A
*時間:2003/03/01
***********************************/
function replaceString(oldS,newS,fullS) {
     for (var i=0; i<fullS.length; i++) {
        if (fullS.substring(i,i+oldS.length) == oldS) {
           fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length)
  	i++;
        }
     }
     return fullS
     alert(fullS);
}
