{
	"pluginname": "CCL",
	"systemplugin": "0",
	"iswebsite":1,
	"initialstmt":"op1",
	"version": "1.0",
	"icon": "mif-delicious",
	"table_def": [
		{
			"name": "nbbi_beneficiary",
			"importtabledef":{"pluginname":"NBBI Management"}
		},
		{
			"name": "nbbi_cclattendance",
			"importtabledef":{"pluginname":"NBBI Management"}
		},
		{
			"name": "nbbi_questions",
			"importtabledef":{"pluginname":"NBBI Management"}
		},
		{
			"name": "nbbi_answers",
			"importtabledef":{"pluginname":"NBBI Management"}
		},
		{
			"name": "online_course_questions",
			"importtabledef":{"pluginname":"OnlineCourse"}
		},
		{
			"name": "online_answers",
			"importtabledef":{"pluginname":"OnlineCourse"}
		},{
			"name":"nbbi_cclmark1",
			"saveid":"mksv","getid":"mkgt","delid":"mkdel",
			"form":{
				"0":{"title":"Mark","type":"Horizontal","icon":"mif-dashboard","fields":"rollno,mk_test1,mk_test2,mk_finalexam,isgrace"},
				"1":{"title":"Mark","type":"Horizontal","icon":"mif-dashboard","fields":"rollno,mk_test1,mk_test2,mk_finalexam,isgrace"}
			},
			"joindef":{
				"nbbi_beneficiary":"||thistbl||.rollno=nbbi_beneficiary.beneficiarynumber",
				"nbbi_cclsubject":"||thistbl||.subjectid=nbbi_cclsubject.id"				
			},
			"list":{
				"mklt":{
					"tbl":"||thistbl|| a",
					"prerun":[
						{"sqlstatement":{"stuname":"select beneficiaryname FROM nbbi_beneficiary where beneficiarynumber='||rollno||'"}}						
					],
					"usejoin":"nbbi_beneficiary b,nbbi_cclsubject c",					
					"responsive":false,"datatable":false,
					"class":"table navyBlueTable","style":"width:70%",
					"displayfunctionbutton":false,
					"fld":[
						{"if":"||rollno|| = BLANK","then":"a.rollno","else":"c.subject"},						
						"if(a.mk_test1 is null or a.mk_test1<8,concat('<u>',a.mk_test1,'</ul>'),a.mk_test1) as test1",
						"if(a.mk_test2 is null or a.mk_test2<8,concat('<u>',a.mk_test2,'</ul>'),a.mk_test2) as test2",
						"if(a.mk_finalexam is null or a.mk_finalexam<24,concat('<u>',a.mk_finalexam,'</ul>'),a.mk_finalexam) as final",
						"if(a.mk_total is null or a.mk_total<40 or a.mk_test1 is null or a.mk_test1<8 or a.mk_test2 is null or a.mk_test2<8 or a.mk_finalexam is null or a.mk_finalexam<24,concat('<u>',a.mk_total,'</ul>'),a.mk_total) as total"
					],
					"header":[
						{"if":"||rollno|| = BLANK","then":"Roll No","else":"Subject"},
						"Test 1","Test 2","Final Exam","Total"
					],
					"whr":[
						"b.recordstatus=1 and a.recordstatus=1",
						" and (b.beneficiaryclass='CCL' or b.beneficiaryclass='DCL') and b.project='NBBI'",
						{"if":"||rollno|| != BLANK","then":" and a.rollno=||rollno||"},
						{"if":"||subject|| != BLANK","then":" and a.subjectid='||subject||'"},
						{"if":"||markyear|| != BLANK","then":" and year(b.createdon)='||markyear||'"}
					],
					"srt":"c.term,a.rollno","limit":"300",
					"prepend":[
						"<center><div contentEditable></div></center>",
						{"if":"||rollno|| != BLANK","then":"<div>Name: ||stuname||</div>"}
					],
					"append":[
						{"sqlstatement":{
							"a":"SELECT GROUP_CONCAT(b.subject separator '<br>') FROM nbbi_cclmark1 a INNER JOIN nbbi_cclsubject b ON a.subjectid=b.id WHERE a.rollno='||rollno||' and (a.mk_test1<8 or a.mk_test1 is null) GROUP BY a.rollno",
							"b":"SELECT GROUP_CONCAT(b.subject separator '<br>') FROM nbbi_cclmark1 a INNER JOIN nbbi_cclsubject b ON a.subjectid=b.id WHERE a.rollno='||rollno||' and (a.mk_test2<8 or a.mk_test2 is null) GROUP BY a.rollno",
							"c":"SELECT GROUP_CONCAT(b.subject separator '<br>') FROM nbbi_cclmark1 a INNER JOIN nbbi_cclsubject b ON a.subjectid=b.id WHERE a.rollno='||rollno||' and (a.mk_finalexam<24 or a.mk_finalexam is null) GROUP BY a.rollno",
							"passct1":"SELECT count(*) FROM nbbi_cclmark1 a  WHERE a.rollno='||rollno||' and (a.mk_test1>=8 ) GROUP BY a.rollno",
							"passct2":"SELECT count(*) FROM nbbi_cclmark1 a  WHERE a.rollno='||rollno||' and (a.mk_test2>=8 ) GROUP BY a.rollno",
							"passfx":"SELECT count(*) FROM nbbi_cclmark1 a  WHERE a.rollno='||rollno||' and (a.mk_finalexam>=24) GROUP BY a.rollno"
						}},
						{"if":"||passct1|| = 12 and ||passct2|| = 12 and ||passfx|| = 12",
							"then":"<br><b>Result: </b> Qualified",
							"else":"<br><b>Result: </b> Pass in ||passct1|| +  ||passct2|| + ||passfx||<br><br>"
						},
						{"if":"||a|| != BLANK","then":"<p><b>क्लास टेस्ट 1 फेल/बाकी: </b><br>||a||<br><br></p>"},
						{"if":"||b|| != BLANK","then":"<p><b>क्लास टेस्ट 2 फेल/बाकी: </b><br>||b||<br><br></p>"},
						{"if":"||c|| != BLANK","then":"<p><b>फ़ाइनल एक्जाम फेल/बाकी: </b><br>||c||<br></p>"}
					]
				},			
				"mkres":{
					"action":"Get Matrix",
					"tbl":"||thistbl|| a",
					"usejoin":"nbbi_beneficiary b,nbbi_cclsubject c",					
					"responsive":false,"datatable":false,
					"fld":[
						"a.rollno","c.subject","b.beneficiaryname",						
						"if(a.mk_total is null or a.mk_total<40 or a.mk_test1 is null or a.mk_test1<8 or a.mk_test2 is null or a.mk_test2<8 or a.mk_finalexam is null or a.mk_finalexam<24,concat('<u>',a.mk_total,'</ul>'),a.mk_total) as total"
					],"class":"eirene-table dataTable",
					"col":"subject","row":"rollno","val":"total",
					"additionalcol":"beneficiaryname",
					"whr":[
						"b.recordstatus=1 and c.recordstatus=1",
						{"if":"||markyear|| != BLANK","then":" and year(b.createdon)='||markyear||'"}
					],"limit":"5000",					
					"srt":"c.term,a.rollno","prepend":"<button class='mif-print no-print fg-green' title='Print' onclick='printHTML1(&apos;workareaTablebox&apos;)'></button>"				
				},
				"mkct1":{
					"name":"Consolidate Marksheet",
					"action":"Get Matrix","output":"#workareaTablebox",
					"tbl":"||thistbl|| a",
					"usejoin":"nbbi_beneficiary b,nbbi_cclsubject c",					
					"responsive":false,"datatable":false,
					"fld":[
						"CONCAT(b.beneficiarynumber,' ',b.beneficiaryname) as beneficiaryname,c.subject,if(a.ispass=1,mk_total,CONCAT('<u>',mk_total,'</u>')) as total"
					],"class":"eirene-table dataTable",
					"col":"subject","row":"beneficiaryname","val":"total",					
					"whr":[
						"b.recordstatus=1 and c.recordstatus=1",
						{"if":"||markyear|| != BLANK","then":" and year(b.createdon)='||markyear||'"},
						{"if":"||course|| != BLANK","then":" and b.beneficiaryclass='||course||'"}
					],"limit":"5000",										
					"srt":"b.beneficiarynumber",
					"header":"Roll No,Name",
					"prepend":"<button class='mif-print no-print fg-green' title='Print' onclick='printHTML1(&apos;workareaTablebox&apos;)'></button>"				
				},
				"gralt1":{					
					"output":"#workareaAppendix","getform":"nbbi_cclmark1 1",
					"tbl":"nbbi_cclmark1 a","usejoin":"nbbi_beneficiary b",				
					"fld":"a.rollno,b.beneficiaryname,mk_test1,mk_test2,mk_finalexam,mk_total,ispass,isgrace",
					"header":"Roll No,Name,Test1,Test2,Final,Total,Is Pass,Is Grace",
					"includeeditdelete":true,"class":"sheet-table",
					"whr":"a.recordstatus=1 and a.rollno=||rollno||",				
					"onsuccess":"cmd:dom,fun:show;#workareaAppendix"
				},
				"mklt3":{					
					"action":"Return","outputto":"php","output":"res","validate":"none",
					"value":[
						{"call":"gralt1","output":"||mkoutput||","validate":"none",
							"onsuccess":"",
							"fld":"a.rollno,c.subject,IF(mk_test1 < 8,CONCAT('<u>',mk_test1,'</u>'),mk_test1) as test1,IF(mk_test2 < 8,CONCAT('<u>',mk_test2,'</u>'),mk_test2) as test2,IF(mk_finalexam < 24,CONCAT('<u>',mk_finalexam,'</u>'),mk_finalexam) as final,IF(ispass <>1,CONCAT('<u>',mk_total,'</u>'),mk_total) as total,if(ispass=1,'✅','❌') as pass",
							"usejoin":"",
							"join":"INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber INNER JOIN nbbi_cclsubject c ON a.subjectid=c.id",
							"header":"Roll No,Subject,Test1,Test2,Final,Total,Pass",
							"srt":"c.term",
							"includeeditdelete":false,
							"getform":"","displayfunctionbutton":false
						}
					]
				}			
			},
			"fields":[
				{"name":"rollno int","fieldtype":"text","label":"Roll No"},
				{"name":"subjectid char(36)","fieldtype":"lookup","lookup":{"sqlid":"mklkup","tbl":"nbbi_cclsubject","fld":"subject"},"label":"Subject"},
				{"name":"mk_test1 tinyint","label":"Mark (Test1)"},
				{"name":"mk_test2 tinyint","label":"Mark (Test2)"},
				{"name":"mk_finalexam tinyint","label":"Mark (Final Exam)"},
				{"name":"isgrace tinyint DEFAULT 0","fieldtype":"select","option":"0:No,1:Yes","label":"Give Grace"},
				{"name":"mk_total tinyint GENERATED ALWAYS AS (mk_test1 + mk_test2 + mk_finalexam)","label":"Total Mark"},				
				{"name":"ispass tinyint GENERATED ALWAYS AS (IF((mk_test1>7 AND mk_test2>7 AND mk_finalexam>23) OR isgrace=1,1,0))","label":"Is Pass"}
			]
		},{
			"name":"nbbi_certificate",
			"saveid":"cersv","getid":"cergt","delpermanentid":"cerdt",
			"joindef":{
				"nbbi_beneficiary":"nbbi_beneficiary.beneficiarynumber=nbbi_certificate.rollno"
			},
			"list":{
				"cerlt":{
					"name":"Certificate Application List","filter":"a.rollno,a.feepaid,a.status",					
					"tbl":"nbbi_certificate a","usejoin":"nbbi_beneficiary b",
					"fld":"a.rollno,b.beneficiaryname,a.feepaid,a.status,a.posttrackingno,a.postdispatchedate,a.postdeliverydate,a.address",
					"staticwhr":"a.recordstatus=1"
				},
				"cerfm1":{
					"action":"Return","output":"#workareaTablebox",
					"value":[
						"<input type='text' id='cerrollno' >",
						"<button onclick='Eirene.runStmt(&apos;cerlt1&apos;,{rollno:$(&apos;#cerrollno&apos;).val()})'>Ok</button>"
					]					
				},
				"cerlt1":{
					"action":"Get HTML","output":"#workareaTablebox",
					"name":"Certificate Application List",
					"tbl":"nbbi_certificate a","usejoin":"nbbi_beneficiary b",
					"fld":"a.rollno,b.beneficiaryname,a.certificatecollectionmode,a.feepaid,a.status,a.posttrackingno,a.postdispatchedate,a.postdeliverydate,a.address",
					"whr":"a.recordstatus=1 and a.rollno=||rollno||",
					"prepend":"<table class='dataTable'>",
					"template":[
						"<tr><td>Roll No</td><td>||rollno||</td></tr>",
						"<tr><td>Name</td><td>||beneficiaryname||</td></tr>",						
						"<tr><td>Fee Paid</td><td>||feepaid||</td></tr>",
						"<tr><td>Status</td><td>||status||</td></tr>",
						"<tr><td>Certificate Collection Mode</td><td>||certificatecollectionmode||</td></tr>",
						"<tr><td>Tracking No</td><td>||posttrackingno||</td></tr>",
						"<tr><td>Dispatch Date</td><td>||postdispatchedate||</td></tr>",
						"<tr><td>Delivery Date</td><td>||postdeliverydate||</td></tr>",
						"<tr><td>Address</td><td>||address||</td></tr>"
					],
					"append":"</table>"
				}
			},
			"fields":[
				{"name":"rollno int","label":"Roll No"},				
				{"name":"feepaid int DEFAULT 0","label":"Fee Paid"},
				{"name":"status enum('Applied and Fee Paid','Applied and Fee Not Paid','Certificate Printed','Certificate Dispatched','Certificate Delivered')","label":"Status"},
				{"name":"posttrackingno varchar(15)","label":"Post Tracking No"},
				{"name":"postdispatchedate date","label":"Certificate Dispatch Date"},
				{"name":"postdeliverydate date","label":"Certificate Delivery Date"},
				{"name":"address varchar(500)","label":"Address"},
				{"name":"certificatecollectionmode varchar(100)","label":"Certificate Collection Mode"}
			]
		}
	],
	"form":[],
	"formbuttons": [{
			"name": "||pluginname||",
			"caption": "||pluginname||",
			"icon": "mif-delicious fg-red",
			"onclick": "Eirene.runStmt('ccl0')"
		}
	],
	"sqlstatement": [
		{
			"id":"ccl0",
			"name":"Admin Workpage (Master)",
			"sql":{
				"action":"Return",
				"output":"#workareaFilter1",
				"value":"",
				"elem":{
					"output":"#workareaFilter",
					"parent":"div",
					"elem":[
						{"name":"ccl0b1","id":"ccl0b1","type":"button","value":"Students","onclick":"Eirene.runStmt('stult',{row:1,col:1});"},
						{"name":"ccl0b2","id":"ccl0b2","type":"button","value":"Marks","onclick":"Eirene.runStmt('ccl01')"},
						{"name":"ccl0b3","id":"ccl0b3","type":"button","value":"Certificate","onclick":"Eirene.runStmt('ccl02')"},
						{"name":"ccl0b4","id":"ccl0b4","type":"button","value":"Attendance","onclick":"Eirene.runStmt('attn2')"}
					]
				},
				"onsuccess":"cmd:dom,fun:show;#workareaFilter-cmd:dom,fun:show;#workareaFilter1-cmd:dom,fun:show;#workareaTablebox"
			}
		},
		{
			"id":"ccl02",
			"name":"Certificate Workpage",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":[
					"<textarea id='certtxt' \\\"onblur\\\" = 'let str=$(this).val().replace(/\\\\t/g,&apos;,&apos;);$(this).val(str);'></textarea>",
					"<button class='ml-2' onclick='if(!$(&apos;#certtxt&apos;).val()){showtoast(&apos;Roll No is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;cert1&apos;,{csv:$(&apos;#certtxt&apos;).val()})'>Add Roll No Who Applied For Certificate</button>",
					"<button class='ml-2' onclick='if(!$(&apos;#certtxt&apos;).val()){showtoast(&apos;Roll No is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;cert2&apos;,{csv:$(&apos;#certtxt&apos;).val()})'>Add Roll No Who Paid For Certificate</button>",
					"<button class='ml-2' onclick='if(!$(&apos;#certtxt&apos;).val()){showtoast(&apos;Roll No is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;cert3&apos;,{csv:$(&apos;#certtxt&apos;).val()})'>Add Certificate Collection Mode</button>",
					"<button class='ml-2' onclick='if(!$(&apos;#certtxt&apos;).val()){showtoast(&apos;Roll No is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;cert4&apos;,{csv:$(&apos;#certtxt&apos;).val()})'>Add Tracking No</button>"
				]
			}
		},
		{
			"id":"ccl01",
			"name":"Admin Workpage (Marks)",
			"sql":{
				"action":"Return",
				"output":"res","outputto":"php",
				"value":"",
				"elem":{
					"output":"#workareaFilter1",
					"parent":"div",
					"elem":[
						{"name":"ccl01e1","id":"ccl01e1","type":"select","option":"SELECT id,subject FROM nbbi_cclsubject order by term"},
						{"name":"ccl01e2","id":"ccl01e2","type":"textarea","value":"","onblur":"let str=$(this).val().replace(/\\\\t/g,',');$(this).val(str);"},
						{"name":"ccl01e2a","id":"ccl01e2a","type":"select","option":",Test1,Test2,FinalExam"},
						{"name":"ccl01e2b","id":"ccl01e2b","type":"select","option":"2023,2024"},
						{"name":"ccl01e2b","id":"ccl01e2c","type":"select","option":"CCL,DCL"},
						{"name":"ccl01e3","id":"ccl01e3","type":"button","value":"Save","onclick":"if(!$('#ccl01e1').val()){showToast('Select Subject','alert',5000);return false;}if(!$('#ccl01e2').val()){showToast('No Marks Received','alert',5000);return false;}if(!$('#ccl01e2a').val()){showToast('Select Test Type','alert',5000);return false;}Eirene.runStmt('cclmk',{subject:$('#ccl01e1').val(),csv:$('#ccl01e2').val(),testtype:$('#ccl01e2a').val()})"},
						{"name":"ccl01e4","id":"ccl01e4","type":"button","value":"Get Mark","onclick":"if(!$('#ccl01e1').val()){showToast('Select Subject','alert',5000);return false;}Eirene.runStmt('mklt',{subject:$('#ccl01e1').val(),varmklt_output:&apos;#workareaTablebox&apos;,markyear:$(&apos;#ccl01e2b&apos;).val()})"},
						{"name":"ccl01e5","id":"ccl01e5","type":"button","value":"Get Result Sheet","onclick":"Eirene.runStmt('mkres',{varmkres_output:&apos;#workareaTablebox&apos;,markyear:$(&apos;#ccl01e2b&apos;).val()})"},
						{"name":"ccl01e6","id":"ccl01e6","type":"button","value":"Get Failed in One Paper Stu List","onclick":"Eirene.runStmt('gralt',{markyear:$(&apos;#ccl01e2b&apos;).val()})"},
						{"name":"ccl01e7","id":"ccl01e7","type":"button","value":"Get Consolidated Result","onclick":"Eirene.runStmt('mkct1',{markyear:$(&apos;#ccl01e2b&apos;).val(),course:$(&apos;#ccl01e2c&apos;).val()})"}
					]
				}
			}
		},
		{
			"id":"ccl1",
			"name":"Carousel",
			"sql":{
				"action":"Return",
				"output":"#workareaFilter",
				"value":[
					"<div>",						
						"<div style='height:300px;background-size:cover;color:white;text-align:center;background-image:url(&apos;https://cmch.niea.in/images/Graduation2023.JPG&apos;''>",
							"<h1>Certificate in Christian Leadership</h1>",
							"<h4>2024-25</h4>",
						"</div>",						
					"</div>"
				],
				"elem":[
					{
						"output":"#workareaFilter1",
						"parent":"div",
						"elem":[
							{"name":"ccl1a","id":"ccl1a","type":"span","value":"Home","onclick":"Eirene.runStmt('ccl2a')","class":"eirene-fg-blue-hover font-Lato-Bold"},
							{"name":"ccl1b","id":"ccl1b","type":"span","value":"Attendance","onclick":"Eirene.runStmt('ccl8')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1j","id":"ccl1j","type":"span","value":"Time Table","onclick":"Eirene.runStmt('ccl2')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1c","id":"ccl1c","type":"span","value":"Marks","onclick":"Eirene.runStmt('ccl12')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1d","id":"ccl1d","type":"span","value":"Course List","onclick":"Eirene.runStmt('ccl3')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},							
							{"name":"ccl1f","id":"ccl1f","type":"span","value":"Link/Notes","onclick":"Eirene.runStmt('ccl7')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1g","id":"ccl1g","type":"span","value":"Question","onclick":"Eirene.runStmt('ccl10')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1h","id":"ccl1h","type":"span","value":"Certificate","onclick":"Eirene.runStmt('cerfm1')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"},
							{"name":"ccl1i","id":"ccl1i","type":"span","value":"Admin","onclick":"Eirene.runStmt('ccl11')","class":"eirene-fg-blue-hover ml-8 font-Lato-Bold"}
							
						]
					}
				],
				"onsuccess":"cmd:dom,fun:show;#workareaFilter-cmd:dom,fun:show;#workareaFilter1"
			}
		},{
			"id":"ccl2a",
			"name":"Home",
			"sql":{
				"action":"Return","output":"#workareaTablebox",
				"value":[
					"<div>",
					"<b>Announcements</b><br>",
					"1.  स्नातक समारोह -15 मार्च 2025<br>",
					"2.  नया एड्मिशन फार्म:  <a target='_blank' href='https://forms.gle/pmynQDeZmprYF9dv8'>link</a><br>",
					"3.  सत्र 3 फ़ाइनल एक्जाम  -24 से 27 मार्च 2025<br>",
					"<br>",
					"</div>",
					"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",
						"<center>",
							"<h4 style='color: #333; font-size: 24px; margin: 0;'>CCL Highest Attendance</h4>",        
						"</center>",
						"<br>",    
						{"call":"hgatt","output":"cclhighestattendance","outputto":"php","benclass":"CCL"},
						"<div id='cclhighestattendance'>||cclhighestattendance||</div>",
						"<br>",
						"<div style='color:gray' onclick='Eirene.runStmt(&apos;hgatl&apos;,{benclass:&apos;CCL&apos;})'>More details...</div>",
						"<center>",
							"<h4 style='color: #333; font-size: 24px; margin: 0;'>CCL Highest Mark</h4>",        
						"</center>",
						"<br>",
						{"call":"hgmk","output":"cclhighestmark","outputto":"php","benclass":"CCL"},
						"<div id='cclhighestmark'>||cclhighestmark||</div>",
						"<div style='color:gray' onclick='Eirene.runStmt(&apos;hgmkl&apos;,{benclass:&apos;CCL&apos;})'>More details...</div>",						
						"<center>",
							"<br><h4 style='color: #333; font-size: 24px; margin: 0;'>DCL Highest Attendance</h4>",        
						"</center>",
						"<br>",    
						{"call":"hgatt","output":"dclhighestattendance","outputto":"php","benclass":"DCL"},
						"<div id='dclhighestattendance'>||dclhighestattendance||</div>",
						"<br>",
						"<div style='color:gray' onclick='Eirene.runStmt(&apos;hgatl&apos;,{benclass:&apos;DCL&apos;})'>More details...</div>",
						"<center>",
							"<h4 style='color: #333; font-size: 24px; margin: 0;'>DCL Highest Mark</h4>",        
						"</center>",
						"<br>",
						{"call":"hgmk","output":"dclhighestmark","outputto":"php","benclass":"DCL"},
						"<div id='dclhighestmark'>||dclhighestmark||</div>",
						"<div style='color:gray' onclick='Eirene.runStmt(&apos;hgmkl&apos;,{benclass:&apos;DCL&apos;})'>More details...</div>",						
					"</div>"
				]
			}
		},				
		{
			"id":"ccl2",
			"name":"Time Table",
			"sql":{
				"action":"Return","output":"#workareaTablebox",
				"value":[
					"<ul data-role='tabs' data-expand='true' >",
						"<li><a href='#TimeTabletarget_1'>CCL</a></li>",
						"<li><a href='#TimeTabletarget_2'>DCL</a></li>",					
					"</ul>",
					"<div class='border bd-default no-border-top p-2'>",
					"<div id='TimeTabletarget_1'>",						 
						"<center><h4 style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 2 (अक्तूबर - दिसंबर)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",  
						"    <table class='table denimBlueTable'>",  
						"        <thead><tr >",  
						"            <th >Subject</th><th >टेस्ट 1</th><th >टेस्ट 2</th><th >फ़ाइनल एक्जाम</th>",  
						"        </tr></thead>",  
						"        <tbody><tr >",  
						"            <td >मसीही नेतृत्व II</td><td >Oct 11</td><td >Nov 8</td><td >Dec 16</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >नया नियम सर्वेक्षण</td><td >Oct 18</td><td >Nov 15</td><td >Dec 17</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >मसीही इतिहास</td><td >Oct 25</td><td >Nov 22</td><td >Dec 18</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >उपदेश कला</td><td >Nov 1</td><td >Nov 29</td><td >Dec 19</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक फ़ाइनल एक्जाम सत्र 1</td>",  
						"            <td colspan='3' style='padding: 12px 15px; background-color: #FFF9C4; text-align: center;'>Dec 9 – Dec 12</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक क्लास टेस्ट सत्र 1 & सत्र 2</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Dec 13</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Dec 20</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>-</td>",  
						"        </tr></tbody>",  
						"    </table>",  
						"</div>",
						"<center><h4 style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 3 (जनवरी - मार्च)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",  
						"    <table class='table purpleHeartTable'>",  
						"        <thead><tr >",  
						"            <th >Subject</th><th >टेस्ट 1</th><th >टेस्ट 2</th><th >फ़ाइनल एक्जाम</th>",  
						"        </tr></thead>",  
						"        <tbody><tr >",  
						"            <td >मसीही नेतृत्व III</td><td >Jan 24</td><td >Feb 21</td><td >March 24</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >कलिसिया निर्माण एवं विकास</td><td >Jan 31</td><td >Feb 28</td><td >March 25</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >पौलूस का जीवन और सेवकाई</td><td >Feb 7</td><td >Mar 7</td><td >March 26</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >पादरी देखभाल और परामर्श</td><td >Feb 14</td><td >Mar 14</td><td >March 27</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक फ़ाइनल एक्जाम सत्र 1 & 2</td>",  
						"            <td colspan='3' style='padding: 12px 15px; background-color: #FFF9C4; text-align: center;'>Mar 17 – Mar 20</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक क्लास टेस्ट सत्र 1, 2 & 3</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Mar 21</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Mar 28</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>-</td>",  
						"        </tr></tbody>",  
						"    </table>",  
						"</div>",
						"<center><h4  style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 1 (जुलाई - सितंबर)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",  
						"    <table class='table shamrockGreenTable'>",  
						"        <thead><tr >",  
						"            <th >Subject</th><th >टेस्ट 1</th><th >टेस्ट 2</th><th >फ़ाइनल एक्जाम</th>",  
						"        </tr></thead>",  
						"        <tbody><tr >",  
						"            <td >मसीही नेतृत्व I</td><td >July 26</td><td >Aug 23</td><td >Sep 16</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >पुराना नियम सर्वेक्षण</td><td >Aug 2</td><td >Aug 30</td><td >Sep 17</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >मसीही जीवन का बुनियाद</td><td >Aug 9</td><td >Sep 6</td><td >Sep 18</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >बाइबल चरित्र</td><td >Aug 16</td><td >Sep 13</td><td >Sep 19</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक क्लास टेस्ट सत्र 1</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Sep 20</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>Sep 21</td>",  
						"            <td style='padding: 12px 15px; background-color: #FFF9C4;'>-</td>",  
						"        </tr></tbody>",  
						"    </table>",  
						"</div>",
					"</div>",
					"<div id='TimeTabletarget_2'>",
						"<center><h4 style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 1 (जुलाई - सितंबर)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",
							"<table class='table pineGreenTable' >",
								"<thead><tr>",
									"<th >Subject</th><th >टेस्ट 1</th><th >टेस्ट 2</th><th >फ़ाइनल एक्जाम</th>",
								"</tr></thead>",
								"<tbody><tr>",
									"<td >यीशु मसीह का जीवन और सेवकाई</td><td >Aug 23</td><td >Sep 20</td><td >Oct 7</td>",
								"</tr>",
								"<tr >",
									"<td >मिशनरियों का जीवन और कार्य</td><td >Aug 30</td><td >Sep 18</td><td >Oct 8</td>",
								"</tr>",
								"<tr >",
									"<td >भारत में ईसाई धर्म का इतिहास</td><td >Sep 6</td><td >Sep 27</td><td >Oct 9</td>",
								"</tr>",
								"<tr >",
									"<td >धर्मशास्त्र - 1</td><td >Sep 13</td><td >Oct 4</td><td >Oct 10</td>",
								"</tr>",
								"<tr >",
									"<td >रिटेक क्लास टेस्ट सत्र 1</td><td >Oct 11</td><td >Oct 12</td><td >-</td>",
								"</tr></tbody>",
							"</table>",
						"</div>",
						"<center><h4 style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 2 (अक्तूबर - दिसंबर)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",  
						"    <table class='table navyBlueTable'>",  
						"        <thead><tr >",  
						"            <th >Subject</th><th >टेस्ट 1</th><th >टेस्ट 2</th><th >फ़ाइनल एक्जाम</th>",  
						"        </tr></thead>",  
						"        <tbody><tr >",  
						"            <td >भारत के प्रमुख धर्म</td><td >Oct 18</td><td >Nov 15</td><td >Dec 16</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >मिशन और सुसमाचार प्रचार</td><td >Oct 25</td><td >Nov 22</td><td >Dec 17</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >इस्राएल का इतिहास</td><td >Nov 1</td><td >Nov 29</td><td >Dec 18</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >पहला और दूसरा कुरिन्थियों</td><td >Nov 8</td><td >Dec 6</td><td >Dec 19</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक फ़ाइनल एक्जाम सत्र 1</td>",  
						"            <td colspan='3' style='padding: 12px 15px; background-color: #FFF9C4; text-align: center;'>Dec 9 – Dec 12</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक क्लास टेस्ट सत्र 2</td><td >Dec 13</td><td >Dec 20</td><td >-</td>",  
						"        </tr></tbody>",  
						"    </table>",  
						"</div>",
						"<center><h4 style='color: #333; font-size: 24px; margin: 0;padding:4px'>सत्र 3 (जनवरी - मार्च)- परीक्षा समय सारणी</h4></center>",
						"<div style='font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px;'>",  
						"    <table class='table purpleHeartTable'>",  
						"        <thead><tr >",  
						"            <th >Subject</th>",  
						"            <th >टेस्ट 1</th>",  
						"            <th >टेस्ट 2</th>",  
						"            <th >फ़ाइनल एक्जाम</th>",  
						"        </tr></thead>",  
						"        <tbody><tr >",  
						"            <td >बाइबिल परामर्श/Biblical Counselling</td>",  
						"            <td >Jan 24</td>",  
						"            <td >Feb 21</td>",  
						"            <td >March 24</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >पंचग्रंथ का परिचय/Introduction to Pentateuch</td>",  
						"            <td >Jan 31</td>",  
						"            <td >Feb 28</td>",  
						"            <td >March 25</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >धर्मशास्त्र II/ Theology II</td>",  
						"            <td >Feb 7</td>",  
						"            <td >Mar 7</td>",  
						"            <td >March 26</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >प्रभावी कलीसिया नेतृत्व/Transformational Church Leadership</td>",  
						"            <td >Feb 14</td>",  
						"            <td >Mar 14</td>",  
						"            <td >March 27</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक फ़ाइनल एक्जाम सत्र 2</td>",  
						"            <td colspan='3' style='padding: 12px 15px; background-color: #FFF9C4; text-align: center;'>Mar 17 – Mar 20</td>",  
						"        </tr>",  
						"        <tr >",  
						"            <td >रिटेक क्लास टेस्ट सत्र 3</td>",  
						"            <td >Mar 21</td>",  
						"            <td >Mar 28</td>",  
						"            <td >-</td>",  
						"        </tr></tbody>",  
						"    </table>",  
						"</div>",  
					"</div>"
				]			
			}
		},
		{
			"id":"ccl3",
			"name":"Course List",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":"<h1 class='font-Lato-Bold'>Course List</h1><img src='https://cmch.niea.in/images/Courselist.jpg'/>"
			}
		},{
			"id":"ccl4",
			"name":"Get Roll No HTML",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":[
					"<h1 class='font-Lato-Bold'>Get Roll No</h1>",
					"Mobile No. <input type='text' id='ccl4inp' class='ml-4'> <button type='button' class='ml-4' onclick='Eirene.runStmt(&apos;ccl5&apos;,{mobileno:$(&apos;#ccl4inp&apos;).val()})'>Ok</button>",
					"<div id='ccl4maindiv'></div>"
				]
			}
		},{
			"id":"svatc",
			"name":"Check and Save Attendance",
			"sql":{
				"action":"Return","outputto":"php","output":"res","validate":"none",
				"value":[
					{"sqlstatement":{"attendancecode":"SELECT pdata from eirene_meta WHERE pname='CCL Attendance Code'"}},
					{"if":"||acode|| = ||attendancecode||",
						"then":{"call":"cclasv","validate":"none"},
						"else":{"domoutput":"showtoast;alert;Incorrect Attendance Code"}
					}
				]
			}
		},{
			"id":"ccl5",
			"name":"List Names with Mobile Numbers",
			"sql":{
				"action":"Get Table",
				"output":"#ccl4maindiv","validate":"none",
				"prerun":[
					{"sqlstatement":{
						"mkrollno":"SELECT beneficiarynumber FROM nbbi_beneficiary WHERE mobilenumber=||mobileno|| or beneficiarynumber='||mobileno||'",
						"attendancecount":"SELECT COUNT(*) FROM nbbi_cclattendance WHERE rollno=||mkrollno||",
						"todaycount":"SELECT COUNT(*) FROM nbbi_cclattendance WHERE rollno=||mkrollno|| and DATE(createdon)=CURDATE()"						
					}}
				],
				"tbl":"nbbi_beneficiary",				
				"fld":[
					"beneficiarynumber,beneficiaryname,beneficiaryclass,city,state,'||attendancecount||'",
					{"if":"||todaycount|| = 0",
						"then":"CONCAT('<input id=attendancecode placeholder=AttendanceCode style=padding:7px;><br><button class=attendancebtn style=background:#b92940;color:#fff; onclick=\\\"if(!$(&apos;#attendancecode&apos;).val()){showToast(&apos;Attendancecode_needed&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;svatc&apos;,{pluginref:&apos;77bda1e9-5b06-11eb-9efd-525400a09ba1&apos;,rollno:',beneficiarynumber,',varcclasv_validate:&apos;none&apos;,acode:$(&apos;#attendancecode&apos;).val()});$(this).hide();\\\" >','Save Attendance','</button>')",
						"else":"'Attendance Done/आज का एट्टेंडेंस हो गया है ।'"
					}
				],
				"header":"Roll No,Name,Class,City,State,Attendance #,",
				"whr":"(mobilenumber='||mobileno||' or beneficiarynumber='||mobileno||')  and recordtype='Beneficiary' and recordstatus=1",
				"srt":"createdon DESC",
				"append":"<button style='background:#04AA6D;color:#fff;' onclick='Eirene.runStmt(&apos;mklt3&apos;,{mkoutput:&apos;#ccl4maindiv&apos;,rollno:||mkrollno||})'>Marksheet</button>",
				"displayfunctionbutton":false
			}
		},{
			"id":"ccl5a",
			"name":"List Names with Mobile Numbers",
			"sql":{
				"action":"Get Table",
				"output":"#adminarea2",
				"tbl":"nbbi_beneficiary",
				"serialno":true,
				"fld":"beneficiaryname,city,state,beneficiarynumber,CONCAT('<div id=div',id,'><button onclick=Eirene.runStmt(&apos;bendt&apos;,{ID:&apos;',id,'&apos;,confirmBeforeProcess:&apos;Confirm_Delete?&apos;});$(this).hide();>Delete</button></div>') btn",
				"header":"Name,City,State,RollNo.,",
				"srt":"beneficiarynumber",
				"whr":"state='||state||'  and beneficiaryclass='CCL' and beneficiarynumber is not null and recordstatus=1"
			}
		},{
			"id":"ccl6",
			"name":"Issue Roll No.",
			"sql":{
				"action":"Return",				
				"output":"#div||benid||",
				"value":[
					{"sqlstatement":{
						"a":"select if(MAX(beneficiarynumber)>0,MAX(beneficiarynumber)+1,23001) as bennum FROM nbbi_beneficiary WHERE beneficiaryclass='CCL' and recordstatus=1 and date(createdon)>=20230601",
						"b":"update nbbi_beneficiary set beneficiarynumber='||GET_a||',status=1 where id='||benid||'"
					}},
					"||GET_a||"
				]				
			}
		},{
			"id":"ccl7",
			"name":"Get Links",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":[
					"<h4 class='font-Lato-Bold'><b>लिंक</b></h4>",
					"ज़ूम मीटिंग लिंक: <a href='https://zoom.us/j/9431230298?pwd=R1orbll3ZUpXU0Fsd0FnTlY3SkFPdz09'>Link</a>",					
					"<br><br><h4><b>CCL क्लास नोट्स</b></h4>",
					"<b>सत्र 1</b><br>",
					"<div>मसीही नेतृत्व 1: <a target='_blank' href='https://drive.google.com/open?id=1RUq6bMwfXZVsWh2WL2PGIgfvV83MctSv&usp=drive_fs'>नोट्स</a></div>",
					"<div>पुराना नियम सर्वेक्षण: <a target='_blank' href='https://drive.google.com/open?id=1RPZWNfAUTNsycxe-L7ef_VtZbsem36Ds&usp=drive_fs'>नोट्स</a></div>",
					"<div>मसीही जीवन की बुनियाद: <a target='_blank' href='https://drive.google.com/open?id=1T49UINtXEZ1Rw6BfCUL8h_sHsMnpHN0m&usp=drive_fs'>नोट्स</a></div>",
					"<div>बाइबल चरित्र: <a target='_blank' href='https://drive.google.com/open?id=1Pr6bKNl1MrpFWyvIzh74Yi9Xl_olJqTc&usp=drive_fs'>नोट्स</a></div>",
					"<b>सत्र 2</b><br>",
					"<div>मसीही नेतृत्व 2: <a target='_blank' href='https://drive.google.com/open?id=1Enz1K_wr8IULxANvoTRpf72PeAyERYTx&usp=drive_fs'>नोट्स</a></div>",
					"<div>नया नियम सर्वेक्षण: <a target='_blank' href='https://drive.google.com/open?id=1dl7zI7kzfnnzF3P0fKB_XthrXAJuv6o9&usp=drive_fs'>नोट्स</a></div>",
					"<div>मसीही इतिहास : <a target='_blank' href='https://drive.google.com/open?id=1EgkJ5ukgpthrk5c6m070jFD28Y24i_Do&usp=drive_fs'>नोट्स</a></div>",
					"<div>उपदेश कला: <a target='_blank' href='https://drive.google.com/open?id=1FhjnamGfMOmQ61lpXvbI_I06SF-D-dfU&usp=drive_fs'>नोट्स</a></div>",
					"<b>सत्र 3</b><br>",
					"<div>मसीही नेतृत्व 3: <a target='_blank' href='https://drive.google.com/open?id=1utPWt6qn65qdBss8LkwJfkotFbpch-dm&usp=drive_fs'>नोट्स</a></div>",
					"<div>चर्च प्लांटिंग और ग्रोथ: <a target='_blank' href='https://drive.google.com/open?id=1y9tVFCgSluW27o63WzSiUCgjok0msgZ_&usp=drive_fs'>नोट्स</a></div>",
					"<div>पौलूस का जीवन और सेवकाई : <a target='_blank' href='https://drive.google.com/open?id=10H4djA-JRzWG-oL6GKEggBzs2dAw6_XR&usp=drive_fs'>नोट्स</a></div>",
					"<div>पादरी देखभाल और परामर्श <a target='_blank' href='https://drive.google.com/open?id=1iNURu38iq4BgwMPIGb2ShRuIUnW1tUIk&usp=drive_fs'>नोट्स</a></div>"					
					
				]
			}
		},{
			"id":"ccl8",
			"name":"Attendance HTML",
			"sql":{
				"action":"Return","output":"#workareaTablebox",
				"value":[
					"<div style='border-radius: 8px;padding: 20px;box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);width: 300px;text-align: center;' class='attendance-container'>",
						"<h2 style='color: #333;margin-bottom: 20px;'>Student Attendance</h2>",
						"<form action='submit_attendance.php' method='POST'>",
							"<label style='display: block;margin-top: 10px;font-size: 0.9em;color: #555;' for='rollNumber'>Roll Number</label>",
							"<input type='text' id='ccl8inp' style='width: 100%;padding: 10px;margin-top: 5px;margin-bottom: 15px;border: 1px solid #ddd;border-radius: 4px;box-sizing: border-box;font-size: 1em;' placeholder='रोल नंबर'equired>",
							
							"<label style='display: block;margin-top: 10px;font-size: 0.9em;color: #555;' for='attendanceCode'>Attendance Code</label>",
							"<input type='text' id='ccl8code' style='width: 100%;padding: 10px;margin-top: 5px;margin-bottom: 15px;border: 1px solid #ddd;border-radius: 4px;box-sizing: border-box;font-size: 1em;' name='attendanceCode' placeholder='एट्टेंडेंस कोड'  required>",
							
							"<button type='button' onclick='Eirene.runStmt(&apos;ccl9-ccl9a&apos;,{rollno:$(&apos;#ccl8inp&apos;).val(),code:$(&apos;#ccl8code&apos;).val()})' style='background-color: #4CAF50;color: white;border: none;padding: 10px 20px;font-size: 1em;border-radius: 4px;cursor: pointer;width: 100%;' class='submit-btn'>Submit Attendance</button>",
						"</form>",
						"<div style='margin-top: 20px;font-size: 0.8em;color: #777;'>",
							"<p>For assistance, contact your teacher.</p>",
							"<p><a href='#' onclick='Eirene.runStmt(&apos;ccl4&apos;)'>Click here if you do not have Roll No.</a></p>",
							"<p class='fg-green' id='attendancemsg'></p>",
						"</div>",
					"</div>"					
				]
			}
		},{
			"id":"ccl9",
			"name":"Save Attendance",
			"sql":{
				"action":"Return",
				"outputto":"php",
				"output":"res",
				"value":[
					{"sqlstatement":
						{
							"a":"SELECT count(*) FROM nbbi_beneficiary WHERE beneficiarynumber='||rollno||' and recordstatus=1 and status=1",							
							"b":"SELECT count(*) FROM nbbi_cclattendance WHERE rollno='||rollno||' and date(createdon)=CURDATE()",
							"b2":"SELECT count(*) FROM nbbi_cclattendance WHERE rollno='||rollno||'",
							"b1":"SELECT DAYNAME(CURDATE())",							
							"attendancecode":"SELECT pdata from eirene_meta where pname='CCL Attendance Code'"							
						}
					},
					{"if":"||b|| > 0","then":[{"domoutput":"showtoast;success;आज का एट्टेंडेंस पहले से हो गया है। Count: ||b2||"},{"abort":true}]},	
					{"if":"||a|| = 0", "then":[{"domoutput":"showtoast;alert;रोल नंबर गलत है।"},{"abort":true}]},				
					{"if":"||b1|| = Saturday or ||b1|| = Sunday", "then":[{"domoutput":"showtoast;alert;आज attendance का दिन नहीं है।"},{"abort":true}]},				
					{"if":"||attendancecode|| != ||code||", "then":[{"domoutput":"showtoast;alert;एट्टेंडेंस कोड गलत है"},{"abort":true}]},				
					{"if":"||b|| = 0 and ||a|| > 0", "then":{"call":"cclasv","validate":"none"}},									
					{"sqlstatement":
						{							
							"c":"SELECT count(*) FROM nbbi_cclattendance WHERE rollno='||rollno||'"
						}
					},					
					{"domoutput":"html;#attendancemsg;Attendance Count: ||c||"}					
				]
			}
		},{
			"id":"ccl9a",
			"name":"Attendance List",
			"sql":{
				"action":"Get Table",
				"output":"#ccl8div",
				"tbl":"nbbi_cclattendance",
				"fld":"rollno,DATE_FORMAT(createdon,'%d-%m-%Y'),(SELECT COUNT(*) from nbbi_cclattendance WHERE rollno='||rollno||')",
				"whr":"recordstatus=1 and rollno='||rollno||' and DATE(createdon)=CURDATE()",
				"header":"Roll No,Date,Count"
			}
		},{
			"id":"ccl10",
			"name":"Question Answer List",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":[
					"<div id='qfrm'></div>",
					"<div id='qlist'></div>"
				],
				"onsuccess":"ccl10a"
			}
		},{
			"id":"ccl10a",
			"name":"Question Answer List 1",
			"sql":{
				"action":"Return",
				"outputto":"php","output":"res",
				"value":[
					{"run":[
							{"action":"GetForm","formname":"nbbi_questions 0","output":"#qfrm"},
							{"action":"Get HTML","output":"#qlist",					
								"tbl":"nbbi_questions","fld":"question",
								"whr":"recordstatus=1","limit":"50","parent":"div",
								"template":"<a href='#'>||question||</a>"}
						]
					}
				]
			}
		},{
			"id":"ccl11",
			"name":"Show Password-Textbox for Admin",
			"sql":{
				"action":"Return","output":"#workareaTablebox",
				"value":[
					"<div id='adminpass'>Password: <input type='password' id='adminpassinp'>",
					"<button type='button' onclick='Eirene.runStmt(&apos;ccl11a&apos;,{adminpass:$(&apos;#adminpassinp&apos;).val()})'>Ok</button></div>",
					"<div id='adminarea1'></div>",
					"<div id='adminarea2'></div>"
				]
			}
		},{
			"id":"ccl11a",
			"name":"Check Admin Password",
			"sql":{
				"action":"Return",
				"value":[
					{"if":"||adminpass|| = adminccl2023",
						"then":[
							{"output":{"action":"dom","fun":"showtoast;success;Password accepted"}},
							{"output":{"action":"dom","fun":"hide;#adminpass"}},
							{"elem":{
								"output":"#adminarea1",
								"elem":[
									{"name":"ccl11atab","id":"ccl11atab","type":"tab",
										"tabs":[
											{
												"heading":"Attendance",
												"content":[
													{"name":"ccl11a0","id":"ccl11a0","type":"div","value":"<b>Attendance Summary</b>"},									
													{"name":"ccl11a1","id":"ccl11a1","label":"State: ","type":"select","option":"SELECT DISTINCT state FROM nbbi_beneficiary WHERE recordstatus=1 and beneficiaryclass='CCL' and beneficiarynumber is not null and YEAR(createdon)='2023' UNION ALL SELECT ''"},									
													{"name":"ccl11a3","id":"ccl11a3","class":"ml-2","type":"button","onclick":"Eirene.runStmt('ccl11b',{state:$('#ccl11a1').val()})","value":"Monthly Summary"},
													{"name":"ccl11a4","id":"ccl11a3a","class":"ml-2","type":"div","value":""},
													{"name":"ccl11a4","id":"ccl11a4","class":"ml-2","type":"date","label":"Date From: "},
													{"name":"ccl11a5","id":"ccl11a5","class":"ml-2","type":"date","label":"Date To: "},
													{"name":"ccl11a6","id":"ccl11a6","class":"ml-2","type":"button","value":"Daily Summary","onclick":"Eirene.runStmt('ccl11c',{state:$('#ccl11a1').val(),datefrom:$('#ccl11a4').val(),dateto:$('#ccl11a5').val()})"}
												]
											},{
												"heading":"Student",
												"content":[
													{"name":"ccl11t2a0","id":"ccl11t2a0","type":"div","value":"<b>Attendance Summary</b>"},									
													{"name":"ccl11t2a1","id":"ccl11t2a1","label":"State: ","type":"select","option":"SELECT DISTINCT state FROM nbbi_beneficiary WHERE recordstatus=1 and beneficiaryclass='CCL' and beneficiarynumber is not null and YEAR(createdon)='2023' UNION ALL SELECT ''"},
													{"name":"ccl11t2a3","id":"ccl11t2a3","class":"ml-2","type":"button","onclick":"Eirene.runStmt('ccl5a',{state:$('#ccl11t2a1').val()})","value":"Student List"}
												]
											}
										]
									}
								]
							  }
							}
						]
					}
				]
			}
		},{
			"id":"ccl11b",
			"name":"List Attendance State wise and Month Wise",
			"sql":{
				"action":"Get Matrix",
				"output":"#adminarea2",				
				"class":"eirene-table dataTable",
				"serialno":true,
				"row":"beneficiarynumber","col":"mth","val":"cnt",
				"additionalcol":"beneficiaryname",
				"tbl":"nbbi_beneficiary a",
				"fld":"a.beneficiarynumber,a.beneficiaryname,MONTHNAME(b.createdon) as mth,count(*) as cnt",
				"header":"Roll No,Month,Attendance Count",
				"grp":"a.beneficiarynumber,EXTRACT(YEAR_MONTH FROM b.createdon)",
				"join":"LEFT JOIN nbbi_cclattendance b ON a.beneficiarynumber=b.rollno",
				"whr":[
					"a.recordstatus=1 and a.createdon>='20230601' and a.beneficiarynumber is not null",
					{"if":"||state|| != BLANK","then":" and a.state='||state||'"}					
				],
				"srt":"a.beneficiarynumber,a.createdon"
			}
		},{
			"id":"ccl11c",
			"name":"List Attendance State wise and Date Wise",
			"sql":{
				"action":"Get Matrix",
				"output":"#adminarea2",				
				"class":"eirene-table dataTable",
				"serialno":true,"hsum":true,
				"row":"beneficiarynumber","col":"dt","val":"cnt",
				"additionalcol":"beneficiaryname",
				"tbl":"nbbi_beneficiary a",
				"fld":"a.beneficiarynumber,a.beneficiaryname,DATE_FORMAT(b.createdon,'%d-%m %a') as dt,if(b.createdon is not null,1,0) as cnt",
				"header":"Roll No,Month,Attendance",
				"srt":"b.createdon,a.beneficiarynumber",
				"join":"LEFT JOIN nbbi_cclattendance b ON a.beneficiarynumber=b.rollno",
				"whr":[
					"a.recordstatus=1 and a.createdon>='20230601' and a.beneficiarynumber is not null",
					{"if":"||state|| != BLANK","then":" and a.state='||state||'"},					
					{"if":"||datefrom|| != BLANK and ||dateto|| != BLANK","then":" and DATE(b.createdon)>='||datefrom||' and DATE(b.createdon)<='||dateto||'"}					
				],
				"onsuccess":"cmd:dom,fun:function;datatable;#workareaTablebox"				
			}
		},
		{
			"id":"cclmk",
			"name":"Insert or update mark",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_cclmark1",
				"fld":[
					"subjectid,rollno",
					{"if":"||testtype|| = Test1","then":"mk_test1"},
					{"if":"||testtype|| = Test2","then":"mk_test2"},
					{"if":"||testtype|| = FinalExam","then":"mk_finalexam"}
				],				
				"value":"||subject||,||0||,||1||",
				"whr":"subjectid='||subject||' and rollno=||0|| and recordstatus=1",
				"csvstring":"||csv||"
			}
		},
		{
			"id":"ccl12",
			"name":"Mark List (Student)",
			"sql":{
				"action":"Return",
				"output":"#workareaTablebox",
				"value":[
					"<input type='text' id='mkrollno' placeholder='रोल  नंबर'><button class='ml-2' onclick='Eirene.runStmt(&apos;mklt&apos;,{rollno:$(&apos;#mkrollno&apos;).val(),varmkltoutput:&apos;mklist&apos;})'>Ok</button>",
					"<div id='mklist'></div>"
				]
			}
		},{
			"id":"cert1",
			"name":"Insert or update roll no for Certificate Applied",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_certificate",
				"command":"insertorupdate",
				"fld":"rollno,status",				
				"fldtype":"n,s",
				"value":"||0||,Applied and Fee Not Paid",
				"whr":"rollno=||0|| and recordstatus=1",
				"csvstring":"||csv||"
			}
		},{
			"id":"cert2",
			"name":"Insert or update roll no for Certificate Applied, Fee Paid",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_certificate",
				"command":"insertorupdate",
				"fld":"rollno,feepaid,status",				
				"fldtype":"n,n,s",
				"value":"||0||,||1||,Applied and Fee Paid",
				"whr":"rollno=||0|| and recordstatus=1",
				"csvstring":"||csv||"
			}
		},{
			"id":"cert3",
			"name":"Insert or update roll no for Certificate Collection Mode",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_certificate",
				"command":"insertorupdate",
				"fld":"rollno,certificatecollectionmode",				
				"fldtype":"n,s",
				"value":"||0||,||1||",
				"whr":"rollno=||0|| and recordstatus=1",
				"csvstring":"||csv||"
			}
		},{
			"id":"cert4",
			"name":"Insert or update tracking for Certificate",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_certificate",
				"command":"insertorupdate",
				"fld":"rollno,posttrackingno",				
				"fldtype":"n,s",
				"value":"||0||,||1||",
				"whr":"rollno=||0|| and recordstatus=1",
				"csvstring":"||csv||"
			}
		},{
			"id":"stult",
			"name":"Student List",
			"sql":{
				"action":"Get Table",
				"output":"#workareaTablebox",
				"tbl":"nbbi_beneficiary","filter":"beneficiaryname,dateofadmission,gender,state,mobilenumber,beneficiaryclass",
				"fld":"beneficiarynumber,beneficiaryname,beneficiaryclass,dob,gender,city,state,mobilenumber",
				"staticwhr":"project='NBBI' and recordstatus=1 and recordtype='Beneficiary'",
				"elem":{
					"output":"#workareaFilter1",
					"elem":[
						{"type":"textarea","id":"stulttxt","name":"stulttxt","onblur":"let str=$(this).val().replace(/\\\\t/g,',');$(this).val(str);"},
						{"type":"button","id":"stultbtn","name":"stultbtn","value":"Save","onclick":"let val=$('#stulttxt').val();if(!val){showToast('No value entered','alert',5000);return false;} Eirene.runStmt('benadd',{csv:val});"}
					]
				},
				"postrun":[
					{"case":"||row||","1":"0","2":"23","3":"44","4":"65","5":"86","6":"107","7":"128","8":"149","9":"170","10":"191","11":"212","12":"233","13":"254","output":"row1"},
					{"case":"||col||","1":"0","2":"41","3":"81","4":"121","5":"161","output":"col1"}
				]
			}
		},{
			"id":"gralt",
			"name":"List Student For Grace Mark",
			"sql":{
				"action":"Get Table",
				"output":"#workareaTablebox",
				"tbl":"nbbi_cclmark1 a","usejoin":"nbbi_beneficiary b",
				"fld":"a.rollno,b.beneficiaryname,count(*) as cnt",
				"functionfield":[
					{"name":"grbtn","type":"button","value":"Get","onclick":"Eirene.runStmt('gralt1',{rollno:'<a.rollno>'})"}
				],
				"header":"Roll No,Name,Pass Sub Count",
				"grp":"a.rollno,b.beneficiaryname",
				"whr":[
					"a.ispass=1",
					{"if":"||markyear|| != BLANK","then":" and year(b.createdon)='||markyear||'"}
				],
				"having":"cnt=11"
			}
		},{
			"id":"benadd",
			"name":"Insert or update Beneficiary",
			"sql":{
				"action":"Save Row From CSV",
				"tbl":"nbbi_beneficiary",
				"command":"insertorupdate",
				"fld":"beneficiaryname,beneficiarynumber,dateofadmission,beneficiaryclass,beneficiaryyear,dob,gender,father,address,city,state,mobilenumber,email,mothertongue,project",				
				"whr":"beneficiarynumber=||1|| and beneficiaryclass='||3||' and recordstatus=1",
				"csvstring":"||csv||",
				"onsuccess":"cmd:dom,fun:showtoast;success;Saving Successful"
			}
		},
		{		
			"id":"qa",
			"name":"Question Answer Template",
			"sql":{
				"action":"Get HTML",
				"output":"#questionanswer",
				"tbl":"online_course_questions",
				"fld":"id as questionid,question",
				"parent":"div",
				"staticwhr":"recordstatus=1 and question !='' and lessonid='CCL'",
				"prepend":[
					"<div class='pb-2'>",
						"<div data-role='panel' data-collapsed='true' data-title-caption='Ask a question' data-title-icon='<span class=&apos;mif-question&apos;></span>' data-collapsible='true' data-cls-title='bg-lightBlue fg-white' data-cls-title-icon='bg-lightBlue fg-white'>",
							"<textarea style='width:90%;height:84px;' id='questiontxt'></textarea><br>",
							"<button onclick='if(!$(&apos;#questiontxt&apos;).val()){showToast(&apos;Question is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;oqsv&apos;,{lessonid:&apos;CCL&apos;,question:$(&apos;#questiontxt&apos;).val(),confirmBeforeProcess:&apos;:Confirm to save Question&apos;})'>Save</button>",
						"</div>",							
					"</div>"
				],
				"template":[
					"<div><b>||question||</b></div>",
					{"run":{"action":"Get HTML","outputto":"php","output":"ans","tbl":"online_answers","fld":"answer","whr":"questionid='||questionid||'","template":"<div>||answer||</div>"}},
					"<div>||ans||</div>",
					"<div style='color:#0366d6'>Add your answer</div>",
					"<div id='||questionid||Div' style='display:none'><div class='mb-5' data-role='panel' data-collapsed='false' data-title-caption='Answer the question' data-title-icon='<span class=&apos;mif-apps&apos;></span>' data-collapsible='true'>",
						"<textarea style='width:90%;height:84px;' id='answertxt||questionid||'></textarea><br>",
						"<button onclick='if(!$(&apos;#answertxt||questionid||&apos;).val()){showToast(&apos;Answer is empty&apos;,&apos;alert&apos;,5000);return false;}Eirene.runStmt(&apos;oasv&apos;,{questionid:&apos;||questionid||&apos;,answer:$(&apos;#answertxt||questionid||&apos;).val(),confirmBeforeProcess:&apos;:Confirm to save Answer&apos;})'>Save</button>",
					"</div></div>"
				]
			}
		},
		{
			"id":"attn2",
			"name":"Attendance Summary Filter",
			"sql":{
				"action":"Return","outputto":"php",
				"output":"res",
				"elem":{
					"output":"#workareaFilter1",
					"elem":[
						{"id":"attn21","name":"attn21","type":"select","option":"2023,2024"},
						{"id":"attn22","name":"attn22","type":"select","option":"CCL,DCL"},
						{"id":"attn2btn","name":"attn2btn","type":"button","onclick":"Eirene.runStmt('attn1',{benyear:$(&apos;#attn21&apos;).val(),benclass:$(&apos;#attn22&apos;).val()})","value":"Get Attendance"},
						{"id":"attn3btn","name":"attn3btn","type":"button","onclick":"Eirene.runStmt('attn3',{benyear:$(&apos;#attn21&apos;).val(),benclass:$(&apos;#attn22&apos;).val()})","value":"Get Attendance (Monthly)"}
					]
				},				
				"value":"",
				"onsuccess":"cmd:dom,fun:show;#workareaFilter1"
			}
		},
		{
			"id":"attn1",
			"name":"Attendance Summary",
			"sql":{
				"action":"Get Table",
				"output":"#workareaTablebox",
				"tbl":"nbbi_cclattendance a",
				"join":[
					"INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber"
				],
				"fld":"b.beneficiaryname,count(*)",
				"whr":"b.recordstatus=1 and year(b.createdon)='||benyear||' and b.beneficiaryclass='||benclass||'",
				"grp":"b.beneficiaryname",
				"srt":"b.beneficiaryname",
				"header":"Name,Attendance Count",
				"limit":"500",
				"append":"<center><h2>Attendance Report</h2><h5>as of ||CURDATE_D_M_Y||</h5></center>"
			}
		},{
			"id":"attn3",
			"name":"Attendance Summary (Monthly)",
			"sql":{
				"action":"Get Matrix",
				"output":"#workareaTablebox",
				"tbl":"nbbi_cclattendance a",
				"class":"dataTable",
				"join":[
					"INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber"
				],
				"fld":"b.beneficiaryname,MONTHNAME(a.createdon) as month,count(*) as attendance",
				"row":"beneficiaryname","col":"month","val":"attendance",
				"whr":"b.recordstatus=1 and year(b.createdon)='||benyear||' and b.beneficiaryclass='||benclass||'",
				"grp":"b.beneficiaryname,month",
				"srt":"b.beneficiaryname,a.createdon",				
				"limit":"500",
				"prepend":"<center><h2>||benclass|| Attendance Report</h2><h5>as of ||CURDATE_D_M_Y||</h5></center>"
			}
		},{
			"id":"hgatt",
			"name":"Highest Attendance - CCL",
			"sql":{
				"action":"Get Matrix",
				"stmt":[
					"SELECT 'Name' as r1, GROUP_CONCAT(name separator '<br>') as name,CONCAT(attendance_count,' Attendance') as cnt FROM ",
						"(SELECT b.beneficiaryname as name,COUNT(*) AS attendance_count",
							"FROM nbbi_cclattendance a",
							"INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber",
							"WHERE year(b.createdon)='2024' and b.beneficiaryclass='||benclass||'",
							"GROUP BY a.rollno",
							"ORDER BY attendance_count DESC) aa ",
					"GROUP BY attendance_count order by attendance_count  desc",
					"limit 3"					
				],
				"row":"r1",
				"col":"cnt",
				"val":"name",
				"class":"table green500Table"
			}
		},{
			"id":"hgatl",
			"name":"Highest Attendance - All",
			"sql":{
				"action":"Get Table",
				"output":"#workareaTablebox",
				"stmt":[
					"SELECT b.beneficiaryname,COUNT(*) AS attendance_count",
					"FROM nbbi_cclattendance a",
					"INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber",
					"WHERE year(b.createdon)='2024' and b.beneficiaryclass='||benclass||'",
					"GROUP BY a.rollno",
					"ORDER BY attendance_count DESC"
				],
				"header":"Name,Attendance Count",
				"datatable":false
			}
		},
		{
			"id":"hgmk",
			"name":"Highest Mark - CCL",
			"sql":{
				"action":"Get Matrix",
				"stmt":[					
					"SELECT 'Name' as r1,",
						"CONCAT('<b>',total,' marks</b><br>') as gtotal,total,GROUP_CONCAT(name separator '<br>') as name ",						
						"FROM (",
						"SELECT b.beneficiaryname as name,a.rollno,sum(if(mk_test1 is null,0,mk_test1) +if(mk_test2 is null,0,mk_test2) +if(mk_finalexam is null,0,mk_finalexam)) as total",
						"FROM nbbi_cclmark1 a INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber WHERE year(b.createdon)='2024' and",
						"b.beneficiaryclass='||benclass||' group by rollno order by total desc) as aa",
						"GROUP BY total order by total desc",
					"limit 3"
				],
				"row":"r1",
				"col":"gtotal",
				"val":"name",
				"class":"table green500Table"
			}
		},{
			"id":"hgmkl",
			"name":"Highest Mark - All",
			"sql":{
				"action":"Get Table",
				"output":"#workareaTablebox",
				"stmt":[
					"SELECT b.beneficiaryname as name,sum(if(mk_test1 is null,0,mk_test1) +if(mk_test2 is null,0,mk_test2) +if(mk_finalexam is null,0,mk_finalexam)) as total",
					"FROM nbbi_cclmark1 a INNER JOIN nbbi_beneficiary b ON a.rollno=b.beneficiarynumber WHERE year(b.createdon)='2024' and",
					"b.beneficiaryclass='||benclass||' group by rollno order by total desc"
				],
				"header":"Name,Total Mark",
				"datatable":false
			}
		},
		{
			"id":"op1",
			"name":"Opening Page",
			"sql":{
				"action":"Return",
				"output":"#workareaFilter",
				"value":[
					{"sqlstatement":{
						"studentcountccl":"SELECT COUNT(*) FROM nbbi_beneficiary where YEAR(createdon)='2025' and beneficiaryclass='CCL' and beneficiarynumber>0 and recordtype='Beneficiary'",
						"studentcountdcl":"SELECT COUNT(*) FROM nbbi_beneficiary where (YEAR(createdon)='2025' or YEAR(createdon)='2024')  and beneficiarynumber>0 and beneficiaryclass='DCL' and recordtype='Beneficiary'"
					}},
					{"gettable":{
						"output":"cclsubject","outputto":"php",
						"tbl":"nbbi_cclsubject","fld":"subject,term,CONCAT(DATE_FORMAT(test1,'%d-%b-%Y'),'<br>',if(test1syllabus IS NULL,'',test1syllabus)),CONCAT(DATE_FORMAT(test2,'%d-%b-%Y'),'<br>',if(test2syllabus IS NULL,'',test2syllabus)),DATE_FORMAT(final,'%d-%b-%Y')",
						"header":"Subject,Term,Test1 Date,Test2 Date,FinalExam Date",
						"srt":"term,test1",
						"whr":"course='CCL'",
						"responsive":false
					}},
					{"gettable":{
						"output":"dclsubject","outputto":"php",
						"tbl":"nbbi_cclsubject","fld":"subject,term,CONCAT(DATE_FORMAT(test1,'%d-%b-%Y'),'<br>',if(test1syllabus IS NULL,'',test1syllabus)),CONCAT(DATE_FORMAT(test2,'%d-%b-%Y'),'<br>',if(test2syllabus IS NULL,'',test2syllabus)),DATE_FORMAT(final,'%d-%b-%Y')",
						"header":"Subject,Term,Test1 Date,Test2 Date,FinalExam Date",
						"srt":"term,test1",
						"whr":"course='DCL' and term>3",
						"responsive":false
					}},
					"<!--<h1 style='text-align: center; color: #2c3e50;'>Nav Bharat Bible Institute</h1>",
					"<h2 style='text-align: center; color: #2c3e50;'>Department of Online Studies</h2>",
					"<h3 style='text-align: center; color: #2c3e50;'>Purnia, Bihar</h3>",
					"-->",
					"<center><img alt='' style='width:60%;' src='resource/image/nbbi_online.png'></center>",
					"<!-- Dashboard Cards -->",
					"<div class='dashboard' style='display: flex; justify-content: space-around; margin: 20px 0; flex-wrap: wrap;'>",
					"  <div class='card' style='background: #fff; border-radius: 8px; padding: 30px; text-align: center; width: 250px; margin: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);'>",
					"    <h2 style='margin: 0; font-size: 2em; color: #27ae60;'>||studentcountccl||</h2>",
					"    <p style='margin: 10px 0 0; color: #555;'>Total Students (CCL)</p>",
					"  </div>",
					"  <div class='card' style='background: #fff; border-radius: 8px; padding: 30px; text-align: center; width: 250px; margin: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);'>",
					"    <h2 style='margin: 0; font-size: 2em; color: #27ae60;'>||studentcountdcl||</h2>",
					"    <p style='margin: 10px 0 0; color: #555;'>Total Students (DCL)</p>",
					"  </div>",
					"  <div class='card' style='background: #fff; border-radius: 8px; padding: 30px; text-align: center; width: 250px; margin: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);'>",
					"    <h2 style='margin: 0; font-size: 2em; color: #27ae60;'>36</h2>",
					"    <p style='margin: 10px 0 0; color: #555;'>Total Subjects</p>",
					"  </div>",
					"  <div class='card' style='background: #fff; border-radius: 8px; padding: 30px; text-align: center; width: 250px; margin: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);'>",
					"    <h2 style='margin: 0; font-size: 2em; color: #27ae60;'>1/2/4 Year</h2>",
					"    <p style='margin: 10px 0 0; color: #555;'>Program Duration</p>",
					"  </div>",
					"</div>",

					"<!-- Tabs -->",
					"<div class='tabs' style='display: flex; border-bottom: 2px solid #ddd; margin-bottom: 20px;'>",
					"  <button class='tab active' data-tab='attendance' style='padding: 10px 20px; cursor: pointer; border: none; background: none; font-weight: bold; color: #2980b9; border-bottom: 4px solid #2980b9;'>",
					"    Daily Attendance",
					"  </button>",
					"  <button class='tab' data-tab='courses' style='padding: 10px 20px; cursor: pointer; border: none; background: none; font-weight: bold; color: #333;'>",
					"    Course List",
					"  </button>",					
					"  <button class='tab' data-tab='link' style='padding: 10px 20px; cursor: pointer; border: none; background: none; font-weight: bold; color: #333;'>",
					"    Link",
					"  </button>",
					"</div>",

					"<!-- Tab Contents -->",
					"<div id='attendance' class='tab-content active' style='display: block;'>",
					"  <h3>Daily Attendance</h3>",
					"  <input type='number' id='rollnumber' style='width:200px;padding:7px' placeholder='Enter Roll Number/Mobile Number'>",										
					"  <button style='margin-top: 10px; padding: 10px 20px; background: #b92940; border: none; color: #fff; cursor: pointer; border-radius: 4px;'",
					" onclick='Eirene.runStmt(&apos;ccl5&apos;,{mobileno:$(&apos;#rollnumber&apos;).val()})'",
					">",
					"    Search",
					"  </button>",
					"<div id='ccl4maindiv'></div>",
					"</div>",

					"<div id='courses' class='tab-content' style='display: none;'>",
					"<h3>CCL Course List</h3>",
					"||cclsubject||",
					"<h3>DCL Course List</h3>",
					"||dclsubject||",
					"</div>",					
					"<div id='link' class='tab-content' style='display: none;'>",
					"<h3>Link</h3>",
					"<div><a href='https://chat.whatsapp.com/HZDeABkuvG0LCmsx9jQ6jH'>CCL WhatsApp Group</a></div>",
					"<div><a href='https://zoom.us/j/9431230298?pwd=R1orbll3ZUpXU0Fsd0FnTlY3SkFPdz09'>Zoom</a></div>",
					"</div>",

					"<script>",
					"  const tabs = document.querySelectorAll('.tab');",
					"  const contents = document.querySelectorAll('.tab-content');",
					
					"  tabs.forEach(tab => {",
					"    tab.addEventListener('click', () => {",
					"      tabs.forEach(t => {",
					"        t.classList.remove('active');",
					"        t.style.borderBottom = '';",
					"        t.style.color = '#333';",
					"      });",
					"      contents.forEach(c => c.style.display = 'none');",
					
					"      tab.classList.add('active');",
					"      tab.style.borderBottom = '4px solid #2980b9';",
					"      tab.style.color = '#2980b9';",
					"      document.getElementById(tab.dataset.tab).style.display = 'block';",
					"    });",
					"  });",
					"</script>"
				]
			}
		}
	]
}