<%@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.*"  %>
<%@page import="java.util.HashMap"  %>
<jsp:useBean id="TAU107" class="com.csc.library.system.Task" scope="page" />
<!--jsp:useBean id="TAU107_1" class="com.csc.library.system.Task" scope="page" /-->
<%
	TAU107.setChannel(request,response);
	UIManager screen = (UIManager) TAU107.process("MultiEntry","TAU107");
	
	
	MultiLine multi = screen.getMultiLine("MTIME2");
	multi.setLabelBox("check box");
	
	//multi.goFirst();
  	//screen.process();
  	
  	/*TAU107_1.setChannel(request,response);
	UIManager screen1 = (UIManager) TAU107_1.process("SingleEntry","TAU107_1");
	screen.process();*/
	
	CscCalendar cDate = new CscCalendar();
	String monthtxt="";
	String cdate ="";
	String month="";
	String year ="";
	String monthC="";
	int dayS=1,dayE=1;
	/*if(TAU107.getValue("year").equals("") || TAU107.getValue("year") == ""){    
		cdate=(cDate.getEngYYYY())+"-"+(Integer.parseInt(cDate.getMM())+1)+"-"+"01";
		month = ""+(Integer.parseInt(cDate.getMM())+1 )+"";
		year = cDate.getEngYYYY()+"";
		cDate.incMonth(1);
		monthtxt = cDate.getEngLongMonth().toUpperCase();
	  }else{
		cdate=(Integer.parseInt(TAU107.getValue("year")))+"-"+TAU107.getValue("month")+"-01";
		month =TAU107.getValue("month");
		year = TAU107.getValue("year");
		monthtxt = TAU107.getValue("monthtxt");
	}*/
	if(TAU107.getValue("year").equals("") || TAU107.getValue("year") == ""){    
		if((Integer.parseInt(cDate.getMM())+1)<10){
			monthC="0";    
		}
		monthC+=Integer.parseInt(cDate.getMM())+"";
		cdate=(cDate.getEngYYYY())+"-"+monthC+"-"+"01";
		month = ""+monthC+"";
		year = cDate.getEngYYYY()+"";
		monthtxt = screen.getUProfile().get("lang").equalsIgnoreCase("tha")?cDate.getThaiLongMonth():cDate.getEngLongMonth().toUpperCase();
	 }else{		
		if(Integer.parseInt(TAU107.getValue("month"))<10){
			monthC="0";    			
		}
		monthC+=(Integer.parseInt(TAU107.getValue("month")))+"";
		cdate=(Integer.parseInt(TAU107.getValue("year")))+"-"+monthC+"-01";
		month =TAU107.getValue("month");
		year = TAU107.getValue("year");
		monthtxt = TAU107.getValue("monthtxt");  
	}
  cDate = new CscCalendar(cdate);

	/* หาวันหยุด ตามเดือนและปี เพื่อใช้สำหรับความแตกต่างของวันแสดง */
	InitialEnvironment inv = new InitialEnvironment(screen.getUProfile().get("dbname"));	
			
	String whereClause = "";
	if(inv.getValue("datasource-dbtype").equalsIgnoreCase("MSSQL")){
		whereClause = "month(CAST(hdate + ' 00:00:00.00' AS datetime)) = " + month + " and year(CAST(hdate + ' 00:00:00.00' AS datetime)) = " + year ;
	}else{
		whereClause = "extract(Month from (TO_DATE(hdate, 'YYYY-MM-DD'))) = " + month + "  and extract(Year from (TO_DATE(hdate, 'YYYY-MM-DD'))) = " + year ;
	}

	HashMap hmHoliday = new HashMap();
	//String whereClause = "month(CAST(hdate + ' 00:00:00.00' AS datetime)) = " + month + " and year(CAST(hdate + ' 00:00:00.00' AS datetime)) = " + year ;
	DbInquiry inqHoliday = new InitialInquiry(screen.getUProfile()).getDbInquiry();		
	inqHoliday.initMyTable("mholiday1", whereClause, "");
	inqHoliday.setColumn("HDATE,TDESC,EDESC");
	inqHoliday.refresh();	
	while(inqHoliday.next()){
		String desc[] = {"",""};
		desc[0] = inqHoliday.getString("TDESC");
		desc[1] = inqHoliday.getString("EDESC");
		hmHoliday.put(inqHoliday.getString("HDATE"),desc);
	}		
		
		
%>
<html ng-app="myHR">
<head>
<title></title>
<style type=text/css>
FONT.holiday {
	/*FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif";*/
	font-size: 12px;
	color: #FF00FF;
	}
FONT.week {
	/*FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif";*/
	font-size: 12px;
	color: #FF0000;
	}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../CSS/TISCO.css" rel="stylesheet" type="text/css">
<script language="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 type='text/javascript' src='../JS/VIEWCALENDAR.js'></script>

<script src="../JS/VIEWCALENDAR.js"></script>
<script language="JavaScript" type="text/JavaScript">

function goHelp(helpName,inputName){
	with(document.cscform){
		eval(inputName).value = "";
		var helpReturn="";
		var fcon=__fixCon.value;
		helpReturn=inputName+":time0id";

		if(fcon==""){
			fcon = "status = '0'";
		}else{
			fcon += " and status = '0'";
		}

		if(fcon==""){
	    	linkHelp_Return(helpName,helpReturn);
	    }else{
	  	    helpPageCon(helpName,helpReturn,fcon);
		}//END IF 
	}
}

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];}
}
//-->

function changemonthtxt(){
	var monthC="1";
	with(document.cscform){
		NDate = new Date();
		var thmonth = new Array ("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
		var engMonth=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
		__monthid.value = __month.value;
		var thMonth=thmonth[parseFloat(__monthid.value)-1];
		var engMonth=engMonth[parseFloat(__monthid.value)-1];
		var result="";
		var lang = window.cscform.__language.value;
			if(lang=="tha"){
					result=thMonth;
				}else{
					result=engMonth;
				}
		/*var engMonth=new Array("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY",
			"AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");
		__monthid.value = __month.value;
		var engDate=engMonth[parseFloat(__monthid.value)-1];
		__monthtxt.value=engDate;*/
		/*if((parseFloat(__month.value)+1)<10){
			monthC="0";    
		}
		monthC=(parseFloat(__month.value)+1)+"";
		alert(monthC);
		__month.value = monthC;
		alert(__month.value);*/
		__monthtxt.value=result;
		__yearid.value = cscform.__year.value ;
		__help.value="__monthid#"+__month.value+";__yearid#"+__year.value+";__time0id#"+__time0id.value ;
		__fixCon.value="  time0id ='"+__time0id.value+"'";
		//alert(__help.value);
		submit();
	}
}//-->

function clearData(id) {
	for (i=0;i<document.cscform.elements.length;i++) {		 
		  //if(document.cscform.elements[i].name.indexOf("time") != -1) {
			//  document.cscform.elements[i].value = "";
		  //}
		 if(document.cscform.elements[i].name.indexOf("__MTIME2$TIME") != -1) {
			
			  var tmp = document.cscform.elements[i].name;
			  if (id==1) {
					if(tmp.substring(tmp.length-3, tmp.length-2)=='1') {
						document.cscform.elements[i].value = "";
					}
			  } else if (id==2) {
					if(tmp.substring(tmp.length-3, tmp.length-2)=='2') {
						document.cscform.elements[i].value = "";
					}
			  } else if (id==3) {
					if(tmp.substring(tmp.length-3, tmp.length-2)=='3') {
						document.cscform.elements[i].value = "";
					}
			  }
		 }
	}
}
</script>
</head>

<body leftmargin="0" topmargin="0"  >
<form name="cscform" method="post" action="TAU107.jsp">
       

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

<%=screen.InitialVariable()%>

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

<input name="__cmd" type="hidden" value="">
        <input type="hidden" name="__calendar">
         <script language="javascript">getInputFormatDate();</script>
        <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>">
        <input type="hidden" name="__notNull" value='<%=screen.getRequire()%>'>
        <script language="javascript">//checkConfirm();</script>
        <input type="hidden" name="__screen" value="TAU107">
        <input type="hidden" name="__help" value="">
        <input type="hidden" name="__gorec" value="">
        <input type="hidden" name="__ack" value=""> 
        <input type="hidden" name="__multiTable" value="MTIME2">
        <input type="hidden" name="__helpReturn" value="">
        <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>">
        <input type="hidden" name="__employeeid" value="<%=screen.getUProfile().get("actor")%>">
        <input type="hidden" name="__fixCon" value="">
        <input type="hidden" name="__cmdchild" value="">
        <input type="hidden" name="__time0id" value="<%=TAU107.getValue("time0id")%>">
		<input type="hidden" name="__edesc" value="<%=TAU107.getValue("edesc")%>">
		<input type="hidden" name="__tdesc" value="<%=TAU107.getValue("tdesc")%>">
        <input type="hidden" name="__hour_d" value="<%=TAU107.getValue("edesc")%>">
		<input type="hidden" name="__hour_w" value="<%=TAU107.getValue("tdesc")%>">
        <input type="hidden" name="__hour_m" value="<%=TAU107.getValue("edesc")%>">
		<input type="hidden" name="__status" value="1">
<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
<script language="javascript">initToolTips();</script>
<div align="center">
    <table width="100%" cellpadding="0" cellspacing="0" class="largest tablewithborder">
      <tr>
        <td colspan="5" class="blankspace"></td>
      </tr>
      <tr>
        <td  colspan="2" align="center" >		
          
            <input name="__monthtxt" type="hidden"  value="<%=monthtxt%>" size="20">&nbsp;&nbsp;
			</td><td>
          <%=multi.getLabel("mtime2","monthid")%>&nbsp;
		<select name="__month" onChange="changemonthtxt()">
		<%if ((!month.equals(""))  && (month != "") ){%>
		<option selected value="<%=month%>"><script language="javascript">swapLang('<%=monthtxt%>');</script></option>
		<%}%>
		<option value="01"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"มกราคม":"JANUARY"%></option>
		<option value="02"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"กุมภาพันธ์":"FEBRUARY"%></option>
		<option value="03"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"มีนาคม":"MARCH"%></option>
		<option value="04"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"เมษายน":"APRIL"%></option>
		<option value="05"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"พฤษภาคม":"MAY"%></option>
		<option value="06"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"มิถุนายน":"JUNE"%></option>
		<option value="07"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"กรกฎาคม":"JULY"%></option>
		<option value="08"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"สิงหาคม":"AUGUST"%></option>
		<option value="09"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"กันยายน":"SEPTEMBER"%></option>
		<option value="10"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"ตุลาคม":"OCTOBER"%></option>
		<option value="11"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"พฤศจิกายน":"NOVEMBER"%></option>
		<option value="12"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?"ธันวาคม":"DECEMBER"%></option>
		</select><input type="hidden" name="__monthid" value="<%=month%>"></td>
        <td  ><%=multi.getLabel("mtime2","yearid")%>&nbsp;
		<input type="text" name="__year" value="<%=year%>" size="5" maxlength="4" onKeyPress="chkInteger()" onKeyUp="formatYear(this)" onBlur="chkTrueYear(this)">
		<input type="hidden" name="__yearid" value="<%=year%>">
        <input type="hidden" name="__MTIME2$TIME0ID$<%=Integer.parseInt(month)%>" value="<%=TAU107.getValue("time0id")%>">
        <input type="hidden" name="__MTIME2$MONTHID$<%=Integer.parseInt(month)%>" value="<%=month%>">
        <input type="hidden" name="__MTIME2$YEARID$<%=Integer.parseInt(month)%>" value="<%=year%>"></td>
		<td></td>
      </tr>
      <tr>
        <td colspan="5" class="blankspace"></td>
      </tr>
      <tr>
        <td width="100" class="row3"><div align="center" ><script language="javascript">swapLang("Date");</script></div></td>
        <td width="158"  class="row3"><div align="center"><script language="javascript">swapLang("Day");</script></div></td>
        <td  class="row3" width="175"><div align="center"><span swlang code="SW012735">Shift1</span>
		<a href="javascript:clearData(1);" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','../IMAGES/BUTTON/SWAP/DELSELECT_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/DELSELECT20.gif" alt="Delete All Shift 1" name="Image1"  border="0"></a>
		</div></td>
        <td class="row3" width="175"><div align="center" ><span swlang code="SW012736">Shift2</span>
		<a href="javascript:clearData(2);" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/DELSELECT_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/DELSELECT20.gif" alt="Delete All Shift 2" name="Image2"  border="0"></a>
		</div></td>
        <td class="row3" width="175"><div align="center" ><span swlang code="SW012737">Shift3</span>
		<a href="javascript:clearData(3);" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','../IMAGES/BUTTON/SWAP/DELSELECT_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/DELSELECT20.gif" alt="Delete All Shift 3" name="Image3"  border="0">
		</div></td>
      </tr>
      <%
	  		if(request.getParameter("__time0id") != null && !request.getParameter("__time0id").equals("")){
				
				screen.getTable("Mtime2").setFilter("MONTHID='"+month+"' and  yearid = '"+year+"'");	  
				screen.getTable("Mtime2").set("monthid",Integer.parseInt(month));
				screen.getTable("Mtime2").set("yearid",Integer.parseInt(year));
				screen.getTable("Mtime2").refresh();

				if(screen.getTable("Mtime2").recCount()==0){
					screen.getRecord("Mtime2").clearField();
					screen.getTable("Mtime2").putNewRecord(screen.getRecord("Mtime2"));
				}
			}else{
					screen.getRecord("Mtime2").clearField();
					screen.getTable("Mtime2").putNewRecord(screen.getRecord("Mtime2"));
			}

			screen.getRecord("Mtime2").set("monthid",month);
			screen.getRecord("Mtime2").set("yearid",year);
			String num="0";
			String dayText = "";
			String HOLIDAY = "holiday";
			String WEEKEND = "week";
			String colorTxt = "";
			int day=cDate.getEndDateOfMonth();
			for(int i=1;i<=day;i++ ){
				num="0";
				if(i<10) {
					num=num+i;
				} else {
					num=i+"";
				}
				if (screen.getUProfile().get("lang").equalsIgnoreCase("tha")) {
					dayText = cDate.getDOWTHI();
				} else dayText = cDate.getDOWENG();

				CscCalendar cur = new CscCalendar(cDate.getYYYYMMDD());
				cur.setDate(i);
				if(hmHoliday.containsKey(cur.getYYYYMMDD())) {
					colorTxt = HOLIDAY;
				}else if(cur.getDOW() == 1 || cur.getDOW() == 7){//1= วันอาทิตย์  7 = วันเสาร์
					colorTxt = WEEKEND;
				}else{
					colorTxt = "";
				}
      %>
      <tr>
        <td ><div align="center"><font class='<%=colorTxt%>'><%=cDate.getDDMMYYYY()%></font></div></td>
        <td><div align="center"><%=dayText%></div></td>
		
		<%screen.getRecord("Mtime2").getField("TIME"+num+"1").setProperty("HELP_RETURN_FIELD","true");%>
		<%screen.getRecord("Mtime2").getField("TIME"+num+"2").setProperty("HELP_RETURN_FIELD","true");%>
		<%screen.getRecord("Mtime2").getField("TIME"+num+"3").setProperty("HELP_RETURN_FIELD","true");%>
        <td><div align="center"><%//=multi.getInput("MTIME2","TIME"+num+"1")%><input type="text" name="__MTIME2$TIME<%=num%>1$<%=Integer.parseInt(month)%>" value="<%=multi.getDataLabel("TIME"+num+"1")%>" size="10" maxlength="10"><a href="javascript:goHelp('MTIME0HELP','__MTIME2$TIME<%=num%>1$<%=Integer.parseInt(month)%>');"  onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('__MTIME2$TIME<%=num%>1$<%=Integer.parseInt(month)%>_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="SEARCH" name="__MTIME2$TIME<%=num%>1$<%=Integer.parseInt(month)%>_image" width="20" height="20" border="0" align="absmiddle"  ></a> </div></td>
        
        <td><div align="center"><input type="text" name="__MTIME2$TIME<%=num%>2$<%=Integer.parseInt(month)%>" value="<%=multi.getDataLabel("TIME"+num+"2")%>" size="10" maxlength="10"><a href="javascript:goHelp('MTIME0HELP','__MTIME2$TIME<%=num%>2$<%=Integer.parseInt(month)%>');"  onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('__MTIME2$TIME<%=num%>2$<%=Integer.parseInt(month)%>_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="SEARCH" name="__MTIME2$TIME<%=num%>2$<%=Integer.parseInt(month)%>_image" width="20" height="20" border="0" align="absmiddle"  ></a></div></td>
        
        <td><div align="center"><input type="text" name="__MTIME2$TIME<%=num%>3$<%=Integer.parseInt(month)%>" value="<%=multi.getDataLabel("TIME"+num+"3")%>" size="10" maxlength="10"><a href="javascript:goHelp('MTIME0HELP','__MTIME2$TIME<%=num%>3$<%=Integer.parseInt(month)%>');"  onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('__MTIME2$TIME<%=num%>3$<%=Integer.parseInt(month)%>_image','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="SEARCH" name="__MTIME2$TIME<%=num%>3$<%=Integer.parseInt(month)%>_image" width="20" height="20" border="0" align="absmiddle"  ></a>
		</div></td>
      </tr>
      <%
			cDate.incDate(1);
		 } // end for cDate.getDOWeng();
      %>
    </table>
  </div>


<!----------BEGIN CSC ENDING ZONE ------------------------>

<%=screen.endJSP()%>

<!----------END CSC ENDING ZONE -------------------------->

</form>
</body>
</html>