<%@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="com.csc.library.databean.*"  %>
<%@ page import="com.csc.library.report.ReportUDF"%>
<%@ page import="java.util.*"%>
<jsp:useBean id="TRA0130_PHATRA" class="com.csc.library.system.Task" scope="page"/>
<%
TRA0130_PHATRA.setChannel(request,response);
UIManager screen = (UIManager) TRA0130_PHATRA.process("MultiEntry","TRA012_PHATRA");
CheckNull chk = new CheckNull();
CscCalendar car = new CscCalendar();
String chkDelCmd = chk.chkNullString(request.getParameter("__cmd"));
screen.referLangOn();

String changetrntype = chk.chkNullString(request.getParameter("__chgtrntype"));
String trainingid = chk.chkNullString(request.getParameter("__trainingid"));
String courseid = chk.chkNullString(request.getParameter("__crsid"));
String refready = chk.chkNullString(request.getParameter("__refreshReady"),"1");
String jobneed = chk.chkNullString(request.getParameter("__jobneed"),"0");
MultiLine multi = screen.getMultiLine("TRESERVER");

if(jobneed.equals("1")){
	HashMap his_reserver = getHisReserver(screen.getUProfile(),courseid);
	String colTmp[] = new String[]{"bu1","bu2","bu3","bu4","bu5","job","emp_group","emp_level","emp_position","branch","bossid","salatype"};
	DbInquiry dbemp = new InitialInquiry(screen.getUProfile()).getDbInquiry("Memployee");
	DbInquiry dbtre = new InitialInquiry(screen.getUProfile()).getDbInquiry("Trequest");
	dbemp.setColumn("employeeid,bu1,bu2,bu3,bu4,bu5,job,emp_group,emp_level,emp_position,branch,bossid,salatype,companyid");
	dbtre.setColumn("*");
	dbtre.setFilter("courseid ='"+courseid+"' and status = '1'");
	dbtre.putChild(dbemp);
	dbtre.refresh();
	while(dbtre.next()){

		screen.getTable("TRESERVER").goRec(screen.getTable("TRESERVER").recCount(),false);
		DbRecord Treservrec=screen.getTable("TRESERVER").getNewRecord();
		Treservrec.set("trainingid",trainingid);
		Treservrec.set("companyid", screen.getUProfile().get("companyid"));
		Treservrec.set("reserverid", dbtre.getString("traineeid"));

		if (his_reserver.containsKey(dbtre.getString("traineeid"))){
			Treservrec.set("ressource","3");
		}else{
			Treservrec.set("ressource","1");
		}

		if ( chkReserver(dbtre.getString("traineeid"),trainingid,screen.getUProfile()) ){
			Treservrec.set("status","1");
		}

		for (int i=0;i<colTmp.length;i++){
			Treservrec.set(colTmp[i],dbtre.getString("memployee",colTmp[i]));
		}
		screen.getTable("TRESERVER").putNewRecord(Treservrec);

	}
}

%>
<%!
private boolean chkReserver(String empid, String trainingid, UProfile uProfile){
	boolean streserv = true;
	DbInquiry dbtreserv = new InitialInquiry(uProfile).getDbInquiry("Treserver");
	try{
		dbtreserv.setColumn("*");
		dbtreserv.setFilter("trainingid ='"+trainingid+"' AND reserverid ='"+empid+"'");
		dbtreserv.refresh();
		while(dbtreserv.next()){
			streserv = false;
		}
	}catch(Exception ex){
		MyLog.error(this,ex);
	}
	return streserv;
}

private HashMap getHisReserver(UProfile uProfile, String courseid) {
	HashMap his_reserver = new HashMap();
	try{
		DbInquiry inqhistraining = new InitialInquiry(uProfile).getDbInquiry("htraining");
		DbInquiry inqhistrnee = new InitialInquiry(uProfile).getDbInquiry("htraintrnee");
		inqhistraining.setColumn("trainingid,crsid");
		inqhistraining.setFilter("crsid ='"+courseid+"'");
		inqhistraining.refresh();
		while (inqhistraining.next()){
			inqhistrnee.setFilter("trainingid = '"+inqhistraining.getString("trainingid")+"'");
			inqhistrnee.refresh();
			while (inqhistrnee.next()){
				his_reserver.put( inqhistrnee.getString("traineeid"), true);
			}
		}
	}catch(Exception ex){
		MyLog.error(this,ex);
	}
	return his_reserver;
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html ng-app='myHR'>
	<head>
		<title>Untitled Document</title>
		<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/jquery-ui-1.11.4.js'></script>
		<script type='text/javascript' src="../JS/bootstrap.js"></script>
		<script type='text/javascript' src='../JS/SCREEN.js'></script>
		<script type="text/javascript" src="../public/lib/angular/angular.min.js"></script>
		<script type="text/javascript" src="../JS/ANGULAR/SCREEN_ANGULAR.js"></script>
		<style>
		.right-page{
			float: right;
			margin: 10px 0px;
		}
		.label-right{
			padding-left: 5px;
			font-size: 20px;
		}
		.checkbox-trn{
			display: block;
			width: 100%;
			float: left;
			height: 100%;
		}
		.reserved .inframe{
			background-color: #fcff80;
		}
		</style>
		<script type='text/javascript'>
		setLang('<%=screen.getUProfile().get("lang")%>');

		function goSave() {confirmSave();}
		function goSearch() {search();}
		function goDelete() {edelete();}
		function goUpdate() {update();}
		function checkCF() {checkConfirm();}

		function childMulti(record){
			with(document.cscform){
				window.open(__childMulti.value+".jsp?__cmd=&__gorec="+record+"&__ack=edit"+
				"&__trainingid="+__trainingid.value+
				"&__headMulti="+__screen.value+
				"&__companyid="+__companyid.value,"TrainResponse","left=150,top=150,width=700,height=280,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}
		}
		function addMulti1(){
			with(document.cscform){
				setEmpList();
				window.open("TRA0130H_PHATRA.jsp?__chkEmpOld="+__chkEmp.value+"&__trainingid="+__trainingid.value+"&__crsid="+__crsid.value,"Trainee","left=150,top=150,width=900,height=700,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}
		}
		function setEmpList(){
			with(document.cscform){
				__chkEmp.value = "$";
				for(i=0;i<elements.length;i++){
					if(elements[i].type=="checkbox"){
						__chkEmp.value += elements[i].value+"$";
					}
				}
			}
		}
		function sentMail() {
			var emp_id = "";
			with(document.cscform){
				for(i=0;i<elements.length;i++){
					if(elements[i].type=="checkbox"&&elements[i].checked&&elements[i].name.indexOf("__treserver")>-1){
						if(emp_id!=""){
							emp_id += ",";
						}
						emp_id += elements[i].value;
					}
				}
			}
			if(emp_id!=""){
				var crs = "";
				var loc_name = "";
				with(window.parent.document.cscform){
					for(i=0;i<elements.length;i++){
						if(elements[i].name=="MCOURSE@CRSEDESC"){
							crs = elements[i].value;
						}
						if(elements[i].name=="MTRLOCATION@LOCEDESC"){
							loc_name = elements[i].value;
						}
					}
				}
				var user = '<%=screen.getUProfile().getUserId()%>';
				var trn = window.parent.cscform.__trtitle.value;
				var oclassfrm = window.parent.cscform.__classdatefrm.value;
				var oclassto = window.parent.cscform.__classdateto.value;
				var start_time = window.parent.cscform.__timestart.value;
				var stop_time = window.parent.cscform.__timestop.value;
				window.open("TRA0126M.jsp?emp_id="+emp_id+"&crs="+crs+"&trn="+trn+"&oclassfrm="+oclassfrm+"&oclassto="+oclassto+"&start_time="+start_time+"&stop_time="+stop_time+"&loc_name="+loc_name+"&__language="+document.cscform.__language.value+"&__companyid="+document.cscform.__companyid.value+"&__user="+user,"","left=150,top=20,width=650,height=650,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}else{
				if(getLang()=="tha"){
					alert("ไม่มีอีเมล์ที่จะส่ง");
				}else{
					alert("not have email for send.");
				}
			}
		}
		function setSelectAll(obj,ele){
			var traineeid = document.cscform.list_traineeid.value.split(",");
			for(index=0; index<traineeid.length; index++){
				var listbox = eval("document.cscform.__TTRAINTRNEE$"+ele+"$"+traineeid[index]);
				if(listbox != null){
					listbox.options[obj.selectedIndex].selected = true;
				}
			}
		}
		function transferToTrnee(){
			//alert("transferToTrnee");
			var empid = "";
			with(document.cscform){
				for(i=0; i<elements.length; i++){
					if(elements[i].type == "checkbox" && elements[i].checked){
						empid += "$" + elements[i].value;
					}
					if(empid != ""){
						empid += "$";

					}
				}
			}
			with(document.cscform){
				//setEmp();
				window.open("TRA0126T_PHATRA.jsp?__chkEmp="+empid+"&__trainingid="+__trainingid.value+"&status=1&__transfer2trnee=1","Trainee","left=150,top=150,width=500,height=350,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}
		}

		function addMulti2(){
			with(document.cscform){
				setEmpList();
				window.open("TRA0131H_PHATRA.jsp?__cmd=&__gorec=&__ack=add"+
				"&__fixCon=courseid='"+window.parent.document.forms[0].__crsid.value+"' and status='1'"+
				"&__trainingid="+__trainingid.value+
				"&__chkEmpOld="+__chkEmp.value+
				"&__RecNo="+__maxrec.value+
				"&__headMulti="+cscform.__screen.value+
				"&__companyid="+window.parent.cscform.__companyid.value,"Trainee","left=1,top=1,width=1,height=1,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
			}
		}

		function getJobNeed(){
			with(document.cscform){
				if (__getFirst.value == ''){
					__getFirst.value = '1';
					addMulti2();
				}
			}
		}

		function checkAll(){
			$('input[name*="__treserver"]:checkbox').prop("checked",true);
		}

		function decheckAll(){
			$('input[name*="__treserver"]:checkbox').prop("checked",false);
		}
		</script>
	</head>
	<body  leftmargin="0" topmargin="0"  onLoad="" >
		<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 -------------------------->

			<input type="hidden" name="__confirm" value=""/>
			<input type="hidden" name="__help" value=""/>
			<input type="hidden" name="__cmd" value="multi"/>
			<input type="hidden" name="__screen" value="TRA012_PHATRA"/>
			<input type="hidden" name="__childMulti" value="TRA0130E_PHATRA"/>
			<input type="hidden" name="__gorec" value=""/>
			<input type="hidden" name="__ack" value=""/>
			<input type="hidden" name="__trainingid" value="<%=chk.chkNullString(request.getParameter("__trainingid"))%>">
			<input type="hidden" name="__crsid" value="<%=chk.chkNullString(request.getParameter("__crsid"))%>">
			<input type="hidden" name="__multiTable" value="TRESERVER"/>
			<input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>">
			<input type="hidden" name="__maxrec" value="<%=screen.getTable("TRESERVER").recCount()%>">
			<input type="hidden" name="__notNull" value="<%=screen.getRequire()%>">
			<input type="hidden" name="__chkEmp" value=""/>
			<input type="hidden" name="__cmdSave" value=""/>
			<input type="hidden" name="__jobneed" value="0"/>
			<input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>">
			<input type="hidden" name="__getFirst" value="<%=chk.chkNullString(request.getParameter("__getFirst"),"1")%>">
			<input type='hidden' name='__refreshReady' value="<%=chk.chkNullString(request.getParameter("__refreshReady"),"1")%>">

			<table cellpadding="0" cellspacing="0" class="maxsize">
				<tr>
					<td class="header">TRA0130_PHATRA, <script language="javascript">swapLang('List of rigth to training');</script>&nbsp;&nbsp;</td>
				</tr>
				<tr>
					<td class='right-page'>
						<input type='checkbox' name='showReserved' class='showTaken' value='1'/>
						<span class='label-right' swlang code='SW012903'>Taken</span>
					</td>
				</tr>
				<tr>
					<td>
						<table border="0" cellpadding="0" cellspacing="1" id="rsTable" name="rsTable" bgcolor="#333333" class="maxsize tablewithborder" cols="9">
							<tr>
								<td width="4%"  class="row3"><div align="center"><script language='javascript'>swapLang('Del');</script>/<script language='javascript'>swapLang('Send Mail');</script></div></td>
								<td width="4%"  class="row3"><div align="center" swlang code='SW001393'>no. </div></td>
								<td width="8%"  class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"รหัสพนักงาน":"Employee ID"%></div></td>
								<td width="18%"  class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"ชื่อ-นามสกุล":"Name-Surname"%></div></td>
								<td width="13%"  class="row3"><div align="center"><script language='javascript'>swapLang('Position');</script></div></td>
								<td width="13%"  class="row3"><div align="center"><%=screen.getRecord("mbu1").getDescription()%></div></td>
								<td width="13%"  class="row3"><div align="center"><%=screen.getRecord("mbu2").getDescription()%></div></td>
								<td width="13%"  class="row3"><div align="center"><script language='javascript'>swapLang('Supervisor');</script></div></td>
								<td width="9%"  class="row3"><div align="center"><script language='javascript'>swapLang('Status');</script></div></td>
								<td width="9%"  class="row3"><div align="center"><%=screen.getUProfile().get("lang").equalsIgnoreCase("THA")?"แหล่งที่มา":"Source"%></div></td>
							</tr>

							<%
							int rec=0;
							String reservedclass = "";
							multi.setLabelBox("check box");
							multi.goFirst();
							for (;!multi.eof();multi.next(),rec++){
								if (multi.getData("TRESERVER", "RESSOURCE").equalsIgnoreCase("3")){
									reservedclass = "reserved";
								} else	if (!multi.getData("TRESERVER", "RESSOURCE").equalsIgnoreCase("3")){
									reservedclass = "";
								}
								%>
								<tr class='<%=reservedclass%>'>
									<td class="inframe" align="center">
										<%
										if (multi.getTable().getCurrentRecordManager().getString("STATUS").equalsIgnoreCase("1") && !reservedclass.equalsIgnoreCase("")){
											%>
											<input type='checkbox' name="__treserver:<%=multi.getData("TRESERVER","RESERVERID")%>" value="<%=multi.getData("TRESERVER","RESERVERID")%>" class='checkbox-reserved'/>
											<%
										} else {
											out.print( multi.getInputCheckBox() );
										}
										%>
									</td>
									<td class="inframe"><div align="center"><%=rec+1%></div></td>
									<td class="inframe"><div align="center"><%=multi.getScript("childMulti", multi.getData("TRESERVER","RESERVERID"))%></div></td>
									<td class="inframe"><div align="left">&nbsp;<%=multi.getData("MEMPLOYEE","FULLNAME")%></div></td>
									<td class="inframe"><div align="left">&nbsp;<%=multi.getData("MPOSITION","TDESC")%></div></td>
									<td class="inframe"><div align="left">&nbsp;<%=multi.getData("MBU1","TDESC")%></div></td>
									<td class="inframe"><div align="left"><%=multi.getData("MBU2","TDESC")%></div></td>
									<td class="inframe"><div align="left"><%=multi.getData("V3MEMPLOYEE","FULLNAME")%></div></td>
									<td class="inframe"><div align="center"><%=multi.getTable().getCurrentRecordManager().getSystemCode("STATUS")%></div></td>
									<td class="inframe"><div align="center"><%=multi.getTable().getCurrentRecordManager().getSystemCode("RESSOURCE")%></div></td>
									<%-- <td class="inframe"><div align="center"><input type="text" readonly name="__TRESERVER$RESDATE$<%=multi.getData("TRESERVER","RESERVERID")%>" size="10" maxlength="10" value="<%=multi.getData("TRESERVER","RESDATE")%>" onkeypress="chkIntegerOfDate(this.value,event);" onkeyup="sysIsEdit();formatDate(this);" onblur="chkInputDate(this);" onfocus="this.select();" alt="วันที่จอง" onmousemver="toolTip('วันที่จอง(DDMMYYYY)')" onmouseout="toolTip()"></div>
									</td> --%>
								</tr>
								<%
							}
							%>

						</table>
					</td>
				</tr>
				<input type="hidden" name="rec" value="<%=rec%>">
				<tr>
					<td class="blankspace"></td>
				</tr>
				<tr>
					<td class="buttonline">
						<div align="center">
							<button type="button" class="btn btn-primary width100" swlang code="SW013176" onClick="genjobneed();">GENDATA</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW002185" onClick="checkAll();">SELECT ALL</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW013164" onClick="decheckAll();">DESELECT ALL</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW013165" onClick="addMulti1();">ADD</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW013166" onClick="deleteMulti();">DELETE</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW000971" onClick="sentMail();">MAIL</button>&nbsp;
							<button type="button" class="btn btn-primary width100" swlang code="SW005155" onClick="transferToTrnee();">TRANSFER</button>
						</div>
					</td>
				</tr>
				<tr>
					<td></td>
				</tr>
				<tr>
					<td  class="blankspace"></td>
				</tr>
			</table>
			<div id="tse"></div>
			<script type='text/javascript'>
			$(document).ready(function(){
				$('.showTaken').attr('checked', false);
				$('.reserved').css('display', 'none');
				$('.showTaken').click(function(){
					if ($(this).is(':checked')){
						$('.reserved').css('display', 'table-row');
					}else{
						$('.reserved').css('display', 'none');
						$('.checkbox-reserved').attr('checked', false);
						console.log($('.reserved').find('input[type="checkbox"]').attr('name'));
					}
				});
			});

			function genjobneed(){
				waitingDialog.show(new swaplang().swap2String("SW013176"));
				$('input[name="__jobneed"]').val("1");
				$('input[name="__refreshReady"]').val("1");
				$('form[name="cscform"]').attr('action', 'TRA0130_PHATRA.jsp');
				$('input[name="__help"]').val('__trainingid#'+$('input[name="__trainingid"]').val());
				$('form[name="cscform"]').submit();
			}
			</script>

			<script>
				var waitingDialog = waitingDialog || (function ($) {
					'use strict';

					// Creating modal dialog's DOM
					var $dialog = $(
						'<div class="modal fade" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true" style="padding-top:15%; overflow-y:visible;">' +
						'<div class="modal-dialog modal-m">' +
						'<div class="modal-content">' +
							'<div class="modal-header"><h3 style="margin:0;"></h3></div>' +
							'<div class="modal-body">' +
								'<div class="progress progress-striped active" style="margin-bottom:0;"><div class="progress-bar" style="width: 100%"></div></div>' +
							'</div>' +
						'</div></div></div>');

					return {
						show: function (message, options) {
							// Assigning defaults
							if (typeof options === 'undefined') {
								options = {};
							}
							if (typeof message === 'undefined') {
								message = 'Loading';
							}
							var settings = $.extend({
								dialogSize: 'm',
								progressType: '',
								onHide: null // This callback runs after the dialog was hidden
							}, options);

							// Configuring dialog
							$dialog.find('.modal-dialog').attr('class', 'modal-dialog').addClass('modal-' + settings.dialogSize);
							$dialog.find('.progress-bar').attr('class', 'progress-bar');
							if (settings.progressType) {
								$dialog.find('.progress-bar').addClass('progress-bar-' + settings.progressType);
							}
							$dialog.find('h3').text(message);
							// Adding callbacks
							if (typeof settings.onHide === 'function') {
								$dialog.off('hidden.bs.modal').on('hidden.bs.modal', function (e) {
									settings.onHide.call($dialog);
								});
							}
							$dialog.modal();
						},
						hide: function () {
							$dialog.modal('hide');
						}
					};

				})(jQuery);

			</script>
		</form>
		<script language="javascript">
		window.parent.setTabPages();
		</script>
	</body>
</html>