﻿	//檢查單選項目是否勾選，在勾選特定項目後是否填寫欄位
	//預設自動抓取radio的名稱加上'_txt'，判定項目的值為'No'
	function RequireForRedioWithTextbox(f, objName, itemName, objValue){
		var ck = false;
		var obj = document.getElementsByName(objName);
		var val = "No";
		
		if(objValue!="") val=objValue;
		if( f[0] ) {
			for(var i=0; i<obj.length; i++){
				if( obj[i].value==val){
					var objTbx = document.getElementsByName(objName+"_txt");
					if( obj[i].checked && (objTbx[0].value!="") )
						ck = true;
				}
				else
				{
					if( obj[i].checked ) ck = true;
				}
			}
			if( !ck )	{
				alert( itemName );
				obj[0].focus();
				f[0] = false;
			}
		}
	}
	
	//=======================================================================	
	//  取得.NET物件
	//  最後更新時間：2008/11/1
	//=======================================================================
	function getDotNetObjectByServerID(objName){
	   for(var i=0;i<document.all.length;i++){
        if(document.all[i].id.indexOf(objName)>0){
            return document.all[i];
        }
      }
      return null;
	}
	
	
	//=======================================================================	
	//  RadioButton & CheckBox 驗證
	//  最後更新時間：2007/12/15
	//=======================================================================
	//檢查RadioButton和Checkbox的勾選數目
	function ChkRadioButtonAndCheckbox(objName) {
	    var objCtls = document.getElementsByTagName("input");
	    var num=0;
	    for(i=0;i<objCtls.length;i++){
	        if(objCtls[i].id.indexOf(objName)>=0){
	            if(objCtls[i].checked) num++;
	        }
	    }
	    return num;
	}
	function RequireForRC(f, objName, itemName){
	    var SelectedNum = ChkRadioButtonAndCheckbox(objName);
		if(SelectedNum==0 && f[0]){
	        alert(itemName);
	        FocusFirstItem(objName);
			f[0] = false;
	    }
	}
	function ChkRCMaxNum(f, objName, itemName, n){
	    var SelectedNum = ChkRadioButtonAndCheckbox(objName);
	    if((SelectedNum>n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        FocusFirstItem(objName);
			f[0] = false;
	    }
	}
	function ChkRCMinNum(f, objName, itemName, n){
	    var SelectedNum = ChkRadioButtonAndCheckbox(objName);
	    if((SelectedNum<n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        FocusFirstItem(objName);
			f[0] = false;
	    }
	}
	function ChkRCFixNum(f, objName, itemName, n){
	    var SelectedNum = ChkRadioButtonAndCheckbox(objName);
	    if((SelectedNum!=n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        FocusFirstItem(objName);
			f[0] = false;
	    }
	}
	function FocusFirstItem(objName) {
	    var objCtls = document.getElementsByTagName("input");
	    var num=0;
	    for(i=0;i<objCtls.length;i++){
	        if(objCtls[i].name.indexOf(objName)>=0){
	            objCtls[i].focus();
	            break;
	        }
	    }
	}
	
    //=======================================================================	
	//  DroupDownList & ListBox 驗證
	//  最後更新時間：2008/11/1
	//=======================================================================
	//檢查DroupDownList和ListBox的選取數目
	function ChkDroupDownListAndListBox(objName) {
	    var objCtls = document.getElementById(objName);
	    var num=0;
	    for(i=0;i<objCtls.options.length;i++){
	        if(objCtls.options[i].selected) num++;
	    }
	    return num;
	}
	function RequireForDL(f, objName, itemName){
	    var objCtls = document.getElementById(objName);
	    if(objCtls.options.length>0){
	        var SelectedNum = ChkDroupDownListAndListBox(objName);
		    if((SelectedNum==0 || objCtls.value=='') && f[0]){
    	        alert(itemName);
	            objCtls.focus();
			    f[0] = false;
	        }
        }
	}
	function ChkDLMaxNum(f, objName, itemName, n){
	    var objCtls = document.getElementById(objName);
	    var SelectedNum = ChkDroupDownListAndListBox(objName);
	    if((SelectedNum>n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        objCtls.focus();
			f[0] = false;
	    }
	}
	function ChkDLMinNum(f, objName, itemName, n){
	    var objCtls = document.getElementById(objName);
	    var SelectedNum = ChkDroupDownListAndListBox(objName);
	    if((SelectedNum<n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        objCtls.focus();
			f[0] = false;
	    }
	}
	function ChkDLFixNum(f, objName, itemName, n){
	    var objCtls = document.getElementById(objName);
	    var SelectedNum = ChkDroupDownListAndListBox(objName);
	    if((SelectedNum!=n && SelectedNum!=0) && f[0]){
	        alert(itemName);
	        objCtls.focus();
			f[0] = false;
	    }
	}
	
	
	//=======================================================================
	//  Textbox驗證
	//  最後更新時間：2009/07/05
	//=======================================================================
	//檢查欄位是否填寫
	function ReuiredForTextbox(f, objName, itemName, DefaultValue){
		var obj = document.getElementById(objName);
		if( ((obj.value == "") || (obj.value == DefaultValue)) && f[0] ){
			alert( itemName );
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}
	//固定長度
	function FixLength(f, objName, itemName, DefaultValue, n ){
		var obj = document.getElementById(objName);
		if( ((obj.value.length != n) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] ){
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}
	//最大長度
	function MaxLength(f, objName, itemName, DefaultValue, n ){
		var obj = document.getElementById(objName);
		if( ((obj.value.length > n) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] ){
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}
	//最小長度
	function MinLength(f, objName, itemName, DefaultValue, n ){
		var obj = document.getElementById(objName);
		if( ((obj.value.length < n) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] ){
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}
	//比較輸入數值是否大於傳入的值n
	function MaxValue(f, objName, itemName, DefaultValue, n){
		var obj = document.getElementById(objName);
		if( ((obj.value > n) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] ){
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}		
	}
	//比較輸入數值是否小於傳入的值n
	function MinValue(f, objName, itemName, DefaultValue, n){
		var obj = document.getElementById(objName);
		if( ((obj.value < n) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] ){
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}		
	}
	function ChkEmailFormat(f, objName, itemName){
		var obj = document.getElementById(objName);
		if (( !/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(obj.value) && (obj.value!="")) && f[0] )
		{
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}

	function ChkHttpFormat(f, objName, itemName){
		var obj = document.getElementById(objName);
		if (( !/http:\/\/([\w-]+.)+[\w-]+/.test(obj.value) && (obj.value!="")) && f[0] )
		{
			alert(itemName);
			if(obj.type!='hidden') obj.focus();
			f[0] = false;
		}
	}
	
	function ChkCompareTextBox(f,objName1, objName2, itemName)
	{
		var obj1 = document.getElementById(objName1);
		var obj2 = document.getElementById(objName2);
		if((obj1.value!=obj2.value) && f[0])
		{
			alert(itemName);
			if(obj1.type!='hidden') obj1.focus();
			f[0] = false;
		}
	}
	
	//DatePicker控制項尾端加上月曆圖片
	function IniDatePicker(objName,SiteBase)
	{
		var objTbx = document.getElementById(objName);
		var objLnk = document.createElement("A");
		objLnk.innerHTML = "<img id=\"" + objName + "_Img\" src='"+SiteBase+"/images/calendar.gif' border='0' align='absmiddle' style='padding-left:5px' />";
		objLnk.style.height = "17px";
	        objLnk.style.width = "18px";
        	objLnk.href = "javascript:;";
	        objLnk.attachEvent( "onclick", function(){PickDate(objTbx);} );
        	objTbx.parentElement.appendChild( objLnk );
	    }

    	//驗證所輸入的日期是否存在    
    	function ChkDate(f, objName, itemName)
    	{
		var obj = document.getElementById(objName);
		if(f[0] && (obj!=null)){
        	var strDate = obj.value;
	        var d = new Date(strDate);
	        var ds = strDate.split('/');
	        if (d.getFullYear()==parseInt(ds[0]) && d.getMonth()==(parseInt(ds[1])-1) && d.getDate()==parseInt(ds[2]) && f[0])
	        {
			alert(itemName);
			obj[0].focus();
			f[0] = false;
	        }
	    }
    	}


	//=======================================================================
	//  身份證驗證
	//  最後更新時間：2007/12/19
	//=======================================================================
 	function ChkIDNO(f, objName, itemName){
		var alphabet = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
		var obj = document.getElementById(objName);
		var para = obj.value
		
	    if (f[0] && para.length>0) {
		    if( para.length != 10 ){
			   	alert(itemName);
			    obj.focus();
			    f[0] = false;
		    }else{
			    firstLetter = para.substring(0,1);
			    TempInt = alphabet.indexOf( firstLetter.toUpperCase());
			    if( TempInt != -1 ){
				    CheckSum = parseInt( TempInt / 10 ) + TempInt % 10 * 9 + 1;
				    for( i = 1 ; i < 9 ; i ++ ){
					    CheckSum += parseInt( para.substring( i, i+1 )) * ( 9 - i );
				    }
				    CheckSum = ( 10 - ( CheckSum % 10 )) % 10;
				    if( CheckSum != parseInt( para.substring( 9, 10 ))){
			   	        alert(itemName);
			            obj.focus();
					    f[0] = false;
				    }
			    }else{
			   	    alert(itemName);
			        obj.focus();
				    f[0] = false;
			    }
		    }
		}
	}

    //中文驗證
    //function regInput(f, objName){    
    //}
   
    //Regular Expresstion驗證
    function ChkByRegex(f, objName, itemName, DefaultValue, regStr){
		var obj = document.getElementById(objName);
		if(obj!=null){
            if (( !RegExp(regStr).test(obj.value) && ((obj.value!="") && (obj.value != DefaultValue))) && f[0] )
		    {
			    alert(itemName);
			    obj.focus();
			    f[0] = false;
		    }
		}
    }
    
    //即時Regular Expresstion驗證
    function regInput(obj, itemName, reg, inputStr){
        var docSel = document.selection.createRange();
        if (docSel.parentElement().tagName != "INPUT") return false;
        oSel = docSel.duplicate();
        oSel.text = "";
        var srcRange = obj.createTextRange();
        oSel.setEndPoint("StartToStart", srcRange);
        var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length);

        if(!reg.test(str)) alert(itemName);

        return reg.test(str);
    }
    
    //將maintext的文字放到剪貼簿中
    function setClipboard(maintext) { 
       if (whichBrs()=='Internet Explorer') { 
          return (window.clipboardData.setData("Text", maintext)); 
       }else{
	      try{
      	    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); 
	      }catch(e){
	  	    alert("被瀏覽器拒絕!\n請在瀏覽器地址欄輸入'about'\n將signed.applets.codebase_principal_support的值改為true");
	      }
          var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); 
          if (!clip) return; 
          var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); 
          if (!trans) return;
          trans.addDataFlavor('text/unicode'); 
          var str = new Object(); 
          var len = new Object(); 
          var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 
          var copytext=maintext; 
          str.data=copytext; 
          trans.setTransferData("text/unicode",str,copytext.length*2); 
          var clipid=Components.interfaces.nsIClipboard; 
          if (!clip) return false; 
          clip.setData(trans,null,clipid.kGlobalClipboard); 
          return true; 
       } 
       return false; 
    }


//******************  日期驗證  ********************
//共用function
/*
	var dateFormat = 'yyyy/m/d';
	var dateSplitChar = '/';
	var dateFormatMsg='請設定正確的日期格式\n\nyyyy/m/d 2007/9/27';
	
	//驗證日期是否存在
	//驗證格式是否正確
	function ChkDate(dateStr, dateFormat, dateSplitChar)
	{
		dateStr = dateStr.toLowerCase();
		if(dateFormat.length>10 || !/^(yyyy|yy|m|d)(\/|-)(yyyy|yy|m|d)(\/|-)(yyyy|yy|m|d)$/.test(dateFormat))
		{
			alert(dateFormatMsg);
			return false;
		}
	
		strF = dateFormat.split(dateSplitChar);
		str = dateStr.split(dateSplitChar);

		var y,m,n;
		for(i=0;i<3;i++)
		{
			switch(strF[i])
			{
				case 'yyyy':
					if(str[i].length==4) y=Number(str[i]);
					else
					{
						alert("年的格式錯誤");
						return false; 
					}
					break;
				case 'yy':
					if(str[i].length==2)
					{
						y=Number(str[i]);
						if(y<30) y += 2000;
						else y += 1900;
					}
					else
					{
						alert("年的格式錯誤");
						return false; 
					}
					break;
				case 'm':
					if(str[i].length<=2)
					{
						m=Number(str[i]);
						if(m<1 || m>12)
						{
							alert("錯誤的月份");
						}
					}
					break;
				case 'd':
					if(str[i].length<=2)
					{
						d=Number(str[i]);
						if(d<1 || d>31)
						{
							alert("錯誤的日期");
						}
					}
					break;
			}
		}
		var dt = new Date(y,m,d);
		if(dt.getFullYear()!=y) { alert("錯誤的年份"); return false; }
		if(dt.getMonth()!=m) { alert("輸入的日期不存在"); return false; }
		if(dt.getDate()!=d) { alert("輸入的日期不存在"); return false; }

		return y+('0'+m).substr(('0'+m).length-2.2)+('0'+d).substr(('0'+d).length-2,2);
	}
	*/


//FOR DropDownList
	function chkDatePeriod_DDL(f, Ctl1_Y, Ctl1_M, Ctl1_d, Ctl2_Y, Ctl2_M, Ctl2_D, itemName)
	{
		if( DateCompare_DDL(Ctl1_Y, Ctl1_M, Ctl1_d, Ctl2_Y, Ctl2_M, Ctl2_D)<0 && f[0] )
		{
			Ctl1_Y.focus();
			alert(itemName);
			return false;
		}
		return f[0];
	}
	
	function DateCompare_DDL(Ctl1_Y, Ctl1_M, Ctl1_d, Ctl2_Y, Ctl2_M, Ctl2_D)
	{
		var str1=Ctl1_Y.value+('0'+m).substr(('0'+Ctl1_M.value).length-2.2)+('0'+d).substr(('0'+Ctl1_D).length-2,2);
		var str2=Ctl2_Y.value+('0'+m).substr(('0'+Ctl2_M.value).length-2.2)+('0'+d).substr(('0'+Ctl2_D).length-2,2);
		if( str1 > str2 ) return 1;
		if( str1 == str2 ) return 0;
		if( str1 < str2 ) return -1;
	}
	
//For TextBox
	function ChkDate_TBX(f, objName, itemName)
	{
		var obj = document.getElementsByName(objName);
		if( ChkDate(obj.value, dateFormat, dateSplitChar) == false )
		{
			obj[0].focus();
			f[0] = false;
		}
	}

	function ChkDatePeriod_TBX(f, startDate, endDate, itemName)
	{
		if( (DateCompare_TBX(startDate, endDate)<0) && f[0] )
		{
			startDate.focus();
			alert(itemName);
			return false;
		}
		return f[0];
	}

	function DateCompare_TBX(ctlDate1, ctlDate2)
	{
		var str1=ChkDate(ctlDate1.value, dateFormat, dateSplitChar);
		var str2=ChkDate(ctlDate2.value, dateFormat, dateSplitChar);
		if( str1 > str2 ) return 1;
		if( str1 == str2 ) return 0;
		if( str1 < str2 ) return -1;
	}
	
//********************************************

	function Autotab1(val,what,digitcount,destination) {
		obj = eval('document.forms[0].' + destination)
		objFrom = eval('document.forms[0].' + what)

		if (what == 'SSN1' || what == 'SSN2' || what == 'SSN3') {
			if (val.length == digitcount) obj.focus();
		}

		if (what.indexOf('EmployedHereFrom') !== -1 || what.indexOf('EmployedHereTo') !== -1) {
			if (val.length == digitcount) {
				if (CheckDate(val,what))
					obj.focus();
				else
					objFrom.value='';
			}
		}
	}

	function CheckNumeric() {
		if((window.event.keyCode < 48 || window.event.keyCode > 57) && (window.event.keyCode < 96 || window.event.keyCode > 105) && (window.event.keyCode != 9) && (window.event.keyCode != 46) && (window.event.keyCode != 8)) {
			window.event.returnValue =false;
		}
	}
	
    //******************************************
    //  Focus 頁面上第一個可顯示的控制項
    //******************************************
	function FocusFirstVisibleObj(){
	    webForm = document.forms[0];
	    objInput = document.getElementsByTagName("INPUT");
        var i=0
        while( !((objInput[i]!=null) && (objInput[i].type!='hidden'))) {i++}
	    objInput[i].focus();
	}
	
	//=======================================================================	
	//  Select 驗證
	//  最後更新時間：2008/05/01
	//=======================================================================
	function ReuiredForDroppDownList(f, objName, itemName){
		var obj = document.getElementById(objName);
		if(obj.options.length>0)
		{
		    if( obj.options[obj.selectedIndex].value == "" && f[0] ){
			    alert( itemName );
			    obj.focus();
			    f[0] = false;
		    }
		}
	}