

function LTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) 
   {   
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
      {
         j++;
      }
      s = s.substring(j, i);
   }
   return s;
}
function RTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) 
   {
      var i = s.length - 1;       
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
      {
         i--;
      }
      s = s.substring(0, i+1);
   }
   return s;
}
function Trim(str)
{
   return RTrim(LTrim(str));
}

//----------------------------------------------------------------------------------------
function GDMS_Date()
{
    this.DaysInMonth = GDMS_Date.DaysInMonth;
    this.IsDate = GDMS_Date.IsDate;
    this.CH_EnglishDate = GDMS_Date.CH_EnglishDate;
    this.CH_ChineseDate = GDMS_Date.CH_ChineseDate;
    this.DateDiff = GDMS_Date.DateDiff;
    this.AddDay = GDMS_Date.AddDay;
}

function GDMS_Date.DaysInMonth(year,month)
{
    var m = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if (year<=1911) year+=1911;
    if((year%4==0 && year%100!=0) || year%400==0)
    {
        m[1] = 29;
    }
    // 驗證
    var iy = parseInt(year, 10);
    var im = parseInt(month, 10);
    
    if(isNaN(iy)==false && isNaN(im)==false)
    {
        if(iy>0 && im>0 && im<=12)
        {
            return m[im-1];
        }
    }
    return 0;
}

function GDMS_Date.IsDate(date)
{
    var dTemp;
    dTemp=date.match(/^(\d{3})(\d{2})(\d{2})$/);//0930202
    
    if (!dTemp) 
    {
		var dTemp1;
		dTemp1=date.match(/^(\d{2})(\d{2})(\d{2})$/);//930202
		if (!dTemp1) 
		{
			var a = date.split("/");
			if(a.length == 3)
			{
				var iy = parseInt(a[0], 10);
				var im = parseInt(a[1], 10);
				var id = parseInt(a[2], 10);
			}
			else
			{
				return false;
			}
		}
		else
		{
			var iy = parseInt(RegExp.$1, 10);
    		var im = parseInt(RegExp.$2, 10);
			var id = parseInt(RegExp.$3, 10);
		}	
    }
    else
    {
		var iy = parseInt(RegExp.$1, 10);
    	var im = parseInt(RegExp.$2, 10);
		var id = parseInt(RegExp.$3, 10);
    }
    
	if(isNaN(iy)==false && isNaN(im)==false && isNaN(id)==false)
		{
			if (iy>0){
			    var days = this.DaysInMonth(iy,im);
			    if(days>0 && id>0 && id<=days)
			    {
				   return true;
			    }
			}
			else{
				return false;
			}    
		}
		return false;
}

function GDMS_Date.CH_EnglishDate(date)
{
    var a = date.split("/");
    
    if(a.length == 3)
    {
        var iy = parseInt(a[0], 10);
        if(iy < 1900)
        {
            iy += 1911;
        }
        var im = parseInt(a[1], 10);
        var id = parseInt(a[2], 10);
        var strDate = iy + "/" + im + "/" +id;
        if(this.IsDate(strDate) == true)
        {
            return strDate
        }
    }
    return null;
}

function GDMS_Date.CH_ChineseDate(date)
{
    var a = date.split("/");
    
    if(a.length == 3)
    {
        var iy = parseInt(a[0], 10);
        if(iy >= 1911)
        {
            iy -= 1911;
        }
        var sy;
        sy=eval(iy);
        sy='0' + sy ;
        sy = sy.substr(sy.length -3 ,3);
        var im = parseInt(a[1], 10);
        var id = parseInt(a[2], 10);
        var strDate =  sy + "/" + im + "/" +id; 
        if(this.IsDate(strDate) == true)
        {
            return strDate
        } 
    }
    return null;
}

function GDMS_Date.DateDiff(date_s,date_e) 
{ 
    if(date_e == null)
    {
        date_e = date_s;
    }
    var START_D = new Date(date_s); 
    var END_D = new Date(date_e); 
    if(START_D > END_D) 
    {
         return false; 
    } 
    return true; 
}

function GDMS_Date.AddDay(sDate,iNUM){
	var sTmpDate;
	var elp;
	var dateTmp;
	var TmpY,TmpM,TmpD;
	sTmpDate=GDMS_Date.CH_EnglishDate(sDate);
	elp=eval(iNUM);
	
	dateTmp=new Date(elp * 86400000 + (new Date(sTmpDate)).getTime());
	TmpY=dateTmp.getFullYear();
	TmpM = dateTmp.getMonth() +1;
	TmpD=dateTmp.getDate();
	TmpY= TmpY - 1911;
	TmpY= '00' + TmpY;
	TmpM= '0' + TmpM;
	TmpD= '0' + TmpD;
	TmpY = TmpY.substr(TmpY.length-3,3);
	TmpM = TmpM.substr(TmpM.length-2,2);
	TmpD = TmpD.substr(TmpD.length-2,2);
	sTmpDate=TmpY + '/' + TmpM +'/' + TmpD;

	return sTmpDate;

}

//--------------------------------------------------------------------------
function GDMS_Dlg()
{
    this.oleWin = null;
    this.OpenWindow = GDMS_Dlg.OpenWindow;
    this.OpenWindowResize = GDMS_Dlg.OpenWindowResize;
}

function GDMS_Dlg.OpenWindow(width,height,url)
{
    var top,left;
    top = (screen.height - height)/2-20;
    left = (screen.width - width)/2;
    
    var features = "top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=auto,status=no,resizable=yes";
    
    if(this.oleWin != null)
    {
        this.oleWin.close();
    }
    this.oleWin = window.open(url,'',features);
}
function GDMS_Dlg.OpenWindowResize(width,height,url)
{
    var top,left;
    top = (screen.height - height)/2;
    left = (screen.width - width)/2;
    
    var features = "top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=yes,resizable=yes";
    //var features = "top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=yes,status=no";
    
    if(this.oleWin != null)
    {
        this.oleWin.close();
    }
    this.oleWin = window.open(url,'',features);
}

function GDMS_Dlg.OpenWindowResizeScroll(width,height,url)
{
    var top,left;
    top = (screen.height - height)/2;
    left = (screen.width - width)/2;
    
    var features = "top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=yes,resizable=yes";
    //var features = "top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=yes,status=no";
    
    if(this.oleWin != null)
    {
        this.oleWin.close();
    }
    this.oleWin = window.open(url,'',features);
}
//-------------------------------------------------------------------------------------------
//function OpenCalendar(objName, dayvalue,objReturn){
function OpenCalendar(objName, dayvalue){
  GDMS_Dlg.OpenWindow(400,250,'../LIB/GDMS_Calendar.aspx?objName=' + objName + '&dayvalue=' + dayvalue);
 
} 


function OpenWordsMulti(objName,strKind,objReturn){
    //var features = "dialogWidth:400px;dialogHeight:300px;status:no";
   //showModalDialog('../LIB/WORDS_MULTI.aspx?objName=' + objName + '&strkind=' + strKind,objReturn,features)   
   var sURL;
    sURL='../LIB/WORDS_MULTI.aspx';
    GDMS_Dlg.OpenWindow(400,300, sURL + '?objName=' + objName + '&strkind=' + strKind);
} 

function OpenWords(objName,strKind){

	   var sURL;
	   if (document.domain=='localhost') {
		  //sURL='http://localhost/GDMSODIC/LIB/WORDS.aspx';
		  sURL='http://localhost/GDMSODIC/LIB/WORDS_LIST.aspx';
	   }
	   else{
		sURL='http://' + document.domain + '/LIB/WORDS_LIST.aspx';
	   }
	   
		//var features = "dialogWidth:260px;dialogHeight:170px;status:no";
		//showModalDialog(sURL + '?objName=' + objName + '&strkind=' + strKind,objReturn,features);
		GDMS_Dlg.OpenWindowResize(400,300, sURL + '?objName=' + objName + '&strkind=' + strKind);
   }



function CheckDate(objSource, objArgs){
  var txtValue = objArgs.Value; //取得控制項的值
  objArgs.IsValid= true;
  if (txtValue.length>0 )
	  objArgs.IsValid= GDMS_Date.IsDate(txtValue);
	  if (objArgs.IsValid == true){
	   var dTemp;
		dTemp=txtValue.match(/^(\d{3})(\d{2})(\d{2})$/);//0930201
		if (dTemp) {
			var sID=document.all[objSource.id].controltovalidate;
			document.all[sID].value=RegExp.$1 + '/' + RegExp.$2 + '/' + RegExp.$3;
		}
		else {
			 var dTemp1;
			 dTemp1=txtValue.match(/^(\d{2})(\d{2})(\d{2})$/);//930201
			 if (dTemp1) {
				var sID=document.all[objSource.id].controltovalidate;
				document.all[sID].value='0' + RegExp.$1 + '/' + RegExp.$2 + '/' + RegExp.$3;
			 }
			 else {
				var a = txtValue.split("/");//093/2/1
				if(a.length == 3)
				{
					var iy = parseInt(a[0], 10);
					var im = parseInt(a[1], 10);
					var id = parseInt(a[2], 10);
					iy= '00' + iy;
					im= '0' + im;
					id= '0' + id;
					iy = iy.substr(iy.length-3,3);
					im = im.substr(im.length-2,2);
					id = id.substr(id.length-2,2);
					var sID=document.all[objSource.id].controltovalidate;
					document.all[sID].value=iy + '/' + im + '/' + id;
				}
			}
		}
      
	  }
}



function CloseWin(sURL){
//檢查父視窗是否關閉
	if ((navigator.userAgent.indexOf("Mac") > -1)) {
		if (window.top.opener) {
			//開啟
			if (sURL != '') {
				//window.top.opener.location.href=sURL;
				var win = window.top.opener;
				if (typeof(win)=="object"){
					try { win.WinDataRefresh()
					}
					catch(e) {
						}
					finally {
						window.top.close(); }
					}
					
				else{
					window.top.close();
				}
			}	
			window.top.close();
		}
		else{
			window.top.close();
		}
	}
	else {
		if (!window.top.opener.closed) {
			//開啟
			if (sURL != '') {
				//window.top.opener.location.href=sURL;
				var win = window.top.opener;
				if (typeof(win)=="object"){
					try { win.WinDataRefresh()
					}
					catch(e) {
						}
					finally {
						window.top.close(); }
					}
					
				else{
					window.top.close();
				}
			}	
			window.top.close();
		}
		else{
			window.top.close();
		}
	
	}
}				    
//--------------------------------------------------------------------------

function ddlCall(Job,obj1,obj2){
   window.top.frames('process').location='../LIB/GDMS_PROCESS.aspx?Job='+Job+'&obj1Value='+obj1.value+'&obj2Name='+obj2.name;
}

function ddlCall_FILE_PATH(Job,obj1,obj2){

	ddlCall(Job,obj1,obj2);
	clear_FILE_PATH();
}

function ddlCall2(Job,obj1,obj2){
	ddlCall(Job,obj1,obj2);
	UnitScript();
}

function ddlCallBack(sObjName){
	var obj = Form1[sObjName];  
	for ( var i=obj.options.length ; i>=0 ; i--)
		obj.options[i] = null;
    var aOptions = window.top.frames("process").aOptions;
	for ( var i=0 ; i<aOptions.length ; i++)
		obj.options[i] = aOptions[i];
} 

//----------------------------------------------------------------------------------------
function Call_Frm(sTYPE,sURL){
	//CallBack_Form = Form1;
	
	var sURLTEMP;
	
	sURLTEMP=sURL + '?sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sReturnType='  + Form1.argReturnType.value;
	
	switch(sTYPE){
		
		case "WAE1020":
			if (Form1.argRCV_PK == undefined) {
				GDMS_Dlg.OpenWindow(400,420,sURLTEMP);
			}
			else {
				
				GDMS_Dlg.OpenWindow(400,420,sURLTEMP + '&sRCV_PK=' +  Form1.argRCV_PK.value );
			}	
			break;
			
			
		case "WAE1040":
			GDMS_Dlg.OpenWindow(400,420,sURLTEMP);
			break;
			
		case "WAE1050"://刪除	
			//var sMSG='確定刪除該電子文資訊';
			//alert('確');
			//sMSG=encodeURI(sMSG);
			//alert(sMSG);
			//alert(decodeURI(sMSG));
			if (FLConfirm('確定刪除該電子文資訊','')=='OK') {
			//if (FLConfirm(sMSG,'')=='OK') {
				GDMS_Dlg.OpenWindow(350,150,sURLTEMP + '&sRCV_PK=' +  Form1.argRCV_PK.value );
			}
			break;
				
		case "WAE1030"://銷號(收文)
		case "WAE3011"://退分(承辦人)
		case "WAE3070"://銷號(承辦人)
		//  	  GDMS_Dlg.OpenWindow(500,300,'RCV_PRO_CANCEL.aspx?sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value);
			   	GDMS_Dlg.OpenWindow(500,320,sURLTEMP);
			break;
		case "WAE6010"://退件(發文)
			   	GDMS_Dlg.OpenWindow(500,360,sURLTEMP);
			break;	
				
		case "WAE3021"://會辦
			//GDMS_Dlg.OpenWindow(600,400,sURLTEMP);
			sURLTEMP=sURLTEMP + '&sROLE_FK=' + Form1.argROLE_FK.value;
			GDMS_Dlg.OpenWindow(600,480,sURLTEMP);
			break;         
		case "WAE3040"://發文
		case "WAE6020"://發文(文書)
			//GDMS_Dlg.OpenWindow(600,400,sURLTEMP);
			GDMS_Dlg.OpenWindow(680,630,'../LIB/LIB_FRAMESET.aspx?sURL=' + sURL + '&sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sROLE_FK='  + Form1.argROLE_FK.value + '&sReturnType='  + Form1.argReturnType.value);
			break;      
		case "WAE3050"://存查
			//GDMS_Dlg.OpenWindow(600,400,sURLTEMP);
			GDMS_Dlg.OpenWindow(650,480,'../LIB/LIB_FRAMESET.aspx?sURL=' + sURL + '&sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sROLE_FK='  + Form1.argROLE_FK.value + '&sReturnType='  + Form1.argReturnType.value);
			break;   
		case "WAE3060"://併案
		case "EXTEND"://展期
			GDMS_Dlg.OpenWindow(680,520,'../LIB/LIB_FRAMESET3.aspx?sURL=' + sURL + '&sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sROLE_FK='  + Form1.argROLE_FK.value + '&sReturnType='  + Form1.argReturnType.value);
			//GDMS_Dlg.OpenWindow(680,500,'../LIB/LIB_FRAMESET.aspx?sURL=' + sURL + '&sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sROLE_FK='  + Form1.argROLE_FK.value + '&sReturnType='  + Form1.argReturnType.value);
			break;     
		case "CONTENT"://內容
			//GDMS_Dlg.OpenWindow(600,400,sURLTEMP);
			GDMS_Dlg.OpenWindow(650,430,'../LIB/LIB_FRAMESET.aspx?sURL=' + sURL + '&sGDOC_PK=' + Form1.argGDOC_PK.value + '&sSSTA_FK='  + Form1.argSSTA_FK.value + '&sReturnType='  + Form1.argReturnType.value);
			break;
		case "USERDOC"://開啟公文製作-清稿
			if (Form1.argGDOC_FILEID.value==''){
				OpenRCV(Form1.argGDOC_PK.value,Form1.argUNIT_FK_PRI.value,Form1.argUNIT_WORD.value);
			}
			else {
				OpenProject(Form1.argGDOC_FILEID.value,Form1.argUNIT_FK_PRI.value,Form1.argUNIT_WORD.value);
			}
			break;   
		case "SENDDOC"://校對開公文製作-稿轉函
			//OpenSend(Form1.argGDOC_FILEID.value,Form1.argDOC_TYPE.value,Form1.argDOC_PREVIEW.value,Form1.argsDATE.value,Form1.argUNIT_FK_PRI.value);
 			OpenSend(Form1.argGDOC_FILEID.value,Form1.argDOC_TYPE.value,Form1.argDOC_PREVIEW.value,Form1.argsDATE.value,'0',Form1.argUNIT_WORD.value);
			break;   
		case "SIGN":	
			window.top.frames('process').location='../LIB/GDMS_PROCESS.aspx?Job=SetSIGN' + '&sGDOC_PK='+Form1.argGDOC_PK.value+'&sROLE_FK='+Form1.argROLE_FK.value;	
			break;
		default:
			GDMS_Dlg.OpenWindow(300,350,sURLTEMP);
				
	}
}
//---------------------------------------------------------------------------------------------------------------------------------------

function GIVE_GDOCPK(sID,sSYSYear){
	var iLEN;
	var sValue;
	sValue=Form1.all[sID].value;
	iLEN=sValue.length;
	if (iLEN==0) {
		return;
	}
	else if (iLEN<8) {
		var sPK=sSYSYear;
		var i;
		for (i=iLEN; i<7;i++){
			sPK=sPK + '0';
		}
		Form1.all[sID].value= sPK + sValue;
	}
}
//-----------------------------------------------------------------------------------
