
    var MasterID = "ctl00_CPHHolder_";	

	/*=================================================================== 
	'** 檔案名:	JSInterfaceCheck.js			
	‘** 撰寫人:	yongjun	
	‘** 建立日期:	2004/12/10
	‘** 功能描述:	對日期處理
	‘** 相關檔案:		
	‘** Copyright c2003-2004 Maxense Co., Ltd.			
	‘** ===================================================================
		//http://www.smartwebby.com/DHTML/date_validation.asp
	‘** ===========================  修改記錄  ============================
	‘** 修改日期:	2005/04/06		
	‘** 撰寫人:	yongjun			
	‘** 修改原因	添加功能	
	‘** 修改內容:	
	=================================================================== 
	*/
	//------------------------------------------------------------------------------------//////////////
	//適用於對對象進行檢證
	//參數說明:obj= 對象的id ,Msg=提示信息,Tyep=驗證類型
	//(0＝是否為空，1＝英文字母，2＝漢字，3＝整數，4＝數值，
	//5＝EMail格式，6＝西元日期，7＝民國日期，8＝圖片文件,12=影片格式（flv）,13=音檔格式（mp3）,14=圖片（jpg）,16=word （doc,xdoc）
	//返回值bool,檢證通過返回true,否則返回false.
	function IsCheckAll(obj ,Msg , Tyep)
	{
		if(Tyep == "0")
		{
			return IsEmpty(obj ,Msg);
		}
		if(Tyep == "1")
		{
			return IsABC(obj ,Msg);
		}	
		if(Tyep == "2")
		{
			return IsChina(obj ,Msg);
		} 
		if(Tyep == "3")
		{
			return isInt(obj ,Msg);
		}
		if(Tyep == "4")
		{
			return IsDecimal(obj ,Msg);
		}
		if(Tyep == "5")
		{
			return IsEMail(obj ,Msg);
		}
		if(Tyep == "6")
		{
			return IsDateChina(obj ,Msg);
		}	
		if(Tyep == "7")
		{
			return IsDateTw(obj ,Msg);
		}						
		if(Tyep == "8")
		{
			return CheckImage(obj ,Msg);
		}
		if(Tyep == "9")
		{
			return CheckMusic(obj ,Msg);
		}
		if(Tyep == "10")
		{
		    //alert(10);
			return CheckMovie(obj ,Msg);
		}
		if(Tyep == "11")
		{
			return CheckTxt(obj ,Msg);
		}
		if(Tyep == "12")
		{
			return CheckMovieFlv(obj ,Msg);
		}	
		if(Tyep == "13")
		{
			return CheckMusicMP3(obj ,Msg);
		}			
		if(Tyep == "14")
		{
			return CheckImageJPG(obj ,Msg);
		}	
		if(Tyep=="15")
		{
		  return CheckImg(obj,Msg);
		}
		if(Tyep=="16")
		{
		  return CheckWord(obj,Msg);
		}				
		return true ;
	}
		//字符串實際長度，數字[0-9],字母[a-z]每個算一個長度，一個漢字算二個
		//參數說明：str輸入的字符
		//返回值int,即參數字符串的長度
		function StringLen(str)
		{	
			var Rc = 0 
			if(str == "")
			{
				return 0 ;
			}
			var reg = /^[\u4E00-\u9FA5]*$/;
			var i = 0 ;
			; 
			for(i = 0 ; i < str.length ; i++)
			{
				if(reg.test(str.substring(i,i+1)))
				{
					Rc += 1 ;
				}
				Rc += 1 ;
			}
			return 	Rc	
		}	

		
	
	
	//------------------------------------------------------------------------------------//////////////
		//功能說明：消除字串前後的空格
		//參數說明：字符串
		//返 回 值：無返回值
		function Trim(str)
		{
			var str0 = "" ;
			str0 = String(str);
			var reg=/^\s*/;		//消除前面的空格
			var str1 = "" ;
			str1 = str0.replace(reg,"");
			reg=/\s*$/;			//消除後面的空格
			var str2 = ""
			str2 = str1.replace(reg,"");
			return str2;
		}

		//功能說明:檢證正則表達式函數
		//參數說明:驗證對象的ID，Msg＝提示信息，reg=正則表達式
		function IsCheck(obj,Msg,reg)
		{
			var str = document.all(obj).value ;
			str = Trim(str);
			if(str == "")
			{
				return true;
			}
			if(!reg.test(str))
			{
				alert(Msg);
				document.all(obj).focus();
				return false ;
			}
			return true ;	
		}
		
		//功能說明：檢證字符串是否由字母組成
		//參數說明：字符串
		//返回值：bool,由字母組成返回：true,否則返回：false
		function IsABC(obj,Msg)
		{
			var reg = /^[a-zA-Z]+$/;
			return IsCheck(obj,Msg,reg)
		}
		//功能說明：檢證字符串是否漢字組成
		//參數說明：字符串
		//返回值：bool,由字母組成返回：true,否則返回：false		
		function IsChina(obj,Msg)
		{
			var reg = /^[\u4E00-\u9FA5]*$/;
			return IsCheck(obj,Msg,reg)
		}
		
		//功能說明：檢證是否是整數
		//參數說明：字符串
		//返 回 值：bool,是整數返回true,否則返回：false
		function isInt(obj,Msg)
		{
			var reg = /^(-|\+)?\d+$/;
			return IsCheck(obj,Msg,reg)
		}  
	
		//
		//功能說明：檢證是否是大於0的整數
		//參數說明：字符串
		//返 回 值：bool,是大於0的整數返回true,否則返回：false
		function isUInt(obj,Msg)
		{
			var reg = /^\d+$/;
			return IsCheck(obj,Msg,reg)
			
		}

		//功能說明：檢證是否是數值float類型的數
		//參數說明：字符串
		//返 回 值：bool,返回：是數值(即float類型的變量)true,否則返回：false
		function IsDecimal(obj,Msg)
		{
			var reg = /^(-|\+)?\d+(\.\d+)?$/ ;
			return IsCheck(obj,Msg,reg)		
			
		}
		//功能說明：檢證是否是大於0的float類型的數
		//參數說明：字符串
		//返 回 值：bool,返回：是數值(即是大於0的float類型的數)true,否則返回：false		
		function IsUDecimal(obj,Msg)
		{
			var reg = /^\d+(\.\d+)?$/ ;
			return IsCheck(obj,Msg,reg)		
			
		}		
		//功能說明：檢證是否符合EMail格式
		//參數說明：字符串
		//返 回 值：bool,返回：符合EMail格式true,否則返回：false
		function IsEMail(obj,Msg)
		{
			var reg= /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
			//var reg = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			return IsCheck(obj,Msg,reg)	
		}
		///功能說明：檢證字符中是不符合日期格式
		///參數說明：參數是西元日期字符串
		///返 回 值： bool類型，是日期格式 true ,否則返回false    
		function IsDateChina(obj,Msg)
		{
			//var reg = /^(19|20)\d\d\/([1-9]|0[1-9]|1[012])\/([1-9]|0[1-9]|[12][0-9]|3[01])$/;
			//return IsCheck(obj,Msg,reg)	
			var date = document.all(obj).value;
			var reg = /^(\d{4})([\/,-])(\d{1,2})\2(\d{1,2})$/; 
            var r = date.match(reg); 
            if(r==null) 
            {
                alert(Msg);
                document.all(obj).focus();
                return false;
            }   
            var d= new Date(r[1], r[3]-1,r[4]); 
            var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate(); 
            date=r[1]+r[2]+((r[3]-1)+1)+r[2]+((r[4]-1)+1); 
            if(newStr!=date)
            {
                alert(Msg);
                document.all(obj).focus();
                return false;
            }
            return true;
		}
		

		
		///功能說明：檢證字符中是不符合日期格式(092/10/30)
		///參數說明：參數是民國日期字符串
		///返 回 值： bool類型，是日期格式 true ,否則返回false    
		function IsDateTw(obj,Msg)
		{
			var reg = /^(\d\d\d)\/([1-9]|0[1-9]|1[012])\/([1-9]|0[1-9]|[12][0-9]|3[01])$/;
			return IsCheck(obj,Msg,reg)	
		}
	
	//jpg、GIF’、JPEG、PNG
	function CheckImage(obj,Msg)
	{
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		if(Temp == -1)
		{
			alert(Msg);
			return false;
		}		
		var TempFile = str.substring(Temp+1,Length);
		if(TempFile!="gif" && TempFile!="jpg" && TempFile!="jpeg" && TempFile!="png" && TempFile!="GIF" && TempFile!="JPG" && TempFile!="JPEG" && TempFile!="PNG")
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
	}
	//jpg、GIF’、JPEG、PNG
	function CheckImageJPG(obj,Msg)
	{
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		if(Temp == -1)
		{
			alert(Msg);
			return false;
		}		
		var TempFile = str.substring(Temp+1,Length);
		if( TempFile!="jpg" && TempFile!="jpeg"  && TempFile!="JPG" && TempFile!="JPEG")
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
	}
	function CheckImg(obj,Msg)
	{
	  	var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		if(Temp == -1)
		{
			alert(Msg);
			return false;
		}		
		var TempFile = str.substring(Temp+1,Length);
		if( TempFile!="jpg" && TempFile!="gig"  && TempFile!="png" && TempFile!="bmp")
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
	}	
	//判斷是否為歌曲文件
	function CheckMusic(obj,Msg)
	{
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}		
		var TempFile = str.substring(Temp+1,Length);
		if(TempFile!="mp3" && TempFile!="MP3" && TempFile!="wma" && TempFile!="WMA" )
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
	}
	function CheckMusicMP3(obj,Msg)
	{
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}		
		var TempFile = str.substring(Temp+1,Length);
		if(TempFile!="mp3" && TempFile!="MP3")		
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
	}	
	//判斷是否為影視文件
	function CheckMovie(obj,Msg)
	{
	   
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		 
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}	
			
		var TempFile = str.substring(Temp+1,Length);
		//if(TempFile!="swf" && TempFile!="SWF" && TempFile!="wmv" && TempFile!="WMV" )
		if(TempFile!="wmv" && TempFile!="WMV" )		
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
		
	}
	//判斷是否為影視文件
	function CheckMovieFlv(obj,Msg)
	{
	   
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
	
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}	
			
		var TempFile = str.substring(Temp+1,Length);
		
		if(TempFile!="flv" && TempFile!="FLV")
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
		
	}
	//判斷是否為影視文件
	function CheckWord(obj,Msg)
	{
	   
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
	
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}	
			
		var TempFile = str.substring(Temp+1,Length);
		
		if(TempFile!="doc" && TempFile!="DOC" && TempFile!="DOCX" && TempFile!="docx")
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
		
	}		
	
	//判斷是否為txt文件
	function CheckTxt(obj,Msg)
	{
	   
		var str = document.all(obj).value ;
		var Length = str.length;
		
		var Temp = str.lastIndexOf(".");
		 
		if(Temp == -1)
		{
		    alert(Msg);
			return false;
		}	
			
		var TempFile = str.substring(Temp+1,Length);
		if(TempFile!="txt" && TempFile!="TXT" )
		{
			alert(Msg);
			return false ;
		}
		else
		{
			return true;
		}
		
	}
	
	//檢測是否為值空 
	//適用於:textBox,DropDownList ,ListBox 
	function IsEmpty(obj,Msg)
	{
		var str = document.all(obj).value ;
		str = Trim(str);
		if(str == "")
		{
			alert(Msg);
			document.all(obj).focus();
			return false ;
		}
		return true ;
		
	}

		
		
	///驗證台灣身分證函數
	function IsTWID(obj,Msg)
	{
		var str = document.all(obj).value ;
		str = Trim(str);
		str = str.toUpperCase();
		
		//為空返回
		if(str == "")
		{
			alert(Msg);
			document.all(obj).focus();
    		return false ;	
		}
		
		//長度是否為10
		if (str.length != 10)
		{
			alert(Msg);
			document.all(obj).focus();
			return false ;	
		}
		
		//第一位是否為字母
          part1 = str;
          //alert(part1);
          if (!(part1>="A" && part1<="Z"))
          {
	        alert(Msg);
	        document.all(obj).focus();
	        return false;
          }
  

		
		//第二位是否為1或2
		var pos2 = str.charAt(1);
		if( pos2 !="1" &&  pos2 !="2") 
		{
			alert(Msg);
			document.all(obj).focus();
			return false ;	
		}

		//後8位是否是數字
       for(i=1;i<10;i++)
       {
          if(isNaN(parseFloat(str.charAt(i))))
          { 
      	     alert(Msg);
      	     document.all(obj).focus();
	         return false; 
         }
       } 
		
		//其他規則驗證
		var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
		var num  = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
		var n=0;
		var i;
		for(i=0;i<alph.length;i++)
		{
			if(str.charAt(0)==alph[i])
			n=i;
		}
		var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);
		var tot2 = 0;
		   
		for(i=1;i<str.length-1;i++)
				tot2 = tot2 + parseFloat(str.charAt(i))*(9-i);
		var tot3 = parseFloat(str.charAt(9));
		var tot4 = tot1 + tot2 + tot3;
		if((tot4 % 10)!=0) 
		{
			alert(Msg);
			document.all(obj).focus();
			return false ;	
		}
		return true;
	}
	
		

		//功能：判斷參數str值是否小於系統日期，若小於返回true,否則返回false;
		//參數：str=日期(西元日期格式：XXXX/XX/XX,民國日期格式：XXX年XX月XX日)
		//參數：type=比較類型(1是比較西元日期，2＝比較民國日期)		
		function fnsmallTodayDate1(str,strtype)
		{
			
			var today = new Date();
			var now_Year = today.getFullYear();
			var now_Month = today.getMonth()+1;
			var now_Date = today.getDate();
			if(now_Month < 10)
			{
				now_Month = "0" + now_Month ;
			}
			if(now_Date < 10)
			{
				now_Date = "0" + now_Date ;
			}			
			var intNowYYMMDD = now_Year+"/"+now_Month+"/"+now_Date ;
			
			//var DTNowdate = new Date(intNowYYMMDD);
			//alert( fnsmallTodayDate2(str,intNowYYMMDD,strtype));
			var RC = fnsmallTodayDate2(str,intNowYYMMDD,strtype);
			return RC ;
		}

		//功能:，若str1 < str2 返回true,否則返回false;
		//參數：str1=開始日期(西元日期格式：XXXX/XX/XX,民國日期格式：XXX年XX月XX日)
		//參數：str2=結束日期(西元日期格式：XXXX/XX/XX,民國日期格式：XXX年XX月XX日)
		//參數：type=比較類型(1是比較西元日期，2＝比較民國日期)		
		function fnsmallTodayDate2(str1,str2,strtype)
		{
				
			var str1_Date ;
			var str2_Date ;
			var RC = "" ;
			if(str1 != "" && str2 != "" )
			{
				var str1_YYMMDD = fnSubstring(str1,strtype)  ;
				str1_Date = new Date(str1_YYMMDD);
				var str2_YYMMDD = fnSubstring(str2,strtype)  
				str2_Date = new Date(str2_YYMMDD);
				RC =  Date.parse(str1_Date) - Date.parse(str2_Date) <= 0;
			}
			
			return RC ;
		}
		///把日期格式統一轉換成：XXXX/XX/XX
		//民國年日期格式轉換成 XXX年XX月XX日--->西元日期格式：XXXX/XX/XX
		//西元日期格式（XXXX/XX/XX，或XXXX年XX月XX日）--->西元日期格式：XXXX/XX/XX
		//參數：str=日期字符串
		//參數：strtype=類型(1是比較西元日期，2＝比較民國日期)
		function fnSubstring(str,strtype)
		{
			if(str == "" )
			{
				return "" ;
			}
			var i = 3 ;
			var RC = str ;
			
			if(strtype == "2")
			{
				//RC = ParseInt(str.substring(1,i)) + 1911 +"/"+ str.substring(i+1,i+3) +"/"+str.substring(i+4,i+6);
				RC = eval(str.substring(1,i)) + 1911 +"/"+ str.substring(i+1,i+3) +"/"+str.substring(i+4,i+6);
			} 
			if(strtype == "1")
			{
				i += 1 ;
				//alert(str) ;
				var reg = /[/|-]/g;
				RC = str.replace(reg,"/");
				//RC = str.substring(0,3) +"/"+ str.substring(4,2) +"/"+str.substring(i+3,2);
			}
			
			return  RC;
		}
		//////////////////////////////////////////////////////////////////////////
		//格式化日期(去掉時間，在月日前加0，格式化後格式?:2003-01-01)
		function FormatDate(strDate)
		{
			if(strDate.length==0) return strDate;
			var iLen=strDate.indexOf(" ");
			if(iLen>0)
				strDate=strDate.substr(0,iLen);
			strDate=strDate.replace("-","/")
			
			var dtDate=new Date(strDate);
			var iTemp=dtDate.getYear();
			if(iTemp<100)
				strDate="19"+iTemp;
			else
				strDate=iTemp;
			var iTemp=dtDate.getMonth()+1;	
			if(iTemp<10)
				strDate+="-0"+iTemp.toString();
			else
				strDate+="-"+iTemp.toString();
			
			var iTemp=dtDate.getDate();
			if(iTemp<10)
				strDate+="-0"+iTemp.toString();
			else
				strDate+="-"+iTemp.toString();
			return strDate;
			
		}
		//檢查radio是否有選擇
		function chkRadio(thisObj,strText,defIndex)
		{
			if(thisObj!=null && thisObj!=undefined) 
			{
				if(thisObj.length>0)
				{
					for(myChkIndex1=0;myChkIndex1<thisObj.length;myChkIndex1++)
					{
						if(thisObj[myChkIndex1].checked) 
						{
							if(defIndex==null || defIndex==undefined) return true;
							if(myChkIndex1!=defIndex) return true;
						}
					}
				}
				else
				{
					if(thisObj.checked) 
						return true;
				}
			}
			alert(strText);
			if(thisObj.length>0) thisObj[0].focus();
			else thisObj.focus();
			return false;
		}
		//檢查check是否有選擇
		function chkSelect(thisObj,strText,defIndex)
		{
			if(thisObj!=null && thisObj!=undefined) 
			{
				for(myChkIndex2=0;myChkIndex2<thisObj.options.length;myChkIndex2++)
				{
					if(thisObj.options[myChkIndex2].selected)
					{
						if(defIndex==null || defIndex==undefined) return true;
							if(myChkIndex2!=defIndex) return true;
					}
				}
			}
			alert(strText);
			thisObj.focus();
			return false;
		}
		//驗証上傳檔的擴展名
		function getExp(fileName)
		{
		    if(fileName != "")
		    {
		        var item = fileName.lastIndexOf(".");
		        var exp = fileName.substring(item+1,fileName.length);
		        return exp;
		    }
		    return "";
		}
		
