﻿
/* 函數名稱: trim
* 目    的: 去掉前後空格。 * 參    數: 無 *       Eg:"  半月  ".trim()="半月"
* xx. YYYY/MM/DD   VER     AUTHOR      COMMENTS
*  1. 2007/4/8    1.00    jason     Create
---------------------------------------------------*/
String.prototype.trim=function()
{
	return this.replace(/(^\s*)|(\s*$)/g,'');//去掉前後空格。
 }
 
String.prototype.trimall=function()
{
    return this.replace(/(^\s*)|(\s*$)|(\s+)/g,'');//去掉所有空格
 }

//獲取一個不重複的標識
  function GetRandName()
  {
    d=new Date();
    s="";
    s+=d.getYear().toString();
    s+=d.getMonth().toString();
    s+=d.getDate().toString();
    s+=d.getHours().toString();
    s+=d.getMinutes().toString();
    s+=d.getSeconds().toString();
    s+=d.getTime().toString();
    return s;
  }
  
  //打開模式對話方塊
  function OpenModalDlg(spath,sargs,w,h)
  {
    return window.showModalDialog(spath, sargs, "dialogWidth:" + w + "px;dialogHeight:" + h + "px;help:0;status:0;scroll:1;center:1");
  }
  
  //打開非模式對話方塊
  function OpenNormalDlg(spath,sargs,w,h)
  {
            var l = (screen.width - w) / 2; 
            var t = (screen.height - h) / 2;

   var frm=window.open(spath,sargs,"height="+ h +",width="+ w +",top="+t+",left="+l+",center=1,toolbar:0,menubar:0,scrollbars=yes,z-look:1, resizable:1,location:0,status:0");
   frm.focus();
   return frm;
  }
 
 
 //檔上傳時檢查大小
 //maxsize:定義允許檔的大小，單位KB，請根據需要自行修改！
 function chksize(strFileName,maxsize){
    var objStream = new ActiveXObject("ADODB.Stream");
    objStream.Type = 1;
    objStream.Open();
    objStream.LoadFromFile(strFileName);
    
    if(Math.round(objStream.Size/1024,2)>maxsize)
        {alert ("抱歉！您選擇的檔為 "+Math.round(objStream.Size/1024,2)+" KB　n超過了程式"+maxsize+" KB 的限制！");
        //document.form1.reset();
        return false;
        }
        return true;
}

/*****************************************************
*函數名稱:fucCheckNUM
*目    的:限制只能輸入全形或半形數位

*參    數:NUM:要檢測的數字
*****************************************************/

function fucCheckNUM(NUM)
{
   
    var i,j,strTemp;
    strTemp="0123456789０１２３４５６７８９";
    if ( NUM.length==0) return true;//為空則不符合條件
    if(NUM.charAt(0)==0 || NUM.charAt(0)=='０') return true;//第一個數為0則不符合件


    for (i=0;i<NUM.length;i++)
    {
        j=strTemp.indexOf(NUM.charAt(i)); 
        if (j==-1)
          {
           //說明有字元不符合條件
             return true;
          }
    }
    //說明是全形或半形數字
    return false;
}



////////////////////////////////////////////////
//當滑鼠移到行時顏色 	
//此函數必須被表裏的tr調用不能被表直接調用，資料源為資料島的表
function mouseout(handle,parenttable)//handle是行id parenttable是handle所在的表id
{
	handle.style.color = 'black';
	var rows=parenttable.rows;
	for(var i=0;i<rows.length;i++)
	{
		if ( rows[i].style.backgroundColor=='blue')
		{
			rows[i].style.backgroundColor='blue';
		}
		else
		{
			//rows[i].style.backgroundColor='linen';
		}
	}

}
//當滑鼠移到行時顏色

//此函數必須被表裏的tr調用不能被表直接調用，資料源為資料島的表
function mouseover(handle)//handle是行id
{
  //alert(handle);
  handle.style.color = '#cc0000';
  handle.style.cursor='hand';
  
}

function OnSelectBgColor(handle,parenttable)//handle是行id parenttable是handle所在的表id
{
	var rows=parenttable.rows;
	
	var cells=parenttable.rows;

	var collom=parenttable.cells.length/parenttable.rows.length;

	var returndata=new Array();//單擊是返回值，返回1,2列的值

	for(var i=0;i<collom;i++)
	{
	returndata[i]=handle.children(i).innerText;
	
	}
	//因為如果是空行而又改變了它的顏色則下次將以此為膜版而全部變藍色
	if(returndata[0]=="") return(returndata);
	//handle.style.backgroundColor = "#4074bf";
	handle.style.backgroundColor = "#ffcccc";
	handle.style.COLOR="#ffffff";
	for(var i=0;i<rows.length;i++)
	{
		//if(rows[i].style.backgroundColor == "#4074bf") 
		if(rows[i].style.backgroundColor == "#ffcccc") 
		{
			rows[i].style.backgroundColor = "linen";
			handle.style.COLOR="#000000";
		} 
		
		if(rows[i].style.backgroundColor == "linen") 
		{
			handle.style.backgroundColor = "#ffcccc";
			handle.style.COLOR="#ffffff";
		}
	}		
	return(returndata);		
}


/*****************************************************
* 函數名稱: fn_isNumber()
* 目    的: 只為數字。

* 參    數: str:要判斷的值

* xx. YYYY/MM/DD   VER     AUTHOR      COMMENTS
*  1. 2007/12/29   1.00    jason     Create
*****************************************************/
function fn_isNumber(str){
    //regStr==/^\d+(\.\d+)?$/;
    regStr=/^[0-9]+$/;//數字
    regResult = regStr.test(str);
    return regResult;
}
/*****************************************************
* 函數名稱: fn_isNumber()
* 目    的: 判斷類別。

* 參    數: str:要判斷的值,type:1:正數字，2：小數，3：數和字母
* xx. YYYY/MM/DD   VER     AUTHOR      COMMENTS
*  1. 2007/12/29   1.00    jason     Create
*****************************************************/
function fn_isType(str,type){
    regStr="";
    switch(type)
    {
        case 1://數字
             regStr=/^[0-9]+$/;
             break;
        case 2://小數
             regStr=/^(\d*)[\.(\d*$)]/;
             break;
        case 3://數位和字母

             regStr=/^[A-Za-z0-9]+$/;

             break;
        case 4://數位和字母及_線

            regStr=/^[A-Za-z0-9_]/g;

             break;
        case 5://全形數位和字母

            regStr=/^[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+/g;

            break;
        case 6://中文
            regStr=/^[\u4E00-\u9FA5]$/g;
            break;
        case 7://日期
            sY=str.substring(0,str.length-4);//以為同的年份2月的天數不一樣，具體來定
            if(sY%4!=0 ||(sY%100==0 && sY%400!=0)){
                regStr=/^(\d{4})\.((1|3|5|7|8|10|12\.(0[1-9]|(1[0-9])|(2[0-9])|(3[0-1])))|(4|6|9|11\.(0[1-9]|(1[0-9])|(2[0-9])|(30)))|(2\.(0[1-9]|(1[0-9])|(2[0-8]))))$/;
            }else{
                regStr=/^(\d{4})\.((1|3|5|7|8|10|12\.(0[1-9]|(1[0-9])|(2[0-9])|(3[0-1])))|(4|6|9|11\.(0[1-9]|(1[0-9])|(2[0-9])|(30)))|(2\.(0[1-9]|(1[0-9])|(2[0-9]))))$/;
            }
            break;
        case 8://身份證

            regStr=/^\d{15}|(\d{18})/;
            break;
    }
    if(regStr!=""){
        regResult = regStr.test(str);
        return regResult;
    }else{
        alert("輸入判斷類別錯誤!");
        return false;
    }
}


/*
* 函數名稱: fn_IsEmail()
* 目    的: 判斷是否是郵箱。
  Creater:  jason
  Date:     2008/03/10
*/
function fn_IsEmail(mail)
{
    var cstrl=/^([a-zA-Z0-9_\.])+@([a-zA-Z0-9_-])+\.([a-zA-Z0-9_\.])+/;
    flag=cstrl.test(mail)
   if(flag)
      return true;
    return false;
}

/*
 函數名稱: txtcheck()
 目    的: 判斷控制項值是否為空
 Creater:  jason
 Date:     2008/03/11
*/
function txtcheck(objForm,txtname, txt) {
	if ( eval( 'document.'+objForm+'.'+txtname).value == "" ){
		return "\n     -  " + txt;
	} 
	else {
		return '';
	}
}

function txtcheckbyid(txtid,txt) {
	if ( eval('document.getElementById(\''+txtid+'\')').value == "" ){
		return "\n     -  " + txt;
	} 
	else {
	return '';
	}
	
}


/*
    功能：全選/全不選     參數：chkObj 全選checkbox
  */
  function ChkAllCheckedChange(chkObj)
  {
    var flag=chkObj.checked;
    var chks=document.getElementsByTagName('input');
    var i=0;
    for(var i=0;i<chks.length;i++)
    {
      if(chks[i].type.toString().trim()=='checkbox')
        chks[i].checked=flag;
    }
  }

  
  /*
    功能：如果列表中有一項沒選中，則全選按鈕也為不選中狀態     參數：chkObj：當前觸發核取方塊
  */
  function ItemChkStateChange(chkObj)
  {
     var bool=chkObj.checked;
     if(!bool)
     {
       document.getElementById('chkAll').checked=false;
     }
  }
  
   /*
    功能：獲取所選項編號集合
    返回格式：2,4,8
  */
  function GetSelItemIDS()
  {
     var result='';
     var chks=document.getElementsByTagName('input');
    var i=0;
    for(i=0;i<chks.length;i++)
    {
      if(!(chks[i].type.toString().trim()=='checkbox'))
      {
         continue;
      }
      if(chks[i].checked)
      {
        var chkV=chks[i].value.trim();
        if(chkV=='-1')
         continue;
        result+=chkV+',';  
      }
    }
    if(result.trim()!='')
      result=result.substring(0,result.length-1);
    return result.trim();
  }

/*
  刪除按鈕事件
*/
 function fn_BtnDelete_Click()
 {
   var ids=GetSelItemIDS();
   if(ids=='')
   {
     alert('請指定要刪除的項！');
     return false;
   }
   document.getElementById('hid_SelItemIDS').value=ids;
   return true;
 }
 
 
 //******************************************************************************************************************
 //FileUpLoadControl
 
 		function SetItemChkState(chkallid)
            {
             var chka=document.getElementById(chkallid);
             var chks=chka.parentNode.getElementsByTagName('input');
             var i=0;
             for(var i=0;i<chks.length;i++)
            {
                if(chks[i].type.toString().trim()=='checkbox')
                chks[i].checked=chka.checked;
            }
           }
           
           function fun_BeforDel(chkallid)
           {
             var chks=document.getElementById(chkallid).parentNode.getElementsByTagName('input');
             var i=0;
             for(var i=0;i<chks.length;i++)
             {
                if(chks[i].type.toString().trim()=='checkbox')
                {
                  if(chks[i].checked && chks[i].value!='-1')
                  {
                    return confirm('確實要刪除選中檔嗎？');
                   } 
                 }
             }
             alert('請選擇你要刪除的檔');
             return false;
           }
           


			function DoUpload(inForm) {
//				theFeats = "height=160,width=600,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no";
//				theUniqueID = Math.floor(Math.random() * 1000000) * ((new Date()).getTime() % 1000);
//				window.open("ABCUpload/progressbar.aspx?ProgressID=" + theUniqueID, theUniqueID, theFeats);
//				thePos = inForm.action.indexOf("?");
//				if (thePos >= 0)
//					inForm.action = inForm.action.substring(0, thePos);
//				inForm.action += "?UploadID=" + theUniqueID;
//				inForm.submit();
				return true;
			}






