<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*"%>
<%@page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*,com.csc.library.formula.FormulaString"  %>
<%@page import="com.csc.library.session.DbInquiry,java.util.HashMap,java.util.Vector" %>

<jsp:useBean id="TAU143" class="com.csc.library.system.Task" scope="page"/>
<%
	CscCalendar today = new CscCalendar();
	CscCalendar cs = new CscCalendar();

	FormulaString fs = new FormulaString();
	CheckNull chkNull = new CheckNull();

	String selectCss = "style='color:#4A66CC; background:#CCCCCC';" ;
	String COT = "COT"; String COF = "COF"; String PH = "PH" ;
	String w_status = chkNull.chkNullString(request.getParameter("__writeoff_status"),"true");
	
	int yearid = Integer.parseInt(chkNull.chkNullString(request.getParameter("__yearid"), Integer.toString(today.getYear())));
	
	TAU143.setChannel(request,response);
	HelpEntry screen = (HelpEntry) TAU143.process("HelpEntry","TAU143HELP");

	String empid = chkNull.chkNullString(request.getParameter("__employeeid"),screen.getString("employeeid"));

	/* update write-off */
	String writeoff = chkNull.chkNullString(request.getParameter("__writeoff_leave"));
	updateWriteOffLeave(empid, screen.getUProfile(), yearid, writeoff);
	/* end update write-off */

	/* update privilege */
	String priv_l = chkNull.chkNullString(request.getParameter("__prive_leave"));
	updatePrivLeave(empid, screen.getUProfile(), priv_l);
	/* end update privilege leave */

	screen.process();
	screen.nextRec();
	screen.referLangOff();

	String ANNUAL = getAnnualID(screen.getUProfile());

	/* find balance */
	DbInquiry inqTleave = new InitialInquiry(screen.getUProfile()).getDbInquiry("mempl_vacation");
	inqTleave.setColumn("yearid,employeeid,companyid,eventgrp");
	inqTleave.setFilter("employeeid = '" + empid + "' and eventgrp = '" + ANNUAL + "' and yearid >= " + String.valueOf(yearid - 3)) ;
	inqTleave.refresh();

	HashMap hmUsedLeaveYearKey = new HashMap();
	while(inqTleave.next()){
		hmUsedLeaveYearKey.put(inqTleave.getString("yearid"),"");
	}
	/* end find used leave */

	/* find privilege leave */
	DbInquiry inqMpriv = new InitialInquiry(screen.getUProfile()).getDbInquiry("Mprivilege_leave");
	inqMpriv.setColumn("*");
	inqMpriv.setFilter("employeeid = '" + empid + "'") ;
	inqMpriv.refresh();

	HashMap hmPriv = new HashMap();
	while(inqMpriv.next()){
		hmPriv.put(inqMpriv.getString("eventgrpid"), clonePriv(inqMpriv.getCurrentDbRecord()));
	}

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html ng-app="myHR">
<head>
<style type=text/css>
	FONT.error {
		FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif";
		font-size: 14px;
		color: #FF0000;
	}

	.write_off{
		width: 60px ;
	}

	.write_off_caption{
		display: none;
	}

	.Table
    {
        display: table;
    }

    .Title
    {
        display: table-caption;
        text-align: center;
        font-weight: bold;
        font-size: larger;
    }
    .Heading
    {
        display: table-row;
        font-weight: bold;
        text-align: center;
    }
    .Row
    {
        display: table-row;
    }
    .fonttaho
    {
       font-size: 14px; 
	   font-family : Tahoma, "MS Sans Serif";
	   height : 28px;
    }
    .Cell
    {
		color: #75A8CC;
        display: table-cell;
		height: 20px;
        border: 1px solid #CCCCCC;
        border-width: thin;
        padding-left: 10px;
        padding-right: 10px;
		cursor: pointer;
		line-height: 20px;
    }
	.Cell_1
    {
		color: #75A8CC;
        display: table-cell;
		height: 20px;
        padding-left: 10px;
        padding-right: 10px;
		cursor: pointer;
		line-height: 20px;
    }

</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../CSS/TISCO.css" rel="stylesheet" type="text/css">
<link href="../CSS/bootstrap.css" rel="stylesheet"  type="text/css">
<link href="../CSS/bootstrap_csc_backend.css" rel="stylesheet"  type="text/css">
<script type="text/javascript" src="../JS/jquery-2.1.3.min.js"></script>
<script type='text/javascript' src="../JS/bootstrap.js"></script>
<script type='text/javascript' src='../JS/SCREEN.js'></script>
<script src="../JS/angular-1.3.15/angular.js" type="text/javascript"></script>	
<script src="../JS/ANGULAR/SCREEN_ANGULAR.js" type="text/javascript"></script>
<script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script>
<script language="javascript">getTitleName();</script>
<script src="../JS/angular-1.3.15/angular.js"></script>
<script type='text/JavaScript' SRC='../JS/ANGULAR/SCREEN_ANGULAR.js'></script>
<script src="../JS/VIEWCALENDAR.js"></script>



<script language="javascript">
<!--
function chkDateTime1(valueSearch){ // 23/03/2004
	var tmpval="";
	with(document.cscform){

				var valueSearch1=valueSearch.split("-");

					if(valueSearch1.length==3){
						if(valueSearch1[1].length==1){
							valueSearch1[1]="0"+valueSearch1[1];
						}
						if(valueSearch1[0].length==1){
							valueSearch1[0]="0"+valueSearch1[0];
						}
						valueSearch1[2]=parseInt(valueSearch1[2]);
			        	return valueSearch=valueSearch1[2]+"-"+valueSearch1[1]+"-"+valueSearch1[0];
					 }
	}
}

function chkDateStart(valueSearch,date){ 
	var tmpval="";
	var data1="";
	with(document.cscform){		
			//alert("date_start.value -> "+valueSearch);
				var valueSearch1=valueSearch.split("-");
				//alert("0 - >"+valueSearch1[0]+" #1 - >"+valueSearch1[1]+" #2 - >"+valueSearch1[2]);
					if(valueSearch1.length==3){	
						if(valueSearch1[0].length==4){
							//alert("length -> "+valueSearch1[0].length);
							data1=valueSearch1[0];
							valueSearch1[0]=valueSearch1[2];
							valueSearch1[2]=data1;							
						}
						if(valueSearch1[1].length==1){
							valueSearch1[1]="0"+valueSearch1[1];
						}
						if(valueSearch1[0].length==1){
							valueSearch1[0]="0"+valueSearch1[0];
						}
						valueSearch1[2]=parseInt(valueSearch1[2]);
						if(date=="date_start"){
			        	date_start.value=valueSearch1[0]+"-"+valueSearch1[1]+"-"+valueSearch1[2];				
						}else{
						date_end.value=valueSearch1[0]+"-"+valueSearch1[1]+"-"+valueSearch1[2];
						}
					 }
					//alert("par.value -> "+date_start.value);
	}
}

	function bdSave() {
		with(document.cscform){
			var tb = document.getElementById("tblShowDetail");
			var ulist = "";
			var hidWriteFlag = document.getElementById("__writeoff_status");

			if(confirm(MyCode[1])) {
				for(i=3; i < tb.rows.length - 1; i++){
					if(ulist.length > 0){ ulist += "," ;}
					var tdname = tb.rows[i].cells[4].id.split(":");
					var txobj = document.getElementsByName("write_off:" + tdname[1]);
					ulist += tb.rows[i].id + "#" + txobj[0].value ;
				}

				__fixCon.value="employeeid= '"+__employeeid.value+"'";
				__savemode.value="save";
				__writeoff_leave.value = ulist ;

				submit();
			}
		}
	}

	function bdOnload() {
		with(document.cscform){				
			__fixCon.value="employeeid= '"+__employeeid.value+"'";
			submit();
		}
	}

	function pageDesc(c,desc){	
		var fullname = document.getElementsByName("MEMPLOYEE@FULLNAME");
		var emp = document.getElementsByName("__employeeid");
		var yearid = document.getElementById("__yearid");

		var fixcon = "lv_type = '" + c + "' and employeeid='<%=empid%>' and yearid = '"+ yearid.value +"'"; 
		var param="TAU144.jsp?__empName="+fullname[0].value+"&__empID="+emp[0].value+"&__ldesc="+desc+"&__cmd=&__gorec=&__fixCon="+fixcon+"&__yearid=" + yearid.value+"&__eventgrp="+c;
		window.open(param,"Help","left=150,top=150,width=680,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes");
	}

	function pageAllowDesc(c,desc){	
		var fullname = document.getElementsByName("MEMPLOYEE@FULLNAME");
		var emp = document.getElementsByName("__employeeid");
		var yearid = document.getElementById("__yearid");
		var fixcon = "";

		var param = "";
		var page = "";

		if(c == "COT"){
			fixcon = "type = '1' and employeeid='<%=empid%>' " ; 
			page = "TAU_LVALLOWANCE";
		}else if(c == "COF"){
			fixcon = "type = '2' and employeeid='<%=empid%>' " ;
			page = "TAU_LVALLOWANCE";
		}else if(c == "PH"){
			page = "TAU_PHALLOWANCE";
		}
		
		param=page+".jsp?__empName="+fullname[0].value+"&__empID="+emp[0].value+"&__ldesc="+desc+"&__cmd=&__gorec=&__fixCon="+fixcon+"&__yearid=" + yearid.value;
		window.open(param,"Help","left=150,top=150,width=680,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes");
	}


	function gotoDetail(page){
		with(document.cscform){
				var a=chkDateTime1(date_start.value);
				var b=chkDateTime1(date_end.value);
				__cmd.value = "";
				__date_start.value = a;
				__date_end.value = b;
				__fixCon.value = " employeeid='<%=request.getParameter("__employeeid")%>' and lv_type = 'LT' and dateid >= '"+a+"' and dateid <= '"+b+"'";
				action = "TARS001.jsp";
				submit();
		}
	}

	function chkEmpid(){
		window.document.forms[0].__employeeid.value=window.parent.document.forms[0].__employeeid.value;
	}	

	function checkCF() {checkConfirm();}

	function goHelp(helpName,inputName){
		with(document.cscform){
			var helpReturn="";
			var fcon=__fixCon.value;
			if(inputName=="__employeeid" ){
				helpReturn="__employeeid:employeeid,MEMPLOYEE@FULLNAME";
			}
			
			if(fcon=="")
				linkHelp_Return(helpName,helpReturn);
			else
				helpPageCon(helpName,helpReturn,fcon);
		}
	}
	
	function linkHelp(help,input){
		var fixcon="";
		with(document.cscform){
			fixcon=" ((employeeid in ("+__emp1.value+") ) or  (employee in ("+__emp2.value+"))) " 
			var param="PRU084.jsp?__helpName="+help+"&__fieldSearch="+input+"&__pageCall="+__screen.value+"&__fixCon="+fixcon;
			window.open(param,"Help","left=150,top=150,width=600,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes");
		}
	}

	function showByYear(yearid){
		with(document.cscform){				
			__fixCon.value="employeeid= '"+__employeeid.value+"'";
			__yearid.value = yearid ;
			submit();
		}
	}

	function showWriteOff(){
		var tdWriteOff1 = document.getElementById("tdWriteOff1");
		var tdWriteOff2 = document.getElementById("tdWriteOff2");
		var tdWriteOff3 = document.getElementById("tdWriteOff3");
		var tdWriteOff5 = document.getElementById("tdWriteOff5");

		var divShow = document.getElementById("divShowWriteOff");
		var divHide = document.getElementById("divHideWriteOff");

		var hidWriteFlag = document.getElementById("__writeoff_status");

		var tb = document.getElementById("tblShowDetail");
		var c = tdWriteOff1.style.display ;
		if(c == "none"){
			tdWriteOff1.setAttribute('style', 'display:');
			tdWriteOff2.setAttribute('style', 'display:');
			tdWriteOff3.setAttribute('style', 'display:');
			tdWriteOff5.setAttribute('style', 'display:');
			divShow.setAttribute('style', 'display:none');
			divHide.setAttribute('style', 'display:');
			hidWriteFlag.setAttribute('value', 'false');

			for(k=3; k < tb.rows.length - 1; k++){
				var trl = tb.rows[k] ;
				trl.cells[4].setAttribute('style', 'display:');
			}
		}else{
			tdWriteOff1.setAttribute('style', 'display:none');
			tdWriteOff2.setAttribute('style', 'display:none');
			tdWriteOff3.setAttribute('style', 'display:none');
			tdWriteOff5.setAttribute('style', 'display:none');
			divShow.setAttribute('style', 'display:');
			divHide.setAttribute('style', 'display:none');
			hidWriteFlag.setAttribute('value', 'true');

			for(k=3; k < tb.rows.length - 1; k++){
				var trl = tb.rows[k] ;
				trl.cells[4].setAttribute('style', 'display:none');
			}
		}
	}

	function setChangePriv(leave){
		var chkObj = document.getElementById("chk_" + leave) ;
		chkObj.checked = true ;
	}

	function bdSavePriv(){
		if(confirm(MyCode[1])) {
			var upd = "";
			var priv_leave = document.getElementById("__prive_leave");
			var tb = document.getElementById("tbPrivilegePart");

			for(k=3; k < tb.rows.length - 1; k++){
				var trl = tb.rows[k].id.split("_")[1] ;
				
				var chk_chg = document.getElementById("chk_" + trl);

				if(chk_chg.checked){
					var con1 = document.getElementById(trl + "_01");
					var con2 = document.getElementById(trl + "_02");
					var con3 = document.getElementById(trl + "_03");
					var con4 = document.getElementById(trl + "_04");
					var con5 = document.getElementById(trl + "_05");
					var con6 = document.getElementById(trl + "_06");

					if(upd.length > 0) upd += "," ;

					upd += trl + ":";
					upd += (con1.checked)?"1:":"0:";
					upd += (con2.checked)?"1:":"0:";
					upd += (con3.checked)?"1:":"0:";
					upd += (con4.checked)?"1:":"0:";
					upd += (con5.checked)?"1:":"0:";
					upd += (con6.checked)?"1":"0";
				}
			}

			priv_leave.value = upd ;
			document.cscform.submit();
		}
	}

	function swappage(){
		var tb_priv = document.getElementById("tbPrivilegePart");

		var c = tb_priv.style.display ;
		if(c == ""){
			tb_priv.setAttribute('style', 'display:none;width:100%');
		}else{
			tb_priv.setAttribute('style', 'display:;width:100%');
		}
	}

	function showPrivLeave(){
		var td_showpriv = document.getElementById("divShowPriv");
		var td_hidepriv = document.getElementById("divHidePriv");

		var c = td_showpriv.style.display ;
		if(c == ""){
			td_showpriv.setAttribute('style', 'display:none;width:100%');
			td_hidepriv.setAttribute('style', 'display:;width:100%');
		}else{
			td_showpriv.setAttribute('style', 'display:;width:100%');
			td_hidepriv.setAttribute('style', 'display:none;width:100%');
			pageScroll();
		}
	}

	function pageScroll() {
    	window.scrollBy(0,50); // horizontal and vertical scroll increments
    	//scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds
	}

	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
//-->
</script>
</head>
<body leftmargin="0" topmargin="0">
	</br>
	<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
	<script language="javascript">initToolTips();</script>
	<form name="cscform" method="post" action="?">
  

<!----------BEGIN CSC INITIAL ZONE ------------------------>

<%=screen.InitialVariable()%>

<!----------END CSC INITIAL ZONE -------------------------->

<script language="javascript">//chkEmpid();</script>
  <input type="hidden" name="__cmd" value="">
  <input type="hidden" name="__screen"  value="TAU143"> 
  <input type="hidden" name="__help" value="">
  <input type="hidden" name="__helpReturn" value="">
  <input type="hidden" name="__helpName" value="">
  <input type="hidden" name="__pageCall" >
  <input type="hidden" name="__referPage" value="">
  <input type="hidden" name="__calendar">
  <script language="javascript">getInputFormatDate();</script>
  <!--input type="hidden" name="__subordinate" value="<%//=screen.getUProfile().get("subordinateid")%>" -->
  <input type="hidden" name="__companyid"  value="<%=screen.getUProfile().get("companyid")%>">
  <input type="hidden" name="__fixCon"  > 
  <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>">
  <input type="hidden" name="__childFilter" >

  <input type="hidden" name="__savemode" id="__savemode" value="">
  <input type="hidden" name="__writeoff_leave" id="__writeoff_leave" value="">
  <input type="hidden" name="__writeoff_status" id="__writeoff_status" value="">
  <input type="hidden" name="__prive_leave" id="__prive_leave" value="">
 
  <%
		String sDate = "01-"+cs.getMM()+"-"+cs.getYear();
		String eDate = cs.getDDMMYYYY();
		try {
				sDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1001");
				eDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1002");
		} catch (Exception e) {}
  %>

  <input type="hidden" name="__date_start" value="<%=sDate%>">
  <input type="hidden" name="__date_end" value="<%=eDate%>">
  <input type="hidden" name="__dateFilter" value=""> 
  <input type="hidden" name="__empID" value="<%=screen.getString("employeeid")%>"> 
  <input type="hidden" name="__empName" value="<%=screen.getString("fullname")%>">   
  <input type="hidden" name="__yearid" id="__yearid" value="<%=yearid%>">
  <div align="center">
    <table class="large">
      <tr> 
        <td class="header" colspan="2" >TAU143,&nbsp;<span swlang code="SW000348">History of Leave for Employee</span>&nbsp;</td>
      </tr>
      <tr> 
        <td colspan="2"> 
          <div align="center"> 
            <center>
              <table cellspacing="0" cellpadding="0" style="width:90%">
                <tr> 
                  <td colspan="2" class="blankspace"></td>
                </tr>
				<tr>
					<td class="columnlabel"><swaplang code='SW000350'></swaplang>&nbsp;</td>
					<td>
						<input type="text" name="__employeeid" size="15" value="<%=screen.getString("employeeid")%>">&nbsp;
						<a href="javascript:goHelp('MEMPLOYEEHELP','__employeeid','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image2" width="20" height="20" border="0" align="absmiddle"></a>
					</td>
				</tr>
				<tr>
					<td class="columnlabel"><span swlang code="SW007745">Name Surname</span>&nbsp;</td>
					<td><input type="text" id="fullname" name="MEMPLOYEE@FULLNAME" value="<%=screen.getString("FULLNAME")%>" disabled size="34">
						<button type="button" class="btn btn-primary width100" swlang code="SW013170" onClick="bdOnload();">VIEW</button>
					&nbsp;
					
					</td>																
				</tr>
                <tr style="display:none"> 
					<td class="columnlabel"><script language="javascript">swapLang('Date Period');</script>&nbsp;</td>
					<td class="columnobject1"> 
						<input name="date_start" type="text" value="<%=chkNull.chkNullString(request.getParameter("__date_start"))%>" size="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(this,date_end)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()">&nbsp;
						<script language="javascript">chkDateStart(document.cscform.date_start.value,"date_start");</script>
						<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar1','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)">
						<img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar1" width="20" height="20" border="0" align="absmiddle" onClick="viewCal('date_start')" alt="Calendar"></a>&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;
						<input name="date_end" type="text" value="<%=chkNull.chkNullString(request.getParameter("__date_end"))%>" size="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(date_start,this)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()">&nbsp;
						<script language="javascript">chkDateStart(document.cscform.date_end.value,"date_end");</script>
						<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar2','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)">
						<img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar2" width="20" height="20" border="0" align="absmiddle" onClick="viewCal('date_end')" alt="Calendar"></a>
						
					</td>
                </tr>
				<tr>
					<td class="blankspace" colspan="2"></td>
				</tr>
				<tr>
					<td class="blankspace" colspan="2"></td>
				</tr>
				<!-- show balance part -->
				<tr>
					<td colspan="2" align="center">
						<div class="Table">
							<div class="Heading">
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-9))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-9%>')" <%=(yearid==(today.getYear()-9))?selectCss:""%>>
									<p><%=today.getYear()-9%></p>
								</div>
								&nbsp;
								<%}%>
								
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-8))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-8%>')" <%=(yearid==(today.getYear()-8))?selectCss:""%>>
									<p><%=today.getYear()-8%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-7))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-7%>')" <%=(yearid==(today.getYear()-7))?selectCss:""%>>
									<p><%=today.getYear()-7%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-6))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-6%>')" <%=(yearid==(today.getYear()-6))?selectCss:""%>>
									<p><%=today.getYear()-6%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-5))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-5%>')" <%=(yearid==(today.getYear()-5))?selectCss:""%>>
									<p><%=today.getYear()-5%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-4))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-4%>')" <%=(yearid==(today.getYear()-4))?selectCss:""%>>
									<p><%=today.getYear()-4%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-3))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-3%>')" <%=(yearid==(today.getYear()-3))?selectCss:""%>>
									<p><%=today.getYear()-3%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-2))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-2%>')" <%=(yearid==(today.getYear()-2))?selectCss:""%>>
									<p><%=today.getYear()-2%></p>
								</div>
								&nbsp;
								<%}%>
								<%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-1))){%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()-1%>')" <%=(yearid==(today.getYear()-1))?selectCss:""%>>
									<p><%=today.getYear()-1%></p>
								</div>
								&nbsp;
								<%}%>
								<div class="Cell" onclick="showByYear('<%=today.getYear()%>')" <%=(yearid==(today.getYear()))?selectCss:""%>>
									<p><%=today.getYear()%></p>
								</div>
								&nbsp;
								<div class="Cell" onclick="showByYear('<%=today.getYear()+1%>')" <%=(yearid==(today.getYear()+1))?selectCss:""%>>
									<p><%=today.getYear()+1%></p>
								</div>
								&nbsp;
								<!-- <div class="Cell" onclick="showByYear('<%=today.getYear()+2%>')" <%=(yearid==(today.getYear()+2))?selectCss:""%>>
									<p><%=today.getYear()+2%></p>
								</div> -->
							</div>
						</div>
					</td>
				</tr>
				<tr align="right">
					<td colspan="2">
						<div class="Table">
							<div class="Heading">

								<div class="Cell_1" id="divShowWriteOff" style="display:">
									<a href="javascript:showWriteOff();" style="text-decoration: none"><b swlang code="SW012696">Show Write-Off</b></a>&nbsp;
								</div>
								<div class="Cell_1" id="divHideWriteOff" style="display:none">
									<a href="javascript:showWriteOff();" style="text-decoration: none"><b>Hide Write-Off</></a>
								</div>
								<div class="Cell_1" id="divShowPriv" style="display:">
									<a href="javascript:showPrivLeave();swappage();" style="text-decoration: none"><b swlang code="SW012697">Show Privilege Leave</b></a>&nbsp;
								</div>
								<div class="Cell_1" id="divHidePriv" style="display:none">
									<a href="javascript:showPrivLeave();swappage();" style="text-decoration: none"><b>Hide Privilege Leave</></a>
								</div>
							</div>
						</div>
					<td>
				</tr>
				<tr> 
					<td colspan="2">
						<table id="tblShowDetail" style="width:100%" class="tablewithborder" >
						<tr>
							<td rowspan="2" height="35" width="300" class="row3"> <div align="CENTER"><b><span swlang code="SW000300">Leave Type</span></b></div></td>
							<td width="" height="17" class="row3"><div align="CENTER"><b><%=yearid - 1%></b></div></td>
							<td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW012698">Inventory</span></b></div></td>
							<td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW000376">Used</span></b></div></td>
							<td id="tdWriteOff1" width="" height="17" style="display:none"><div align="CENTER"><b><script language="javascript">swapLang("Write Off");</script></b></div></td>
							<td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW011906">Balance</span></b></div></td>
							<td width="" height="17" class="row3"><div align="CENTER"><b><%=yearid + 1%></b></div></td>
						</tr>
						<tr bordercolor="#3399FF"> 
							<td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td>
							<td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td>
							<td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td>

							<td id="tdWriteOff2"  width="" height="10" style="display:none">
							<div align="CENTER">[<script language="javascript">swapLang("DD HH MM");</script>]</div></td>

							<td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td>
							<td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td>
						</tr>

			   <%
				String vacation0 = "00:00:00";
				String vacation1 = "00:00:00";

				Vector vcLeaveDesc = new Vector();
				Vector vcAllEvent = new Vector();
 
				String cFont = "";String c_limit = "";String c_used = "";String c_remain="";
				String fld = getMConfigValue(screen.getUProfile(), "TALVFD");

				/* default event */
			   	DbInquiry inq = new InitialInquiry(screen.getUProfile()).getDbInquiry("Meventgrp1");	
				inq.setSchemaName(screen.getUProfile().getSchemaName());
				inq.setFilter("display = '1' and (daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9') and BRANCHID = (select " + fld + " from MEMPLOYEE where EMPLOYEEID = '" +empid+ "')");
				inq.setOrderBy("display_order,edesc");
				inq.setColumn("*");
				inq.refresh();

				while(inq.next()){
					vcAllEvent.add(inq.getCurrentDbRecord().cloneRecord(false));
				}
				//System.out.print("Meventgrp 2 -----> ");
				/* admin define event */
				DbInquiry inqDefine = new InitialInquiry(screen.getUProfile()).getDbInquiry("Meventgrp2");	
				inqDefine.setSchemaName(screen.getUProfile().getSchemaName());
				inqDefine.setFilter("EMPLOYEEID = '" +empid+ "'");
				inqDefine.setOrderBy("display_order,edesc");
				inqDefine.setColumn("*");
				inqDefine.refresh();
				while(inqDefine.next()){
					vcAllEvent.add(inqDefine.getCurrentDbRecord().cloneRecord(false));
				}
				/**** end load all event from default and admin define ****/

				int run = 0;
				for(int i=0; i < vcAllEvent.size(); i++){
					DbRecord dbEvent = (DbRecord) vcAllEvent.get(i);
					System.out.print("--- db " + dbEvent.getString("eventgrpid"));
					String a = "simmemployee_tadjtime0$"+ dbEvent.getString("eventgrpid");
					String a_desc = screen.inq.getString(a+"_desc");
					String b = dbEvent.getString("eventgrpid");
					String type = dbEvent.getString("daytype");
					String lastyear_v1 = chkNull.chkNullString(screen.inq.getString(a+"_previous_rem"),"00:00:00");
					String nextyear_v1 = chkNull.chkNullString(screen.inq.getString(a+"_next_rem"),"00:00:00");
					String curyear_id = chkNull.chkNullString(screen.inq.getString(a+"_cur_year"));
					String lastyear_id = chkNull.chkNullString(screen.inq.getString(a+"_previous_year"));
					String nextyear_id = chkNull.chkNullString(screen.inq.getString(a+"_next_year"));
					String pri_emp = chkNull.chkNullString(screen.inq.getString(a+"_privilege_emp"));

					/* keep desc */
					String datalist[] = {a_desc, b};
					vcLeaveDesc.add(datalist);

					if(run==0){
						if ( screen.inq.getString("simmemployee_tadjtime0$lt_times").equals("0") ) {
							cFont = "";
						}else{
							cFont = "error";	
						}

						String lt_0 = screen.inq.getString("simmemployee_tadjtime0$lt_hour_fs") ;
						String lt_1 = screen.inq.getString("simmemployee_tadjtime0$lt_times") ;
				%>
								<tr> 
									<td class="fonttaho" height="19">
										<div align="left">&nbsp;
											<!-- <a href="javascript:gotoDetail('late');"> --><script language="javascript">swapLang("Late");</script><!-- </a> -->
										</div>
									</td>
									<td height="19"> <div align="center">&nbsp;</div></td>
									<td height="19">
										<div align="center">
											<font class='<%=cFont%> fonttaho'>
											<span swlang code="SW000997">Total</span>  <%=(lt_1).length()>0?screen.inq.getString("simmemployee_tadjtime0$lt_times"):"0"%> </font>
										</div>
									</td>
									<td height="19"> <div align="center"><font class='<%=cFont%>'></font></div></td>
									<td id="tdWriteOff3" height="19" style="display:none"> <div align="center">&nbsp;</div></td>
									<td height="19"> <div align="center"><font class='<%=cFont%>'><%=(lt_0.equals("00:00:00"))?"":lt_0%></font></div></td>
									<td height="19"> <div align="center"><font class='<%=cFont%>'><%=lt_1.equals("0")?"":"-"%>
									<%=(lt_0.equals("00:00:00"))?"":lt_0%></font></div></td>
								</tr>
				<%
						}
						run++;
						if (screen.inq.getString(a+"_remain").indexOf('-')>-1) {
							cFont = "error";
						} else {
							cFont = "";
						}

						c_limit = screen.inq.getString(a+"_limit");
						c_used = screen.inq.getString(a+"_used");
						c_remain = screen.inq.getString(a+"_remain");
						
						String leaveadvance = chkNull.chkNullString(screen.inq.getString(a+"_leaveadvance"));
						String list[] = {vacation0,vacation1,c_used,c_remain};


						if (type.equals("7") || b.equalsIgnoreCase(COT) || b.equalsIgnoreCase(COF) || b.equalsIgnoreCase(PH)) {
							if (vacation0.equals("")) {
								vacation0 = "00:00:00";
							}

							if (vacation1.equals("")) {
								vacation1 = "00:00:00";
							}

							if (c_limit.equals("")) {
								c_limit = "00:00:00";
							}
							list[0] = vacation0;
							list[1] = c_limit;
						} else {
							lastyear_v1 = "";
							nextyear_v1 = "";

							if (c_limit.equals("")) {
								c_limit = "00:00:00";
							}

							list[0] = "";
							list[1] = c_limit;
						}

				%>
							<tr id="<%=b%>" name="trLeave"> 
								<td class="fonttaho" height="19">
									<div align="left">&nbsp;
										<%=a_desc%>
										<%if(leaveadvance.length() > 0 && !leaveadvance.equals("00:00:00")) {%>
											&nbsp;&nbsp;<font style="color: #FF0000;font-size=14px;">(<script language="javascript">swapLang("Leave Advance");</script>&nbsp;&nbsp;<%=leaveadvance%>)</font>
										<%}%>
									</div>
								</td>
								
								<td class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=lastyear_v1%></font></div></td>
								<td class="fonttaho" height="19"> <div align="center">
									<font class='<%=cFont%>'>
										<%if(!list[1].equals("00:00:00") && (b.equalsIgnoreCase(COT) || b.equalsIgnoreCase(COF) || b.equalsIgnoreCase(PH))){%>
										<a class="fonttaho" href="javascript:pageAllowDesc('<%=b%>','<%=screen.inq.getString(a+"_desc")%>')"><%=list[1]%></a>
										<%}else{%>
										<%=list[1]%>
										<%}%>
									</font></div>
								</td>
								<td class="fonttaho" height="19"> <div align="center">
									<font class='<%=cFont%>'>
										<%if(!list[2].equals("00:00:00")){%>
										<a class="fonttaho" href="javascript:pageDesc('<%=b%>','<%=screen.inq.getString(a+"_desc")%>')"><%=list[2]%></a>
										<%}else{%>
										<%=list[2]%>
										<%}%>
									</font></div>
								</td>
								<td id="td:<%=b%>" style="display:none" height="19">
									<div align="center">
										<input name="write_off:<%=b%>" type="text" value="<%=pri_emp%>" class="write_off" onblur="chkRest(this);" onfocus="delRest(this);">
									</div>
								</td>
								<td name="td_v3" class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=list[3]%></font></div></td>
								<td name="td_next" class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=nextyear_v1%></font></div></td>
							</tr>   
							<% 
								}
							%> 
							<tr> 
								<td colspan="4" height="10" class=""><div align="CENTER">&nbsp;</div></td>
								<td id="tdWriteOff5" width="" height="10" style="display:none">
									<div align="CENTER"><a href="javascript:bdSave();"><img src="../IMAGES/BUTTON/SAVE.gif" alt="Submit"  border="0" align="absmiddle"></a></div>
								</td>
								<td colspan="2" width="" height="10" class=""><div align="CENTER">&nbsp;</div></td>
							</tr>
						</table>
					</td>
				</tr>
				<!-- end show balance -->
				<!-- <tr><td colspan="2">&nbsp;</td></tr>
				<tr><td colspan="2">&nbsp;</td></tr> -->
				<!-- leave privilege part -->
				<tr> 
					<td colspan="2">
						<table id="tbPrivilegePart" style="display:none;width:100%">
						<tr>
							<td rowspan="2" height="35" width="300" class="row3">
								<div align="CENTER"><b><script language="javascript">swapLang('Leave Type');</script></b></div>
							</td>
							<td colspan="6" class="row3"><div align="CENTER"><b><script language="javascript">swapLang('Condition Required');</script></b></div></td>
						</tr>
						<tr bordercolor="#3399FF"> 
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Past");</script></div></td>
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Advance");</script></div></td>
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Beyond");</script></div></td>
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("YOS");</script></div></td>
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Event Req");</script></div></td>
							<td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Count limit");</script></div></td>
						</tr>

			   <%
			   	
				run = 0;
				
				for(int j=0; j < vcLeaveDesc.size(); j++) {	
					String vc[] = {"1","1","1","1","1","1","1","1","1","1"}; /* default privilege */
					String data[] = (String[]) vcLeaveDesc.get(j);
					System.out.print("select -> " + data);
					if(hmPriv.containsKey(data[1])){
						vc = (String[]) hmPriv.get(data[1]);
					}
					
					if(run==0){
				%>
								<tr > 
									<td class="fonttaho" height="19">
										<div align="left">&nbsp;<script language="javascript">swapLang("Late");</script></div>
									</td>
									<td height="19" colspan="6">&nbsp;</td>
								</tr>
								
				<%
					}
					run++;
				%>
							<tr id="td_<%=data[1]%>"> 
								<td class="fonttaho tablewithborder" height="19">
									<div align="left">&nbsp;<%=data[0]%>
										<input type="checkbox" id="chk_<%=data[1]%>" style="display:none">
									</div>
								</td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_01" name="<%=data[1]%>_01" <%=(vc[0].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_02" name="<%=data[1]%>_02" <%=(vc[1].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_03" name="<%=data[1]%>_03" <%=(vc[2].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_04" name="<%=data[1]%>_04" <%=(vc[3].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_05" name="<%=data[1]%>_05" <%=(vc[4].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
								<td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_06" name="<%=data[1]%>_06" <%=(vc[5].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td>
							</tr>   
				<% 
					}
				%> 
							<tr> 
								<td colspan="7" height="10">
									<div align="CENTER"><a href="javascript:bdSavePriv();"><img src="../IMAGES/BUTTON/SAVE.gif" alt="Submit"  border="0" align="absmiddle"></a></div>
								</td>
							</tr>
						</table>
					</td>
				</tr>
				<!-- end privilege part -->

			</table>
           </center>
			</div>
		</td>
      </tr>
      <tr> 
        <td class="bottom" > </td>
      </tr>
	</table>
</div>
</form>
</body>
</html>
<%!
public String getMConfigValue(UProfile upf, String filed){
	String srt = "";
	try {
		srt = (String) StaticConfig.getConfigCompany(upf, filed) ;
	}catch(Exception e){
		e.printStackTrace();
	}
	return srt ;
}

public String getAnnualID(UProfile upf){
	String rtn = "";
	try {
		DbInquiry inq = new InitialInquiry(upf).getDbInquiry("Meventgrp");
		inq.setColumn("eventgrpid,companyid,daytype");
		inq.setFilter("daytype = '7'");
		inq.refresh();

		while(inq.next()){
			rtn = inq.getString("eventgrpid");
		}
	}catch(Exception e){
		e.printStackTrace();
	}
	return rtn ;
}

public void updateWriteOffLeave(String empid, UProfile upf, int yearid, String leave){
	try {
		HashMap hm = new HashMap();
		String fld = getMConfigValue(upf, "TALVFD");

		if(fld.equals("")) fld = "branchid" ;

		DbInquiry inq = new InitialInquiry(upf).getDbInquiry("mempl_vacation");	
		inq.setSchemaName(upf.getSchemaName());
		inq.setFilter("employeeid = '" +empid+ "' and yearid = " + String.valueOf(yearid));
		inq.setColumn("*");
		inq.refresh();
		
		while(inq.next()){	
			hm.put(inq.getString("eventgrp"), inq.getCurrentDbRecord().cloneRecord(true));
			System.out.print("keep " + inq.getString("eventgrp"));
		}

		String items[] = leave.split(",") ;
		for(int i=0; i < items.length; i++){
			String woff[] = items[i].split("#");

			if(hm.containsKey(woff[0])){
				DbRecord db = (DbRecord) hm.get(woff[0]);
				db.set("privilege_emp", woff[1]);
				db.save();
				
				System.out.print("!! update user write off leave " + empid + ":" + woff[0] + ":" + woff[1] );
			}
		}
		
	}catch(Exception e){
		e.printStackTrace();
	}
}

public String[] clonePriv(DbRecord db){
	String vc[] =  {"1","1","1","1","1","1","1","1","1","1"};
	try {
		vc[0] = db.getString("condition_1");
		vc[1] = db.getString("condition_2");
		vc[2] = db.getString("condition_3");
		vc[3] = db.getString("condition_4");
		vc[4] = db.getString("condition_5");
		vc[5] = db.getString("condition_6");
		vc[6] = db.getString("condition_7");
		vc[7] = db.getString("condition_8");
		vc[8] = db.getString("condition_9");
		vc[9] = db.getString("condition_10");

		System.out.print("d[0] : " + db.getString("condition_1"));
		System.out.print("!! read date --> " + db.getString("eventgrpid") + ":" + vc);
	}catch(Exception e){
		e.printStackTrace();
	}
	return vc ;
}

public void updatePrivLeave(String emp, UProfile upf, String upd){
	try {
		/* item :
			0 : eventgrp
			1 : past limit
			2 : in advance
			3 : beyond date
			4 : year of work
			5 : event 
			6 : count
		*/
		String raw[] = upd.split(",");
		int result = 0 ;
		for(int i=0; i < raw.length; i++){
			String items[] = raw[i].split(":");
			
			DbRecord db = new InitialRecord(upf).getDbRecord("Mprivilege_leave");
			db.setColumn("*");
			db.set("employeeid", emp);
			db.set("companyid", upf.getCompanyid());
			db.set("eventgrpid", items[0]);
			db.set("condition_1", items[1]);
			db.set("condition_2", items[2]);
			db.set("condition_3", items[3]);
			db.set("condition_4", items[4]);
			db.set("condition_5", items[5]);
			db.set("condition_6", items[6]);
			result = db.save();

			System.out.print("!! update privilege leave : " + emp + " >> " + upd);
		}
		 
	}catch(Exception e){
		e.printStackTrace();
	}
}
%>