<%@page contentType="text/html; charset=windows-874"%>
<%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*,com.csc.library.session.*,com.csc.library.report.*"%>
<%@page import="com.csc.library.export.*"%>
<%@page import="jxl.Workbook,java.io.File"%>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.*" %>
<%@ page import="java.text.DecimalFormat" %>
<%@ page import="com.csc.library.database.*" %>
<jsp:useBean id="XLSOPTION" class="com.csc.library.system.Task" scope="page" />
<%
	XLSOPTION.setChannel(request, response);
	XLSOPTION.checkProfile();
	UProfile up=XLSOPTION.getUProfile();
	String xlsname=request.getParameter("__xlsname");
	String templatetname=request.getParameter("__templatetname");
	String templateename=request.getParameter("__templateename");
	JxlOption jop=new JxlOption(xlsname,up);

	File exlFile=new File(JxlConfig.TEMPLATE_PATH.concat(xlsname));

	Workbook workbook = Workbook.getWorkbook(exlFile);
	JxlTemplateRecord templateRecord=new JxlTemplateRecord(workbook , up);
	
	CheckNull chk = new CheckNull();
	CscCalendar calendar = new CscCalendar();
	DecimalFormat dfdate = new DecimalFormat("00");
	String filter_date= calendar.getEngYYYY()+"-"+dfdate.format(calendar.getMonth());
	SimpleDateFormat df = new SimpleDateFormat("hh:mm a", Locale.ENGLISH);
	GregorianCalendar gc= new GregorianCalendar();
	String cmd = chk.chkNullString(request.getParameter("__cmd"));
	String screenname = chk.chkNullString(request.getParameter("__screen"));
	String conf = chk.chkNullString(request.getParameter("__confirm"));
	String conditionid = "";
	String conditiondesc ="";
	String condition="";
	String orderby="";
	String groupby="";
	String pagebreak="";
	String language="";
	String template="";
	String defaultreport="";
	String defaultcon="0";
	String norelationreport="0";

	String descReport = templateRecord.getTname();

	Vector filterList = new Vector();
	boolean checkForPrint = false;
	for(int i = 0; i < templateRecord.getTemplate().size(); i++){
		JxlTemplate jxltemplate = templateRecord.getTemplate().get(i);
		if( jxltemplate.getColumnChooseList() == null ){
			continue;
		}else{
			checkForPrint = true;
			break;
		}	
	}
	if( checkForPrint ){
		for(int i = 0; i < templateRecord.getTemplate().size(); i++){
			JxlTemplate jxltemplate = templateRecord.getTemplate().get(i);
			if( jxltemplate.getColumnChooseList() == null ){
				continue;
			}
			
			for(int x = 0; x < jxltemplate.getFieldList().size(); x++){
				if( jxltemplate.getColumnChooseList().get(x) == null ){
					continue;
				}
				//filterList.add(jxltemplate.getColumnChooseList().get(x));
			}
		}	
	}

	SystemCode sc = new SystemCode();

	HashMap<String, ArrayList<String>> options =new LinkedHashMap<String, ArrayList<String>>();
	options=templateRecord.getOptionsSheet();
	Iterator it=options.keySet().iterator();
	String varname="";
	String filterData="";
	ArrayList<String> properties=null;
	
	while(it.hasNext()){
		HashMap hmOption = new HashMap();
		varname=(String)it.next();
		properties=options.get(varname); 
		String detailOption = properties.get(2).toString();
		if(properties.get(1).toString().equals("radio") || properties.get(1).toString().equals("list")){
			String detailData[] = detailOption.split("\\|");
			if(detailData[0].toString().equals("systemcode")){
				String validcode = detailData[1].toString();
				detailOption = "systemcode|"+validcode;
				/*List<Map<String, String>> vc = sc.getSystemCode(validcode,XLSOPTION.getUProfile().get("lang"));
				detailOption="systemcode|";
				for(int i=0;i<vc.size();i++){
					HashMap hm_vc = (HashMap) vc.get(i);
					detailOption += hm_vc.get("value").toString()+":'"+hm_vc.get("text").toString()+"'@";//set value for systemcode
					
				}*/
				//out.print(detailOption+"<BR>");
			}
		}
		filterData += properties.get(0).toString()+","+properties.get(1).toString()+","+detailOption+","+properties.get(5).toString()+"#";
		hmOption.put("text",properties.get(5).toString());
		hmOption.put("value",properties.get(0).toString());
		filterList.add(hmOption);
		
	}
	//out.print(vc+"<BR>");
%>

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" >
<script type='text/javascript' src="JS/jquery-ui-1.11.4.custom/jquery-ui.js"></script>
<script type='text/javascript' src='JS/QueryBuilder/bootstrap-3.3.5/js/bootstrap.min.js'></script>
<script type='text/javascript' src='JS/QueryBuilder/dist/js/query-builder.standalone-mod2.js'></script>
<script type='text/javascript' src='JS/QueryBuilder/dist/js/sql-parser.js'></script>
<script type='text/javascript' src='JS/QueryBuilder/dist/js/moment.js'></script>
<script language='javascript' src="./JS/VIEWCALENDAR.js"></script>
<!--DWR INCLUDE-->
<script type='text/javascript' src='/hr/dwr/interface/SearchDWR.js'></script>
<script type='text/javascript' src='/hr/dwr/engine.js'></script>
<script type='text/javascript' src='/hr/dwr/util.js'></script>
<script type="text/javascript" src="/hr/dwr/interface/SystemCode.js"></script>
<script type="text/javascript" src="/hr/dwr/interface/CscCalendar.js"></script>
<script type="text/javascript" src="/hr/dwr/interface/saveCondition.js"></script>
<script type="text/javascript" src="/hr/dwr/interface/pivot_dwr.js"></script>
<!--DWR INCLUDE-->



<script language="JavaScript" type="text/JavaScript">
function viewCalSTD(objName,filter){
	with(document.cscform){
		__calendar.value = objName;
	}
	win = window.open(filter+"/CALENDARSTD.htm","CALENDAR","left=350,top=250,width=280,height=220,toolbar=no,status=no,scrollbars=no");
	if(window.focus){win.focus();}
}
function goUpload(page){
    with(document.cscform){
	           open(page,"header","height=600,width=800");
	}
}




</script>

</head>

<br>

<div align="center">
<table width="100%" align="center">
<tr>
<td>
<div id="filterOther" align="center" class="panel panel-primary" >
<input type="hidden" name="__cmd" id="__cmd" value="">
<input type="hidden" name="__xlsnameFilter" id="__xlsnameFilter" value="<%=xlsname%>"/>
<input type="hidden" name="__module" id="__module" value=""/>
<input type="hidden" name="filterData" id="filterData" value="<%=filterData%>">
<input type="hidden" name="searchstatus" id="searchstatus" value="0"/>
<input type="hidden" name="inputname" id="inputname" value="0"/>
<input type="hidden" name="condition" id="condition" value=""/>
<input type="hidden" name="reportid" id="reportid" value=""/>
<input type="hidden" name="orderby2" id="orderby2" value=""/>
<input type="hidden" name="groupby2" id="groupby2" value=""/>
<input type="hidden" name="__columnlist" id="__columnlist" value=""/>
<input type="hidden" name="pagebreak2" id="pagebreak2" value=""/>
<input type="hidden" name="language2" id="language2" value=""/>
<input type="hidden" name="template2" id="template2" value=""/>
<input type="hidden" name="__templatename" id="__templatename" value="<%=templateename%>"/>
<input type="hidden" name="__pivot_data" id="__pivot_data" value=""/>
<input type="hidden" name="defaultreport" id="defaultreport" value=""/>
<input type="hidden" name="__lang" id="__lang" value="<%=XLSOPTION.getUProfile().get("lang")%>"/>
<input type="hidden" name="__companyidFilter" id="__companyidFilter" value="<%=XLSOPTION.getUProfile().get("companyid")%>"/>
<input type="hidden" name="__employeeidFilter" id="__employeeidFilter" value="<%=XLSOPTION.getUProfile().get("employeeid")%>"/>
<input type="hidden" name="user" id="user" value="<%=chk.chkNullString(XLSOPTION.getUProfile().get("employeeid"))%>"/>
<INPUT TYPE="hidden" name="__screen" id="__screen" VALUE="<%=chk.chkNullString(request.getParameter("__screen"),xlsname)%>"/>
	<div class="panel-heading">
		<h3 class="panel-title" align="right">&nbsp</h3>
	</div>
	<table width="100%" bgcolor="red">
		<tr>
			<td colspan="6">&nbsp;</td>
		</tr>
		<tr>
			<td colspan="6" class="rowtable1">
				&nbsp;<span swlang code="SW012471">Condition id</span> *&nbsp;<input type="text" id="__conditionid" name="__conditionid" size="8" maxlength="8" value="<%=chk.chkNullString(request.getParameter("__conditionid"),conditionid)%>">&nbsp;
				<a href="javascript:goHelp('LREPORT_CONDITIONHELP','__conditionid')" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image6" width="20" height="20" border="0" align="absmiddle"></a>
				&nbsp;<input type="text" id="__conditiondesc" name="__conditiondesc" size="20" maxlength="20" value="<%=chk.chkNullString(request.getParameter("__conditiondesc"),conditiondesc)%>">&nbsp;
				<input type="checkbox" id="__default" name="__default" value="1" >&nbsp;<span swlang code="SW012472">default</span>
				&nbsp;<button type="button" class="btn btn-sm btn-primary" onclick="goSavecon();">&nbsp;&nbsp;Save&nbsp;&nbsp;</button>
				&nbsp;<button type="button" class="btn btn-sm btn-danger" onclick="goDelcon();">&nbsp;&nbsp;Delete&nbsp;&nbsp;</button>
				&nbsp;<button type="button" class="btn btn-sm btn-success" onclick="goClearcon();">&nbsp;&nbsp;Clear&nbsp;&nbsp;</button>
				
			</td>
		</tr>
		<tr>
			<td colspan="6">&nbsp;</td>
		</tr>
		<tr>
			<td class="rowtable1">&nbsp;<span swlang code="SW000004">Order By</span></td>
			<td class="rowtable1">&nbsp;
				<select name="__orderbystd" id="__orderbystd" onchange="insertOrderBy();">
					<option value="0" selected>..</option>
					<%
					for(int i = 0; i < filterList.size(); i++){
						HashMap hm_op = (HashMap) filterList.get(i);
					%>
					<option value="<%=hm_op.get("value")%>"><%=hm_op.get("text")%></option>
					<%
					}
					%>
				</select>
			</td>
			<td class="rowtable1" colspan="3">&nbsp;<input type="text" readonly size="40" name="__orderText" id="__orderText"></td>
			<td>
				<font size="2" face="microsoft Sans Serif">
					[ <a href="#" onClick="javascript:reduorder();" swlang code='SW000123'>Delete</a> ]
					[ <a href="#" onClick="javascript:dellOrderBy();" swlang code='SW000124'>Delete All</a> ]
				</font>
			</td>
		</tr>
		<tr>
			<td class="rowtable1">&nbsp;<span swlang code="SW000122">Group By</span></td>
			<td class="rowtable1">&nbsp;
				<select name="__groupbystd" id="__groupbystd" onchange="insertGroupBy();">
					<option value="" selected>..</option>
					<%
					for(int i = 0; i < filterList.size(); i++){
						HashMap hm_op = (HashMap) filterList.get(i);
					%>
					<option value="<%=hm_op.get("value")%>"><%=hm_op.get("text")%></option>
					<%
					}
					%>
				</select>
			</td>
			<td class="rowtable1" colspan="3">&nbsp;<input type="text" readonly size="40" name="__groupText" id="__groupText"></td>
			<td>
				<font size="2" face="microsoft Sans Serif">
					[ <a href="#" onClick="javascript:redugroup();" swlang code='SW000123'>Delete</a> ]
					[ <a href="#" onClick="javascript:dellGroupBy();" swlang code='SW000124'>Delete All</a> ]
				</font>
			</td>
		</tr>
		<tr>
			<td class="rowtable1">&nbsp;<span swlang code="SW000126">Language</span></td>
			<td class="rowtable1">&nbsp;
				<select name="__languageFilter" id="__languageFilter" onchange="changeHeader()">
					<option id="lang$e" value="ENG">English</option>
					<option id="lang$t" value="THA" selected="">Thai</option>
				</select>
			</td>
			<td class="rowtable1">&nbsp;<span swlang code="SW000127">Template</span></td>
			<td class="rowtable1">&nbsp;
				<select name="__template" id="__template">
					<option value="<%=xlsname%>" lang="A"><%=XLSOPTION.getUProfile().get("lang").equals("eng")?templateename:templatetname%></option>
				</select>
			</td>
			<td class="rowtable1">&nbsp;</td>
			<td></td>
		</tr>
		<tr>
			<td colspan="5">&nbsp;&nbsp;<div id="builder"></div></td>
			<td valign="center" align="center">
				<br/>&nbsp;&nbsp;
				<div class="btn-group-vertical" role="group" aria-label="...">
					<!-- <button id="option" type="button" class="btn btn-sm btn-success" onclick="goOption();">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Option&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</button> -->
					<!-- <button id="print" type="button" class="btn btn-sm btn-primary" onclick="goPreview();">&nbsp;&nbsp;Print&nbsp;&nbsp;</button> -->
					<button type="button" class="btn btn-sm btn-info" onclick="goSetFilter();">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Export&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</button>
					<button type="button" class="btn btn-sm btn-primary" onclick="getData()">&nbsp;&nbsp;Pivot Report&nbsp;&nbsp;</button>
					<button type="button" class="btn btn-sm btn-success" onclick="getDataChart()">&nbsp;&nbsp;Export Chart&nbsp;&nbsp;</button>
				</div>
				
			</td>
		</tr>
		<tr>
			<td colspan="5">&nbsp;&nbsp;<textarea class="form-control" id="__condition" name="__condition" rows="10"></textarea></td>
			<td valign="center" align="center">
				<br/>&nbsp;&nbsp;
				<div class="btn-group-vertical" role="group" aria-label="...">
					
				</div>
			</td>
		</tr>
		<tr>
			<td colspan="6">&nbsp;</td>
			
		</tr>
		<tr>
			<td colspan="5">&nbsp;&nbsp;<div align="center"><button type="button" class="btn btn-sm btn-primary" onclick="goColumn()">&nbsp;&nbsp;BACK&nbsp;&nbsp;</button></div></td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td colspan="6">&nbsp;</td>
		</tr>
	</table>
</div>
</td>
</tr>
</table>
</div>
<br> 
<br>
<script language="JavaScript" type="text/JavaScript">
	var newpageIndex=1;
	var groupLength=0;
	var orderLength=0;
	var orderArray = new Array(50);
	var groupArray = new Array(50);

	function goHelp(helpName,inputName,linkhelp) {
		var helpReturn;
		var fixcon;
		var screen=document.getElementById("__screen").value;
		var user=document.getElementById("user").value;
		if (inputName=="__conditionid" ) {
			helpReturn="__conditionid:conditionid,reportid:reportid,__conditiondesc:condition_desc";
			fixcon="screen_name='"+screen+"' and userreport='"+user+"'";
			document.getElementById("searchstatus").value="0";
		}else if( inputName.indexOf("builder_rule_") > -1 ){
			helpReturn=inputName+":"+linkhelp;
			document.getElementById("searchstatus").value="1";
			document.getElementById("inputname").value=inputName;
		}
		linkHelp_Return(helpName,helpReturn,fixcon);
	}
	function sysHelp(input,data) {
				with(document.cscform){
					var param="SYSHELP_STD.jsp?__input="+input+"&__helpName="+data;
					window.open(param,"Help","left=150,top=150,width=600,height=400,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
				}
			}

			function postReturn(){
				with(document.cscform){
					if(searchstatus.value=="0"){
						__cmd.value="search";
						target = "";
						action="";
						//submit();
						//$.setSearch();
						saveCondition.getCon(new Array(__conditionid.value,document.getElementById("__screen").value), callbackCon);
					}else{
						$.setcondition('1');
					}
				}
			}
			var callbackCon = function(data){
				var lang = $("#__lang").val();
				if(data != ""){
					with(document.cscform){
						var value = data.split("#");
						if(value[0]!="-"){
							condition.value = value[0];
						}
						if(value[1]!="-"){
							orderby2.value = value[1];
						}
						if(value[2]!="-"){
							groupby2.value = value[2];
						}
						if(value[6]!="-"){
							language2.value = value[6];
						}
						if(value[7]!="-"){
							template2.value = value[7];
						}
						pagebreak2.value = value[3];
						defaultreport.value = value[4];
						$.setSearch();
					} 
				}
			}

			function postCalendarSTD(data){
				with(document.cscform){
					document.getElementById("inputname").value=data;
					$.setcondition('1');
				}
			}

			function goSetFilter(){
				with(document.cscform){
					var filter = "";
					if(__condition.value!=""){
						filter += " where "+__condition.value;
					}
					if(__groupText.value!=""){
						filter += " group by "+__groupText.value;
					}
					if(__orderText.value!=""){
						filter += " order by "+__orderText.value;
					}
					
					//alert(filter);
					goPreview(filter);
				}
			}

			function showexport(){
				with(document.cscform){
					action = "ASR003_STD.jsp";
					window.open("","save","left=150,top=150,width=700,height=200,toolbar=no,status=yes,scrollbars=yes");
					target="save";
					submit();
				}
			}

			function goSavecon(){
				with(document.cscform){
					
					var conditionid=__conditionid.value;
					if(!conditionid=="" || !conditionid==null){
						var bCon=confirm(MyCode[1]);
						if (bCon==true){
							__cmd.value="saveconstd";
							action="";
							target = "";
							saveCondition.saveCon(new Array(__xlsnameFilter.value,__companyidFilter.value,__conditionid.value,__employeeidFilter.value,__employeeidFilter.value,__condition.value,__conditiondesc.value,'',__orderText.value,__groupText.value,'',__languageFilter.value,document.getElementById("__template").value,'',__default.value,''), callback);
						}
					}else{
						alert(MyCode[0]);
					}
				}
			}

			function goDelcon(){
				with(document.cscform){
					var bCon=confirm(MyCode[4]);
					if (bCon==true){
						__cmd.value="delconstd";
						action="";
						target = "";
						saveCondition.deleteConRecord(Array(__xlsnameFilter.value,__companyidFilter.value,__conditionid.value,__employeeidFilter.value), callback)
						submit();
					}
				}
			}
			
			var callback = function(data){
				var lang = $("#__lang").val();
				//if(data != ""){
					with(document.cscform){
						if(lang=="eng"){
							alert("Save data completely");
						}else{
							alert("�ѹ�֡���������º����");
						}
					} 
				//}
			}
			function goClearcon(){
				with(document.cscform){
					var lang = __lang.value;
					__conditionid.value="";
					__conditiondesc.value="";
					__default.checked=false;
					__orderbystd.selectedIndex=0;
					__groupbystd.selectedIndex=0;
					__groupText.value="";
					__template.selectedIndex=0;
					__language.value=lang.toUpperCase();
					$.reset();
				}
			}

			function checkpassword(type){
				with(document.cscform){
					var password = __passwordtext.value;
					if (password != null && password!="") {
						if(type=="print"){
							GetPasswordFromMuser.ComparePassword(new Array(password), callpass);
						}else{
							GetPasswordFromMuser.ComparePassword(new Array(password), callpassexport);
						}
					}
				}
			}

			function showpreview(){
				with(document.cscform){
					var a="/hr/servlet/reportservletstd/?";
					action = a;
					target = "_blank";
					method="post";
					submit();
				}
			}

			function callpass(data){
				with(document.cscform){
					if(data==true){
						showpreview();
					}else{
						alert(MyCode[226]);
						$.showdialog("print");
					}
				}
			}

			function callpassexport(data){
				with(document.cscform){
					if(data==true){
						showexport();
					}else{
						alert(MyCode[226]);
						$.showdialog("export");
					}
				}
			}

			function goOption(){
				with(document.cscform){
					OptionRequire.value="false";
					//window.open("<%//=screen.getComponentPageSTD("ASR002")%>.jsp?__screen="+__screen.value);
				}
			}

			function setcon(input,e){
				with(document.cscform){
					if (e.keyCode == 13) {
						inputname.value=input.name;
						$.setcondition(1);
					}
				}
			}

			function setNewPage(value,text,first){
				//alert(first);
				with(document.cscform){
					if(first==true){
						newpageIndex=1;
						__onnewpage.options.length=1;
					}
					__onnewpage.options[newpageIndex++]=new Option(text,value,false);
				}
			}

			function setBU(){
				var strbu = ['BU1','BU2','BU3','BU4','BU5','ACTORNAME','COMPANY'];
				var lang = $('#__language').val();

				for (i=0; i<strbu.length; i++){
					var name = "__"+strbu[i];
					$('input[name='+name+']').val( $('input[name='+(name+"_"+lang)+']').val() );
				}
			}

			function changeHeader(){
				setBU();
			}

			function GoCondition(){
				with(document.cscform){
				//	window.open("ASR002_STD.jsp?__screen="+__screen.value);
				}
			}

			function reduorder(){
				with(document.cscform){
					if(orderLength>0){
						orderArray[--orderLength]="  ";
						setOrderText();
						__orderbystd.value = __orderText.value;
						if(__orderbystd.value == ""){
							__orderbystd.value = "0";
						}
					}
				}
			}

			function setOrderText(){
				with(document.cscform){
					b="";
					for( i=0;i<orderLength;i++){
						b=b+orderArray[i];
					}
					__orderText.value=b;
				}
			}

			function insertOrderBy(){
				var i=0;
				var isdup=false;
				with(document.cscform){
					if(__orderbystd.value !=0){
						for(i=0;i<=orderLength;i++){
							//alert(__orderby.value+"  "+ orderArray[i]);
							if((__orderbystd.value==orderArray[i])||(","+__orderbystd.value==orderArray[i])){
								alert(__orderbystd.value+"  "+ MyCode[11]);
								isdup=true;
							}
						}
						if(isdup==false){
							if(orderLength != 0)
							orderArray[orderLength++]=","+__orderbystd.value;
							else orderArray[orderLength++]=__orderbystd.value;
						}
						setOrderText();

					}
					__orderbystd.options[0].selected= true;
				}
			}

			

			function dellOrderBy(){
				with(document.cscform){
					for( i=0;i<orderLength;i++){
						orderArray[i]="  ";
					}
					orderLength=0;
					setOrderText();
					__orderby.value = __orderText.value;
					if(__orderby.value == ""){
						__orderby.value = "0";
					}
				}
			}

			function redugroup(){
				with(document.cscform){
					if(groupLength>0){
						groupArray[--groupLength]="  ";
						setGroupText();
						__groupbystd.value = __groupText.value;
						if(__groupbystd.value == ""){
							__groupbystd.value = "0";
						}
					}
				}
			}
			
			function insertGroupBy(){
				var i=0;
				var isdup=false;
				with(document.cscform){
					if(__groupbystd.value !=0){
						for(i=0;i<=groupLength;i++){
							//alert(__orderby.value+"  "+ groupArray[i]);
							if((__groupbystd.value==groupArray[i])||(","+__groupbystd.value==groupArray[i])){
								alert(__groupbystd.value+"  "+ MyCode[11]);
								isdup=true;
							}
						}
						if(isdup==false){
							if(groupLength != 0)
							groupArray[groupLength++]=","+__groupbystd.value;
							else groupArray[groupLength++]=__groupbystd.value;
						}
						setGroupText();

					}
					__groupbystd.options[0].selected= true;
				}
			}
			function setGroupText(){
				with(document.cscform){
					b="";
					for( i=0;i<groupLength;i++){
						b=b+groupArray[i];
					}
					__groupText.value=b;
				}
			}

			function dellGroupBy(){
				with(document.cscform){
					for( i=0;i<groupLength;i++){
						groupArray[i]="  ";
					}
					groupLength=0;
					setGroupText();
					//__onnewpage.options.length=1;
					//newpageIndex=1;
				}
			}

			function getData(){
				with(document.cscform){
					var lang = $("#__lang").val();
					var chkMsg="Pivot Data ?";
					var column="";
					var bCon=confirm(chkMsg);
					if (bCon==true){
						var filter = "";
						if(__condition.value!=""){
							filter += " where "+__condition.value;
						}
						if(__groupText.value!=""){
							filter += " group by "+__groupText.value;
						}
						if(__orderText.value!=""){
							filter += " order by "+__orderText.value;
						}
						var lis = document.getElementById("sortable2").getElementsByTagName("li");
						for(var i=0;i<lis.length;i++){
							column+=lis[i].id+"#"+lis[i].innerHTML+",";
						}
						__columnlist.value = column.substring(0,column.length-1);
						goPivot();
					}
				}
			}
			function getDataChart(){
				with(document.cscform){
					var lang = $("#__lang").val();
					var chkMsg="Pivot Chart ?";
					var column="";
					var bCon=confirm(chkMsg);
					if (bCon==true){
						var filter = "";
						if(__condition.value!=""){
							filter += " where "+__condition.value;
						}
						if(__groupText.value!=""){
							filter += " group by "+__groupText.value;
						}
						if(__orderText.value!=""){
							filter += " order by "+__orderText.value;
						}
						var lis = document.getElementById("sortable2").getElementsByTagName("li");
						for(var i=0;i<lis.length;i++){
							column+=lis[i].id+"#"+lis[i].innerHTML+",";
						}
						__columnlist.value = column.substring(0,column.length-1);
						goPivotChart();
					}
				}
			}
			
</script>
<script>
	var options = {
		filters: []
	}
	$.reset = function(){
		$('#builder').queryBuilder('reset');
		$('#__condition').val('');
	}
	$.setOption = function(){
		var module=$("#__module").val();
		var field=$("#filterData").val();
		var data = field.split("#");
		for(var i=0;i<data.length;i++){
			var field = data[i].split(",");
			if(field[1]=="help"){
				var helpxml = field[2].split("|");
				var helpreturn = helpxml[1].split(":")
				helpreturn[0] = helpreturn[0].replace('__','')
				//alert(helpreturn[0]+":"+field[0]);
				options.filters.push({id: field[0],label: field[0]+" : "+field[3],type: "string" , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],help:helpxml[0],linkhelp:helpreturn[0],validcode:"null"})
			}else if(field[1]=="calendar"){
				options.filters.push({id: field[0],label: field[0]+" : "+field[3],type: "date" , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],validation:{format: 'yyyy-mm-dd'},module:module})
			}else if(field[1]=="text"){
				var helpxml = field[2].split("|");
				options.filters.push({id: field[0],label: field[0]+" : "+field[3],type: "string" , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],help:"",linkhelp:"",validcode:"null"})
			}else if(field[1]=="radio" || field[1]=="list"){
					
				var detail = field[2].split("|");
				if(detail[0]=="systemcode"){
					var helpxml = field[2].split("|");
					options.filters.push({id: field[0],label: field[0]+" : "+field[3],type: "string" , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],help:"",linkhelp:"",validcode:detail[1]})
				}else if(detail[0]=="customize"){
				}else if(detail[0].indexOf("|")>-1){
					var helpxml = field[2].split("|");
					var helpreturn = helpxml[1].split(":")
					helpreturn[0] = helpreturn[0].replace('__','')
					options.filters.push({id: field[0],label: field[0]+" : "+field[3],type: "string" , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],help:helpxml[0],linkhelp:helpreturn[0],validcode:"null"})
				}
			}
		}
		var lang = $("#__lang").val();
		if(lang=="tha"){
			options.lang_code='th';
		}else{
			options.lang_code='en';
		}
	}
	$.setmodule=function (){
		var path = window.parent.location.pathname;
		var module = path.split("/");
		$('#__module').val(module[2]);
	}
	$(function(){
		$.setmodule();
		$.setOption();
		$('#builder').queryBuilder(options);
	//	$.checkstatus();
		$.setSearch();
		$('#builder').on('afterDeleteRule.queryBuilder', function(e, rule, error, value) {
			$.setcondition('0');
		});

		$('#builder').on('afterDeleteGroup.queryBuilder', function(e, rule, error, value) {
			$.setcondition('0');
		});

		$('#builder').on('afterUpdateRuleOperator.queryBuilder', function(e, rule, error, value) {
			$.setcondition('0');
		});

		$('#builder').on('afterUpdateGroupCondition.queryBuilder', function(e, rule, error, value) {
			$.setcondition('0');
		});

		$('#__orderbystd').on('change', function() {
			$('#__orderby').val($('#__orderText').val());
					//$('#__orderText').val($(this).val());
		});

		$('#__groupbystd').on('change', function() {
			$('#__groupby').val($(this).val());
			$('#__extraorderby').val("");
			//$('#__groupText').val($(this).val());
		});

	})

	$.setcondition = function(data){
		if(data=='1'){
			var input = $('#inputname').val();
			$('input[name="'+input+'"]').change();
		}
		var sql=$('#builder').queryBuilder('getSQL',false, false).sql;
		$('#__condition').val(sql);
	}

	$.setSearch = function(){
		var cmd = $('#__cmd').val();
		var defaultcon = $('#defaultcon').val();
		if((cmd=='search') || (cmd=='saveconstd') || (defaultcon=='1') || (cmd=='delconstd')){
			if(cmd=='delconstd'){
				__conditionid.value="";
				__conditiondesc.value="";
			}
			$('#__condition').val($('#condition').val());

			$("#__orderbystd option[value='" + $('#orderby2').val() + "']").prop("selected",true);
			$("#__groupbystd option[value='" + $('#groupby2').val() + "']").prop("selected",true);

			$('#__orderText').val($('#orderby2').val());
			$('#__groupText').val($('#groupby2').val());

			
			if($('#defaultreport').val()=="1"){
				$('#__default').prop('checked', true);
			}

			

			$("#__language option[value='" + $('#language2').val() + "']").prop("selected",true);
			$("#__template option[value='" + $('#template2').val() + "']").prop("selected",true);

			$('#builder').queryBuilder('setRulesFromSQL', $('#condition').val());
			$.setcondition('1');
		}
	}

			
</script>