function checkDecimalPoint(obj,pos,mess){
   var CompPos = obj.value.length - (obj.value.indexOf(".")+1);
   if( obj.value.indexOf(".") >= 0 ){
      if( CompPos > pos ){
   	alert(mess+"欄位之數值只能有"+pos+"位小數 !!");
   	obj.focus();
   	return false;
      }
   }
   return true;
}

function checkLength(obj,maxlength,mess){
	//alert(getLength(obj));
   if( maxlength < getLength(obj) ) {
   	alert(mess+"長度不可超過"+maxlength+"個半形字或"+maxlength/2+"個全形(中文)字 !!");
   	obj.focus();
   	return false;
   }
   return true;
}

function getLength(strObj){
     var length = 0;
     for(var i=0; i< strObj.value.length ; i++){
     	if(escape(strObj.value.charAt(i)).indexOf("%u") == 0)
     	   length += 2;
     	else
     	   length += 1;
     }
     return length;
}
function checkDate(obj_year,obj_month,obj_day,mess){
	   var year = obj_year.value;
	   var month = obj_month.value - 1;
	   var day = obj_day.value;

           var date = new Date(year,month,day);
           var mm = date.getMonth();
           if( mm != month ){
               alert(mess+"日期格式錯誤");
               obj_day.focus();
               return false;
           }
           return true;
}

function checkChinDateString(obj,mess){
	   trim(obj);
	   var len = obj.value.length;
	   if( len < 6 ) {
	       alert(mess+"日期格式錯誤");
               obj.focus();
               return false;
	   }
	   var year = eval(obj.value.substring(len-4,0)) + 1911;
	   var month = eval(obj.value.substring(len-2,len-4)) - 1;
	   var day = obj.value.substring(len,len-2);

           var date = new Date(year,month,day);
           var mm = date.getMonth();
           if( mm != month ){
               alert(mess+"日期格式錯誤");
               obj.focus();
               return false;
           }
           return true;
}

function checkNull(obj,mess){
	trim(obj);
	if(obj.value == null || obj.value.length == 0){
     		alert("請輸入"+mess+" !!");
     		obj.focus();
     		return false;
        }
        return true;
}


function checkNumNotZero(obj,mess){
     trim(obj);
     if ( obj.value.length == 0 ) return true;
     num = new Number(obj.value);
     if( num != obj.value ) {
     	alert(mess+"必須輸入合法的數值 !!");
     	obj.focus();
     	return false;
     } else {
     	if ( num == 0 ){
     	   alert(mess+"不得為0 !!");
     	   obj.focus();
     	   return false;
     	}
     	if ( num < 0 ){
     	   alert(mess+"不得為負值 !!");
     	   obj.focus();
     	   return false;
     	}
     }
     return true;
}

function checkNum(obj,mess){
     trim(obj);
     if ( obj.value.length == 0 ) return true;
     num = new Number(obj.value);
     if( num != obj.value ) {
     	alert(mess+"必須輸入合法的數值 !!");
     	obj.focus();
     	return false;
     }
     return true;
}

function checkInt(obj,mess){
     trim(obj);
     if ( obj.value.length == 0 ) return true;
     num = new Number(obj.value);
     if( num != obj.value || obj.value.indexOf(".") >= 0) {
     	if ( mess.length > 0 ) {
     	   alert(mess+"必須輸入合法的整數 !!");
     	   obj.focus();
     	}
     	return false;
     }
     return true;
}

function checkIntNotZero(obj,mess){
     trim(obj);
     if ( obj.value.length == 0 ) return true;
     num = new Number(obj.value);
     if( num != obj.value || obj.value.indexOf(".") >= 0) {
     	if ( mess.length > 0 ) {
     	   alert(mess+"必須輸入合法的整數 !!");
     	   obj.focus();
     	}
     	return false;
     }
     if ( num == 0 ){
     	   alert(mess+"不得為0 !!");
     	   obj.focus();
     	   return false;
     }
     	if ( num < 0 ){
     	   alert(mess+"不得為負值 !!");
     	   obj.focus();
     	   return false;
     	}
     return true;
}

function checkDigit(strObj,mess){
     //去除首尾空白
     trim(strObj);

     if(strObj.value.length > 0){
     	   for(var i =0; i<strObj.value.length; i++){
     	        if( strObj.value.charAt(i) < "0" || strObj.value.charAt(i) > "9" ){
     	             alert(mess+"欄位必須為數字 !!");
     	             strObj.focus();
     	             return false;
     	        }
     	   }
     }
     return true;
}

function checkDigitNotZero(strObj,mess){
     //去除首尾空白
     trim(strObj);

     if(strObj.value.length > 0){
     	   for(var i =0; i<strObj.value.length; i++){
     	        if( strObj.value.charAt(i) < "0" || strObj.value.charAt(i) > "9" ){
     	             alert(mess+"欄位必須為數字 !!");
     	             strObj.focus();
     	             return false;
     	        }
     	   }
     }

     if ( strObj.value.length == 0 ) return true;
     num = new Number(strObj.value);
     if ( num == 0 ){
     	   alert(mess+"不得為0 !!");
     	   strObj.focus();
     	   return false;
     }
     return true;
}

function checkLetterOrDigit(strObj,mess){
     for(var i=0; i< strObj.value.length ; i++){
     	if(escape(strObj.value.charAt(i)).indexOf("%u") == 0){
     	   alert(mess+"欄位必須為英文或數字 !!");
     	   strObj.focus();
     	   return false;
     	}
     }
     return true;
}

function checkTel(strObj,mess){
     trim(strObj);

     if(strObj.value.length > 0){
     	   for(var i =0; i<strObj.value.length; i++){
     	   	 if( (strObj.value.charAt(i) < "0" || strObj.value.charAt(i) > "9") &&
     	   	      strObj.value.charAt(i) != "(" &&
     	   	      strObj.value.charAt(i) != ")" &&
     	   	      strObj.value.charAt(i) != "-"){
     	   	      alert(mess+"欄位不可輸入(,),-,及數字以外的字元");
     	   	      strObj.focus();
     	   	      return false;
     	   	 }
     	   }
     }
     return true;
}

function checkTelWithExt(strObj,mess){
     trim(strObj);

     if(strObj.value.length > 0){
     	   for(var i =0; i<strObj.value.length; i++){
     	   	 if( (strObj.value.charAt(i) < "0" || strObj.value.charAt(i) > "9") &&
     	   	      strObj.value.charAt(i) != "(" &&
     	   	      strObj.value.charAt(i) != ")" &&
     	   	      strObj.value.charAt(i) != "-" &&
                      strObj.value.charAt(i) != "#"){
     	   	      alert(mess+"欄位只能輸入(,),-,#,或數字");
     	   	      strObj.focus();
     	   	      return false;
     	   	 }
     	   }
     }
     return true;
}

function trim(strObj){ //去除首尾空白
     while ( strObj.value.charAt(0) == " " ){
	strObj.value = strObj.value.substring(1,strObj.value.length);
     }
     while ( strObj.value.charAt(strObj.value.length-1) == " " ){
        strObj.value = strObj.value.substring(0,strObj.value.length-1);
     }

}

function trimValue(value,direction,trimChar){ //去除某字元
     var returnValue = value;

     if( direction.indexOf("l") >=0 || direction.indexOf("L") >=0 ) {
        while ( returnValue.charAt(0) == trimChar ){
  	   returnValue = returnValue.substring(1,returnValue.length);
        }
     }

     if( direction.indexOf("r") >=0 || direction.indexOf("R") >=0 )   {
        while ( returnValue.charAt(returnValue.length-1) == trimChar ){
           returnValue = returnValue.substring(0,returnValue.length-1);
        }
     }

     return returnValue;

}

function padValue(value,direction,length,padChar){ //補足某字元
     var returnValue = value;
     if( !(direction=="l" || direction=="L" || direction=="r" || direction=="R") ){
         	alert( "direction error !" );
         	return false;
     }

     if( padChar.length != 1 ){
     	alert( "the length of padChar must be 1 !");
     	return false;
     }

     if( direction=="l" || direction=="L" ) {
        for( var i = value.length ; i< length ; i++ ) {
  	   returnValue = padChar + returnValue ;
        }
     }

     if( direction=="r" || direction=="R" )   {
        for( var i = value.length ; i< length ; i++ ) {
           returnValue = returnValue + padChar;
        }
     }

     return returnValue;

}

function jumpNext(form,obj,maxlength){ //跳往下一個TextField
        if(event.shiftKey) return; //shift
        if( event.keyCode == 16 ) return; //shift + tab
        if( event.keyCode == 9 ) return; //tab
        if( event.keyCode == 13) maxlength = obj.value.length; //按Enter
   	for( i=0; i<form.length; i++){
   	    if( form.elements[i].name == obj.name ){
   	      if( maxlength == obj.value.length) {
   	      	i++;
   	      	for( ;i<form.length;i++ ){
   	      	   if( form.elements[i].type == "text" ){
   	      	   	form.elements[i].focus(); break;
   	      	   }
   	      	}
   	      }
   	      break;
   	    }
   	}



   }

function cescape(strObj){ //除中文外皆作escape
     var returnValue = "";
     for(var i=0; i< strObj.value.length ; i++){
     	  if( escape(strObj.value.charAt(i)).indexOf("%u") == 0){
     	  	returnValue = returnValue + strObj.value.charAt(i);
     	  }
     	  else{
     	        returnValue = returnValue + escape(strObj.value.charAt(i));
     	  }
     }
     return returnValue;
}

function cvescape(strValue){ //除中文外皆作escape
     var returnValue = "";
     for(var i=0; i< strValue.length ; i++){
     	  if( escape(strValue.charAt(i)).indexOf("%u") == 0){
     	  	returnValue = returnValue + strValue.charAt(i);
     	  }
     	  else{
     	        returnValue = returnValue + escape(strValue.charAt(i));
     	  }
     }
     return returnValue;
}

function setCookie(name,value){
    var expires = new Date();
    expires.setTime(expires.getTime() + (1000*60*60*24*1));
    document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString());
}

function getCookie(name){
    var cname = name + "=";
    var dc = document.cookie;

    if (dc.length>0){
	begin = dc.indexOf(cname);
	if (begin!=-1){
		begin += cname.length;
		end = dc.indexOf(";",begin);
		if  (end == -1)
			end = dc.length;
		return unescape(dc.substring(begin,end));
	}
    }
    return null;
}


function chkRfno(id){ //查核營利事業統一編號
          s="12121241";
          x = new Array(8);
          for (i=0; i < 8;i++) {
            x[i] = s.charAt(i) * id.charAt(i);
          }

	  b1=x[1] % 10;
	  b2=x[3] % 10;
	  b3=x[5] % 10;
	  b4=x[6] % 10;
	  a1=(x[1] - b1) / 10;
	  a2=(x[3] - b2) / 10;
	  a3=(x[5] - b3) / 10;
	  a4=(x[6] - b4) / 10;
	  s1=x[0]+x[2]+x[4]+x[7]+a1+b1+a2+b2+a3+b3+a4+b4;
	  if ((s1 % 10) != 0) {
	     if (id.charAt(6) == '7') {
	     	wk=a4+b4;
	     	b5=wk % 10;
	     	a5=(wk - b5) / 10;
	     	s2=x[0]+x[2]+x[4]+x[7]+a1+b1+a2+b2+a3+b3+a5+b4;
	     	if ((s2 % 10) != 0) {
	     	   return false;
	     	}
	     	else {
	     	    return true;
	     	}
             }
             else {
                  return false;
             }
	  }
	  else {
	     return true;
	  }
}
/*
function chkRfno(rfno){//查核營利事業統一編號
    var multiplicator = '12121241';
    if( rfno.length != 8 ) return false;
    var ArrayOfValue = new Array(8);
    var isum = 0;


    for( var i=0; i<8; i++){
       if( rfno.charAt(i) < "0" || rfno.charAt(i) > "9" ) return false;
    }

    for( var i=0; i<8; i++){
       ArrayOfValue[i] = rfno.charAt(i) * multiplicator.charAt(i);
       isum = isum + Math.floor(ArrayOfValue[i] / 10);
       isum = isum + ( ArrayOfValue[i] % 10 );
    }
    if( isum % 10 == 9 ){
       if( rfno.charAt(6) != "7" ) return false;
    }else if( isum % 10 != 0 ){
       return false;
    }

    return true;
}*/

function chkId(s) { //查核身分證號
	var c, n, i;
	var t= "ABCDEFGHJKLMNPQRSTUVXYWZIO";

	c= s.substring(0,1);
	c= t.indexOf(c.toUpperCase());
	if((s.length!= 10) || (c<0)) return false;

	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 false;

	return true;
}
