Wtf.WtfQualExam=function(A){this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.layout="fit";this.cmodel1=new Wtf.grid.ColumnModel([this.sm,{header:"Student Name",dataIndex:"name"},{header:"Qualifying Exam Status",dataIndex:"qstatus"},{header:"Comprehensive Exam Status",dataIndex:"cstatus"},{header:"Dissertation Proposal",dataIndex:"dproposal",renderer:function(D,B,C){if(D){return"<a href='fDownloadphd.jsp?userid="+C.get("userid")+"&username="+C.get("name")+"&flag=24>"+D+"</a>"}}},{header:"Dissertation Status",dataIndex:"dstatus"},{header:"Credit Hours",dataIndex:"credithrs"},{header:"Qualification Grade",dataIndex:"qgrade"},{header:"Comprehensive Grade",dataIndex:"cgrade"}]);this.cmodel1.defaultSortable=true;this.moduleRecord=Wtf.data.Record.create([{name:"userid",type:"string"},{name:"name",type:"string"},{name:"qstatus",type:"string"},{name:"cstatus",type:"string"},{name:"dproposal",type:"string"},{name:"dstatus",type:"string"},{name:"credithrs",type:"string"},{name:"qgrade",type:"string"},{name:"cgrade",type:"string"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/LacaStructure.jsp"}),reader:this.moduleReader,sortInfo:{field:"name",direction:"DESC"},groupField:"name"});this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cmodel1,sm:this.sm,border:false,view:this.groupingView,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.items=this.grid1;this.tbar=[{text:"Accept Dissertation",iconCls:"tags",tooltip:{title:"Accept Dissertation",text:"Click to Accept Dissertation"},scope:this,handler:this.handleAccept},{text:"Reject Dissertation",iconCls:"tags",tooltip:{title:"Reject Dissertation",text:"Click to Reject Dissertation"},scope:this,handler:this.handleReject},{text:"Set Credit Hours",iconCls:"tags",tooltip:{title:"Set Credit Hours",text:"Click to Set Credit Hours"},scope:this,handler:this.setcredit},{text:"Set Grade For Qualifying Exam",iconCls:"tags",scope:this,handler:this.qualgradwin},{text:"Set Grade For Comprehensive Exam",iconCls:"tags",scope:this,handler:this.compgradwin}]};Wtf.extend(Wtf.WtfQualExam,Wtf.Panel,{onRender:function(A){Wtf.WtfQualExam.superclass.onRender.call(this,A);this.moduleStore.load({params:{flag:18}})},handleAccept:function(){if(this.sm.getCount()>0){Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/admin/LacaStructure.jsp",params:{flag:23,userid:this.sm.getSelected().get("userid"),status:"Successfull(S)",prop:"Accepted"}},this,function(B,A){this.moduleStore.load({params:{flag:18}})},function(B,A){})}},handleReject:function(){if(this.sm.getCount()>0){Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/admin/LacaStructure.jsp",params:{flag:23,userid:this.sm.getSelected().get("userid"),status:"UnSuccessfull(US)",prop:"Rejected"}},this,function(B,A){this.moduleStore.load({params:{flag:18}})},function(B,A){})}},setcredit:function(){this.crewin=new Wtf.Window({width:200,height:100,title:"Credit Hours",items:this.numfield=new Wtf.form.NumberField({fieldLabel:"Credit Hours"}),bbar:[{text:"Submit",iconCls:"tags",scope:this,handler:this.handleSubmit}]}).show()},qualgradwin:function(){this.qualwin=new Wtf.Window({width:200,height:100,title:"Qualifying Exam grade",items:this.qualfield=new Wtf.form.NumberField({}),bbar:[{text:"Submit",iconCls:"tags",scope:this,handler:this.handleSubmitqual}]}).show()},compgradwin:function(){this.compwin=new Wtf.Window({width:210,height:100,title:"Comprehensive Exam grade",items:this.compfield=new Wtf.form.NumberField({}),bbar:[{text:"Submit",iconCls:"tags",scope:this,handler:this.handleSubmitcomp}]}).show()},handleSubmit:function(){Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/admin/LacaStructure.jsp",params:{flag:25,userid:this.sm.getSelected().get("userid"),credit:this.numfield.getValue()}},this,function(B,A){this.moduleStore.load({params:{flag:18}})},function(B,A){})},handleSubmitqual:function(){Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/admin/LacaStructure.jsp",params:{flag:26,userid:this.sm.getSelected().get("userid"),grade:this.qualfield.getValue()}},this,function(B,A){this.moduleStore.load({params:{flag:18}})},function(B,A){})},handleSubmitcomp:function(){Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/admin/LacaStructure.jsp",params:{flag:27,userid:this.sm.getSelected().get("userid"),grade:this.compfield.getValue()}},this,function(B,A){this.moduleStore.load({params:{flag:18}})},function(B,A){})}});Wtf.DepartmentPanel=function(A){Wtf.apply(this,A);this.createFacultyWindow=null;this.column1=null;this.column2=null;this.expander=new Wtf.grid.RowExpander({tpl:new Wtf.XTemplate("<p><b>Active Course:</b> </p><br>",'<table border="0">',"<tr>","<td>",'<table border="0">',"<tr>","<th><b>Session</b></th>","</tr>",'<tpl for="Asession">',"<tr>","<td>","{.}","</td>","</tr>","</tpl>","</table>","</td>","<td>",'<table border="0">',"<tr>","<th><b>Module</b></th>","</tr>",'<tpl for="Amodule">',"<tr>","<td>","{.}","</td>","</tr>","</tpl>","</table>","</td>","</tr>","</table>","<p><b>Past Course:</b> </p><br>",'<table border="0">',"<tr>","<td>",'<table border="0">',"<tr>","<th><b>Session</b></th>","</tr>",'<tpl for="Psession">',"<tr>","<td>","{.}","</td>","</tr>","</tpl>","</table>","</td>","<td>",'<table border="0">',"<tr>","<th><b>Module</b></th>","</tr>",'<tpl for="Pmodule">',"<tr>","<td>","{.}","</td>","</tr>","</tpl>","</table>","</td>","</tr>","</table>")});this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:false});this.sm=new Wtf.grid.CheckboxSelectionModel({singleSelect:true});this.cmodel=new Wtf.grid.ColumnModel([this.expander,this.sm,{header:"Name",width:220,dataIndex:"Name"},{header:"Age",width:50,dataIndex:"Age"},{header:"Designation",width:120,dataIndex:"Designation"},{header:"No. of years with INCEIF",width:130,renderer:function(D,B,C){if(D==-1){return"<lable style = 'color : blue;'>Not on INCEIF Payroll</lable>"}else{return D}},dataIndex:"Noyears"},{header:"Department",width:120,dataIndex:"Department"},{header:"Type",width:100,dataIndex:"Type",renderer:this.typeRenderer},{header:"Payroll",width:100,dataIndex:"Payroll",renderer:this.payrollRenderer},{header:"Location",width:100,dataIndex:"Location"},{header:"Qualification",width:100,dataIndex:"Qualification"},{header:"Skills",width:100,dataIndex:"Skills"},{header:"StartDate",width:100,dataIndex:"StartDate",renderer:this.expirDate},{header:"EndDate",width:100,dataIndex:"EndDate",renderer:this.expirDate},{header:"Contract Download",width:80,renderer:this.DownloadLink1}]);this.cmodel.defaultSortable=true;this.departmentRecord=Wtf.data.Record.create([{name:"Id",type:"string"},{name:"Name",type:"string"},{name:"Type",type:"string"},{name:"Age",type:"string"},{name:"Designation",type:"string"},{name:"Noyears",type:"string"},{name:"Department",type:"string"},{name:"Payroll",type:"string"},{name:"Location",type:"string"},{name:"Qualification",type:"string"},{name:"Skills",type:"string"},{name:"Rating",type:"string"},{name:"Acourse",type:"string"},{name:"Pcourse",type:"string"},{name:"Asession"},{name:"Amodule"},{name:"Psession"},{name:"Pmodule"},{name:"roleid",type:"string"},{name:"StartDate"},{name:"EndDate"},{name:"FileName"},{name:"contExp"}]);this.departmentReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.departmentRecord);this.departmentStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/schclass.jsp"}),reader:this.departmentReader,sortInfo:{field:"Name",direction:"DESC"}});this.grid=new Wtf.grid.GridPanel({ds:this.departmentStore,cm:this.cmodel,border:false,enableColumnHide:false,view:this.groupingView,plugins:this.expander,sm:this.sm,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.defferBttn=new Wtf.Toolbar.Button({text:"New Faculty",tooltip:"Submit",id:"BtnNew"+this.id,scope:this});this.defferBttn.on("click",this.handleDeferClick,this);this.facltBtn=new Wtf.Toolbar.Button({text:"Master Setup",scope:this,menu:[{text:"Qualification",tooltip:{title:"Qualification",text:"Click to view Qualification Master"},handler:this.openQualMaster,scope:this},{text:"Skills",tooltip:{title:"Skills",text:"Click to view Skill Master"},handler:this.openSkillMaster,scope:this},{text:"Levels",tooltip:{title:"Levels",text:"Click to view Level Master"},handler:this.openLevelMaster,scope:this},{text:"Department",tooltip:{title:"Departments",text:"Click to view Department Master"},handler:this.openDeptMaster,scope:this},{text:"Designation",tooltip:{title:"Designations",text:"Click to view Designation Master"},handler:this.openDesigMaster,scope:this}]});Wtf.DepartmentPanel.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"Name"}),this.facltBtn,{text:"Manage Faculty Profile",tooltip:{title:"Faculty Profile Management",text:"Click to Manage Faculty Profile"},handler:function(){if(this.sm.getSelected()){this.handleDeferClick()}else{msgBoxShow(["Manage Faculty Profile","Please select a faculty"])}},scope:this},{text:"Manage Contract",tooltip:{title:"Manage Contract",text:"Click to upload new contract"},handler:this.openContract,scope:this},{text:"Send Contract Expiry Notification",id:"SCEN",tooltip:{title:"Send Notification",text:"Click to send notification for expired contract"},disabled:true,handler:this.sendNotification,scope:this}],items:[this.grid],bbar:this.pg=new Wtf.PagingSearchToolbar({id:"pgTbardep"+this.id,pageSize:25,searchField:this.quickPanelSearch,store:this.departmentStore,displayInfo:true,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({})})});this.grid.on("cellclick",this.onClickHandle,this);this.grid.on("rowdblclick",this.showProfile,this);this.sm.on("selectionchange",this.selectionchange,this);this.sm.on("rowdeselect",function(){Wtf.getCmp("SCEN").disable()},this);this.departmentStore.on("load",this.handleStoreLoad,this);this.addEvents={"refreshfacgrid":true};this.departmentStore.on("datachanged",function(){var B=this.pP.combo.value;this.quickPanelSearch.setPage(B)},this);this.on("refreshfacgrid",function(){this.departmentStore.reload()},this)};Wtf.extend(Wtf.DepartmentPanel,Wtf.Panel,{onRender:function(A){Wtf.DepartmentPanel.superclass.onRender.call(this,A);this.departmentStore.baseParams={type:"getDetFac"};this.departmentStore.load({params:{start:0,limit:25}})},expirDate:function(B,A,F,E,D,C){if(F.data.contExp==0){return"<label style='color:red;'>"+Wtf.modifyDateFmt(B,"Y-m-j",Wtf.getDateFormat())+"</label>"}else{return Wtf.modifyDateFmt(B,"Y-m-j",Wtf.getDateFormat())}},DownloadLink1:function(B,A,F,E,D,C){if(F.data.FileName!=""){return"<a href='#' title='Download' onclick='setDldUrl(\"fileDownload.jsp?url="+F.data.FileName+"&type=contract&dtype=attachment\")'><div class='pwnd dldiconwt' style='height:16px; width:16px;'></div></a>"}else{return }},handleStoreLoad:function(A,C,B){this.quickPanelSearch.StorageChanged(A)},selectionchange:function(){var A=this.sm.getSelections();if(A.length==1){if(A[0].data["contExp"]==0){Wtf.getCmp("SCEN").enable()}else{Wtf.getCmp("SCEN").disable()}}},sendNotification:function(){var A=this.grid.getSelectionModel().selections.items[0].data["Id"];Wtf.Ajax.requestEx({method:"GET",url:"jspfiles/schclass.jsp?",params:({type:"notification",uid:A,edate:this.grid.getSelectionModel().selections.items[0].data["EndDate"]})},this,function(B,C){msgBoxShow(["Success","Contract expiry notification sent successfully to "+this.grid.getSelectionModel().selections.items[0].data["Name"]],Wtf.MessageBox.INFO)},function(B,C){msgBoxShow(["Error","Error Occur While Sending Message"],Wtf.MessageBox.ERROR)})},openContract:function(){if(this.grid.getSelectionModel().getCount()==1){var C=this.grid.getSelectionModel().selections.items[0].data["Id"];var A=this.grid.getSelectionModel().selections.items[0].data["StartDate"];var B=this.grid.getSelectionModel().selections.items[0].data["EndDate"];this.ContractPanel=new Wtf.FormPanel({frame:true,method:"POST",fileUpload:true,waitMsgTarget:true,url:"FileUpload.jsp?flag=4&id="+C,items:[this.stDt=new Wtf.form.DateField({id:"contractStartDate",fieldLabel:"Start Date*",width:150,value:A,format:Wtf.getDateFormat(),allowBlank:false}),this.edDt=new Wtf.form.DateField({id:"contractEndDate",fieldLabel:"End Date*",width:150,value:B,format:Wtf.getDateFormat(),allowBlank:false}),new Wtf.form.TextField({id:"contractUpload",inputType:"file",fieldLabel:"Contract*",allowBlank:false,name:"contract"})]});this.contractWindow=new Wtf.Window({iconCls:"winicon",resizable:false,id:"contractWin",width:400,height:170,title:"Upload New Contract",scope:this,layout:"fit",items:[this.ContractPanel],buttons:[{text:"Upload",type:"submit",scope:this,handler:function(){if(this.ContractPanel.form.isValid()){var D=this.stDt.getRawValue();var E=this.edDt.getRawValue();if(D>E){this.stDt.markInvalid("Start date cannot be after end date.")}else{this.ContractPanel.form.submit({scope:this,waitMsg:"Loading...",params:{startdate:Wtf.modifyDateFmt(D,Wtf.getDateFormat(),"m/d/y"),enddate:Wtf.modifyDateFmt(E,Wtf.getDateFormat(),"m/d/y")},success:function(F,G){msgBoxShow(["Upload Successful","File Uploaded Successfully "],Wtf.MessageBox.INFO);this.departmentStore.reload();this.contractWindow.close()},failure:function(F,G){msgBoxShow(["ERROR","A problem occurred while uploading"],Wtf.MessageBox.ERROR);this.contractWindow.close()}})}}}},{text:"Cancel",scope:this,handler:function(){this.contractWindow.close()}}]});this.contractWindow.show()}else{if(this.grid.getSelectionModel().getCount()>1){msgBoxShow(["ERROR","Select only one record"],Wtf.MessageBox.ERROR)}else{msgBoxShow(["ERROR","Select at least one record"],Wtf.MessageBox.ERROR)}}},handleDeferClick:function(A,B){this.facultyProfileWin=new Wtf.common.myProfile({facId:this.sm.getSelected().data.Id,parentid:this.id,id:loginid});this.facultyProfileWin.show();this.facultyProfileWin.on("close",function(){this.departmentStore.reload();Wtf.getCmp("SCEN").disable()},this)},typeRenderer:function(E,C,A,F,D,B){if(!E){return"<lable ></lable>"}else{if(E==0){return"<lable >Regular</lable>"}else{if(E==1){return"<lable >Adjunct</lable>"}}}},payrollRenderer:function(E,C,A,F,D,B){if(!E){return"<lable ></lable>"}else{if(E==0){return"<lable >INCEIF</lable>"}else{if(E==1){return"<lable >Other</lable>"}}}},onClickHandle:function(C,F,A,E){var D=E.target;if(D.id.match("rating")){if(D.src.match("images/star.png")){for(var B=D.id.substring(6);B<6;B++){D.parentNode.childNodes[B-1].src="images/star1.png"}}else{if(D.src.match("images/star1.png")){for(var B=D.id.substring(6);B>0;B--){D.parentNode.childNodes[B-1].src="images/star.png"}}}}},createLevelObj:function(){this.levelcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Levels",dataIndex:"levelname",editor:new Wtf.form.TextField({allowBlank:false})}]);this.levelStore=new Wtf.data.JsonStore({url:"CountryList.jsp?mode=level",root:"data",fields:["levelid","levelname"]});this.levelStore.load()},createSkillObj:function(){this.skillcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Skills",dataIndex:"skillname",editor:new Wtf.form.TextField({allowBlank:false})}]);this.skillStore=new Wtf.data.JsonStore({url:"CountryList.jsp?mode=skill",root:"data",fields:["skillid","skillname"]});this.skillStore.load()},createQualObj:function(){this.qualcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Qualification",dataIndex:"qualname",editor:new Wtf.form.TextField({allowBlank:false})}]);this.qualStore=new Wtf.data.JsonStore({url:"CountryList.jsp?mode=qual",root:"data",fields:["qualid","qualname"]});this.qualStore.load()},createDeptObj:function(){this.deptcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Department",dataIndex:"departmentname",editor:new Wtf.form.TextField({allowBlank:false})}]);this.deptStore=new Wtf.data.JsonStore({url:"CountryList.jsp?mode=dept",root:"data",fields:["departmentid","departmentname"]});this.deptStore.load()},createDesigObj:function(){this.desigcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Designation",dataIndex:"designame",editor:new Wtf.form.TextField({allowBlank:false})}]);this.desigStore=new Wtf.data.JsonStore({url:"CountryList.jsp?mode=designation",root:"data",fields:["desigid","designame"]});this.desigStore.load()},openLevelMaster:function(){this.createLevelObj();this.levelMaster=new Wtf.Window({id:"levelmaster"+this.id,title:"Faculty Level Master",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.levelPanel=new Wtf.Panel({id:"levelpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:["-","New Faculty Level: ",this.levelText=new Wtf.form.TextField({anchor:"95%",id:this.id+"levelMasterText"}),"-",{text:"Add",tooltip:{title:"Add",text:"Click to add Faculty Levels"},handler:function(){this.addLevel()},scope:this},"-"],items:[this.addLevelPanel=new Wtf.Panel({id:"addLevel"+this.id,layout:"fit",border:false,items:[this.levelGrid=new Wtf.grid.EditorGridPanel({id:"levelgrid"+this.id,store:this.levelStore,cm:this.levelcm,border:false,loadMask:{msg:"Loading Faculty Levels..."},clicksToEdit:1,viewConfig:{forceFit:true}})]})]})]});this.levelMaster.show();this.levelMaster.on("close",function(){this.levelGrid.destroy();this.levelMaster.remove(this.levelGrid,true);this.levelMaster.destroy()},this);this.levelGrid.on("afteredit",this.levelAfterEdit,this)},openSkillMaster:function(){this.createSkillObj();this.skillMaster=new Wtf.Window({id:"skillmaster"+this.id,title:"Faculty Skill Master",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.skillPanel=new Wtf.Panel({id:"skillpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:["-","New Faculty Skill: ",this.skillText=new Wtf.form.TextField({anchor:"95%",id:this.id+"skillMasterText"}),"-",{text:"Add",tooltip:{title:"Add",text:"Click to add Faculty Skills"},handler:function(){this.addSkill()},scope:this},"-"],items:[this.addSkillPanel=new Wtf.Panel({id:"addSkill"+this.id,layout:"fit",border:false,items:[this.skillGrid=new Wtf.grid.EditorGridPanel({id:"skillgrid"+this.id,store:this.skillStore,cm:this.skillcm,border:false,loadMask:{msg:"Loading Faculty Skills..."},clicksToEdit:1,viewConfig:{forceFit:true}})]})]})]});this.skillMaster.show();this.skillMaster.on("close",function(){this.skillGrid.destroy();this.skillMaster.remove(this.skillGrid,true);this.skillMaster.destroy()},this);this.skillGrid.on("afteredit",this.skillAfterEdit,this)},openQualMaster:function(){this.createQualObj();this.qualMaster=new Wtf.Window({id:"qualmaster"+this.id,title:"Faculty Qualification Master",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.qualPanel=new Wtf.Panel({id:"qualpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:["-","New Faculty Qualification: ",this.qualText=new Wtf.form.TextField({anchor:"95%",id:this.id+"qualMasterText"}),"-",{text:"Add",tooltip:{title:"Add",text:"Click to add Faculty Qualification"},handler:function(){this.addQualification()},scope:this},"-"],items:[this.addQualPanel=new Wtf.Panel({id:"addQualification"+this.id,layout:"fit",border:false,items:[this.qualGrid=new Wtf.grid.EditorGridPanel({id:"qualgrid"+this.id,store:this.qualStore,cm:this.qualcm,loadMask:{msg:"Loading Qualification list..."},border:false,clicksToEdit:1,viewConfig:{forceFit:true}})]})]})]});this.qualMaster.show();this.qualMaster.on("close",function(){this.qualGrid.destroy();this.qualMaster.remove(this.qualGrid,true);this.qualMaster.destroy()},this);this.qualGrid.on("afteredit",this.qualAfterEdit,this)},openDeptMaster:function(){this.createDeptObj();this.deptMaster=new Wtf.Window({id:"deptmaster"+this.id,title:"Faculty Department Master",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.deptPanel=new Wtf.Panel({id:"deptpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:["-","New Faculty Department: ",this.deptText=new Wtf.form.TextField({anchor:"95%",id:this.id+"deptMasterText"}),"-",{text:"Add",tooltip:{title:"Add",text:"Click to add Faculty Department"},handler:function(){this.addDepartment()},scope:this},"-"],items:[this.addDeptPanel=new Wtf.Panel({id:"addDepartment"+this.id,layout:"fit",border:false,items:[this.deptGrid=new Wtf.grid.EditorGridPanel({id:"deptgrid"+this.id,store:this.deptStore,cm:this.deptcm,loadMask:{msg:"Loading Department list..."},border:false,clicksToEdit:1,viewConfig:{forceFit:true}})]})]})]});this.deptMaster.show();this.deptMaster.on("close",function(){this.deptGrid.destroy();this.deptMaster.remove(this.deptGrid,true);this.deptMaster.destroy()},this);this.deptGrid.on("afteredit",this.deptAfterEdit,this)},openDesigMaster:function(){this.createDesigObj();this.desigMaster=new Wtf.Window({id:"desigmaster"+this.id,title:"Faculty Designation Master",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.desigPanel=new Wtf.Panel({id:"desigpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:["-","New Faculty Designation: ",this.desigText=new Wtf.form.TextField({anchor:"95%",id:this.id+"desigMasterText"}),"-",{text:"Add",tooltip:{title:"Add",text:"Click to add Faculty Designation"},handler:function(){this.addDesignation()},scope:this},"-"],items:[this.addDesigPanel=new Wtf.Panel({id:"addDesignation"+this.id,layout:"fit",border:false,items:[this.desigGrid=new Wtf.grid.EditorGridPanel({id:"desiggrid"+this.id,store:this.desigStore,cm:this.desigcm,loadMask:{msg:"Loading Designation list..."},border:false,clicksToEdit:1,viewConfig:{forceFit:true}})]})]})]});this.desigMaster.show();this.desigMaster.on("close",function(){this.desigGrid.destroy();this.desigMaster.remove(this.desigGrid,true);this.desigMaster.destroy()},this);this.desigGrid.on("afteredit",this.desigAfterEdit,this)},levelAfterEdit:function(A){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"edit",type:"level",id:A.record.data.levelid,name:A.value},success:function(){},scope:this})},skillAfterEdit:function(A){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"edit",type:"skill",id:A.record.data.skillid,name:A.value},success:function(){},scope:this})},qualAfterEdit:function(A){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"edit",type:"qualification",id:A.record.data.qualid,name:A.value},success:function(){},scope:this})},deptAfterEdit:function(A){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"edit",type:"department",id:A.record.data.departmentid,name:A.value},success:function(){},scope:this})},desigAfterEdit:function(A){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"edit",type:"designation",id:A.record.data.desigid,name:A.value},success:function(){},scope:this})},addLevel:function(){if(this.levelText.getValue()){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"add",type:"level",name:this.levelText.getValue()},success:function(A,B){this.levelStore.reload()},scope:this});this.levelText.setValue("")}else{msgBoxShow(["Add Faculty Level","Please enter some text"])}},addSkill:function(){if(this.skillText.getValue()){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"add",type:"skill",name:this.skillText.getValue()},success:function(A,B){this.skillStore.reload()},scope:this});this.skillText.setValue("")}else{msgBoxShow(["Add Faculty Skill-Sets","Please enter some text"])}},addQualification:function(){if(this.qualText.getValue()){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"add",type:"qualification",name:this.qualText.getValue()},success:function(A,B){this.qualStore.reload()},scope:this});this.qualText.setValue("")}else{msgBoxShow(["Add Faculty Qualification","Please enter some text"])}},addDepartment:function(){if(this.deptText.getValue()){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"add",type:"department",name:this.deptText.getValue()},success:function(A,B){this.deptStore.reload()},scope:this});this.deptText.setValue("")}else{msgBoxShow(["Add Faculty Department","Please enter some text"])}},addDesignation:function(){if(this.desigText.getValue()){Wtf.Ajax.request({url:"jspfiles/admin/getMasterData.jsp",method:"POST",params:{action:"add",type:"designation",name:this.desigText.getValue()},success:function(A,B){this.desigStore.reload()},scope:this});this.desigText.setValue("")}else{msgBoxShow(["Add Faculty Designation","Please enter some text"])}},showProfile:function(B,C){var D=B.getStore().data.items[C].data["Id"];var A=B.getStore().data.items[C].data["Name"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+D+"_disp",A,"navareadashboard",Wtf.etype.user)}});Wtf.SabbaticalPanel=function(A){Wtf.apply(this,A);this.createSabbaticalWindow=null;this.sendForm=null;this.expander=new Wtf.grid.RowExpander({tpl:new Wtf.Template("<br>","<p><b>Description:</b> {Desc}</p>")});this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:false});this.sm=new Wtf.grid.CheckboxSelectionModel();this.cmodel=new Wtf.grid.ColumnModel([this.expander,this.sm,{header:"Name",width:150,dataIndex:"Name"},{header:"From Date",width:150,dataIndex:"Fdate"},{header:"To Date",width:150,dataIndex:"Tdate"},{header:"Status",width:120,dataIndex:"Status"}]);this.cmodel.defaultSortable=true;this.sabbaticalRecord=Wtf.data.Record.create([{name:"Name",type:"string"},{name:"Fdate",type:"string"},{name:"Tdate",type:"string"},{name:"Status",type:"string"},{name:"Desc",type:"string"}]);this.sabbaticalReader=new Wtf.data.JsonReader({root:"data"},this.sabbaticalRecord);this.sabbaticalStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/getdiscipline.jsp"}),reader:this.sabbaticalReader,sortInfo:{field:"Sname",direction:"DESC"}});this.grid=new Wtf.grid.EditorGridPanel({ds:this.sabbaticalStore,cm:this.cmodel,border:false,enableColumnHide:false,view:this.groupingView,plugins:this.expander,sm:this.sm,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.defferBttn=new Wtf.Toolbar.Button({text:"New Request",hidden:(isRoleGroup("2"))?false:true,tooltip:"Submit",id:"BtnNew"+this.id,scope:this});this.defferBttn.on("click",this.handleDeferClick,this);Wtf.SabbaticalPanel.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLQuickSearch({field:"Name",width:200}),this.defferBttn],items:[this.grid]});this.sabbaticalStore.on("load",this.handleStoreLoad,this)};Wtf.extend(Wtf.SabbaticalPanel,Wtf.Panel,{handleStoreLoad:function(A,C,B){this.quickPanelSearch.StorageChanged(A)},handleDeferClick:function(A,B){this.createSabbaticalWindow=new Wtf.Window({title:"Sabbatical",closable:true,modal:true,width:450,height:345,resizable:false,buttonAlign:"right",buttons:[{text:"Submit",scope:this,handler:function(){if(this.sendForm.form.isValid()){this.sendForm.form.submit({waitMsg:"Loading...",scope:this,failure:function(D,C){msgBoxShow(["Error","Error connecting to Server"],Wtf.MessageBox.INFO);this.createSabbaticalWindow.close()},success:function(D,C){msgBoxShow(["Success","Complaint registered successfully"],Wtf.MessageBox.INFO);this.createSabbaticalWindow.close()}})}}},{text:"Cancel",scope:this,handler:function(){this.createSabbaticalWindow.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:"<div style = 'width:100%;height:100%;position:relative;float:left;'><div style='float:left;height:100%;width:auto;position:relative;'><img src = 'images/createuser.gif' style = 'width:40px;height:52px;margin:5px 5px 5px 5px;'></img></div><div style='float:left;height:100%;width:80%;position:relative;'><div style='font-size:12px;font-style:bold;float:left;margin:20px 0px 0px 10px;width:100%;position:relative;'><b>Sabbatical Request</b></div><div style='font-size:10px;float:left;margin:15px 0px 0px 10px;width:100%;position:relative;'>Submit request for sabbatical</div></div></div>"},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/faculty/submitcomplaint.jsp",waitMsgTarget:true,method:"POST",border:false,labelWidth:120,bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:250},defaultType:"textfield",items:[new Wtf.form.DateField({fieldLabel:"From Date*",name:"Fdate",format:"Y-m-d ",allowBlank:false}),new Wtf.form.DateField({fieldLabel:"To Date*",name:"Tdate",format:"Y-m-d ",allowBlank:false}),new Wtf.form.TextArea({fieldLabel:"Description*",height:80,name:"Desc",allowBlank:false})]})]}]});this.createSabbaticalWindow.show()}});Wtf.fulltimereq=function(A){this.fulltimeSM=new Wtf.grid.CheckboxSelectionModel({singleSelect:true});this.fulltimeRec=Wtf.data.Record.create([{name:"userid"},{name:"username"},{name:"name"},{name:"changeto"},{name:"status"},{name:"program"},{name:"programid"},{name:"appid"}]);this.fulltimeReader=new Wtf.data.JsonReader({root:"data",totalProperty:"count"},this.fulltimeRec);this.fulltimeStore=new Wtf.data.Store({url:"jspfiles/admin/acastructure.jsp",reader:this.fulltimeReader,baseParams:{type:92}});this.fulltimeCM=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.fulltimeSM,{header:"Username",dataIndex:"username"},{header:"Full Name",dataIndex:"name"},{header:"Program",dataIndex:"program"},{header:"Change Request",dataIndex:"changeto",renderer:function(D,C,B){if(D==1){return"Full Time"}if(D==2){if(B.data.program=="CIFP"){return"Online"}else{return"Part Time"}}}},{header:"Status",dataIndex:"status",renderer:function(B){if(B==0){return"Waiting for Approval"}if(B==1){return"Accepted"}if(B==2){return"Rejected"}}}]);this.fulltimeGrid=new Wtf.grid.EditorGridPanel({ds:this.fulltimeStore,cm:this.fulltimeCM,sm:this.fulltimeSM,autoScroll:true,loadMask:true,trackMouseOver:true,collapsible:true,layout:"fit",clicksToEdit:1,viewConfig:{forceFit:true,autoFill:true}});this.fulltimeStore.on("load",function(){this.quickPanelSearch.StorageChanged(this.fulltimeStore)},this);this.fulltimeStore.on("datachanged",function(){this.quickPanelSearch.StorageChanged(this.fulltimeStore);this.quickPanelSearch.setPage(this.pP.combo.value)},this);this.layout="fit";this.border=false;this.tbar=["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"Module Name"})];this.bbar=[new Wtf.PagingSearchToolbar({pageSize:15,searchField:this.quickPanelSearch,store:this.fulltimeStore,displayInfo:false,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({})}),{id:"acceptbtn",text:"Accept",scope:this,disabled:true,handler:this.handleRequest},{id:"rejectbtn",text:"Reject",scope:this,disabled:true,handler:this.handleRequest}];this.items=this.fulltimeGrid;this.fulltimeSM.on("selectionchange",this.btnenable,this);Wtf.fulltimereq.superclass.constructor.call(this,A)};Wtf.extend(Wtf.fulltimereq,Wtf.Panel,{btnenable:function(){var A=this.fulltimeSM.getSelections();if(A.length==1){Wtf.getCmp("acceptbtn").setDisabled(false);Wtf.getCmp("rejectbtn").setDisabled(false)}else{Wtf.getCmp("acceptbtn").setDisabled(true);Wtf.getCmp("rejectbtn").setDisabled(true)}},handleRequest:function(B,C){var A=0;var D="";if(B.id=="acceptbtn"){A=1;D="accept"}else{if(B.id=="rejectbtn"){A=2;D="reject"}}Wtf.MessageBox.confirm("Confirm Change","Are you sure you want to "+D+" the request ?",function(E){if(E=="yes"){Wtf.Ajax.request({url:"jspfiles/admin/acastructure.jsp",method:"POST",params:{type:93,appid:this.fulltimeSM.getSelected().get("appid"),status:A},scope:this,success:function(){Wtf.Msg.alert("Alert","Status Updated Successfully",function(G){},this);var F=new Wtf.assignPlan({userid:this.fulltimeSM.getSelected().get("userid"),programid:this.fulltimeSM.getSelected().get("programid"),plansel:"",displansel:"",schplansel:"",flag:1,defaultplan:1});this.fulltimeStore.load({params:{start:0,limit:30}})},failure:function(){Wtf.Msg.alert("Error","Error connecting to server",function(F){},this)}})}},this)},onRender:function(A){Wtf.fulltimereq.superclass.onRender.call(this,A);this.fulltimeStore.load({params:{start:0,limit:15}})}});Wtf.lms.WtfLmsModuleAttendanceList=function(A){Wtf.apply(this,A);this.fromDate=new Wtf.MonthField({hidden:this.hideDate});this.venueRecord=Wtf.data.Record.create([{name:"vname",type:"string"},{name:"id",type:"string"},{name:"timezone"}]);this.venueReader=new Wtf.data.JsonReader({root:"data"},this.venueRecord);this.venueStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/LacaStructure.jsp"}),reader:this.venueReader});this.venueCombo=new Wtf.form.ComboBox({id:"venuess"+this.id,store:this.venueStore,editable:false,displayField:"vname",mode:"local",triggerAction:"all",emptyText:"Select a venue...",fieldLabel:"Venue",name:"venueid",valueField:"id",width:125,listWidth:140,hidden:this.hideVenue});this.classTypeStore=new Wtf.data.Store({url:"jspfiles/newCourse.jsp",reader:new Wtf.data.JsonReader({fields:[{name:"typeid",type:"string"},{name:"classtype",type:"string"}],root:"data"})});this.ctypeCombo=new Wtf.form.ComboBox({id:"ctype"+this.id,store:this.classTypeStore,editable:false,valueField:"typeid",displayField:"classtype",mode:"local",triggerAction:"all",emptyText:"Select a type...",fieldLabel:"Classroom Type",name:"ctype",hidden:this.hideClass});this.facRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"id",type:"string"}]);this.facReader=new Wtf.data.KwlJsonReader({root:"data"},this.facRecord);this.facStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.facReader});this.facCombo=new Wtf.form.ComboBox({id:"facc11"+this.id,store:this.facStore,editable:false,displayField:"username",mode:"local",triggerAction:"all",emptyText:"Select faculty...",fieldLabel:"Faculty",name:"facid",width:145,listWidth:165,valueField:"id",disabled:this.hideFaculty,hidden:this.hideFaculty});this.submitBttn=new Wtf.Toolbar.Button({text:"Submit",scope:this,handler:function(){this.northP.remove(this.grid);this.loadMask.hide();this.loadGrid()}});this.clearBttn=new Wtf.Toolbar.Button({text:"Clear Filter",scope:this,handler:function(){this.fromDate.reset();this.venueCombo.reset();this.ctypeCombo.reset();this.facCombo.reset();this.northP.remove(this.grid)}});this.csv=new Wtf.Toolbar.Button({text:"Export",scope:this,handler:function(){if(this.ds.getCount()>0){var B=Wtf.urlEncode({mode:this.mode,moduleid:this.moduleid,date:(!this.hideDate)?this.fromDate.getValue().format("Y-m-d"):this.date,venueid:(!this.hideVenue)?this.venueCombo.getValue():this.venueid,classtype:(!this.hideClass)?this.ctypeCombo.getValue():this.classtype,facid:(!this.hideFaculty)?this.facCombo.getValue():this.faculty,classcount:this.classcount,type:"reports",dtype:"attachment",report:this.mode});setDldUrl("fileDownload.jsp?"+B)}}});this.print=new Wtf.Toolbar.Button({text:"Print",scope:this,handler:function(){var B=Wtf.urlEncode({mode:this.mode,moduleid:this.moduleid,date:(!this.hideDate)?this.fromDate.getValue().format("Y-m-d"):this.date,venueid:(!this.hideVenue)?this.venueCombo.getValue():this.venueid,classtype:(!this.hideClass)?this.ctypeCombo.getValue():this.classtype,facid:(!this.hideFaculty)?this.facCombo.getValue():this.faculty,classcount:this.classcount,fileName:"Student_Attendance_List.pdf"});setDldUrl("ReportsServlet.jsp?"+B)}});Wtf.lms.WtfLmsModuleAttendanceList.superclass.constructor.call(this,{layout:"fit",border:false,tbar:this.getTbar(),bbar:[this.print,"-",this.csv],items:[this.northP=new Wtf.Panel({border:false,layout:"fit"})]})};Wtf.extend(Wtf.lms.WtfLmsModuleAttendanceList,Wtf.Panel,{onRender:function(A){Wtf.lms.WtfLmsModuleAttendanceList.superclass.onRender.call(this,A);if(!this.hideVenue){this.venueStore.load({params:{flag:80,moduleid:this.moduleid}})}if(!this.hideClass){this.classTypeStore.load({params:{type:"programsessionclasstype",progid:this.programid}})}if(!this.hideFaculty){this.facStore.baseParams={type:"facvenue"};this.facStore.load({params:{moduleid:this.moduleid,userid:loginid}})}this.loadMask=new Wtf.LoadMask(this.id,{msg:"Loading..."})},getTbar:function(){var A=new Array();if(!this.hideDate){A.push("Month ");A.push(this.fromDate);A.push("-")}if(!this.hideClass){A.push("Class Type");A.push(this.ctypeCombo);A.push("-")}if(!this.hideFaculty){A.push("Faculty");A.push(this.facCombo);A.push("-")}if(!this.hideVenue){A.push("Venue");A.push(this.venueCombo);A.push("-")}A.push(this.submitBttn);A.push(this.clearBttn);return A},loadGrid:function(){Wtf.Ajax.requestEx({url:"jspfiles/reportNew.jsp",method:"POST",params:{mode:15,moduleid:this.moduleid,date:(!this.hideDate)?this.fromDate.getValue().format("Y-m-d"):this.date,venueid:(!this.hideVenue)?this.venueCombo.getValue():this.venueid,classtype:(!this.hideClass)?this.ctypeCombo.getValue():this.classtype,facid:(!this.hideFaculty)?this.facCombo.getValue():this.faculty,classcount:this.classcount}},this,function(request,response){if(request!=null&&request!=""){var resObj=eval("("+request.trim()+")");if(resObj){if(resObj.data!==undefined){var jreader=new Wtf.data.DynamicJsonReader({});jreader.readRecords(resObj.data);this.ds=new Wtf.data.Store({reader:jreader});this._reader=jreader;this.ds.recordType=jreader.recordType;this.ds.fields=jreader.recordType.prototype.fields;this.cm=new Wtf.grid.DynamicColumnModel5(this.ds);this.grid=new Wtf.grid.GridPanel({loadMask:this.loadMask,border:false,store:this.ds,enableColumnHide:false,enableColumnMove:false,cm:this.cm,sm:this.examSM,viewConfig:{autoFill:true}});this.northP.add(this.grid);this.ds.loadData(resObj.data)}this.doLayout();this.loadMask.hide()}}},function(resp,req){this.loadMask.hide()})}});var classValidDateCnt=0;Wtf.WtfNewClass=function(A){Wtf.apply(this,A);this.newGrantWindow=null;this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:true});this.groupingView1=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:true});this.selModel=new Wtf.grid.CheckboxSelectionModel({singleSelect:true});this.moduleRecord=Wtf.data.Record.create([{name:"modulename",type:"string"},{name:"moduleid",type:"string"},{name:"programid",type:"string"},{name:"classsum",type:"int"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data"},this.moduleRecord);this.moduleStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader});this.programRecord=Wtf.data.Record.create([{name:"programid",type:"string"},{name:"programname",type:"string"}]);this.programReader=new Wtf.data.KwlJsonReader({root:"data"},this.programRecord);this.programStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/acastructure.jsp"}),reader:this.programReader});this.programComboTb=new Wtf.form.ComboBox({triggerAction:"all",store:this.programStore,mode:"local",width:150,listWidth:240,ctCls:"comboWidth",readOnly:true,displayField:"programname",valueField:"programid",emptyText:"Select a Program."});this.sessionRecord=Wtf.data.Record.create([{name:"sessionid"},{name:"sessionname"}]);this.sessionReader=new Wtf.data.JsonReader({root:"data"},this.sessionRecord);this.sessionStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/feedback.jsp"}),reader:this.sessionReader});this.sessionComboTbar=new Wtf.form.ComboBox({triggerAction:"all",store:this.sessionStore,mode:"local",readOnly:true,displayField:"sessionname",fieldLabel:"Session*",width:150,allowBlank:false,valueField:"sessionid",emptyText:"Select a Session"});this.delArray=[];this.addArray=[];this.classTypeStore=new Wtf.data.Store({url:"jspfiles/newCourse.jsp",reader:new Wtf.data.JsonReader({fields:[{name:"typeid",type:"string"},{name:"classtype",type:"string"}],root:"data"})});this.reccStore=new Wtf.data.SimpleStore({data:[["0","One Time"],["1","Weekly"],["2","Monthly"]],fields:["id","type"],reader:new Wtf.data.ArrayReader({},[{name:"type"},{name:"id"}]),autoLoad:true});this.allocStore=new Wtf.data.SimpleStore({data:[["Administrator","1"],["Student","0"]],fields:["alloc","allocid"],reader:new Wtf.data.ArrayReader({},[{name:"alloc"},{name:"allocid"}]),autoLoad:true});this.sectionTypeStore=new Wtf.data.SimpleStore({data:[["Online","1"],["Face to Face","2"],["Blended","3"],["Online - Tutorial","4"]],fields:["stype","id"],reader:new Wtf.data.ArrayReader({},[{name:"stype"},{name:"id"}]),autoLoad:true});this.venueRecord=Wtf.data.Record.create([{name:"vname",type:"string"},{name:"id",type:"string"},{name:"timezone"}]);this.venueReader=new Wtf.data.JsonReader({root:"data"},this.venueRecord);this.venueStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.venueReader});this.facRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"id",type:"string"}]);this.facReader=new Wtf.data.KwlJsonReader({root:"data"},this.facRecord);this.facStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.facReader});this.facCombo1=new Wtf.form.ComboBox({id:"facc11"+this.id,store:this.facStore,readOnly:true,displayField:"username",mode:"local",triggerAction:"all",emptyText:"Select faculty...",fieldLabel:"Faculty",name:"facid",width:145,listWidth:165,valueField:"id",disabled:false});this.numField=new Wtf.form.NumberField({allowDecimals:false,allowNegative:false,emptyText:"Enter no of students..",fieldLabel:"Minimum Students",name:"min",width:125,id:"numF1i"+this.id,scope:this});this.recCombo1=new Wtf.form.ComboBox({id:"recc1"+this.id,store:this.reccStore,readOnly:true,displayField:"type",mode:"local",triggerAction:"all",emptyText:"Select frequency...",fieldLabel:"Frequency",name:"recurrence",width:115,listWidth:135,valueField:"id"});this.cmodel=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Class Name",width:150,dataIndex:"name"},{header:"Class Type",width:150,dataIndex:"ctype"},{header:"Module",width:150,dataIndex:"modulename",groupable:true},{hidden:true,dataIndex:"recurring"}]);this.cmodel.defaultSortable=true;this.classRecord=Wtf.data.Record.create([{name:"name",type:"string"},{name:"sdate",type:"string"},{name:"edate",type:"string"},{name:"id",type:"string"},{name:"ctype",type:"string"},{name:"moduleid",type:"string"},{name:"modulename",type:"string"},{name:"recurring",type:"int"},{name:"programid",type:"string"},{name:"sessionid",type:"string"},{name:"sessionname",type:"string"},{name:"classtype",type:"string"}]);this.classReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.classRecord);this.classStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.classReader,sortInfo:{field:"modulename",direction:"DESC"},groupField:"modulename"});this.grid=new Wtf.grid.GridPanel({ds:this.classStore,cm:this.cmodel,border:false,view:this.groupingView,trackMouseOver:true,loadMask:{msg:"Loading Classes..."},viewConfig:{forceFit:true}});this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.selModel,{header:"Section Name",width:150,dataIndex:"name"},{header:"Venue",width:150,dataIndex:"venue",renderer:this.sectionRenderer},{header:"Timezone",width:150,dataIndex:"tname",renderer:this.sectionRenderer},{header:"Date",width:100,dataIndex:"date",renderer:this.sectionRenderer},{header:"Start Time",width:100,dataIndex:"stime",renderer:this.sectionRenderer},{header:"End Time",width:100,dataIndex:"etime",renderer:this.sectionRenderer},{header:"Closing Date",width:100,dataIndex:"closedate",renderer:this.expirDate},{header:"Type",width:100,dataIndex:"stype"},{header:"Min Students",width:100,dataIndex:"min"},{header:"Max Students",width:100,dataIndex:"max"},{header:"Allocation",width:100,dataIndex:"alloc"},{header:"Frequency",width:100,dataIndex:"recc",renderer:this.sectionRenderer},{header:"Rec Date",width:100,dataIndex:"recdate",renderer:this.sectionRenderer}]);this.cmodel1.defaultSortable=true;this.sectionRecord=Wtf.data.Record.create([{name:"name",type:"string"},{name:"venue",type:"string"},{name:"date",type:"string"},{name:"stime",type:"string"},{name:"etime",type:"string"},{name:"stype",type:"string"},{name:"id",type:"string"},{name:"min",type:"string"},{name:"max",type:"string"},{name:"alloc",type:"string"},{name:"closedate",type:"string"},{name:"regExp",type:"string"},{name:"recc",type:"string"},{name:"recdate",type:"string"},{name:"venueid",type:"string"},{name:"faculty",type:"string"},{name:"timezone"},{name:"tname"},{name:"classcount",type:"string"}]);this.sectionReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.sectionRecord);this.sectionStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.sectionReader,sortInfo:{field:"name",direction:"DESC"}});this.grid1=new Wtf.grid.GridPanel({ds:this.sectionStore,cm:this.cmodel1,sm:this.selModel,border:false,view:this.groupingView1,trackMouseOver:true,loadMask:{msg:"Loading Class Schedules..."},viewConfig:{forceFit:true}});this.MSComboconfig={store:this.facStore,displayField:"username",valueField:"id",triggerAction:"all",mode:"local",blankText:"Please select a faculty",emptyText:"Select a Venue and then select a faculty"};this.venueCombo1=new Wtf.form.ComboBox({id:"venuess"+this.id,store:this.venueStore,readOnly:true,displayField:"vname",mode:"local",triggerAction:"all",emptyText:"Select a venue...",fieldLabel:"Venue",name:"venueid",valueField:"id",width:125,listWidth:300});this.fdateField=new Wtf.form.DateField({id:"fdate1"+this.id,fieldLabel:"Start Date",emptyText:"Select a date...",width:100,name:"sdate",format:Wtf.getDateFormat()});this.criBttn=new Wtf.Toolbar.Button({text:"Search",tooltip:"Search according to criteria",id:"btnNew1"+this.id,scope:this,disabled:true,minWidth:30});this.clrfilterBttn=new Wtf.Toolbar.Button({text:"Clear Filter",tooltip:"Clear all selected value.",id:"btnclr"+this.id,scope:this,disabled:true,minWidth:30,handler:function(){this.clearfilterSection()}});this.criBttn.on("click",this.criClick,this);this.newClassBttn=new Wtf.Toolbar.Button({text:"New Class",tooltip:"Create a new class",id:"btnNew"+this.id,scope:this,handler:function(){this.handleClassClick(true)}});this.editClassBttn=new Wtf.Toolbar.Button({text:"Edit Class",tooltip:"Edit the selected class",id:"btnEdit"+this.id,scope:this,disabled:true,handler:function(){this.onClassEdit()}});this.deleteClassBttn=new Wtf.Toolbar.Button({text:"Delete Class",tooltip:"Delete the selected class",id:"btnDelete"+this.id,scope:this,disabled:true,handler:function(){this.onClassDelete()}});this.clrFIlBttn=new Wtf.Toolbar.Button({text:"Submit",tooltip:"Submit",scope:this,handler:function(){if(this.sessionComboTbar.getValue()==""){msgBoxShow(["Warning","Please select session from drop down"],Wtf.MessageBox.WARNING);return }else{if(this.programComboTb.getValue()==""){msgBoxShow(["Warning","Please select program from drop down"],Wtf.MessageBox.WARNING);return }}this.classStore.load({params:{start:0,limit:this.pageLimit1.combo.getValue()}})}});this.newSectionBttn=new Wtf.Toolbar.Button({text:"New Section",tooltip:"Create a new section",id:"btnAcc"+this.id,scope:this,disabled:true});this.newSectionBttn.on("click",function(){this.handleSectionClick(true)},this);this.editSectionBttn=new Wtf.Toolbar.Button({text:"Edit Section",tooltip:"Update selected section",id:"btnEditSet"+this.id,scope:this,disabled:true});this.editSectionBttn.on("click",function(){if(this.grid1.getSelectionModel().selections.length>0){this.handleSectionClick(false)}},this);this.allocBttn=new Wtf.Toolbar.Button({text:"Allocate",tooltip:"Allocate Students to section",id:"btnRejAllocate",scope:this,disabled:true});this.allocBttn.on("click",this.handleAllocateClick,this);this.allocNonRegBttn=new Wtf.Toolbar.Button({text:"Allocate Online Students",tooltip:"Allocate Online Students",id:"btnNonRegAllocate",scope:this,disabled:true});this.allocNonRegBttn.on("click",this.handleAllocateClick,this);this.viewScheduleBttn=new Wtf.Toolbar.Button({text:"View Schedule",tooltip:"View schedule for selected exam",id:"btnView"+this.id,scope:this,disabled:true});this.classActivities=new Wtf.Toolbar.Button({text:"Class Activities",scope:this,disabled:true,menu:[{id:"gradeBttn"+this.id,text:"Gradebook",scope:this,handler:function(){var B="gradebk"+this.id+this.sectionid;this.openTab(B,Wtf.course.gradeBook,{title:"Grade Book",closable:true,modulerunid:this.sectionid,id:B,HOD:(Wtf.realroles.indexOf("6")>-1)?false:Wtf.isHoD(),HOP:Wtf.isHoP()})}},{text:"Assignments",scope:this,handler:function(){var B="assignSection"+this.sectionid;this.openTab(B,Wtf.common.assignmentDropBox,{ctCls:"assignments",title:"Section Assignments",moduleid:this.sectionid,closable:true,faculty:(isRoleGroup("1")||Wtf.isExtStud())?false:true,layout:"fit",border:false})}}]});this.deleteSectionBttn=new Wtf.Toolbar.Button({text:"Delete Section",tooltip:"Delete the selected section",id:"btnDeleteSec"+this.id,scope:this,disabled:true,handler:function(){var B=this.selModel.getSelected();var C=B.data["id"];this.onSectionDelete(C)}});this.attndList=new Wtf.Toolbar.Button({text:"View Attendance List",scope:this,hidden:(isRoleGroup("1")||Wtf.isExtStud())?true:false,disabled:true,handler:this.attendanceList});this.viewScheduleBttn.on("click",this.handleScheduleClick,this);this.pageLimit1=new Wtf.common.pPageSize({});this.pageLimit2=new Wtf.common.pPageSize({});Wtf.WtfNewClass.superclass.constructor.call(this,{autoDestroy:true,border:false,bodyStyle:"background:none;",layout:"fit",items:[{layout:"border",border:false,split:true,items:[{region:"north",layout:"fit",title:"Classroom",height:300,split:true,border:false,items:this.grid,tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:150,field:"name"}),this.newClassBttn,this.editClassBttn,this.deleteClassBttn,"-",this.programComboTb,"-",this.sessionComboTbar,"-",this.clrFIlBttn],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:10,searchField:this.quickPanelSearch,store:this.classStore,displayInfo:true,displayMsg:"Displaying {0} - {1} / {2}",emptyMsg:"No results to display",plugins:this.pageLimit1})},{region:"center",split:true,layout:"border",items:[{region:"north",title:"Criteria",height:60,layout:"column",items:[{columnWidth:0.17,border:false,items:this.venueCombo1},{columnWidth:0.19,border:false,items:this.facCombo1},{columnWidth:0.12,border:false,items:this.fdateField},{columnWidth:0.14,border:false,items:this.numField},{columnWidth:0.16,border:false,items:this.recCombo1},{columnWidth:0.1,border:false,items:this.criBttn},{columnWidth:0.12,border:false,items:this.clrfilterBttn}]},{region:"center",split:true,title:"Sections",layout:"fit",border:false,tbar:["Quick Search: ",this.quickPanelSearch1=new Wtf.KWLTagSearch({width:200,field:"name"}),this.newSectionBttn,this.editSectionBttn,this.allocBttn,this.allocNonRegBttn,this.viewScheduleBttn,this.classActivities,this.deleteSectionBttn,this.attndList],items:this.grid1}],bbar:this.pg1=new Wtf.PagingSearchToolbar({pageSize:10,searchField:this.quickPanelSearch1,store:this.sectionStore,displayInfo:true,displayMsg:"Displaying  {0} - {1} / {2}",emptyMsg:"No results to display",plugins:this.pageLimit2})}]}]});this.on("render",this.handleRender,this);this.grid.on("rowclick",this.onClickHandle,this);this.selModel.on("selectionchange",this.onClickHandleRequest,this);this.classStore.on("beforeload",function(){this.classStore.baseParams={type:"class",programid:this.programComboTb.getValue(),ss:this.quickPanelSearch.getValue(),sessionid:this.sessionComboTbar.getValue()}},this);this.classStore.on("load",this.handleStoreLoad,this);this.classStore.on("datachanged",function(){this.sectionStore.removeAll();this.newSectionBttn.disable();this.editClassBttn.disable();this.deleteClassBttn.disable();var B=this.pageLimit1.combo.value;this.quickPanelSearch.setPage(B)},this);this.sectionStore.on("load",this.handleStoreLoad,this);this.sectionStore.on("datachanged",function(){var B=this.pageLimit2.combo.value;this.quickPanelSearch1.setPage(B)},this)};Wtf.extend(Wtf.WtfNewClass,Wtf.Panel,{sectionRenderer:function(F,D,A,G,C,B){var E=F;if(A.get("venueid")=="Online"){E="-"}return E},handleRender:function(A){this.venueStore.load({params:{type:"venue"}});this.programStore.load({params:{type:20}});this.sessionStore.load({params:{mode:10}})},attendanceList:function(){var A="attndList"+this.id;this.openTab(A,Wtf.lms.WtfLmsModuleAttendanceList,{mode:15,moduleid:this.moduleid,programid:this.programComboTb.getValue(),classtype:this.classtypeid,venueid:this.venueid,classcount:this.classcount,hideDate:false,hideClass:true,hideFaculty:false,hideVenue:true,id:A,layout:"fit",title:"Attendance List",border:false,closable:true,iconCls:getTabIconCls(Wtf.etype.report),scope:this,repTitle:"Attendance List"})},openTab:function(D,B,A){var C=Wtf.getCmp(D);if(!C){C=new B(A);this.ownerCt.ownerCt.add(C);this.ownerCt.ownerCt.doLayout()}this.ownerCt.ownerCt.setActiveTab(C)},filterSection:function(){this.sectionStore.removeAll();if(!this.classid){return }this.sectionStore.baseParams={type:"sectionFilter"};this.sectionStore.load({params:{classid:this.classid,start:0,limit:this.pageLimit2.combo.getValue(),venueid:this.venueCombo1.getValue(),date:this.fdateField.getRawValue(),facid:this.facCombo1.getValue(),num:this.numField.getValue(),recc:this.recCombo1.getValue()}})},clearfilterSection:function(){this.venueCombo1.setValue(""),this.fdateField.setRawValue(""),this.facCombo1.setValue(""),this.numField.setValue(""),this.recCombo1.setValue("");this.sectionStore.load({params:{classid:this.classid,start:0,limit:10}})},expirDate:function(B,A,F,E,D,C){if(F.data.regExp==0){return"<label style='color:red;'>"+B+"</label>"}else{return B}},handleActivate:function(A){A.doLayout();var B=(this.grid.ownerCt.getSize().height>100)?this.grid.ownerCt.getSize().height:200;this.grid.ownerCt.setHeight(B);A.doLayout()},handleStoreLoad:function(A,C,B){if(Wtf.isIE){this.ownerCt.on("activate",this.handleActivate,this)}if(A==this.sectionStore){this.quickPanelSearch1.StorageChanged(A)}else{this.quickPanelSearch.StorageChanged(A)}},handleScheduleClick:function(B,A){this.createSchedulegrid();this.centerdiv=document.createElement("div");this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:this.classtype+" Schedule",closable:true,modal:true,iconCls:"win",width:600,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Send Notification",scope:this,handler:this.notify,disabled:false},{text:"Close",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:100,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:"<div style = 'width:100%;height:100%;position:relative;float:left;'><div style='float:left;height:100%;width:auto;position:relative;'></div><div style='float:left;height:100%;width:80%;position:relative;'><div style='font-size:12px;font-style:bold;float:left;margin:5px 0px 0px 10px;width:100%;position:relative;'><b>Class : "+this.sectionname+"</b></div><div style='font-size:11px;float:left;margin:5px 0px 0px 10px;width:100%;position:relative;'>Venue : "+this.sectionvenue+"</div><div style='font-size:11px;float:left;margin:0px 0px 0px 10px;width:100%;position:relative;'>Date : "+this.sectiondate+"<br/>Start Time : "+this.stime+"<br/>End Time :"+this.etime+"<br/>Timezone :"+this.tname+"</div></div></div>"},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Registerd Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Assigned Faculty",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},createSchedulegrid:function(){this.availableds=new Wtf.data.Store({url:"jspfiles/newClass.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["username","id"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.availablesm,{header:"Student's Name",dataIndex:"username",autoWidth:true,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.availableds.load({params:{type:"getregstud",sectionid:this.sectionid}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newClass.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["username","id"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.selectedsm,{header:"Faculty Name",dataIndex:"username",autoWidth:true,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.selectedds.load({params:{type:"getregfac",sectionid:this.sectionid}})},onClickHandle:function(A,C,B){this.newSectionBttn.enable();this.editClassBttn.enable();this.deleteClassBttn.enable();this.criBttn.enable();this.clrfilterBttn.enable();this.sectionStore.removeAll();this.classid=this.classStore.getAt(C).data["id"];this.recurring=this.classStore.getAt(C).data["recurring"];this.classtype=this.classStore.getAt(C).data["ctype"];this.classtypeid=this.classStore.getAt(C).data["classtype"];this.moduleid=this.classStore.getAt(C).data["moduleid"];this.sectionStore.baseParams={type:"section",classid:this.classStore.getAt(C).data["id"]};this.sectionStore.load({params:{classid:this.classStore.getAt(C).data["id"],start:0,limit:this.pageLimit2.combo.getValue()}});this.facStore.baseParams={type:"facvenue"};this.facStore.removeAll();this.facStore.load({params:{moduleid:this.moduleid}})},notify:function(){if(this.availablesm.getSelections().length>0||this.selectedsm.getSelections().length>0){var B=this.availablesm.getSelections();var A="";for(var C=0;C<B.length;C++){A+=B[C].data.id;if(C<B.length-1||this.selectedsm.getSelections().length>0){A+=","}}var B=this.selectedsm.getSelections();for(var C=0;C<B.length;C++){A+=B[C].data.id;if(C<B.length-1){A+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newClass.jsp",params:{userid:A,subject:"["+this.classtype+"  Schedule] - "+this.sectionname,text:"<b>"+this.sectionname+" "+this.classtype+"</b>  has been scheduled..  <br>Date : <b>"+this.sectiondate+"</b> <br> Start time :  <b>"+this.stime+"</b> <br> End time :  <b>"+this.etime+"</b> <br> Venue  : <b>"+this.sectionvenue+"</b> <br> The above times are according to timezone "+this.tname,plaintext:this.sectionname+" "+this.classtype+"  has been scheduled..  \nDate : "+this.sectiondate+" \n Start time :  "+this.stime+" \n End time :  "+this.etime+" \n Venue  : "+this.sectionvenue+" \n The above times are according to timezone "+this.tname,type:"notify"},method:"POST"},this,function(E,D){Wtf.Msg.alert("Status","Notification sent successfully")},function(E,D){})}else{Wtf.Msg.alert("Alert","No user selected")}},onClickHandleRequest:function(C){if(C.getSelections().length>0){var A=C.getSelected();var B=parseInt(this.grid.getSelectionModel().getSelected().data.classtype);switch(B){case 1:this.classActivities.enable();this.allocNonRegBttn.enable();this.allocBttn.enable();break;case 2:this.classActivities.disable();this.allocNonRegBttn.disable();this.allocBttn.enable();break;case 3:case 4:this.classActivities.enable();this.allocNonRegBttn.disable();this.allocBttn.enable();break}this.sectionid=A.data["id"];this.sectionname=A.data["name"];this.sectionvenue=A.data["venue"];this.venueid=A.data["venueid"];this.sectiondate=A.data["date"];this.stime=A.data["stime"];this.etime=A.data["etime"];this.maxCnt=A.data["max"];this.tname=A.data["tname"];this.classcount=A.data["classcount"];this.viewScheduleBttn.enable();this.editSectionBttn.enable();this.deleteSectionBttn.enable();this.attndList.enable();this.classActivities.enable()}else{this.classActivities.disable();this.viewScheduleBttn.disable();this.editSectionBttn.disable();this.allocBttn.disable();this.allocNonRegBttn.disable();this.deleteSectionBttn.disable();this.attndList.disable()}},criClick:function(A,B){this.filterSection()},onClassEdit:function(){var data=this.grid.getSelectionModel().getSelected().data;Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{id:data.id,type:"checkschedule",mode:"class"},method:"POST"},this,function(resp){if(eval(resp)[0].success=="true"){msgBoxShow(["Edit Class","Cannot edit a scheduled class"],Wtf.MessageBox.INFO);return }else{if(eval(resp)[0].success=="false"){this.moduleStore.on("load",this.onModuleLoad,this);this.moduleStore.load({params:{type:"programsessionmodule",progid:data.programid,sessionid:data.sessionid}})}}},function(){})},onClassDelete:function(){Wtf.Msg.show({title:"Delete Class",msg:"Are you sure you want to delete this class?",buttons:Wtf.Msg.YESNO,scope:this,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{id:this.classid,type:"checksection",mode:"class"},method:"post"},this,function(resp){if(eval(resp)[0].success=="false"){msgBoxShow(["Delete Class","Cannot delete a scheduled class."],Wtf.MessageBox.INFO);return }else{if(eval(resp)[0].success=="true"){Wtf.Msg.alert("Status","Class deleted successfully.");this.classStore.load({params:{start:0,limit:10}})}}})}}})},onModuleLoad:function(){this.classTypeStore.on("load",this.handleClassClick,this);this.classTypeStore.load({params:{type:"programsessionclasstype",progid:this.grid.getSelectionModel().getSelected().data.programid}})},handleClassClick:function(A){if(A!=true){A=false;var B=this.grid.getSelectionModel().getSelected().data}var D=A?"New Class":"Edit Class";var C=A?"Create a new classroom":"Edit the selected classroom";this.newClassWindow=new Wtf.Window({title:D,closable:true,modal:true,width:418,height:305,resizable:false,buttonAlign:"right",buttons:[{text:A?"Create":"Update",scope:this,handler:function(){if(this.sendForm.form.isValid()){Wtf.Ajax.requestEx({url:"jspfiles/newClass.jsp",params:{type:A?"addclass":"editclass",name:this.nameField.getValue(),moduleid:this.moduleCombo.getValue(),ctype:this.ctypeCombo.getValue(),oldname:A?"":B.name,oldmoduleid:A?"":B.moduleid,oldtype:A?"":B.ctype,id:A?"":B.id},method:"POST"},this,function(F,E){this.classStore.load({params:{start:0,limit:this.pageLimit1.combo.getValue()}});this.newClassWindow.close()},function(F,E){})}}},{text:"Cancel",scope:this,handler:function(){this.newClassWindow.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif",D,C)},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/newClass.jsp?type=addclass&",waitMsgTarget:true,method:"POST",border:false,labelWidth:120,bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:240},defaultType:"textfield",items:[this.nameField=new Wtf.form.TextField({fieldLabel:"Class Name*",name:"name",maxLength:100,allowBlank:false}),this.sessionCombo=new Wtf.form.ComboBox({triggerAction:"all",store:this.sessionStore,mode:"local",readOnly:true,displayField:"sessionname",fieldLabel:"Session*",width:200,allowBlank:false,valueField:"sessionid",emptyText:"Select a Session"}),this.programCombo=new Wtf.form.ComboBox({triggerAction:"all",store:this.programStore,mode:"local",width:240,listWidth:"240",readOnly:true,displayField:"programname",fieldLabel:"Program*",hiddenName:"programid",allowBlank:false,valueField:"programid",emptyText:"First select a program..."}),this.moduleCombo=new Wtf.form.ComboBox({id:"module"+this.id,store:this.moduleStore,readOnly:true,displayField:"modulename",mode:"local",triggerAction:"all",emptyText:"Select a module...",fieldLabel:"Module/Course*",name:"moduleid",valueField:"moduleid",allowBlank:false}),this.ctypeCombo=new Wtf.form.ComboBox({id:"ctype"+this.id,store:this.classTypeStore,editable:false,valueField:"typeid",displayField:"classtype",mode:"local",allowBlank:false,triggerAction:"all",emptyText:"Select a type...",fieldLabel:"Classroom Type*",name:"ctype"})]})]}]});this.programCombo.on("select",this.programSelect,this);this.sessionCombo.on("select",function(){this.programCombo.setValue("")},this);this.newClassWindow.on("render",function(){if(!A){this.nameField.setValue(B.name);this.programCombo.setValue(B.programid);this.sessionCombo.setValue(B.sessionid);this.moduleCombo.setValue(B.moduleid);this.ctypeCombo.setValue(this.classTypeStore.query("classtype",B.ctype).items[0].data.typeid);this.moduleStore.removeListener("load",this.onModuleLoad,this);this.classTypeStore.removeListener("load",this.handleClassClick,this)}},this);this.newClassWindow.show()},programSelect:function(B,C,A){this.moduleCombo.setValue("");this.moduleStore.removeAll();this.ctypeCombo.setValue("");this.classTypeStore.removeAll();this.moduleStore.load({params:{type:"programsessionmodule",progid:C.data.programid,sessionid:this.sessionCombo.getValue()}});this.classTypeStore.load({params:{type:"programsessionclasstype",progid:C.data.programid}})},handleSectionClick:function(flag){this.count1=1;classValidDateCnt=1;var header1=flag?"New Section":"Edit Section";var desc1=flag?"Create a new section ":"Edit selected section";var stype="1";if(!flag){if(this.selModel.getSelected().get("stype")=="Face to Face"){stype="2"}else{if(this.selModel.getSelected().get("stype")=="Blended"){stype="3"}else{if(this.selModel.getSelected().get("stype")=="Online - Tutorial"){stype="4"}}}}var alloca="0";if(!flag){if(this.selModel.getSelected().get("alloc")=="Administrator"){alloca="1"}}var freq="0";if(!flag){if(this.selModel.getSelected().get("recc")=="Weekly"){freq="1"}else{if(this.selModel.getSelected().get("recc")=="Monthly"){freq="2"}}}this.facStore.removeAll();this.facStore.baseParams={type:"facvenue"};this.facStore.load({params:{moduleid:this.moduleid}});this.newSectionWindow=new Wtf.Window({title:flag?"New Section":"Edit Section",closable:true,modal:true,width:420,height:540,resizable:false,buttonAlign:"right",buttons:[{text:flag?"Create":"Edit",scope:this,handler:function(){Wtf.getCmp("recenddate12x").validate();Wtf.getCmp("numField1444").validate();for(var i=0;i<this.count1;i++){var tempId="actdate12x_"+i;Wtf.getCmp(tempId).validate();tempId="schendtime_"+i;Wtf.getCmp(tempId).validate();tempId="schstarttime_"+i;Wtf.getCmp(tempId).validate()}this.recCombo.getValue();this.recFlag=true;if(this.recCombo.getValue()>0&&this.rdateField.getRawValue()==""){this.recFlag=false}if(this.sendForm.form.isValid()&&this.recFlag){var message=flag?"create new section":"update selected section";Wtf.Msg.show({title:flag?"Create Section ":"Update Section",msg:"Are you sure you want to "+message,buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){var dateStr="";var stimeStr="";var etimeStr="";for(var i=0;i<this.count1;i++){dateStr+=Wtf.getCmp("actdate12x_"+i).getRawValue()+",";stimeStr+=Wtf.getCmp("schstarttime_"+i).getValue()+",";etimeStr+=Wtf.getCmp("schendtime_"+i).getValue()+","}if(dateStr.length>1){dateStr=dateStr.substring(0,(dateStr.length-1));stimeStr=stimeStr.substring(0,(stimeStr.length-1));etimeStr=etimeStr.substring(0,(etimeStr.length-1))}var fD=this.cdateField.getRawValue();Wtf.Ajax.requestEx({url:"jspfiles/newClass.jsp",params:{classid:this.classid,type:"addsection",name:this.nameField.getValue(),date:dateStr,stime:stimeStr,etime:etimeStr,venueid:this.venueCombo.getValue(),stype:this.stypeCombo.getValue(),min:this.minField.getValue(),max:this.maxField.getValue(),alloc:this.alloctypeCombo.getValue(),facid:this.multi.getValue(),closedate:Wtf.modifyDateFmt(fD,Wtf.getDateFormat(),"Y-m-j"),recc:this.recCombo.getValue(),recedate:this.rdateField.getRawValue(),id:this.h1.getValue(),tzone:this.tZoneCombo.getValue(),classcount:this.classcount,mode:flag?1:2},method:"POST"},this,function(resp,req){var temp=eval(resp);if(eval(resp)[0].success=="false"){Wtf.Msg.alert("Schedule Clash","Section "+eval(resp)[0].name+" has already been scheduled at same venue and time.")}else{this.newSectionWindow.close();this.sectionStore.load({params:{classid:this.classid,start:0,limit:this.pageLimit2.combo.getValue()}})}},function(resp,req){})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}else{if(this.recCombo.getValue()>0){this.rdateField.markInvalid("Recurrence end date field is required")}}}},{text:"Cancel",scope:this,handler:function(){this.newSectionWindow.close()}}],listeners:{scope:this,show:function(component){var flag=false;if(stype=="1"){flag=true}this.venueCombo.setDisabled(flag);this.tZoneCombo.setDisabled(flag);this.recCombo.setDisabled(flag);this.dateField.setDisabled(flag);this.changebtn.setDisabled(flag);this.rdateField.setDisabled(flag);this.startTimeField.setDisabled(flag);this.endTimeField.setDisabled(flag)}},layout:"border",items:[{region:"center",border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif",header1,desc1)},{region:"south",height:410,border:false,autoScroll:true,bodyStyle:"background:#f1f1f1;font-size:10px;overflow:auto;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/newClass.jsp?type=addsection&classid="+this.classid+"&",waitMsgTarget:true,method:"POST",border:false,autoHeight:true,labelWidth:120,params:({asdas:"sad"}),bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaultType:"textfield",items:[this.nameField=new Wtf.form.TextField({fieldLabel:"Section Name*",name:"name",maxLength:100,width:240,allowBlank:false,blankText:"Please enter a section name",value:flag?null:this.selModel.getSelected().get("name")}),this.stypeCombo=new Wtf.form.ComboBox({id:"schClassType23"+this.id,store:this.sectionTypeStore,readOnly:true,width:240,displayField:"stype",mode:"local",triggerAction:"all",emptyText:"Select a type...",fieldLabel:"Section Type*",name:"stype",valueField:"id",allowBlank:false,blankText:"Please select a section type",value:flag?null:stype,listeners:{scope:this,select:function(combo,record,index){var flag=false;if(record.get("stype")==="Online"){flag=true}this.venueCombo.setDisabled(flag);this.tZoneCombo.setDisabled(flag);this.recCombo.setDisabled(flag);this.dateField.setDisabled(flag);this.changebtn.setDisabled(flag);this.rdateField.setDisabled(flag);this.startTimeField.setDisabled(flag);this.endTimeField.setDisabled(flag)}}}),this.venueCombo=new Wtf.form.ComboBox({id:"venue"+this.id,store:this.venueStore,readOnly:true,width:240,displayField:"vname",mode:"local",triggerAction:"all",emptyText:"Select a venue...",fieldLabel:"Venue*",name:"venueid",valueField:"id",allowBlank:false,blankText:"Please select a venue",value:flag?null:this.selModel.getSelected().get("venueid")}),this.tZoneCombo=new Wtf.form.ComboBox({id:"tZone"+this.id,store:Wtf.timezoneStore,readOnly:true,width:240,displayField:"name",mode:"local",triggerAction:"all",emptyText:"Select a timezone...",fieldLabel:"Timezone*",disabled:true,hiddenName:"id",valueField:"id",allowBlank:false,value:flag?null:this.selModel.getSelected().get("timezone")}),this.multi=new Wtf.common.Select(Wtf.applyIf({multiSelect:true,width:240,fieldLabel:"Faculty*",allowBlank:false,forceSelection:true,disabled:false},this.MSComboconfig)),this.alloctypeCombo=new Wtf.form.ComboBox({id:"schClassType"+this.id,store:this.allocStore,readOnly:true,width:240,displayField:"alloc",mode:"local",triggerAction:"all",emptyText:"Select allocation...",fieldLabel:"Allocation*",name:"alloc",valueField:"allocid",allowBlank:false,blankText:"Please select allocation type",value:flag?null:alloca}),this.recCombo=new Wtf.form.ComboBox({id:"recc1133x",store:this.reccStore,readOnly:true,width:240,displayField:"type",mode:"local",triggerAction:"all",emptyText:"Select frequency...",fieldLabel:"Frequency*",name:"recurrence",valueField:"id",allowBlank:false,blankText:"Please select a frequency",value:flag?null:freq}),this.datePanel=new Wtf.Panel({layout:"form",width:360,bodyStyle:"width:100%;overflow:visible",border:false,items:[{layout:"column",width:360,border:false,items:[{columnWidth:0.8,border:false,layout:"form",items:this.dateField=new Wtf.form.DateField({id:"actdate12x_0",fieldLabel:"Date*",name:"date",editable:false,format:"Y-m-j",allowBlank:false,blankText:"Please select a date",value:flag?null:this.selModel.getSelected().get("date")})},{columnWidth:0.2,layout:"form",border:false,items:[this.changebtn=new Wtf.Button({text:"Add",hidden:!flag,bodyStyle:"padding:0px;",scope:this,handler:this.addmoreFilefield})]}]}]}),this.rdateField=new Wtf.form.DateField({id:"recenddate12x",fieldLabel:"Recurrence End Date*",name:"date",editable:false,validateOnBlur:true,format:"Y-m-j",disabled:freq>0?false:true,validator:this.validateDate1,blankText:"Please select a date",value:flag?null:this.selModel.getSelected().get("recdate")}),this.cdateField=new Wtf.form.DateField({id:"regdate12x",fieldLabel:"Reg. Closing Date*",name:"date",editable:false,format:Wtf.getDateFormat(),allowBlank:false,validator:true,blankText:"Please select a date",value:flag?null:this.selModel.getSelected().get("closedate")}),this.timePanel=new Wtf.Panel({layout:"form",width:360,bodyStyle:"width:100%;overflow:visible",border:false,items:[{layout:"form",width:360,bodyStyle:"width:100%;overflow:visible",id:"timepanel_0",border:false,items:[this.startTimeField=new Wtf.form.TimeField({id:"schstarttime_0",fieldLabel:"Start Time*",editable:false,format:"H:i:s",name:"stime",allowBlank:false,blankText:"Please select start time",value:flag?"08:00:00":this.selModel.getSelected().get("stime")}),this.endTimeField=new Wtf.form.TimeField({id:"schendtime_0",fieldLabel:"End Time*",editable:false,format:"H:i:s",name:"etime",allowBlank:false,scope:this,validator:this.validateTime,blankText:"Please select end time",value:flag?"10:00:00":this.selModel.getSelected().get("etime")})]}]}),this.minField=new Wtf.form.NumberField({allowDecimals:false,allowNegative:false,fieldLabel:"Minimum Students*",name:"min",id:"numField333",scope:this,width:240,minValue:1,allowBlank:false,blankText:"Please specify minimum students",value:flag?1:this.selModel.getSelected().get("min")}),this.maxField=new Wtf.form.NumberField({allowDecimals:false,allowNegative:false,fieldLabel:"Maximum Students*",name:"max",id:"numField1444",width:240,allowBlank:false,scope:this,validator:this.validateNum,blankText:"Please specify maximum students",value:flag?999:this.selModel.getSelected().get("max")}),this.h1=new Wtf.form.Hidden({name:"id",value:flag?null:this.selModel.getSelected().get("id")})]})]}]});this.newSectionWindow.show();this.recCombo.on("select",this.loadRec,this);if(!this.recurring){this.recCombo.setValue("0");this.recCombo.disable()}this.venueCombo.on("beforeselect",function(combo,rec,index){var value=rec.get("timezone");if(Wtf.isEmpty(value)){this.tZoneCombo.setValue(2)}else{this.tZoneCombo.setValue(value)}},this);if(!flag){this.facStore.on("load",function(){if(this.selModel.getCount()>0){var facultyids=this.selModel.getSelected().get("faculty").split(",");var arr=[];for(var cnt=0;cnt<facultyids.length;cnt++){arr.push(facultyids[cnt])}this.multi.setValue(arr)}},this)}this.datePanel.setWidth(360);this.datePanel.doLayout()},onSectionDelete:function(A){Wtf.Msg.show({title:"Delete Section",msg:"Are you sure you want to delete this section?",buttons:Wtf.Msg.YESNO,scope:this,fn:function(B){if(B=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{type:"deletesection",sectionid:A,mode:"class"},method:"post"},this,function(E,C){var D=Wtf.util.JSON.decode(E);if(D.success){Wtf.Msg.alert("Status","Section deleted successfully.");this.sectionStore.load({params:{classid:this.classid,start:0,limit:this.pageLimit2.combo.getValue()}})}else{msgBoxShow(["Delete Section","Cannot delete a scheduled section."],Wtf.MessageBox.INFO);return }})}}})},addmoreFilefield:function(){this.datePanel.setHeight(this.datePanel.getSize().height+30);this.datePanel.doLayout();this.datePanel.add({layout:"column",height:30,width:340,id:"filefield"+this.count1,border:false,items:[{columnWidth:0.8,border:false,layout:"form",items:this.dateField=new Wtf.form.DateField({id:"actdate12x_"+this.count1,fieldLabel:"Date "+this.count1+"*",name:"date",editable:false,scope:this,format:"Y-m-j",allowBlank:false,blankText:"Please select a date"})},{columnWidth:0.2,layout:"form",border:false,items:[this.changebtn=new Wtf.Button({text:"Remove",id:"rmvBttn_"+this.count1,bodyStyle:"padding:0px;",scope:this,id1:this.count1,handler:function(A){this.datePanel.remove(Wtf.getCmp("filefield"+A.id1));this.timePanel.remove(Wtf.getCmp("timepanel_"+A.id1));this.datePanel.setHeight(this.datePanel.getSize().height-30);if(this.count1>2){Wtf.getCmp("rmvBttn_"+(this.count1-2)).enable()}this.datePanel.doLayout();this.count1--;classValidDateCnt--}})]}]});this.timePanel.add({layout:"form",width:360,bodyStyle:"width:100%;overflow:visible",id:"timepanel_"+this.count1,border:false,items:[new Wtf.form.TimeField({id:"schstarttime_"+this.count1,fieldLabel:"Start Time"+this.count1+"*",editable:false,format:"H:i:s",name:"stime",allowBlank:false,blankText:"Please select start time",value:"08:00:00"}),new Wtf.form.TimeField({id:"schendtime_"+this.count1,fieldLabel:"End Time"+this.count1+"*",editable:false,format:"H:i:s",name:"etime",allowBlank:false,scope:this,validator:this.validateTime,blankText:"Please select end time",value:"10:00:00"})]});if(this.count1!=1){Wtf.getCmp("rmvBttn_"+(this.count1-1)).disable()}this.datePanel.doLayout();this.timePanel.doLayout();this.count1++;classValidDateCnt++},validateTime:function(){var A=true;for(var B=0;B<classValidDateCnt;B++){if(Date.parseDate(Wtf.getCmp("schstarttime_"+B).getValue(),"H:i:s")>=Date.parseDate(Wtf.getCmp("schendtime_"+B).getValue(),"H:i:s")){A=false}}if(A){return true}else{return"Class end time should occur after start time"}},loadRec:function(A){Wtf.getCmp("recenddate12x").reset();if(A.getValue()==0){Wtf.getCmp("recenddate12x").disable()}else{Wtf.getCmp("recenddate12x").enable()}},validateNum:function(){if(Wtf.getCmp("numField333").getValue()>Wtf.getCmp("numField1444").getValue()){return"Minimum value is greater than maximum value"}else{return true}},validateDate:function(){var A=true;for(var B=0;B<classValidDateCnt;B++){if(Date.parseDate(Wtf.getCmp("regdate12x").getRawValue(),"Y-m-j")>Date.parseDate(Wtf.getCmp("actdate12x_"+B).getRawValue(),"Y-m-j")){A=false}}if(A){return true}else{return"Class registration date should occur before class date"}},validateDate1:function(){var A=true;for(var B=0;B<classValidDateCnt;B++){if(Date.parseDate(Wtf.getCmp("recenddate12x").getRawValue(),"Y-m-j")<Date.parseDate(Wtf.getCmp("actdate12x_"+B).getRawValue(),"Y-m-j")){A=false}}if(A){return true}else{return"Recurrence end date should occur before class start date"}},handleAllocateClick:function(B,C){this.allocateFlag=true;this.delArray=[];this.addArray=[];var A=false;if(B.id=="btnRejAllocate"){A=true}this.creategrid(A);this.centerdiv=document.createElement("div");this.centerdiv.appendChild(this.movetoright);this.centerdiv.appendChild(this.movetoleft);this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:"Allocate Section",closable:true,modal:true,iconCls:"win",width:700,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Update",scope:this,handler:this.assignfacsubmit},{text:"Cancel",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Assign Module","Allocate section to students")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:300,layout:"fit",items:[{xtype:"KWLListPanel",title:"Registered Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:300,layout:"fit",items:[{xtype:"KWLListPanel",title:"Allocated Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},creategrid:function(A){this.availableds=new Wtf.data.Store({url:"jspfiles/newClass.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["username","id"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.availablesm,{header:"Student Name",dataIndex:"username",width:200,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:false}});this.availableds.load({params:{type:"newstud",sectionid:this.sectionid,moduleid:this.moduleid,regFlag:A,classtype:this.grid.getSelectionModel().getSelected().data.classtype}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newClass.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["username","id"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.selectedsm,{header:"Student Name",dataIndex:"username",width:200,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:false}});this.selectedds.load({params:{type:"regstud",sectionid:this.sectionid,moduleid:this.moduleid,regFlag:A}});this.movetoright=document.createElement("img");this.movetoright.src="images/arrowright.gif";this.movetoright.style.width="24px";this.movetoright.style.height="24px";this.movetoright.style.margin="5px 0px 5px 0px";this.movetoright.onclick=this.movetorightclicked.createDelegate(this,[]);this.movetoleft=document.createElement("img");this.movetoleft.src="images/arrowleft.gif";this.movetoleft.style.width="24px";this.movetoleft.style.height="24px";this.movetoleft.style.margin="5px 0px 5px 0px";this.movetoleft.onclick=this.movetoleftclicked.createDelegate(this,[])},movetorightclicked:function(){var A=this.availablesm.getSelections();var B=this.selectedds.getCount();if(this.allocateFlag==true){if(A.length>0&&(A.length+B)<=this.maxCnt){this.selectedds.add(A);for(var C=0;C<A.length;C++){this.availableds.remove(A[C]);if(this.delArray.indexOf(A[C].data["id"])!=-1){this.delArray.splice(this.delArray.indexOf(A[C].data["id"]),1)}else{this.addArray.push(A[C].data["id"])}}}else{if(A.length>0){Wtf.Msg.alert("Alert","Maximum "+this.maxCnt+" students allowed for this section")}}}else{if(A.length>0){this.selectedds.add(A)}for(var C=0;C<A.length;C++){this.availableds.remove(A[C]);if(this.delArray.indexOf(A[C].data["id"])!=-1){this.delArray.splice(this.delArray.indexOf(A[C].data["id"]),1)}else{this.addArray.push(A[C].data["id"])}}}},movetoleftclicked:function(){var A=this.selectedsm.getSelections();if(A.length>0){this.availableds.add(A)}for(var B=0;B<A.length;B++){this.selectedds.remove(A[B]);if(this.addArray.indexOf(A[B].data["id"])!=-1){this.delArray.splice(this.delArray.indexOf(A[B].data["id"]),1)}else{this.delArray.push(A[B].data["id"])}}},assignfacsubmit:function(){var D="";var A="";var C=[];var B=0;if(this.delArray.length==0&&this.addArray.length==0){return }for(B=0;B<this.delArray.length;B++){D+=this.delArray[B];if(B<this.delArray.length-1){D+=","}}for(B=0;B<this.addArray.length;B++){A+=this.addArray[B];C[B]=this.addArray[B];if(B<this.addArray.length-1){A+=","}}this.delArray=[];this.addArray=[];Wtf.Ajax.requestEx({url:"jspfiles/newClass.jsp",params:{delid:D,addid:A,sectionid:this.sectionid,type:"allocstud"},method:"POST"},this,function(F,E){this.assignFacultyWin.close()},function(F,E){})}});Wtf.WtfNewCourse=function(A){Wtf.apply(this,A);this.createInstitutionWindow=null;this.sendForm=null;this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.sm,{header:"Student Name",width:150,dataIndex:"username"},{header:"Session Name",width:150,dataIndex:"sessionname"},{header:"Sponsor",width:100,dataIndex:"sponsor"},{header:"Module Name",width:150,dataIndex:"modulename"},{header:"Type",width:100,dataIndex:"type"},{header:"Applied Date",width:100,dataIndex:"appdate"},{header:"Status",width:100,dataIndex:"status",renderer:function(F,D,B,G,E,C){if(F=="Applied for registration after due date"||F=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+F+"</lable>"}else{return F}}},{header:"Special Classroom Permission",width:100,dataIndex:"spclclassperm"}]);this.cmodel1.defaultSortable=true;this.moduleRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"modulename",type:"string"},{name:"status",type:"string"},{name:"examremark",type:"string"},{name:"userid",type:"string"},{name:"sessionid",type:"string"},{name:"type",type:"string"},{name:"moduleid",type:"string"},{name:"modulecode",type:"string"},{name:"invoicenum",type:"string"},{name:"amount",type:"string"},{name:"statusid",type:"int"},{name:"feetype",type:"int"},{name:"incaccid",type:"string"},{name:"expaccid",type:"string"},{name:"araccid",type:"string"},{name:"sessionname",type:"string"},{name:"sessionid",type:"string"},{name:"sponsor",type:"string"},{name:"sponsorcode",type:"string"},{name:"islocal",type:"string"},{name:"paidamt",type:"string"},{name:"appdate",type:"string"},{name:"spclclassperm",type:"string"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"username",direction:"ASC"},groupField:"username"});this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cmodel1,border:false,view:this.groupingView,trackMouseOver:true,sm:this.sm,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.regBttn=new Wtf.Toolbar.Button({text:"Approve",tooltip:"Approve selected request",id:"BtnNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.classpermBttn1=new Wtf.Toolbar.Button({text:"Grant Classroom",tooltip:"Grant Special Classroom Permission",id:"GrantClsPerm"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this});this.classpermBttn2=new Wtf.Toolbar.Button({text:"Revoke Classroom",tooltip:"Revoke Special Classroom Permission",id:"RevokeClsPerm"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this});this.deferBttn=new Wtf.Toolbar.Button({text:"Accept Payment",tooltip:"Accept payment for selected module",hidden:(isRoleGroup("3"))?false:true,id:"defNew"+this.id,scope:this,disabled:true});this.rejectBttn=new Wtf.Toolbar.Button({text:"Reject",tooltip:"Reject selected request",id:"rejeNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.printBttn=new Wtf.Toolbar.Button({text:"Print Invoice",tooltip:"Print Invoice",id:"printNew"+this.id,scope:this,disabled:true});this.setmarkBttn=new Wtf.Toolbar.Button({text:"Set Marks",tooltip:"Set Marks For Exemption Exam",id:"markNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.markregBttn=new Wtf.Toolbar.Button({text:"Mark As Registered",tooltip:"Mark selected module as registered",id:"markregNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.viewRemarkBttn=new Wtf.Toolbar.Button({text:"View Remark",tooltip:"View comment for selected students",id:"viewRemark"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.cancelregBttn=new Wtf.Toolbar.Button({text:"Cancel Registration",tooltip:"Cancel registered for selected module",id:"cancelreg"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.exportBttn=new Wtf.Toolbar.Button({text:"Export",tooltip:"Export this data",handler:function(){setDldUrl("fileDownload.jsp?&type=adminExamReg&dtype=attachment")},scope:this});this.viewProfile=new Wtf.Toolbar.Button({text:"View Profile",tooltip:"View student profile",id:"profile"+this.id,scope:this,disabled:true,handler:function(){var C=this.grid1.getSelectionModel().getSelections()[0].data["userid"];var B=this.grid1.getSelectionModel().getSelections()[0].data["username"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+C+"_disp",B,"navareadashboard",Wtf.etype.user)}});this.regBttn.on("click",this.handleRegister,this);this.classpermBttn1.on("click",this.updateclassperm,this);this.classpermBttn2.on("click",this.updateclassperm,this);this.deferBttn.on("click",this.handlePayFee,this);this.rejectBttn.on("click",this.handleReject,this);this.printBttn.on("click",this.handlePrintInvoice,this);this.viewRemarkBttn.on("click",this.handleViewRemark,this);this.markregBttn.on("click",this.handleMarkAsReg,this);this.cancelregBttn.on("click",this.cancelregisteredReq,this);Wtf.WtfNewCourse.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"modulename"}),this.regBttn,this.rejectBttn,this.deferBttn,this.printBttn,this.markregBttn,this.viewRemarkBttn,this.cancelregBttn,this.exportBttn],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:300,searchField:this.quickPanelSearch,store:this.moduleStore,displayInfo:true,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({}),items:["-","Total Students:",this.totalStud=new Wtf.form.TextField({fieldLabel:"Total Students:",width:40,readOnly:true}),this.viewProfile,this.classpermBttn1,this.classpermBttn2]}),items:[this.grid1]});this.on("render",this.handleRender,this);this.sm.on("selectionchange",this.clickHandle,this);this.moduleStore.on("load",this.handleStoreLoad,this);this.grid1.on("rowdblclick",this.handleExamDbClick,this);this.moduleStore.on("datachanged",function(){var B=this.pP.combo.value;this.quickPanelSearch.setPage(B)},this)};Wtf.extend(Wtf.WtfNewCourse,Wtf.Panel,{handleRender:function(){this.moduleStore.baseParams={type:"examapplist"};this.moduleStore.load({params:{userid:loginid,start:0,limit:300}});this.grid1.on("sortchange",function(A,B){this.grid1.getStore().groupBy(B.field)},this)},handleExamDbClick:function(C,D,B){var E=this.moduleStore.getAt(D).data["userid"];var A=this.moduleStore.getAt(D).data["username"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+E+"_disp",A,"navareadashboard",Wtf.etype.user)},handleStoreLoad:function(A){this.quickPanelSearch.StorageChanged(A);var B=this.moduleReader.jsonData.studCnt;if(!isNaN(B)){this.totalStud.setValue(B)}},clickHandle:function(F){var A=0;var E=F.getSelections();if(E.length==1){this.viewProfile.enable()}else{this.viewProfile.disable()}if(E.length>0){var B=E[E.length-1];this.moduleid=B.data["moduleid"];this.modulename=B.data["modulename"];this.userid=B.data["userid"];this.sessionid=B.data["sessionid"];this.sponsorcode=B.data["sponsorcode"];A=B.data["paidamt"];var D=true;if(E.length>1&&B.data["sponsorcode"]!=""&&E[E.length-2].data["sponsorcode"]!=""){if(E[E.length-2].data["sponsorcode"]==B.data["sponsorcode"]){if(E[E.length-2].data["status"]!=B.data["status"]||E[E.length-2].data["feetype"]!=B.data["feetype"]||E[E.length-2].data["islocal"]!=B.data["islocal"]){D=false}}else{D=false}}else{if(E.length>1&&E[E.length-2].data["userid"]==B.data["userid"]){if(E[E.length-2].data["status"]!=B.data["status"]||E[E.length-2].data["feetype"]!=B.data["feetype"]){D=false}}else{if(E.length>1&&E[E.length-2].data["userid"]!=B.data["userid"]){D=false}}}if(!D){F.clearSelections();this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable();var C=[];C[0]=E[E.length-1];F.selectRecords(C)}this.status=B.data["status"];this.statusid=B.data["statusid"];if(this.status=="Waiting for approval"){this.regBttn.enable();this.printBttn.disable();this.deferBttn.disable();this.rejectBttn.enable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}else{if(this.status=="Provisionally Registered"||this.status=="Pre Registered"){this.deferBttn.enable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.setmarkBttn.disable();this.markregBttn.disable();this.viewRemarkBttn.enable();if(A=="0"){this.cancelregBttn.enable()}else{this.cancelregBttn.disable()}}else{if(this.status=="Accept payment"){this.deferBttn.enable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.setmarkBttn.disable();this.markregBttn.enable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}else{if(this.status=="Waiting for deferment confirmation"||this.status=="Waiting for exemption confirmation"||this.statusid=="11"||this.statusid=="12"||this.statusid=="9"){this.regBttn.enable();this.deferBttn.disable();this.rejectBttn.enable();this.printBttn.disable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}else{if(this.status=="Applied for registration after due date"){this.regBttn.disable();this.deferBttn.disable();this.rejectBttn.enable();this.printBttn.disable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}else{if(this.statusid=="27"){this.regBttn.disable();this.deferBttn.enable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.viewRemarkBttn.disable()}else{if(this.statusid=="28"){this.regBttn.disable();this.deferBttn.enable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.viewRemarkBttn.disable()}else{if(this.statusid=="15"){this.regBttn.disable();this.deferBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.enable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}else{this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}}}}}}}}}else{this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.markregBttn.disable();this.cancelregBttn.disable();this.viewRemarkBttn.disable()}},handlePayFee:function(D,G){var I=new Date();var B=I.format("Y-m-d H:i:s");var H="PM"+I.format("y")+"/"+Math.floor(Math.random()*10001);var C=this.grid1.getSelectionModel().getSelections();var F=0;if(C.length>0){F=C[0].get("araccid")}var E="";for(var A=0;A<C.length;A++){E+=C[A].data["invoicenum"];if(A!=C.length-1){E+=","}}this.newInv=new Wtf.NewPayment1({id:"coursepayment"+this.id,resizable:false,width:650,feetype:this.sm.getSelected().get("feetype"),paymentno:H,invoiceNum:E,height:500,modal:true,accountId:F,customerId:this.userid,sponsorCode:this.sponsorcode,islocal:C[0].data["islocal"]});this.newInv.show();this.newInv.on("closeform",function(J){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},this);this.printBttn.disable();this.deferBttn.disable();this.viewRemarkBttn.disable();this.markregBttn.disable();this.grid1.getSelectionModel().clearSelections()},waitingForApp:function(){var type="Exam";var idstr="";var feetypestr="";var recno=0;var dsNewInv=new Wtf.data.Store({});var accountid="10";var selectedRecord=this.grid1.getSelectionModel().getSelections();var totalAmtDue=0;var feetype=selectedRecord[0].data["feetype"];for(var i=0;i<selectedRecord.length;i++){totalAmtDue+=parseFloat(selectedRecord[i].data["amount"]);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}if(totalAmtDue<=0){Wtf.Msg.show({title:"Approve Request",msg:"Fee amount for selected items is 0. Do you still want to continue?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,feetypeid:selectedRecord[0].data["feetype"],type:"examApprove"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}else{Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:idstr,feetype:feetypestr,type:61},method:"POST"},this,function(response,option){var resp=eval("("+response+")");if(resp.data!=null){if(resp.data.length>0){recno=(selectedRecord.length>resp.data[0].moduleno)?resp.data[0].moduleno:selectedRecord.length;Wtf.Msg.show({title:"Scholarship",msg:"Scholarship applicable for "+recno+" modules. Do you want to apply Scholarship?",buttons:Wtf.Msg.YESNO,animEl:"elId",icon:Wtf.MessageBox.QUESTION,scope:this,fn:function(btn){if(btn=="yes"){if(resp.data[0].chargemode=="0"){totalAmtDue=totalAmtDue-(resp.data[0].amount*recno)}else{totalAmtDue=totalAmtDue-(parseFloat(selectedRecord[0].data["amount"])*recno*resp.data[0].amount/100)}}else{recno=0}var dat=new Date();if(totalAmtDue>0){idstr="";feetypestr="";for(var i=recno;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount"],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:type,feetypeid:this.grid1.getSelectionModel().getSelections()[0].data["feetype"],moduleid:idstr,sessionid:this.sessionid});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},this)}if(recno>0){var idstr="";for(var ctr=0;ctr<recno;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,type:"examReg",feetype:feetypestr},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:idstr,feetype:feetypestr,type:621,moduleno:recno},method:"POST"},this,function(resp,req){},function(resp,req){});msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}}})}else{idstr="";feetypestr="";var feetype=selectedRecord[0].data["feetype"];for(var i=0;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount"],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:type,feetypeid:feetype,moduleid:idstr,sessionid:this.sessionid});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:this.pP.combo.value}})},this)}}},function(rep,req){})}},handleRegister:function(buttonObj,e){Wtf.Msg.show({title:"Approve Request",msg:"Are you sure you want to approve request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){if(this.statusid==0){var res=this.waitingForApp();if(res!=1){return }}else{if(this.statusid==3){var status;var type;var msg;type="userexamdefer";if(this.statusid==3){status="4";msg="Your request for deferement has been accepted"}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,sessionid:this.sessionid,type:type,status:status,msg:msg},method:"POST"},this,function(resp,req){msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(resp,req){})}else{if(this.statusid==9){var classtypeid="Exam";var selectedRecord=this.grid1.getSelectionModel().getSelections();var idstr="";for(var ctr=0;ctr<selectedRecord.length;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:idstr,classtypeid:classtypeid,sessionid:this.sessionid,type:"updateUserTutStatus",status:17,reqfor:"",msg:""},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Status","Error while updating status")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(result,req){this.displayFailureMessage("Status","Error while updating status")})}}}this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handlePrintInvoice:function(B,D){var A=this.grid1.getSelectionModel().getSelections();var E="";for(var C=0;C<A.length;C++){E+=A[C].data["invoicenum"];if(C!=A.length-1){E+=","}}setDldUrl("PrintInvoice.jsp?&invoicenum="+A[0].data["invoicenum"]+"&flg=1");this.deferBttn.disable();this.printBttn.disable();this.viewRemarkBttn.disable()},handleReject:function(){Wtf.Msg.show({title:"Reject Request",msg:"Are you sure you want to reject request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){if(this.statusid==9){var classtypeid="Exam";var msg="Your request for exam withdrawal rejected";var status="1";var reqfor="withdrawal";var selectedRecord=this.grid1.getSelectionModel().getSelections();var idstr="";for(var ctr=0;ctr<selectedRecord.length;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:idstr,sessionid:this.sessionid,classtypeid:classtypeid,type:"updateUserTutStatus",status:status,reqfor:reqfor,msg:msg},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Status","Error while updating status")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(result,req){this.displayFailureMessage("Status","Error while updating status")})}else{var status;var type="userexamexempt";var msg;if(this.status=="Applied for registration after due date"){status="8";msg="Your request for exam registration has been rejected due to due date."}else{if(this.status=="Waiting for deferment confirmation"||this.status=="Waiting for approval"){status="-1";if(this.status=="Waiting for approval"){msg="Your request for examination registration has been rejected";status="8"}else{type="userexamdefer";msg="Your request for examination deferment has been rejected";status="-1"}}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,sessionid:this.sessionid,type:type,status:status,msg:msg},method:"POST"},this,function(resp,req){var retstatus=eval("("+resp.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Error","Error at server side while doing operation")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(resp,req){})}this.rejectBttn.disable();this.regBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handleMarkAsReg:function(){this.maskasRegSta=new Wtf.FormPanel({frame:true,method:"POST",fileUpload:true,waitMsgTarget:true,layout:"column",items:[{layout:"form",items:[new Wtf.form.TextArea({id:"reasonforreg",fieldLabel:"Comment",width:220,name:"reason"})]},{layout:"form",items:[{buttons:[{text:"Submit",type:"submit",scope:this,handler:this.submitregisteredReq},{text:"Cancel",scope:this,handler:function(){this.markregWindow.destroy()}}]}]}]});this.markregWindow=new Wtf.Window({iconCls:"winicon",resizable:false,id:"markregWin",width:430,height:165,title:"Update Status",scope:this,items:[this.maskasRegSta]});this.markregWindow.show();this.markregBttn.disable();this.deferBttn.disable();this.printBttn.disable();this.viewRemarkBttn.disable()},updateclassperm:function(B,G){var A="";var F="";if(B.getText()=="Grant Classroom"){A="grant";F="granted"}else{A="revoke";F="revoked"}var C=this.sm.getSelections();var D="";for(var E=0;E<C.length;E++){D+=C[E].get("moduleid")+","}D=D.substring(0,D.length-1);this.grid1.loadMask.show();Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:D,todo:A,type:"updateSplClassroomPerm",loginid:loginid},method:"POST"},this,function(H,I){this.grid1.loadMask.hide();msgBoxShow(["Update Status","Special classroom permission "+F+" successfully for selected records"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(H,I){this.grid1.loadMask.hide();msgBoxShow(["ERROR","A problem occurred while updating permission"],Wtf.MessageBox.ERROR);this.markregWindow.destroy()})},handleViewRemark:function(){if(this.grid1.getSelectionModel().getSelections().length==1){var A=this.sm.getSelected().get("examremark");msgBoxShow(["Remark",A],Wtf.MessageBox.INFO)}else{msgBoxShow(["Error","Please Select only one record"],Wtf.MessageBox.ERROR)}},submitregisteredReq:function(){var D=Wtf.get("reasonforreg").getValue();this.markregWindow.destroy();this.grid1.loadMask.show();var A=this.sm.getSelections();var B="";for(var C=0;C<A.length;C++){B+=A[C].get("moduleid")+","}B=B.substring(0,B.length-1);Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:B,sessionid:this.sessionid,type:"markasRegisteredExam",status:"1",reason:D,examtype:0},method:"POST"},this,function(E,F){this.grid1.loadMask.hide();msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.markregWindow.destroy();this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(E,F){this.grid1.loadMask.hide();msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR);this.markregWindow.destroy()})},cancelregisteredReq:function(){var selected=this.sm.getSelections();var moduleids="";var invoiceids="";for(var ctr=0;ctr<selected.length;ctr++){moduleids+=selected[ctr].get("moduleid")+","}for(var ctr=0;ctr<selected.length;ctr++){var flag=true;for(var ptr=0;ptr<ctr;ptr++){if(selected[ctr].get("invoicenum")==selected[ptr].get("invoicenum")){flag=false}}if(flag){invoiceids+=selected[ctr].get("invoicenum")+","}}moduleids=moduleids.substring(0,moduleids.length-1);Wtf.Msg.show({title:"Cancel Registration",msg:"Are you sure you want to cancel registration for selected module?",buttons:Wtf.Msg.YESNO,scope:this,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:moduleids,type:"cancelReg",examtype:0,invoiceid:invoiceids},method:"POST"},this,function(result,request){var respobj=eval("("+result+")");if(respobj!=null){if(respobj.success!=null){if(respobj.success){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})}}if(respobj.msg!=null){msgBoxShow(["Update Status",respobj.msg],Wtf.MessageBox.INFO)}}},function(result,request){msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR)})}}})},displaySuccessMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.INFO)},displayFailureMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.ERROR)}});Wtf.WtfCourseExempt=function(A){Wtf.apply(this,A);this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.sm,{header:"Student Name",width:150,dataIndex:"username"},{header:"Session Name",width:150,dataIndex:"sessionname"},{header:"Sponsor",width:150,dataIndex:"sponsor"},{header:"Program Name",width:150,dataIndex:"programname"},{header:"Module Name",width:150,dataIndex:"modulename"},{header:"Status",width:100,dataIndex:"status",renderer:function(F,D,B,G,E,C){if(F=="Applied for registration after due date"||F=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+F+"</lable>"}else{return F}}},{header:"Exemption Course",width:150,dataIndex:"exmptmodule"}]);this.cmodel1.defaultSortable=true;this.moduleRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"modulename",type:"string"},{name:"status",type:"string"},{name:"userid",type:"string"},{name:"sessionid",type:"string"},{name:"moduleid",type:"string"},{name:"invoicenum",type:"string"},{name:"amount",type:"string"},{name:"statusid",type:"int"},{name:"feetype",type:"int"},{name:"incaccid",type:"string"},{name:"expaccid",type:"string"},{name:"araccid",type:"string"},{name:"sessionname",type:"string"},{name:"programname",type:"string"},{name:"programtype",type:"string"},{name:"sponsor",type:"string"},{name:"sponsorcode",type:"string"},{name:"islocal",type:"string"},{name:"provexemptstatus",type:"int"},{name:"exmptmodule",type:"string"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"username",direction:"ASC"},groupField:"username"});this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cmodel1,border:false,view:this.groupingView,trackMouseOver:true,sm:this.sm,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.regBttn=new Wtf.Toolbar.Button({text:"Approve",tooltip:"Approve selected request",id:"BtnNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.deferBttn=new Wtf.Toolbar.Button({text:"Accept Payment",tooltip:"Accept payment for selected module",id:"defNew"+this.id,hidden:(isRoleGroup("3"))?false:true,scope:this,disabled:true});this.rejectBttn=new Wtf.Toolbar.Button({text:"Reject",tooltip:"Reject selected request",id:"rejeNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.printBttn=new Wtf.Toolbar.Button({text:"Print Invoice",tooltip:"Print Invoice",id:"printNew"+this.id,scope:this,disabled:true});this.setmarkBttn=new Wtf.Toolbar.Button({text:"Set Exemption Marks",tooltip:"Set Marks For Exemption Exam",id:"markNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.setexemptBttn=new Wtf.Toolbar.Button({text:"Mark As Exempted",tooltip:"Mark The Student As Provisionally Exempted",id:"markExempt"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.sessionRecord=Wtf.data.Record.create([{name:"sessionid",type:"string"},{name:"sessionname",type:"string"}]);this.sessionReader=new Wtf.data.KwlJsonReader({root:"data"},this.sessionRecord);this.sessionStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/LacaStructure.jsp"}),baseParams:{flag:"41"},reader:this.sessionReader});this.sessionCmb=new Wtf.form.ComboBox({store:this.sessionStore,editable:false,displayField:"sessionname",mode:"local",triggerAction:"all",emptyText:"Select a session...",valueField:"sessionid",width:270,listWidth:270,allowBlank:false});this.markregBttn=new Wtf.Toolbar.Button({text:"Mark As Registered",tooltip:"Mark selected module as registered",id:"markregNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.regBttn.on("click",this.handleRegister,this);this.deferBttn.on("click",this.handlePayFee,this);this.rejectBttn.on("click",this.handleReject,this);this.printBttn.on("click",this.handlePrintInvoice,this);this.setmarkBttn.on("click",this.handleSetMarks,this);this.setexemptBttn.on("click",this.handleProvExempt,this);this.sessionCmb.on("select",this.handleSessionSelect,this);Wtf.WtfCourseExempt.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"modulename"}),this.regBttn,this.rejectBttn,this.deferBttn,this.printBttn,this.setmarkBttn,this.setexemptBttn," Session ",this.sessionCmb],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:15,searchField:this.quickPanelSearch,store:this.moduleStore,displayInfo:false,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({})}),items:[this.grid1]});this.on("render",this.handleRender,this);this.sm.on("rowselect",this.clickHandle,this);this.sm.on("rowdeselect",function(){this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable()},this);this.moduleStore.on("load",this.handleStoreLoad,this);this.moduleStore.on("datachanged",function(){var B=this.pP.combo.value;this.quickPanelSearch.setPage(B)},this)};Wtf.extend(Wtf.WtfCourseExempt,Wtf.Panel,{handleRender:function(A){this.moduleStore.baseParams={type:"userexemptionrequest"};this.moduleStore.load({params:{userid:loginid,start:0,limit:15}});this.grid1.on("sortchange",function(B,C){this.grid1.getStore().groupBy(C.field)},this);this.sessionStore.load()},handleSessionSelect:function(){var A=this.quickPanelSearch.getValue();this.moduleStore.baseParams={type:"userexemptionrequest",sessionid:this.sessionCmb.getValue()};this.moduleStore.load({params:{userid:loginid,start:0,limit:15,ss:A}})},handleStoreLoad:function(A,C,B){this.quickPanelSearch.StorageChanged(A);this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable()},clickHandle:function(F,E){this.moduleid=this.moduleStore.getAt(E).data["moduleid"];this.modulename=this.moduleStore.getAt(E).data["modulename"];this.userid=this.moduleStore.getAt(E).data["userid"];this.sessionid=this.moduleStore.getAt(E).data["sessionid"];this.programtype=this.moduleStore.getAt(E).data["programtype"];var A=this.grid1.getSelectionModel().getSelections();this.sponsorcode=this.moduleStore.getAt(E).data["sponsorcode"];var D=true;if(A.length>1&&this.moduleStore.getAt(E).data["sponsorcode"]!=""&&A[A.length-2].data["sponsorcode"]!=""){if(A[A.length-2].data["sponsorcode"]==this.moduleStore.getAt(E).data["sponsorcode"]){if(A[A.length-2].data["status"]!=this.moduleStore.getAt(E).data["status"]||A[A.length-2].data["feetype"]!=this.moduleStore.getAt(E).data["feetype"]||A[A.length-2].data["islocal"]!=this.moduleStore.getAt(E).data["islocal"]){D=false}}else{D=false}}else{if(A.length>1&&A[A.length-2].data["userid"]==this.moduleStore.getAt(E).data["userid"]){if(A[A.length-2].data["status"]!=this.moduleStore.getAt(E).data["status"]||A[A.length-2].data["feetype"]!=this.moduleStore.getAt(E).data["feetype"]){D=false}}else{if(A.length>1&&A[A.length-2].data["userid"]!=this.moduleStore.getAt(E).data["userid"]){D=false}}}if(!D){var B=this.grid1.getSelectionModel().getSelections();this.grid1.getSelectionModel().clearSelections();this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable();var C=[];C[0]=B[B.length-1];this.grid1.getSelectionModel().selectRecords(C)}this.status=this.moduleStore.getAt(E).data["status"];this.statusid=this.moduleStore.getAt(E).data["statusid"];this.provexemptstatus=this.moduleStore.getAt(E).data["provexemptstatus"];if(this.status=="Accept payment"||this.status=="Payment is not made within stipulated time"){this.deferBttn.enable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.setmarkBttn.disable();this.setexemptBttn.enable()}else{if(this.status=="Waiting for exemption confirmation"||this.statusid=="11"||this.statusid=="12"){this.regBttn.enable();this.deferBttn.disable();this.rejectBttn.enable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable()}else{if(this.status=="Applied for registration after due date"){this.regBttn.disable();this.deferBttn.disable();this.rejectBttn.enable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable()}else{if(this.statusid=="15"){this.regBttn.disable();this.deferBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.enable();this.setexemptBttn.disable()}else{if(this.status=="Type A Exemption processing payment"){this.regBttn.disable();this.deferBttn.enable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.enable()}else{if(this.status=="Type B Exemption processing payment"){this.regBttn.disable();this.deferBttn.enable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.enable()}else{if(this.status=="Exemption processing payment"){this.regBttn.disable();this.deferBttn.enable();this.setexemptBttn.enable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable()}else{if(this.status=="Provisionally Exempted"||this.status=="Provisionally Exempted (Type A)"||this.status=="Provisionally Exempted (Type B)"){this.deferBttn.enable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.setmarkBttn.disable();this.setexemptBttn.disable()}else{this.deferBttn.disable();this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.setmarkBttn.disable();this.setexemptBttn.disable()}}}}}}}}},handlePayFee:function(D,G){var I=new Date();var B=I.format("Y-m-d H:i:s");var H="PM"+I.format("y")+"/"+Math.floor(Math.random()*10001);var C=this.grid1.getSelectionModel().getSelections();var F=0;if(C.length>0){F=C[0].get("araccid")}var E="";for(var A=0;A<C.length;A++){E+=C[A].data["invoicenum"];if(A!=C.length-1){E+=","}}this.newInv=new Wtf.NewPayment1({id:"coursepayment"+this.id,resizable:false,width:650,feetype:this.sm.getSelected().get("feetype"),paymentno:H,invoiceNum:E,height:500,modal:true,accountId:F,customerId:this.userid,sponsorCode:this.sponsorcode,islocal:this.sm.getSelected().get("islocal")});this.newInv.show();this.newInv.on("closeform",function(J){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},this);this.printBttn.disable();this.deferBttn.disable();this.markregBttn.disable();this.setexemptBttn.disable()},onApproveExemp_Req:function(type,creditHrs){var idstr="";var dsNewInv=new Wtf.data.Store({});var selectedRecord=this.grid1.getSelectionModel().getSelections();var totalAmt=0;var feetype=selectedRecord[0].data["feetype"];for(var i=0;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"],id:selectedRecord[i].data["moduleid"],fee:(this.programtype=="0")?(selectedRecord[i].data["amount"]):(selectedRecord[i].data["amount"]*creditHrs),rid:selectedRecord[i].data["sessionid"]});if(this.programtype!="0"){totalAmt+=parseFloat(selectedRecord[i].data["amount"])*creditHrs}else{totalAmt+=parseFloat(selectedRecord[i].data["amount"])}idstr+=selectedRecord[i].data["moduleid"];if(i!=selectedRecord.length-1){idstr+=","}dsNewInv.add(newRec)}if(totalAmt<=0){Wtf.Msg.show({title:"Approve Request",msg:"Fee amount for selected item is 0. Do you still want to continue?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,feetypeid:feetype,type:"examApprove"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}else{this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmt,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:type,feetypeid:feetype,moduleid:idstr,sessionid:this.sessionid,creditHrs:creditHrs});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},this)}},setcreditHrs:function(A){this.newTaskWindow=new Wtf.Window({width:300,resizable:false,id:this.id+"TaskWin",modal:true,title:"Set Credit Hours",buttonAlign:"center",buttons:[{anchor:"90%",id:"save",text:"Submit",handler:function(){this.creditHrsText.validate();if(this.creditHrsText.isValid()){this.onApproveExemp_Req(A,this.creditHrsText.getValue());Wtf.getCmp(this.id+"TaskWin").close()}},scope:this},{anchor:"90%",id:"close",text:"Cancel",handler:function(){Wtf.getCmp(this.id+"TaskWin").close();this.moduleStore.reload()},scope:this}],items:[this.taskform=new Wtf.FormPanel({labelWidth:100,labelAlign:"left",border:false,bodyStyle:"padding:5px 5px 0",layout:"form",anchor:"100%",buttonAlign:"center",items:[this.creditHrsText=new Wtf.form.NumberField({fieldLabel:"Enter Credit Hours",allowBlank:false,maxLength:1,name:"code",width:150})]})]}).show()},handleRegister:function(A,B){Wtf.Msg.show({title:"Approve Request",msg:"Are you sure you want to approve exemption request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(D){if(D=="yes"){if(this.statusid==5||this.statusid==12){if(this.statusid==5){if(this.programtype!="0"){this.setcreditHrs("General Exemption")}else{this.onApproveExemp_Req("General Exemption",0)}}else{if(this.statusid==12||(this.provexemptstatus==2&&this.statusid==6)){if(this.programtype!="0"){this.setcreditHrs("Type B Exemption")}else{this.onApproveExemp_Req("Type B Exemption",0)}}else{this.onApproveExemp_Req("",0)}}}else{if(this.statusid==11){var E;type="userexamexempt1";var C="6";var E="Your request for type A exemption has been accepted";Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,sessionid:this.sessionid,programtype:this.programtype,type:type,status:C,msg:E},method:"POST"},this,function(G,F){msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(G,F){})}}this.regBttn.disable();this.rejectBttn.disable();this.printBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handlePrintInvoice:function(B,D){var A=this.grid1.getSelectionModel().getSelections();var E="";for(var C=0;C<A.length;C++){E+=A[C].data["invoicenum"];if(C!=A.length-1){E+=","}}setDldUrl("PrintInvoice.jsp?&invoicenum="+A[0].data["invoicenum"]+"&flg=1");this.deferBttn.disable();this.printBttn.disable();this.setexemptBttn.disable()},handleReject:function(){Wtf.Msg.show({title:"Reject Request",msg:"Are you sure you want to reject request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(B){if(B=="yes"){var A;var C="userexamexempt2";var D;if(this.status=="Applied for registration after due date"){A="8";D="Your request for exam registration has been rejected due to due date."}else{if(this.statusid=="12"){A="13";D="Your request for Type B exemption has been rejected."}else{if(this.statusid=="11"){A="-1";D="Your request for Type A exemption has been rejected."}else{if(this.status=="Waiting for exemption confirmation"){A="-1";D="Your request for examination exemption has been rejected"}}}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,sessionid:this.sessionid,type:C,status:A,programtype:this.programtype,msg:D},method:"POST"},this,function(F,E){msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(F,E){});this.rejectBttn.disable();this.regBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handleProvExempt:function(){this.markasExemptSta=new Wtf.FormPanel({frame:true,method:"POST",fileUpload:true,waitMsgTarget:true,layout:"column",items:[{layout:"form",items:[new Wtf.form.TextArea({id:"reasonforreg",fieldLabel:"Comment",width:220,name:"reason"})]},{layout:"form",items:[{buttons:[{text:"Submit",type:"submit",scope:this,handler:this.submitexemptionReq},{text:"Cancel",scope:this,handler:function(){this.markexemptWindow.destroy()}}]}]}]});this.markexemptWindow=new Wtf.Window({iconCls:"winicon",resizable:false,id:"markregWin",width:430,height:165,title:"Update Status",scope:this,items:[this.markasExemptSta]});this.markexemptWindow.show();this.regBttn.disable();this.deferBttn.disable();this.setexemptBttn.disable();this.rejectBttn.disable();this.setmarkBttn.disable()},submitexemptionReq:function(){var A=this.grid1.getSelectionModel().getSelections();var F=Wtf.get("reasonforreg").getValue();this.markexemptWindow.destroy();this.grid1.loadMask.show();var B=A[0].get("userid");var D="";var C=A[0].get("sessionid");for(var E=0;E<A.length;E++){D+=A[E].get("moduleid")+","}D=D.substring(0,D.length-1);Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:B,moduleid:D,sessionid:C,type:"markasRegisteredModule",status:"1",reason:F,examtype:5},method:"POST"},this,function(G,H){this.grid1.loadMask.hide();msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.markexemptWindow.destroy();this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(G,H){this.grid1.loadMask.hide();msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR);this.markexemptWindow.destroy()})},handleSetMarks:function(){this.msgbox=new Wtf.Window({id:"msgbox"+this.id,title:"Set exemption exam marks",closable:true,border:false,modal:true,height:200,width:300,layout:"fit",resizable:false,items:[{border:false,layout:"border",items:[{region:"center",id:"center1"+this.id,border:false,height:20,layout:"column",items:[{columnWidth:1,layout:"form",border:false,bodyStyle:"padding:13px 13px 0px 13px",html:"Select marks criteria for exemption examination"}]},{region:"south",id:"south1"+this.id,border:false,height:95,layout:"column",items:[{columnWidth:1,layout:"form",border:false,bodyStyle:"padding:2px 13px 0px 43px;",items:[this.check1=new Wtf.form.Radio({hideLabel:true,boxLabel:"Marks obtain above 70%",name:"chck"+this.id,id:"check1"+this.id}),this.creditHrs=new Wtf.form.NumberField({fieldLabel:"Credit Hours*",allowBlank:false,name:"code",disabled:true,width:120}),this.check2=new Wtf.form.Radio({hideLabel:true,boxLabel:"Marks obtain below 70%",name:"chck"+this.id,id:"check2"+this.id})]}]}]}],buttonAlign:"center",buttons:[{text:"OK",handler:function(){var A;var B;if(!this.check1.checked||!this.check1.checked){return }if(this.check1.checked){if(!this.creditHrs.isValid()){return }A="6";B="Your type B exemption request has been granted"}if(this.check2.checked){A="-1";B="Your type B exemption request has been rejected since you are not eligible as your marks are below 70%"}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,sessionid:this.sessionid,type:"userexamexempt2",programtype:this.programtype,status:A,msg:B},method:"POST"},this,function(D,C){msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}});if(A=="6"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,type:"insertCreditHrForExempted",credithr:this.creditHrs.getValue()},method:"POST"},this,function(F,E){},function(F,E){})}},function(D,C){});Wtf.getCmp("msgbox"+this.id).close()},scope:this},{text:"Cancel",handler:function(){Wtf.getCmp("msgbox"+this.id).close()},scope:this}]}).show();this.check1.on("change",this.spechkchange,this);this.check2.on("change",this.spechkchange1,this);this.setmarkBttn.disable()},spechkchange:function(C,B,A){if(B){this.creditHrs.enable()}else{this.creditHrs.disable()}},spechkchange1:function(C,B,A){this.creditHrs.disable()}});Wtf.WtfExamVenue=function(B){Wtf.apply(this,B);this.createInstitutionWindow=null;this.sendForm=null;this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.cityRecord=Wtf.data.Record.create([{name:"vname",type:"string"},{name:"countryid",type:"string"},{name:"countryname",type:"string"},{name:"id",type:"string"}]);this.cityReader=new Wtf.data.KwlJsonReader({root:"data"},this.cityRecord);this.cityStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.cityReader});this.cityStore.load({params:{type:"city"}});this.cityCombo=new Wtf.form.ComboBox({id:"city"+this.id,store:this.cityStore,readOnly:true,displayField:"vname",mode:"local",triggerAction:"all",emptyText:"Select a city...",name:"cityid",valueField:"id",width:100,listWidth:150,allowBlank:false,blankText:"Please select a City"});this.modRecord=Wtf.data.Record.create([{name:"name",type:"string"},{name:"moduleid",type:"string"}]);this.modReader=new Wtf.data.KwlJsonReader({root:"data"},this.modRecord);this.modStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/LacaStructure.jsp"}),reader:this.modReader});this.programRecord=Wtf.data.Record.create([{name:"programid",type:"string"},{name:"programname",type:"string"}]);this.programReader=new Wtf.data.KwlJsonReader({root:"data"},this.programRecord);this.programStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/acastructure.jsp"}),reader:this.programReader});this.programCombo=new Wtf.form.ComboBox({triggerAction:"all",store:this.programStore,mode:"local",readOnly:true,displayField:"programname",valueField:"programid",allowBlank:false,listWidth:150,width:100,emptyText:"Select a program..."});this.modCombo=new Wtf.form.ComboBox({store:this.modStore,readOnly:true,displayField:"name",mode:"local",triggerAction:"all",emptyText:"Select a course...",valueField:"moduleid",allowBlank:false,width:100,listWidth:250});this.programCombo.on("select",this.programSelect,this);this.modCombo.on("select",this.loadGridData,this);this.cityCombo.on("select",this.loadGridData,this);this.programStore.load({params:{type:20}});this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.sm,{header:"Student Name",width:150,dataIndex:"username"},{header:"Session Name",width:150,dataIndex:"sessionname"},{header:"Module Name",width:150,dataIndex:"modulename"},{header:"Module Code",width:150,dataIndex:"modulecode"},{header:"Type",width:100,dataIndex:"type"},{header:"Applied Date",width:100,dataIndex:"appdate"},{header:"Status",width:100,dataIndex:"status",renderer:function(G,E,C,H,F,D){if(G=="Applied for registration after due date"||G=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+G+"</lable>"}else{return G}}},{header:"Country",width:100,dataIndex:"country"},{header:"City",width:100,dataIndex:"city"},{header:"Venue",width:100,dataIndex:"venue"}]);this.cmodel1.defaultSortable=true;this.moduleRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"modulename",type:"string"},{name:"status",type:"string"},{name:"userid",type:"string"},{name:"sessionid",type:"string"},{name:"type",type:"string"},{name:"moduleid",type:"string"},{name:"modulecode",type:"string"},{name:"statusid",type:"int"},{name:"sessionname",type:"string"},{name:"sessionid",type:"string"},{name:"appdate",type:"string"},{name:"city",type:"string"},{name:"cityid",type:"string"},{name:"country",type:"string"},{name:"venue",type:"string"},{name:"escheduleid",type:"string"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"sessionname",direction:"DESC"},groupField:"sessionname"});this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cmodel1,border:false,view:this.groupingView,trackMouseOver:true,sm:this.sm,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.AssignVenueBttn=new Wtf.Toolbar.Button({text:"Assign Venue",tooltip:"Assign venue for selected students",id:"assignVenue"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.AssignVenueBttn.on("click",this.handleAssignVenue,this);this.viewProfile=new Wtf.Toolbar.Button({text:"View Profile",tooltip:"View student profile",id:"profile"+this.id,scope:this,disabled:true,handler:function(){var D=this.grid1.getSelectionModel().getSelections()[0].data["userid"];var C=this.grid1.getSelectionModel().getSelections()[0].data["username"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+D+"_disp",C,"navareadashboard",Wtf.etype.user)}});var A='<div style="margin-left:113px;"> &nbsp;</div>';Wtf.WtfExamVenue.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"username"}),"-",this.AssignVenueBttn,'<div style="margin-left:47px;"> &nbsp;</div>',"-",this.programCombo,A,"-",this.modCombo,A,"-",this.cityCombo],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:300,searchField:this.quickPanelSearch,store:this.moduleStore,displayInfo:true,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({}),items:["-",this.viewProfile,"-",this.csv=new Wtf.Toolbar.Button({text:"Export",scope:this,handler:function(){if(this.moduleStore.getCount()>0){var C=Wtf.urlEncode({start:0,limit:this.moduleStore.getTotalCount(),programcombo:this.programCombo.getValue(),coursecombo:this.modCombo.getValue(),citycombo:this.cityCombo.getValue(),programName:this.programCombo.lastSelectionText,courseName:this.modCombo.lastSelectionText,cityName:this.cityCombo.lastSelectionText,ss:this.quickPanelSearch.getValue(),type:"reports",dtype:"attachment",report:"examVenueReport",title:"Exam Venue Allocation Report"});setDldUrl("fileDownload.jsp?"+C)}}})]}),items:[this.grid1]});this.on("render",this.handleRender,this);this.sm.on("selectionchange",this.clickHandle,this);this.moduleStore.on("load",this.handleStoreLoad,this);this.grid1.on("rowdblclick",this.handleExamDbClick,this);this.moduleStore.on("datachanged",function(){var C=this.pP.combo.value;this.quickPanelSearch.setPage(C)},this)};Wtf.extend(Wtf.WtfExamVenue,Wtf.Panel,{programSelect:function(B,C,A){this.modStore.load({params:{flag:38,getbase:"getbase",programid:C.data["programid"]}})},loadGridData:function(B,C,A){this.moduleStore.baseParams={type:"assignvenuelist",moduleid:this.modCombo.getValue(),cityid:this.cityCombo.getValue()};if(this.modCombo.getValue()!=null&&this.modCombo.getValue()!=undefined&&this.modCombo.getValue()!=""&&this.cityCombo.getValue()!=null&&this.cityCombo.getValue()!=undefined&&this.cityCombo.getValue()!=""){this.moduleStore.load({params:{userid:loginid,start:0,limit:300}})}},handleRender:function(){this.grid1.on("sortchange",function(A,B){this.grid1.getStore().groupBy(B.field)},this)},handleExamDbClick:function(C,D,B){var E=this.moduleStore.getAt(D).data["userid"];var A=this.moduleStore.getAt(D).data["username"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+E+"_disp",A,"navareadashboard",Wtf.etype.user)},handleStoreLoad:function(A){this.quickPanelSearch.StorageChanged(A);var B=this.moduleReader.jsonData.studCnt;if(!isNaN(B)){this.totalStud.setValue(B)}},clickHandle:function(D){var C=D.getSelections();if(C.length==1){this.viewProfile.enable()}else{this.viewProfile.disable()}if(C.length>0){var A=C[C.length-1];this.moduleid=A.data["moduleid"];this.modulename=A.data["modulename"];this.userid=A.data["userid"];this.sessionid=A.data["sessionid"];this.sponsorcode=A.data["sponsorcode"];var B=true;if(C.length>1&&C[C.length-2].data["sessionname"]!=A.data["sessionname"]){B=false}if(!B){D.clearSelections();this.AssignVenueBttn.disable();this.viewProfile.disable();D.selectRecords([A])}this.cityid=A.data["cityid"];if(this.cityid==""||this.cityid==undefined||this.cityid==null){this.AssignVenueBttn.disable()}else{this.AssignVenueBttn.enable()}}},displaySuccessMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.INFO)},handleAssignVenue:function(A){var B=this.sm.getSelections();this.venueRecord=Wtf.data.Record.create([{name:"venueid",type:"string"},{name:"venue",type:"string"},{name:"capacity",type:"int"},{name:"date",type:"string"},{name:"stime",type:"string"},{name:"etime",type:"string"},{name:"examid",type:"string"},{name:"tname",type:"string"}]);this.venueReader=new Wtf.data.KwlJsonReader({root:"data"},this.venueRecord);this.venueStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.venueReader});if(B.length>0){this.venueStore.load({params:{type:"venueForAllocation",cityid:B[0].get("cityid"),moduleid:B[0].get("moduleid")}})}this.venueStore.on("load",this.showAssignWin,this);this.venueStore.on("loadException",function(){msgBoxShow(["Warning","Venues not available for assignment"],Wtf.MessageBox.WARNING)},this)},showAssignWin:function(store,records){var selectedRecord=this.sm.getSelections();var estr="";var uidstr="";var delexshid="";for(var i=0;i<selectedRecord.length;i++){if(i==0){delexshid=selectedRecord[i].get("escheduleid");uidstr=selectedRecord[i].get("userid")}else{delexshid+=","+selectedRecord[i].get("escheduleid");uidstr+=","+selectedRecord[i].get("userid")}}var sm1=new Wtf.grid.CheckboxSelectionModel();var colmod=new Wtf.grid.ColumnModel([sm1,{header:"Venue",width:150,dataIndex:"venue"},{header:"Available Capacity",width:150,dataIndex:"capacity"},{header:"Date",width:150,dataIndex:"date"},{header:"Start Time",width:150,dataIndex:"stime"},{header:"End Time",width:150,dataIndex:"etime"}]);this.assignVenueWindow=new Wtf.Window({width:500,resizable:false,id:this.id+"assignVenueWin",modal:true,title:"Assign venue for ("+selectedRecord.length+") students in "+selectedRecord[0].get("city")+"["+selectedRecord[0].get("country")+"]",buttonAlign:"center",buttons:[{anchor:"90%",id:"save",text:"Submit",handler:function(){var examidstr="";var recs=this.venuegrid.getSelectionModel().getSelections();if(recs[0]==undefined){msgBoxShow(["Error","Please select atleast one venue "],Wtf.MessageBox.Error);return }for(var i=0;i<recs.length;i++){if(i>0){examidstr+=","}examidstr+=recs[i].get("examid")}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:uidstr,examidstr:examidstr,delids:delexshid,type:"allocateVenuesforSelection"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Status","Venue assignment done successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:300}})}else{msgBoxShow(["Status",retstatus.msg],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Connection Error"],Wtf.MessageBox.INFO)});Wtf.getCmp(this.id+"assignVenueWin").close()},scope:this},{anchor:"90%",id:"close",text:"Cancel",handler:function(){Wtf.getCmp(this.id+"assignVenueWin").close();this.moduleStore.reload()},scope:this}],items:[this.taskform=new Wtf.Panel({border:false,bodyStyle:"padding:5px 5px 0",layout:"fit",anchor:"100%",height:300,buttonAlign:"center",items:[this.venuegrid=new Wtf.grid.GridPanel({ds:store,cm:colmod,border:false,sm:sm1,autoHeight:false,maxHeight:20,autoScroll:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}})]})]}).show()},displayFailureMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.ERROR)}});Wtf.WtfNewModule=function(A){Wtf.apply(this,A);this.createInstitutionWindow=null;this.sendForm=null;this.sm=new Wtf.grid.CheckboxSelectionModel({singleSelect:(Wtf.realroles.indexOf("9")>-1)?true:false});this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.sm,{header:"Student Name",width:150,dataIndex:"username"},{header:"Sponsor",width:100,dataIndex:"sponsor"},{header:"Module Name",width:150,dataIndex:"modulename"},{header:"Module Code",width:150,dataIndex:"modulecode"},{header:"Faculty Name",width:150,dataIndex:"facname",hidden:(Wtf.realroles.indexOf("9")>-1)?false:true},{header:"Type",width:100,dataIndex:"type"},{header:"Applied Date",width:100,dataIndex:"appdate"},{header:"Status",width:100,dataIndex:"status",renderer:function(F,D,B,G,E,C){if(F=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+F+"</lable>"}else{return F}}},{header:"Exam Status",width:100,dataIndex:"exstatus",renderer:function(F,D,B,G,E,C){if(F=="Applied for registration after due date"){return"<lable style = 'color : red;'>"+F+"</lable>"}else{return F}}}]);this.cmodel1.defaultSortable=true;this.moduleRecord=Wtf.data.Record.create([{name:"username",type:"string"},{name:"modulename",type:"string"},{name:"status",type:"string"},{name:"moduleremark",type:"string"},{name:"userid",type:"string"},{name:"sessionid",type:"string"},{name:"type",type:"string"},{name:"moduleid",type:"string"},{name:"modulecode",type:"string"},{name:"facname",type:"string"},{name:"invoicenum",type:"string"},{name:"amount",type:"string"},{name:"statusid",type:"int"},{name:"feetype",type:"int"},{name:"incaccid",type:"string"},{name:"expaccid",type:"string"},{name:"araccid",type:"string"},{name:"sponsor",type:"string"},{name:"sponsorcode",type:"string"},{name:"islocal",type:"string"},{name:"paidamt",type:"string"},{name:"appdate",type:"string"},{name:"exmoduleid",type:"string"},{name:"examount",type:"string"},{name:"exfeetype",type:"string"},{name:"exstatus",type:"string"},{name:"gradtype",type:"string"},{name:"studname",type:"string"},{name:"metricno",type:"string"}]);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"username",direction:"ASC"},groupField:"username"});this.moduleGrid=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cmodel1,border:false,view:this.groupingView,trackMouseOver:true,sm:this.sm,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.regBttn=new Wtf.Toolbar.Button({text:"Approve",tooltip:"Approve selected request",hidden:(isRoleGroup("4")||Wtf.realroles.indexOf("9")>-1)?false:true,id:"BtnNew"+this.id,scope:this,disabled:true});this.deferBttn=new Wtf.Toolbar.Button({text:"Accept Payment",tooltip:"Accept payment for selected module",hidden:(isRoleGroup("3"))?false:true,id:"defNew"+this.id,scope:this,disabled:true});this.rejectBttn=new Wtf.Toolbar.Button({text:"Reject",tooltip:"Reject selected request",hidden:(isRoleGroup("4"))?false:true,id:"rejeNew"+this.id,scope:this,disabled:true});this.markregBttn=new Wtf.Toolbar.Button({text:"Mark As Registered",tooltip:"Mark selected module as registered",id:"markregNew"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.viewRemarkBttn=new Wtf.Toolbar.Button({text:"View Remark",tooltip:"View comment for selected students",id:"viewRemark"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,disabled:true});this.printBttn=new Wtf.Toolbar.Button({text:"Print Invoice",tooltip:"Print Invoice",id:"printNew"+this.id,scope:this,disabled:true});this.exportBttn=new Wtf.Toolbar.Button({text:"Export",tooltip:"Export this data",handler:function(){setDldUrl("fileDownload.jsp?&type=adminModuleReg&dtype=attachment")},scope:this});this.viewBttn=new Wtf.Toolbar.Button({text:"View Details",tooltip:"View details for articleship.",disabled:true,scope:this});this.printDetail=new Wtf.Toolbar.Button({text:"Print Detail",scope:this,hidden:Wtf.realroles.indexOf("9")>-1?false:true,disabled:true});this.porejectBttn=new Wtf.Toolbar.Button({text:"Reject",tooltip:"Reject selected request",hidden:Wtf.realroles.indexOf("9")>-1?false:true,scope:this,disabled:true});this.regBttn.on("click",this.handleRegister,this);this.deferBttn.on("click",this.handlePayFee,this);this.rejectBttn.on("click",this.handleReject,this);this.printBttn.on("click",this.handlePrintInvoice,this);this.markregBttn.on("click",this.handleMarkAsReg,this);this.viewRemarkBttn.on("click",this.handleViewRemark,this);this.viewBttn.on("click",this.handleViewDetails,this);this.porejectBttn.on("click",this.handlepoReject,this);this.printDetail.on("click",this.printstudDetail,this);Wtf.WtfNewModule.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"modulename"}),this.regBttn,this.porejectBttn,this.rejectBttn,this.deferBttn,this.printBttn,this.markregBttn,this.viewRemarkBttn,this.exportBttn,this.viewBttn,this.printDetail],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:15,searchField:this.quickPanelSearch,store:this.moduleStore,displayInfo:true,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({}),items:["-","Total Students:",this.totalStud=new Wtf.form.TextField({fieldLabel:"Total Students:",width:40,readOnly:true})]}),items:[this.moduleGrid]});this.on("render",this.handleRender,this);this.sm.on("selectionchange",this.clickHandle,this);this.moduleStore.on("load",this.handleStoreLoad,this);this.moduleStore.on("datachanged",function(){var B=this.pP.combo.value;this.quickPanelSearch.setPage(B)},this)};Wtf.extend(Wtf.WtfNewModule,Wtf.Panel,{handleRender:function(){this.moduleStore.baseParams={type:"moduleapplist"};this.moduleStore.load({params:{userid:loginid,start:0,limit:15}});this.moduleGrid.on("sortchange",function(A,B){this.moduleGrid.getStore().groupBy(B.field)},this)},handleStoreLoad:function(A){this.quickPanelSearch.StorageChanged(A);var B=this.moduleReader.jsonData.studCnt;if(!isNaN(B)){this.totalStud.setValue(B)}},handleRegistred:function(){var A=Wtf.getCmp("registredtab"+this.id);if(A){this.ownerCt.ownerCt.setActiveTab(A)}else{var A=new Wtf.Panel({title:"Registred",layout:"fit",closable:true,id:"registredtab"+this.id});this.ownerCt.ownerCt.add(A);this.ownerCt.ownerCt.setActiveTab(A)}this.ownerCt.ownerCt.doLayout()},clickHandle:function(F){var A=0;var E=F.getSelections();if(E.length>0){var B=E[E.length-1];this.moduleid=B.data["moduleid"];this.modulename=B.data["modulename"];this.userid=B.data["userid"];this.sessionid=B.data["sessionid"];this.sponsorcode=B.data["sponsorcode"];A=B.data["paidamt"];var D=true;if(E.length>1&&B.data["sponsorcode"]!=""&&E[E.length-2].data["sponsorcode"]!=""){if(E[E.length-2].data["sponsorcode"]==B.data["sponsorcode"]){if(E[E.length-2].data["status"]!=B.data["status"]||E[E.length-2].data["feetype"]!=B.data["feetype"]||E[E.length-2].data["islocal"]!=B.data["islocal"]){D=false}}else{D=false}}else{if(E.length>1&&E[E.length-2].data["userid"]==B.data["userid"]){if(E[E.length-2].data["status"]!=B.data["status"]||E[E.length-2].data["feetype"]!=B.data["feetype"]){D=false}}else{if(E.length>1&&E[E.length-2].data["userid"]!=B.data["userid"]){D=false}}}if(!D){F.clearSelections();this.deferBttn.disable();this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.markregBttn.disable();this.viewRemarkBttn.disable();var C=[];C[0]=E[E.length-1];F.selectRecords(C)}this.status=B.data["status"];this.statusid=B.data["statusid"];this.gradtype=B.data["gradtype"];if(this.status=="Waiting for Exemption Confirmation"&&this.gradtype==2){this.regBttn.enable();this.porejectBttn.enable();this.viewBttn.enable();this.printDetail.enable()}else{if(this.status=="Applied for withdrawal"&&Wtf.realroles.indexOf("9")>-1){this.regBttn.enable();this.porejectBttn.enable()}else{if(this.status=="Waiting for approval"){this.regBttn.enable();this.porejectBttn.enable();this.printBttn.disable();this.deferBttn.disable();this.rejectBttn.enable();this.markregBttn.disable();this.viewRemarkBttn.disable();if(E.length==1&&(B.data["gradtype"]=="2"||B.data["gradtype"]=="3")){this.viewBttn.enable();this.printDetail.enable()}}else{if((this.status=="Provisionally Registered")||(this.status=="Pre Registered")){this.deferBttn.enable();this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.markregBttn.disable();this.viewRemarkBttn.enable();this.viewBttn.disable();this.printDetail.disable()}else{if(this.status=="Accept payment"){this.deferBttn.enable();this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.enable();this.markregBttn.enable();this.viewRemarkBttn.disable();this.viewBttn.disable();this.printDetail.disable()}else{this.deferBttn.disable();this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.markregBttn.disable();this.viewRemarkBttn.disable();this.viewBttn.disable();this.printDetail.disable()}}}}}}else{this.deferBttn.disable();this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.disable();this.markregBttn.disable();this.viewRemarkBttn.disable();this.viewBttn.disable();this.printDetail.disable()}},handlePayFee:function(D,G){var I=new Date();var B=I.format("Y-m-d H:i:s");var H="PM"+I.format("y")+"/"+Math.floor(Math.random()*10001);var C=this.moduleGrid.getSelectionModel().getSelections();var F=0;if(C.length>0){F=C[0].get("araccid")}var E="";for(var A=0;A<C.length;A++){E+=C[A].data["invoicenum"];if(A!=C.length-1){E+=","}}this.newInv=new Wtf.NewPayment1({id:"modulepayment"+this.id,resizable:false,width:650,feetype:this.sm.getSelected().get("feetype"),paymentno:H,invoiceNum:E,height:500,modal:true,accountId:F,customerId:this.userid,sponsorCode:this.sponsorcode,islocal:C[0].data["islocal"]});this.newInv.show();this.newInv.on("closeform",function(J){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:this.pP.combo.value,ss:this.quickPanelSearch.getValue()}})},this);this.printBttn.disable();this.deferBttn.disable();this.viewRemarkBttn.disable();this.moduleGrid.getSelectionModel().clearSelections()},assignfacwin:function(){this.checksm=new Wtf.grid.CheckboxSelectionModel();this.facRecord=Wtf.data.Record.create([{name:"facid",type:"string"},{name:"facname",type:"string"}]);this.facReader=new Wtf.data.JsonReader({root:"data"},this.facRecord);this.facds=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/applications.jsp?task=getFaculty"}),reader:this.facReader});this.faccm=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),this.checksm,{dataIndex:"facname",header:"Faculty"}]);this.facultyGrid=new Wtf.grid.GridPanel({sm:this.checksm,ds:this.facds,cm:this.faccm,viewConfig:{autoFill:true,forceFit:true}});this.credithrwin=new Wtf.Window({width:400,height:500,layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:"<div style = 'width:100%;height:100%;position:relative;float:left;'><div style='float:left;height:100%;width:auto;position:relative;'><img src = 'images/upload52.gif' style = 'width:52px;height:52px;margin:5px 5px 5px 5px;'></img></div><div style='float:left;height:100%;width:80%;position:relative;'><div style='font-size:12px;font-style:bold;float:left;margin:20px 0px 0px 10px;width:100%;position:relative;'><b>Assign Faculty</b></div><div style='font-size:10px;float:left;margin:15px 0px 0px 10px;width:100%;position:relative;'>Set Credit Hours.</div></div></div>"},{region:"center",border:false,layout:"fit",items:this.facultyGrid}],buttons:[{text:"Save",scope:this,handler:this.assignfac},{text:"Cancel",scope:this,handler:function(){this.credithrwin.close()}}]});this.facds.load();this.credithrwin.show()},waitingForApp:function(){var type="Module";var idstr="";var feetypestr="";var recno=0;var dsNewInv=new Wtf.data.Store({});var accountid="10";var selectedRecord=this.moduleGrid.getSelectionModel().getSelections();var totalAmtDue=0;var gradstat=selectedRecord[0].data["statusid"];var gradtype=selectedRecord[0].data["gradtype"];var msg="";if(gradtype==1){msg="Fee amount for selected items is 0. Do you still want to continue?"}else{msg="Do you want to continue?"}var usertype="";var type1="";if(Wtf.realroles.indexOf("9")>-1&&gradstat==9){type1="atwith"}else{type1="examApprove"}var feetype=selectedRecord[0].data["feetype"];for(var i=0;i<selectedRecord.length;i++){if(!isNaN(parseFloat(selectedRecord[i].data["amount"]))&&parseFloat(selectedRecord[i].data["amount"])!=0){totalAmtDue+=parseFloat(selectedRecord[i].data["amount"])}idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(selectedRecord[i].data["exmoduleid"]!=""&&!isNaN(parseFloat(selectedRecord[i].data["examount"]))&&(selectedRecord[i].data["examount"])!=0){totalAmtDue+=parseFloat(selectedRecord[i].data["examount"])}idstr+=","+selectedRecord[i].data["exmoduleid"];feetypestr+=","+selectedRecord[i].data["exfeetype"].toString();if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}if(totalAmtDue<=0||isNaN(totalAmtDue)){Wtf.Msg.show({title:"Approve Request",msg:msg,buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,feetypeid:feetypestr,type:type1},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){if(selectedRecord[0].get("gradtype")!="1"&&selectedRecord[0].get("statusid")!="9"){this.assignfacwin()}else{this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})}}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}else{Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:idstr,feetype:feetypestr,type:61},method:"POST"},this,function(response,option){var resp=eval("("+response+")");if(resp.data!=null){if(resp.data.length>0){recno=(selectedRecord.length>resp.data[0].moduleno)?resp.data[0].moduleno:selectedRecord.length;Wtf.Msg.show({title:"Scholarship",msg:"Scholarship applicable for "+recno+" modules. Do you want to apply Scholarship?",buttons:Wtf.Msg.YESNO,animEl:"elId",icon:Wtf.MessageBox.QUESTION,scope:this,fn:function(btn){if(btn=="yes"){if(resp.data[0].chargemode=="0"){totalAmtDue=totalAmtDue-(resp.data[0].amount*recno)}else{totalAmtDue=totalAmtDue-(parseFloat(selectedRecord[0].data["amount"])*recno*resp.data[0].amount/100)}}else{recno=0}var dat=new Date();if(totalAmtDue>0){idstr="";feetypestr="";for(var i=recno;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(selectedRecord[i].data["exmoduleid"]!=""){newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"]+" [Exam]",id:selectedRecord[i].data["exmoduleid"],fee:selectedRecord[i].data["examount"],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=","+selectedRecord[i].data["exmoduleid"];feetypestr+=","+selectedRecord[i].data["exfeetype"].toString()}if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"modulepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:type,feetypeid:this.moduleGrid.getSelectionModel().getSelections()[0].data["feetype"],moduleid:idstr});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},this)}if(recno>0){var idstr="";for(var ctr=0;ctr<recno;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,type:"moduleReg"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:idstr,feetype:feetypestr,type:621,moduleno:recno},method:"POST"},this,function(resp,req){if(selectedRecord[0].get("gradtype")!="1"){this.assignfacwin()}},function(resp,req){})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}}})}else{idstr="";feetypestr="";var feetype=selectedRecord[0].data["feetype"];for(var i=0;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype"].toString();if(selectedRecord[i].data["exmoduleid"]!=""){newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["modulename"]+" [Exam]",id:selectedRecord[i].data["exmoduleid"],fee:selectedRecord[i].data["examount"],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=","+selectedRecord[i].data["exmoduleid"];feetypestr+=","+selectedRecord[i].data["exfeetype"].toString()}if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"modulepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:type,feetypeid:feetypestr,moduleid:idstr});this.newGenInv.show();this.newGenInv.on("closeform",function(id){if(selectedRecord[0].get("gradtype")!="1"){this.assignfacwin()}this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})},this)}}},function(rep,req){})}},assignfac:function(){var B=this.sm.getSelected();var C=B.get("modulename");var A=B.get("status");Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",method:"POST",params:{type:"articlefac",userid:this.sm.getSelected().get("userid"),facultyid:this.checksm.getSelected().get("facid"),modulename:C,status:A}},this,function(D,E){this.credithrwin.close();this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(E,D){})},handleRegister:function(A,B){Wtf.Msg.show({title:"Approve Request",msg:"Are you sure you want to approve request for selected module and exam?",buttons:Wtf.Msg.YESNO,fn:function(C){if(C=="yes"){if(this.statusid==0||this.statusid==5||this.statusid==9){var D=this.waitingForApp();if(D!=1){return }}this.regBttn.disable();this.porejectBttn.disable();this.rejectBttn.disable();this.printBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handlePrintInvoice:function(B,D){var A=this.moduleGrid.getSelectionModel().getSelections();var E="";for(var C=0;C<A.length;C++){E+=A[C].data["invoicenum"];if(C!=A.length-1){E+=","}}setDldUrl("PrintInvoice.jsp?&invoicenum="+A[0].data["invoicenum"]+"&flg=1");this.deferBttn.disable();this.printBttn.disable();this.viewRemarkBttn.disable()},handleReject:function(){Wtf.Msg.show({title:"Reject Request",msg:"Are you sure you want to reject request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){var status;var type="usermodulereject";var msg;if(this.status=="Waiting for approval"){msg="Your request for module registration has been rejected";status="8"}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,type:type,status:status,msg:msg},method:"POST"},this,function(resp,req){var retstatus=eval("("+resp.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Error","Error at server side while doing operation")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:this.pP.combo.value,ss:this.quickPanelSearch.getValue()}})},function(resp,req){});this.rejectBttn.disable();this.regBttn.disable();this.porejectBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handlepoReject:function(){Wtf.Msg.show({title:"Reject Request",msg:"Are you sure you want to reject request for selected module?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){var status;var type="poreject";var msg;if(this.status=="Waiting for approval"){msg="Your request for module registration has been rejected";status=1}else{if(this.status=="Waiting for Exemption Confirmation"){msg="Your request for module exemption has been rejected";status=2}else{if(this.status=="Applied for withdrawal"){msg="Your request for withdrawal has been rejected";status=3}}}Wtf.Ajax.request({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:this.moduleid,type:type,status:status,msg:msg},method:"POST",scope:this,success:function(resp,req){var retstatus=eval("("+resp.responseText+")");if(retstatus.success){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{this.displayFailureMessage("Error","Error at server side while doing operation")}this.moduleStore.load({params:{start:this.pg.cursor,limit:this.pP.combo.value}})},failure:function(resp,req){}});this.rejectBttn.disable();this.regBttn.disable();this.porejectBttn.disable()}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},handleMarkAsReg:function(){this.maskasRegSta=new Wtf.FormPanel({frame:true,method:"POST",fileUpload:true,waitMsgTarget:true,layout:"column",items:[{layout:"form",items:[new Wtf.form.TextArea({id:"reasonforreg",fieldLabel:"Comment",width:220,name:"reason"})]},{layout:"form",items:[{buttons:[{text:"Submit",type:"submit",scope:this,handler:this.submitregisteredReq},{text:"Cancel",scope:this,handler:function(){this.markregWindow.destroy()}}]}]}]});this.markregWindow=new Wtf.Window({iconCls:"winicon",resizable:false,id:"markregWin",width:430,height:165,title:"Update Status",scope:this,items:[this.maskasRegSta]});this.markregWindow.show();this.markregBttn.disable();this.deferBttn.disable();this.printBttn.disable();this.viewRemarkBttn.disable()},handleViewRemark:function(){if(this.moduleGrid.getSelectionModel().getSelections().length==1){var A=this.sm.getSelected().get("moduleremark");msgBoxShow(["Remark",A],Wtf.MessageBox.INFO)}else{msgBoxShow(["Error","Please Select only one record"],Wtf.MessageBox.ERROR)}},printstudDetail:function(){var B=this.sm.getSelected();var C=B.get("status");var D=B.get("userid");var G=B.get("metricno");var E=B.get("studname");var I=B.get("moduleid");var F=B.get("facname");var A;if(C=="Waiting for Exemption Confirmation"){A=3;I="4ac9c8f3-7b08-4d2c-85f4-e326f38ea2c2"}else{if(C=="Waiting for approval"){A=2}}var H=Wtf.urlEncode({userid:D,username:G,studname:E,moduleid:I,gradtype:A,facname:F,type:"reports",dtype:"attachment",report:"atstudentinformation",mode:75});setDldUrl("ReportsServlet.jsp?"+H)},handleViewDetails:function(){var F=this.sm.getSelected();var D=F.get("moduleid");var C=F.get("userid");var E=F.get("modulename");var A=F.get("status");var B=F.get("gradtype");if(A!="Waiting for Exemption Confirmation"&&B==2){Wtf.Ajax.request({url:"jspfiles/newCourse.jsp",params:{userid:C,moduleid:D,type:"getArticleDetails",mode:"faculty"},method:"post",success:function(G,H){var I=Wtf.util.JSON.decode(G.responseText);this.articleWindow1=new Wtf.Window({closable:true,modal:true,width:420,scope:this,height:375,resizable:false,buttonAlign:"right",buttons:[{text:"Submit",scope:this,handler:function(){var J=this.datefield.value;Wtf.Ajax.request({url:"jspfiles/newCourse.jsp",params:{userid:C,moduleid:D,newdate:J,modulename:E,type:"updateArticle",table:"article"},method:"post",success:function(K,M){var L=Wtf.util.JSON.decode(K.responseText);if(L.success){this.articleWindow1.close()}},failure:function(){}})}},{text:"Cancel",scope:this,handler:function(){this.articleWindow1.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Articleship","Articleship Information")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm1=new Wtf.form.FormPanel({border:false,labelWidth:100,bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:190},items:[this.datefield=new Wtf.form.DateField({id:"date"+this.id,format:Wtf.getDateFormat(),fieldLabel:"Start Date*",value:I.data[0].stdate}),this.decision=new Wtf.form.TextField({fieldLabel:"Decision*",id:"des"+this.id,name:"decision",readOnly:true,value:I.data[0].decision}),this.address=new Wtf.form.TextField({fieldLabel:"Address*",id:"add"+this.id,name:"address",readOnly:true,value:I.data[0].address}),this.instname=new Wtf.form.TextField({fieldLabel:"Institution Name*",id:"add"+this.id,name:"instname",readOnly:true,value:I.data[0].instname}),this.loc=new Wtf.form.TextField({fieldLabel:"Location*",id:"location"+this.id,name:"location",readOnly:true,value:I.data[0].location}),this.supervisor=new Wtf.form.TextField({fieldLabel:"Supervisor*",id:"sup"+this.id,name:"supervisor",readOnly:true,value:I.data[0].supervisor}),this.email=new Wtf.form.TextField({fieldLabel:"Email*",id:"email"+this.id,name:"email",readOnly:true,value:I.data[0].email}),this.option=new Wtf.form.TextField({fieldLabel:"Another option*",id:"opt"+this.id,name:"option",readOnly:true,value:I.data[0].option}),{html:I.data[0].filename,border:false,width:250}]})]}]});this.articleWindow1.show()},failure:function(){}})}else{if(A=="Waiting for Exemption Confirmation"&&B==2){Wtf.Ajax.request({url:"jspfiles/newCourse.jsp",params:{userid:C,moduleid:D,type:"getPPPDetails",mode:"faculty"},method:"post",success:function(G,H){var I=Wtf.util.JSON.decode(G.responseText);this.pppWindow=new Wtf.Window({closable:true,modal:true,width:420,height:450,resizable:false,buttonAlign:"right",buttons:[{text:"Submit",scope:this,handler:function(){var J=this.sdate.value;Wtf.Ajax.request({url:"jspfiles/newCourse.jsp",params:{userid:C,moduleid:D,newdate:J,modulename:"PPP_test",type:"updateArticle",table:"ppp"},method:"post",success:function(K,M){var L=Wtf.util.JSON.decode(K.responseText);if(L.success){this.pppWindow.close()}},failure:function(){}})}},{text:"Cancel",scope:this,handler:function(){this.pppWindow.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Articleship Exemption/PPP Registration","Articleship Exemption/PPP Registration")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({waitMsgTarget:true,method:"POST",border:false,labelWidth:100,bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:190},items:[this.empexp=new Wtf.form.TextArea({fieldLabel:"Employment Experience*",id:"ee"+this.id,name:"empexp",readOnly:true,value:I.data[0].empexp}),this.contact=new Wtf.form.TextField({fieldLabel:"Contact No.*",id:"contact"+this.id,name:"contact",readOnly:true,value:I.data[0].contact}),this.pppemail=new Wtf.form.TextField({fieldLabel:"Email ID*",id:"email"+this.id,name:"email",readOnly:true,value:I.data[0].email}),this.topic=new Wtf.form.TextArea({fieldLabel:"Topic for PPP*",id:"topic"+this.id,name:"topic",readOnly:true,value:I.data[0].topic}),this.sdate=new Wtf.form.DateField({id:"date"+this.id,format:"Y-m-d",format:Wtf.getDateFormat(),fieldLabel:"Start Date*",emptyText:"Select the start date.",readOnly:true,name:"sdate",value:I.data[0].sdate}),this.pppsup=new Wtf.form.TextField({fieldLabel:"Proposed supervisor*",id:"sup"+this.id,name:"sup",readOnly:true,value:I.data[0].sup}),{html:I.data[0].cv,border:false,width:250},{html:I.data[0].empol,border:false,width:250}]})]}]});this.pppWindow.show()},failure:function(){msgBoxShow(["ERROR","A problem occurred while connection to server."],Wtf.MessageBox.ERROR)}})}}},submitregisteredReq:function(){var D=Wtf.get("reasonforreg").getValue();this.markregWindow.destroy();this.moduleGrid.loadMask.show();var A=this.sm.getSelections();var B="";for(var C=0;C<A.length;C++){B+=A[C].get("moduleid")+","}B=B.substring(0,B.length-1);Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:B,sessionid:this.sessionid,type:"markasRegisteredModule",status:"1",reason:D,examtype:4},method:"POST"},this,function(E,F){this.moduleGrid.loadMask.hide();msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.markregWindow.destroy();this.moduleStore.load({params:{userid:loginid,start:this.pg.cursor,limit:15}})},function(E,F){this.moduleGrid.loadMask.hide();msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR);this.markregWindow.destroy()})},displaySuccessMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.INFO)},displayFailureMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.ERROR)}});Wtf.WtfNewTutApp=function(A){Wtf.apply(this,A);this.createInstitutionWindow=null;this.sendForm=null;this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.approveMenu=new Wtf.menu.Menu({id:"approve"+this.id});this.approveMenu1=new Wtf.Toolbar.Button({text:"Approve",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:{title:"Approve Request",text:"Click to Open"},menu:this.approveMenu});this.rejectMenu=new Wtf.menu.Menu({id:"reject"+this.id});this.rejectMenu1=new Wtf.Toolbar.Button({text:"Reject",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:{title:"Reject Request",text:"Click to Open"},menu:this.rejectMenu});this.kivMenu=new Wtf.menu.Menu({id:"kiv"+this.id});this.kivMenu1=new Wtf.Toolbar.Button({text:"KIV Next Semester",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:{title:"KIV next semester",text:"Click to Open"},menu:this.kivMenu});this.paymentMenu=new Wtf.menu.Menu({id:"payment"+this.id});this.paymentMenu1=new Wtf.Toolbar.Button({text:"Accept Payment",scope:this,hidden:(isRoleGroup("3"))?false:true,tooltip:{title:"Accept payment",text:"Click to Open"},menu:this.paymentMenu});this.printMenu=new Wtf.menu.Menu({id:"print"+this.id});this.printMenu1=new Wtf.Toolbar.Button({text:"Print Invoice",scope:this,tooltip:{title:"Print invoice",text:"Click to Open"},menu:this.printMenu});this.wthappMenu=new Wtf.menu.Menu({id:"wthapp"+this.id});this.wthappMenu1=new Wtf.Toolbar.Button({text:"Approve Withdrawal",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:{title:"Approve withdrawal",text:"Click to Open"},menu:this.wthappMenu});this.wthrejMenu=new Wtf.menu.Menu({id:"wthrej"+this.id});this.wthrejMenu1=new Wtf.Toolbar.Button({text:"Reject Withdrawal",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:{title:"Reject withdrawal",text:"Click to Open"},menu:this.wthrejMenu});this.markrejMenu=new Wtf.menu.Menu({id:"markregmenu"+this.id});this.markregBttn=new Wtf.Toolbar.Button({text:"Mark As Registered",tooltip:"Mark selected module as registered",id:"markregNew"+this.id,scope:this,hidden:(isRoleGroup("4"))?false:true,menu:this.markrejMenu});this.viewRemarkMenu=new Wtf.menu.Menu({id:"viewremarkmenu"+this.id});this.viewRemarkBttn=new Wtf.Toolbar.Button({text:"View Remark",tooltip:"View comment for selected students",id:"viewRemark"+this.id,hidden:(isRoleGroup("4"))?false:true,scope:this,menu:this.viewRemarkMenu});this.cancelrejMenu=new Wtf.menu.Menu({id:"cancelregmenu"+this.id});this.cancelregBttn=new Wtf.Toolbar.Button({text:"Cancel Registered",tooltip:"Cancel Registration",id:"cancelregNew"+this.id,scope:this,hidden:(isRoleGroup("4"))?false:true,menu:this.cancelrejMenu});this.exportMenu=new Wtf.menu.Menu({id:"exportmenu"+this.id});this.exportBttn=new Wtf.Toolbar.Button({text:"Export",tooltip:"Export data",id:"exportNew"+this.id,scope:this,menu:this.exportMenu});this.viewProfile=new Wtf.Toolbar.Button({text:"View Profile",tooltip:"View student profile",id:"profile"+this.id,scope:this,disabled:true,handler:function(){var C=this.grid1.getSelectionModel().getSelections()[0].data["userid"];var B=this.grid1.getSelectionModel().getSelections()[0].data["Student Name"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+C+"_disp",B,"navareadashboard",Wtf.etype.user)}});Wtf.WtfNewTutApp.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"Module Name"}),"-","Total Students:",this.totalStud=new Wtf.form.TextField({fieldLabel:"Total Students:",width:40,readOnly:true}),this.viewProfile],bbar:[this.approveMenu1,this.rejectMenu1,this.kivMenu1,"|",this.paymentMenu1,this.printMenu1,"|",this.wthappMenu1,this.wthrejMenu1,this.markregBttn,this.viewRemarkBttn,this.cancelregBttn,this.exportBttn]});this.on("render",this.handleRender,this)};Wtf.extend(Wtf.WtfNewTutApp,Wtf.Panel,{handleRender:function(A){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",method:"GET",params:{type:"getColStructForclassType",userid:loginid,auditflag:0}},this,function(B,C){this.DisplayReport(B)},function(C,B){})},displaySuccessMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.INFO)},displayFailureMessage:function(B,A){msgBoxShow([B,A],Wtf.MessageBox.ERROR)},handleRegister:function(item,e){var classtype=item.text;var classtypeid=item.id.substring(7,item.id.length);var idstr="";var feetypestr="";var dsNewInv=new Wtf.data.Store({});var selectedRecord=this.grid1.getSelectionModel().getSelections();var totalAmtDue=0;var recno=0;var feetype=selectedRecord[0].data["feetype_"+classtypeid];for(var i=0;i<selectedRecord.length;i++){idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype_"+classtypeid];if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}totalAmtDue+=parseFloat(selectedRecord[i].data["amount_"+classtypeid])}if(totalAmtDue<=0){Wtf.Msg.show({title:"Approve Request",msg:"Fee amount for selected items is 0. Do you still want to continue?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,feetypeid:feetype,type:"examApprove"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}else{Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:idstr,feetype:feetypestr,type:61},method:"POST"},this,function(response,option){var resp=eval("("+response+")");if(resp.data!=null){if(resp.data.length>0){recno=(selectedRecord.length>resp.data[0].moduleno)?resp.data[0].moduleno:selectedRecord.length;Wtf.Msg.show({title:"Scholarship",msg:"Scholarship applicable for "+recno+" modules. Do you want to apply Scholarship?",buttons:Wtf.Msg.YESNO,animEl:"elId",icon:Wtf.MessageBox.QUESTION,scope:this,fn:function(btn){if(btn=="yes"){if(resp.data[0].chargemode=="0"){totalAmtDue=totalAmtDue-(resp.data[0].amount*recno)}else{totalAmtDue=totalAmtDue-(parseFloat(selectedRecord[0].data["amount_"+classtypeid])*recno*resp.data[0].amount/100)}}else{recno=0}if(totalAmtDue!=0){idstr="";feetypestr="";for(var i=recno;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["Module Name"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount_"+classtypeid],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype_"+classtypeid];if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:this.grid1.getSelectionModel().getSelections()[0].data["araccid_"+classtypeid],incomeid:this.grid1.getSelectionModel().getSelections()[0].data["incaccid_"+classtypeid],type:classtype,feetypeid:this.grid1.getSelectionModel().getSelections()[0].data["feetype_"+classtypeid],moduleid:idstr,sessionid:this.sessionid});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid}})},this)}if(recno>0){var idstr="";for(var ctr=0;ctr<recno;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:this.userid,moduleid:idstr,flag:classtypeid,type:"tutpreexamReg"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{userid:this.userid,moduleid:selectedRecord[0].data["moduleid"],feetype:selectedRecord[0].data["feetype_"+classtypeid],type:62,moduleno:recno},method:"POST"},this,function(resp,req){},function(rep,req){});msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}}})}else{idstr="";feetypestr="";for(var i=recno;i<selectedRecord.length;i++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[i].data["Module Name"],id:selectedRecord[i].data["moduleid"],fee:selectedRecord[i].data["amount_"+classtypeid],rid:selectedRecord[i].data["sessionid"]});dsNewInv.add(newRec);idstr+=selectedRecord[i].data["moduleid"];feetypestr+=selectedRecord[i].data["feetype_"+classtypeid];if(i!=selectedRecord.length-1){idstr+=",";feetypestr+=","}}this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:this.userid,amountDue:totalAmtDue,store:dsNewInv,accountid:this.grid1.getSelectionModel().getSelections()[0].data["araccid_"+classtypeid],incomeid:this.grid1.getSelectionModel().getSelections()[0].data["incaccid_"+classtypeid],type:classtype,feetypeid:feetype,moduleid:idstr,sessionid:this.sessionid});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid}})},this)}}},function(rep,req){})}},handleKIVModule:function(A,B){var D=A.text;var C=A.id.substring(3,A.id.length);this.rejectRequest(C,"registration","8","Your request for "+D+" registration has been rejected due to due date.<br/>You can apply for next semester")},handleRejectWithReq:function(A,B){var D=A.text;var C=A.id.substring(6,A.id.length);this.rejectRequest(C,"withdrawal","1","Your request for "+D+" withdrawal rejected")},handleRejectRequest:function(A,B){var D=A.text;var C=A.id.substring(6,A.id.length);this.rejectRequest(C,"registration","8","Your request for "+D+" registration has been rejected")},rejectRequest:function(classtypeid,reqfor,status,msg){var selectedRecord=this.grid1.getSelectionModel().getSelections();var idstr="";for(var ctr=0;ctr<selectedRecord.length;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:idstr,sessionid:this.sessionid,classtypeid:classtypeid,type:"updateUserTutStatus",status:status,reqfor:reqfor,msg:msg},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Status","Error while updating status")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid}})},function(result,req){this.displayFailureMessage("Status","Error while updating status")})},handleWithdrawl:function(item,e){var classtypeid=item.id.substring(6,item.id.length);var selectedRecord=this.grid1.getSelectionModel().getSelections();var idstr="";for(var ctr=0;ctr<selectedRecord.length;ctr++){idstr+=selectedRecord[ctr].data["moduleid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:idstr,classtypeid:classtypeid,sessionid:this.sessionid,type:"updateUserTutStatus",status:17,reqfor:"",msg:""},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success=="true"){this.displaySuccessMessage("Update Status","Status updated Successfully")}else{if(retstatus.success=="false"){this.displayFailureMessage("Status","Error while updating status")}else{this.displayFailureMessage("Error",retstatus.success)}}this.moduleStore.load({params:{userid:loginid}})},function(result,req){this.displayFailureMessage("Status","Error while updating status")})},handlePrintInvoice:function(B,C){var D=B.id.substring(5,B.id.length);var A=this.grid1.getSelectionModel().getSelections();setDldUrl("PrintInvoice.jsp?&invoicenum="+A[0].data["invoicenum_"+D]+"&flg=1")},handleViewRemark:function(B,C){this.classtypeid=B.id.substring(14,B.id.length);if(this.grid1.getSelectionModel().getSelections().length==1){var A=this.sm.getSelected().json["remark_"+this.classtypeid];msgBoxShow(["Remark",A],Wtf.MessageBox.INFO)}else{msgBoxShow(["Error","Please Select only one record"],Wtf.MessageBox.ERROR)}},handlePayFee:function(C,F){var B=C.text;var H=C.id.substring(7,C.id.length);var A=this.grid1.getSelectionModel().getSelections();var E=A[0].data["araccid_"+H];var G="";for(var D=0;D<A.length;D++){G+=A[D].data["invoicenum_"+H];if(D!=A.length-1){G+=","}}this.newInv=new Wtf.NewPayment1({id:"coursepayment"+this.id,resizable:false,width:650,feetype:this.sm.getSelected().get("feetype_"+H),islocal:this.sm.getSelected().get("islocal"),invoiceNum:G,height:500,modal:true,accountId:E,customerId:this.userid,sponsorCode:this.sponsorcode});this.newInv.show();this.newInv.on("closeform",function(I){this.moduleStore.load({params:{userid:loginid}})},this)},createFields:function(D){var A=[];for(var B=0;B<D.length;B++){var C={};C["name"]=D[B][0];C["type"]="string";C["mapping"]=D[B][0];A[A.length]=C}return A},createColModel:function(D){var E=[];E[E.length]=new Wtf.grid.RowNumberer();E[E.length]=this.sm;for(var B=0;B<D.length;B++){var C={};C["header"]=D[B][0];C["dataIndex"]=D[B][1];C["width"]=70;C["sortable"]=false;if(B>5){C["renderer"]=this.statusRenderer;Wtf.menu.MenuMgr.get("approve"+this.id).add({text:D[B][0],id:"approve"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("reject"+this.id).add({text:D[B][0],id:"reject"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("payment"+this.id).add({text:D[B][0],id:"payment"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("print"+this.id).add({text:D[B][0],id:"print"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("kiv"+this.id).add({text:D[B][0],id:"kiv"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("wthrej"+this.id).add({text:D[B][0],id:"wthrej"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("wthapp"+this.id).add({text:D[B][0],id:"wthapp"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("markregmenu"+this.id).add({text:D[B][0],id:"markregmenu"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("viewremarkmenu"+this.id).add({text:D[B][0],id:"viewremarkmenu"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("cancelregmenu"+this.id).add({text:D[B][0],id:"cancelregmenu"+D[B][1],disabled:true});Wtf.menu.MenuMgr.get("exportmenu"+this.id).add({text:D[B][0],id:"exportmenu"+D[B][1]})}E[E.length]=C}var A=new Wtf.grid.ColumnModel(E);Wtf.menu.MenuMgr.get("approve"+this.id).on("itemclick",this.handleRegister,this);Wtf.menu.MenuMgr.get("reject"+this.id).on("itemclick",this.handleRejectRequest,this);Wtf.menu.MenuMgr.get("payment"+this.id).on("itemclick",this.handlePayFee,this);Wtf.menu.MenuMgr.get("print"+this.id).on("itemclick",this.handlePrintInvoice,this);Wtf.menu.MenuMgr.get("kiv"+this.id).on("itemclick",this.handleKIVModule,this);Wtf.menu.MenuMgr.get("wthrej"+this.id).on("itemclick",this.handleRejectWithReq,this);Wtf.menu.MenuMgr.get("wthapp"+this.id).on("itemclick",this.handleWithdrawl,this);Wtf.menu.MenuMgr.get("markregmenu"+this.id).on("itemclick",this.handleMarkAsReg,this);Wtf.menu.MenuMgr.get("viewremarkmenu"+this.id).on("itemclick",this.handleViewRemark,this);Wtf.menu.MenuMgr.get("cancelregmenu"+this.id).on("itemclick",this.cancelregisteredReq,this);Wtf.menu.MenuMgr.get("exportmenu"+this.id).on("itemclick",this.exportData,this);return A},DisplayReport:function(response){this.obj=eval("("+response.trim()+")");var fields=this.createFields(this.obj.recorddata);this.moduleRecord=Wtf.data.Record.create(fields);this.moduleReader=new Wtf.data.KwlJsonReader({root:"data"},this.moduleRecord);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"Student Name",direction:"ASC"},groupField:"Student Name"});this.moduleStore.baseParams={type:"classapplist",userid:loginid};this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.createColModel(this.obj.columnheader),sm:this.sm,border:false,view:this.groupingView,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.grid1.on("sortchange",function(b,bd){this.grid1.getStore().groupBy(bd.field)},this);this.moduleStore.on("load",this.handleStoreLoad,this);this.sm.on("selectionchange",this.clickHandle,this);this.grid1.on("rowdblclick",this.handleExamDbClick,this);this.add(this.grid1);this.doLayout();this.moduleStore.load()},statusRenderer:function(E,C,A,F,D,B){if(E=="Applied for registration after due date"||E=="Applied for withdrawal after due date"||E=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+E+"</lable>"}else{if(E==""){return"<lable style = 'color : gray;'>Not Applicable</lable>"}else{return E}}},handleExamDbClick:function(C,D,B){var E=this.moduleStore.getAt(D).data["userid"];var A=this.moduleStore.getAt(D).data["Student Name"];mainPanel.loadTab("userProfile.html","mainuserProfile_"+E+"_disp",A,"navareadashboard",Wtf.etype.user)},handleStoreLoad:function(A,D,B){this.quickPanelSearch.StorageChanged(A);var C=A.reader.jsonData.studCnt;if(!isNaN(C)){this.totalStud.setValue(C)}},handleMarkAsReg:function(A,B){this.classtypeid=A.id.substring(11,A.id.length);this.maskasRegSta=new Wtf.FormPanel({frame:true,method:"POST",fileUpload:true,waitMsgTarget:true,layout:"column",items:[{layout:"form",items:[new Wtf.form.TextArea({id:"reasonforreg",fieldLabel:"Comment",width:220,name:"reason"})]},{layout:"form",items:[{buttons:[{text:"Submit",type:"submit",scope:this,handler:this.submitregisteredReq},{text:"Cancel",scope:this,handler:function(){this.markregWindow.destroy()}}]}]}]});this.markregWindow=new Wtf.Window({iconCls:"winicon",resizable:false,id:"markregWin",width:430,height:165,title:"Update Status",scope:this,items:[this.maskasRegSta]});this.markregWindow.show()},submitregisteredReq:function(){var D=Wtf.get("reasonforreg").getValue();this.markregWindow.destroy();this.grid1.loadMask.show();var A=this.sm.getSelections();var B="";for(var C=0;C<A.length;C++){B+=A[C].get("moduleid")+","}B=B.substring(0,B.length-1);Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:B,sessionid:this.sessionid,classtype:this.classtypeid,type:"markasRegisteredExam",status:"1",reason:D,examtype:2},method:"POST"},this,function(E,F){this.grid1.loadMask.hide();msgBoxShow(["Update Status","Status updated Successfully"],Wtf.MessageBox.INFO);this.markregWindow.destroy();this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})},function(E,F){this.grid1.loadMask.hide();msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR);this.markregWindow.destroy()})},cancelregisteredReq:function(item,e){this.classtypeid=item.id.substring(13,item.id.length);var selected=this.sm.getSelections();var moduleids="";var invoiceids="";for(var ctr=0;ctr<selected.length;ctr++){moduleids+=selected[ctr].get("moduleid")+","}moduleids=moduleids.substring(0,moduleids.length-1);for(var ctr=0;ctr<selected.length;ctr++){var flag=true;for(var ptr=0;ptr<ctr;ptr++){if(selected[ctr].get("invoicenum_"+this.classtypeid)==selected[ptr].get("invoicenum_"+this.classtypeid)){flag=false}}if(flag){invoiceids+=selected[ctr].get("invoicenum_"+this.classtypeid)+","}}Wtf.Msg.show({title:"Approve Request",msg:"Are you sure you want to cancel registration for selected module?",buttons:Wtf.Msg.YESNO,scope:this,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.userid,moduleid:moduleids,type:"cancelReg",examtype:2,classtype:this.classtypeid,invoiceid:invoiceids},method:"POST"},this,function(result,request){var respobj=eval("("+result+")");if(respobj!=null){if(respobj.success!=null){if(respobj.success){this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})}}if(respobj.msg!=null){msgBoxShow(["Update Status",respobj.msg],Wtf.MessageBox.INFO)}}},function(result,request){msgBoxShow(["ERROR","A problem occurred while updating status"],Wtf.MessageBox.ERROR)})}}})},exportData:function(A){var B=A.text;var C=A.id.substring(10,A.id.length);setDldUrl("fileDownload.jsp?&type=adminClassReg&text="+B+"&cTypeId="+C+"&dtype=attachment")},clickHandle:function(A,L,C,I){var E=this.grid1.getSelectionModel().getSelections();var J=6;var D=this.obj.columnheader;var G="";var F=[];if(E.length==1){this.viewProfile.enable()}else{this.viewProfile.disable()}for(var H=J;H<D.length;H++){Wtf.getCmp("approve"+D[H][1]).disable();Wtf.getCmp("reject"+D[H][1]).disable();Wtf.getCmp("payment"+D[H][1]).disable();Wtf.getCmp("print"+D[H][1]).disable();Wtf.getCmp("kiv"+D[H][1]).disable();Wtf.getCmp("wthrej"+D[H][1]).disable();Wtf.getCmp("wthapp"+D[H][1]).disable();Wtf.getCmp("cancelregmenu"+D[H][1]).disable();Wtf.getCmp("markregmenu"+D[H][1]).disable();Wtf.getCmp("viewremarkmenu"+D[H][1]).disable()}if(E.length>0){this.userid=E[0].data["userid"];this.sessionid=E[0].data["sessionid"];this.username=E[0].data["Student Name"];this.sponsorcode=E[0].data["sponsorcode"];G=E[0].get("userid");for(var H=J;H<D.length;H++){F.push(E[0].get(D[H][1]))}}var K=false;for(var B=0;B<E.length-1;B++){if(E[B].get("sponsorcode")!=""&&E[B+1].get("sponsorcode")!=""){if(E[B].get("sponsorcode")==E[B+1].get("sponsorcode")&&E[B].get("islocal")==E[B+1].get("islocal")){K=true}else{K=false;break}}else{if(E[B].get("userid")==E[B+1].get("userid")){K=true}else{K=false;break}}for(var H=J;H<D.length;H++){if(E[B].get(D[H][1])!=E[B+1].get(D[H][1])){F[H-J]=""}}}if(E.length==1){K=true}if(K){for(var B=0;B<F.length;B++){if(F[B]!=""){if(F[B]=="Waiting for approval"){if(E.length>1&&E[0].get("userid")!=E[1].get("userid")){Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable()}else{Wtf.getCmp("approve"+D[B+J][1]).enable();Wtf.getCmp("reject"+D[B+J][1]).enable()}Wtf.getCmp("payment"+D[B+J][1]).disable();Wtf.getCmp("print"+D[B+J][1]).disable();Wtf.getCmp("kiv"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}else{if(F[B]=="Accept payment"){Wtf.getCmp("payment"+D[B+J][1]).enable();Wtf.getCmp("print"+D[B+J][1]).enable();Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("kiv"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).enable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}else{if(F[B]=="Provisionally Registered"){Wtf.getCmp("payment"+D[B+J][1]).enable();Wtf.getCmp("print"+D[B+J][1]).enable();Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("kiv"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).enable();Wtf.getCmp("cancelregmenu"+D[B+J][1]).enable()}else{if(F[B]=="Applied for withdrawal"){if(E.length>1&&E[0].get("userid")!=E[1].get("userid")){Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable()}else{Wtf.getCmp("wthrej"+D[B+J][1]).enable();Wtf.getCmp("wthapp"+D[B+J][1]).enable()}Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("payment"+D[B+J][1]).disable();Wtf.getCmp("print"+D[B+J][1]).disable();Wtf.getCmp("kiv"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}else{if(F[B]=="Applied for registration after due date"){if(E.length>1&&E[0].get("userid")!=E[1].get("userid")){Wtf.getCmp("kiv"+D[B+J][1]).disable()}else{Wtf.getCmp("kiv"+D[B+J][1]).enable()}Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("payment"+D[B+J][1]).disable();Wtf.getCmp("print"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}else{if(F[B]=="Applied for withdrawal after due date"){if(E.length>1&&E[0].get("userid")!=E[1].get("userid")){Wtf.getCmp("kiv"+D[B+J][1]).disable()}else{Wtf.getCmp("kiv"+D[B+J][1]).enable()}Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("payment"+D[B+J][1]).disable();Wtf.getCmp("print"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}else{Wtf.getCmp("approve"+D[B+J][1]).disable();Wtf.getCmp("reject"+D[B+J][1]).disable();Wtf.getCmp("payment"+D[B+J][1]).disable();Wtf.getCmp("print"+D[B+J][1]).disable();Wtf.getCmp("kiv"+D[B+J][1]).disable();Wtf.getCmp("wthrej"+D[B+J][1]).disable();Wtf.getCmp("wthapp"+D[B+J][1]).disable();Wtf.getCmp("markregmenu"+D[B+J][1]).disable();Wtf.getCmp("viewremarkmenu"+D[B+J][1]).disable()}}}}}}}}}}});Wtf.WtfNewAuditApp=function(A){Wtf.apply(this,A);this.createInstitutionWindow=null;this.sendForm=null;this.sm=new Wtf.grid.CheckboxSelectionModel();this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true});this.approveMenu1=new Wtf.Toolbar.Button({text:"Approve",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:"Approve selected request",disabled:true});this.rejectMenu1=new Wtf.Toolbar.Button({text:"Reject",scope:this,hidden:(isRoleGroup("4"))?false:true,tooltip:"Reject selected request",disabled:true});this.paymentMenu1=new Wtf.Toolbar.Button({text:"Accept Payment",scope:this,hidden:(isRoleGroup("3"))?false:true,tooltip:"Accept payment for selected module",disabled:true});this.printMenu1=new Wtf.Toolbar.Button({text:"Print Invoice",scope:this,tooltip:"Print Invoice",disabled:true});this.moduleReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},["sessionname","sessionid","courseid","coursename","coursecode","studname","studid","modname","modid","status",{name:"appdate",type:"date",dateFormat:"Y-m-j H:i:s.0"},"amount","statusid","invoicenum","araccid","incaccid","expaccid","feetype","sponsor","sponsorcode","islocal","remark"]);this.moduleStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.moduleReader,sortInfo:{field:"studname",direction:"ASC"},groupField:"studname"});this.moduleStore.baseParams={type:"auditapplist",userid:loginid};this.moduleStore.on("load",function(){this.quickPanelSearch.StorageChanged(this.moduleStore)},this);this.moduleStore.on("datachanged",function(){this.quickPanelSearch.StorageChanged(this.moduleStore);this.quickPanelSearch.setPage(this.pP.combo.value)},this);Wtf.WtfNewAuditApp.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"Module Name"}),this.approveMenu1,this.rejectMenu1,this.paymentMenu1,this.printMenu1],bbar:new Wtf.PagingSearchToolbar({pageSize:15,searchField:this.quickPanelSearch,store:this.moduleStore,displayInfo:false,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP=new Wtf.common.pPageSize({})})});this.on("render",this.handleRender,this)};Wtf.extend(Wtf.WtfNewAuditApp,Wtf.Panel,{handleRender:function(A){this.cm=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.sm,{header:"Session Name",dataIndex:"sessionname",sortable:true,groupable:true},{header:"Sponsor",dataIndex:"sponsor",sortable:true,groupable:true},{header:"Course Name",dataIndex:"coursename",sortable:true,groupable:true},{header:"Course Code",dataIndex:"coursecode",sortable:true,groupable:true},{header:"Module Name",dataIndex:"modname",sortable:true,groupable:true},{header:"Status",dataIndex:"status",sortable:true,groupable:true,renderer:this.statusRenderer},{header:"Applied on",dataIndex:"appdate",sortable:true,groupable:true,renderer:function(B){if(Wtf.isEmpty(B)){return B}else{return B.format(Wtf.getDateFormat())}}},{header:"Student Name",dataIndex:"studname",sortable:true,groupable:true,hidden:true}]);this.grid1=new Wtf.grid.GridPanel({ds:this.moduleStore,cm:this.cm,sm:this.sm,border:false,view:this.groupingView,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.grid1.on("sortchange",function(B,C){this.grid1.getStore().groupBy(C.field)},this);this.approveMenu1.on("click",this.handleRegister,this);this.rejectMenu1.on("click",this.rejectRequest,this);this.paymentMenu1.on("click",this.handlePayFee,this);this.printMenu1.on("click",this.handlePrintInvoice,this);this.grid1.on("cellclick",this.clickHandle,this);this.add(this.grid1);this.moduleStore.load({params:{start:0,limit:15}})},handleRegister:function(item,e){var idstr="";var dsNewInv=new Wtf.data.Store({});var selectedRecord=this.grid1.getSelectionModel().getSelections();var totalAmtDue=0;this.moduleRecord=new Wtf.data.Record.create([{name:"code",type:"string"},{name:"name",type:"string"},{name:"id",type:"string"},{name:"fee",type:"string"},{name:"rid",type:"string"}]);var feetype=selectedRecord[0].data["feetype"];if(selectedRecord[0].data["amount"]>0){for(var cnt=0;cnt<selectedRecord.length;cnt++){var newRec=new this.moduleRecord({code:"",name:selectedRecord[cnt].data["modname"],id:selectedRecord[cnt].data["modid"],fee:selectedRecord[cnt].data["amount"],rid:selectedRecord[cnt].data["sessionid"]});totalAmtDue+=parseFloat(selectedRecord[cnt].data["amount"]);idstr+=selectedRecord[cnt].data["modid"];if(cnt!=selectedRecord.length-1){idstr+=","}dsNewInv.add(newRec)}this.newGenInv=new Wtf.NewGenInvoice({id:"coursepayfee"+this.id,width:500,height:400,resizable:false,layout:"fit",customerId:selectedRecord[0].data["studid"],amountDue:totalAmtDue,store:dsNewInv,accountid:selectedRecord[0].data["araccid"],incomeid:selectedRecord[0].data["incaccid"],type:"10",feetypeid:feetype,moduleid:idstr,sessionid:selectedRecord[0].data["sessionid"]});this.newGenInv.show();this.newGenInv.on("closeform",function(id){this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})},this)}else{var idstr="";for(var ctr=0;ctr<selectedRecord.length;ctr++){idstr+=selectedRecord[ctr].data["modid"];if(ctr!=selectedRecord.length-1){idstr+=","}}Wtf.Msg.show({title:"Approve Request",msg:"Fee amount for selected item is 0. Do you still want to continue?",buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{studentid:selectedRecord[0].data["studid"],moduleid:idstr,feetypeid:feetype,type:"examApprove"},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}this.approveMenu1.disable();this.rejectMenu1.disable()},rejectRequest:function(){var idstr="";var selectedRecord=this.grid1.getSelectionModel().getSelections();for(var cnt=0;cnt<selectedRecord.length;cnt++){idstr+=selectedRecord[cnt].data["modid"];if(cnt!=selectedRecord.length-1){idstr+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newCourse.jsp",params:{userid:this.sm.getSelections()[0].data["studid"],moduleid:idstr,type:"updateauditstatus",status:"8",courseid:this.sm.getSelections()[0].data["courseid"]},method:"POST"},this,function(result,req){var retstatus=eval("("+result.trim()+")");if(retstatus.success){msgBoxShow(["Update Status","Status updated successfully"],Wtf.MessageBox.INFO);this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})}else{msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)}},function(result,req){msgBoxShow(["Status","Error while updating status"],Wtf.MessageBox.INFO)});this.approveMenu1.disable();this.rejectMenu1.disable();this.grid1.getSelectionModel().clearSelections()},handlePrintInvoice:function(B,D){var A=this.grid1.getSelectionModel().getSelections();var E="";for(var C=0;C<A.length;C++){E+=A[C].data["invoicenum"];if(C!=A.length-1){E+=","}}setDldUrl("PrintInvoice.jsp?&invoicenum="+A[0].data["invoicenum"]+"&flg=1")},handlePayFee:function(C,G){var E=new Date();var B=E.format("Y-m-d H:i:s");var F="PM"+E.format("y")+"/"+Math.floor(Math.random()*10001);var A=this.grid1.getSelectionModel().getSelections();var H="";for(var D=0;D<A.length;D++){H+=A[D].data["invoicenum"];if(D!=A.length-1){H+=","}}this.newInv=new Wtf.NewPayment1({id:"coursepayment"+this.id,resizable:false,width:650,invoiceNum:H,height:500,modal:true,accountId:this.sm.getSelections()[0].data["araccid"],customerId:this.sm.getSelections()[0].data["studid"],sponsorCode:this.sponsorcode,islocal:this.sm.getSelections()[0].data["islocal"]});this.newInv.show();this.newInv.on("closeform",function(I){this.moduleStore.load({params:{userid:loginid,start:0,limit:15}})},this);this.paymentMenu1.disable();this.printMenu1.disable();this.grid1.getSelectionModel().clearSelections()},handleStoreLoad:function(A,C,B){this.quickPanelSearch.StorageChanged(A)},statusRenderer:function(E,C,A,F,D,B){if(E=="Applied for registration after due date"||E=="Payment is not made within stipulated time"){return"<lable style = 'color : red;'>"+E+"</lable>"}else{return E}},clickHandle:function(D,H,C,G){if(this.grid1.getSelectionModel().getSelections().length>0){var A=this.grid1.getSelectionModel().getSelections();var F=true;if(A.length>1&&this.moduleStore.getAt(H).data["sponsorcode"]!=""&&A[A.length-2].data["sponsorcode"]!=""){if(A[A.length-2].data["sponsorcode"]==this.moduleStore.getAt(H).data["sponsorcode"]){if(A[A.length-2].data["status"]!=this.moduleStore.getAt(H).data["status"]||A[A.length-2].data["feetype"]!=this.moduleStore.getAt(H).data["feetype"]||A[A.length-2].data["islocal"]!=this.moduleStore.getAt(H).data["islocal"]){F=false}}else{F=false}}else{if(A.length>1&&A[A.length-2].data["studid"]==this.moduleStore.getAt(H).data["studid"]){if(A[A.length-2].data["status"]!=this.moduleStore.getAt(H).data["status"]||A[A.length-2].data["feetype"]!=this.moduleStore.getAt(H).data["feetype"]){F=false}}else{if(A.length>1&&A[A.length-2].data["studid"]!=this.moduleStore.getAt(H).data["studid"]){F=false}}}if(!F){var B=this.grid1.getSelectionModel().getSelections();this.grid1.getSelectionModel().clearSelections();this.approveMenu1.disable();this.rejectMenu1.disable();this.paymentMenu1.disable();this.printMenu1.disable();var E=[];E[0]=B[B.length-1];this.grid1.getSelectionModel().selectRecords(E)}this.statusid=this.moduleStore.getAt(H).data["statusid"];this.sponsorcode=this.moduleStore.getAt(H).data["sponsorcode"];this.status=this.moduleStore.getAt(H).data["status"];if(parseInt(this.statusid)==0){this.approveMenu1.enable();this.rejectMenu1.enable();this.paymentMenu1.disable();this.printMenu1.disable()}else{if(parseInt(this.statusid)==1){this.approveMenu1.disable();this.rejectMenu1.disable();this.paymentMenu1.disable();this.printMenu1.enable()}else{if(parseInt(this.statusid)==2&&this.status=="Accept Payment"){this.approveMenu1.disable();this.rejectMenu1.disable();this.paymentMenu1.enable();this.printMenu1.enable()}else{this.approveMenu1.disable();this.rejectMenu1.disable();this.paymentMenu1.disable();this.printMenu1.disable()}}}}else{this.approveMenu1.disable();this.rejectMenu1.disable();this.paymentMenu1.disable();this.printMenu1.disable()}}});Wtf.ExamDetails=function(A){Wtf.apply(this,A);this.createGiftWindow=null;this.sendForm=null;this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:false});this.selModel=new Wtf.grid.CheckboxSelectionModel({singleSelect:true});this.cmodel=new Wtf.grid.ColumnModel([this.selModel,{header:"Student Name",width:150,dataIndex:"name"},{header:"Marks",width:150,dataIndex:"marks",editor:new Wtf.form.NumberField({allowBlank:false,maxValue:100})}]);this.cmodel.defaultSortable=true;this.examDetRecord=Wtf.data.Record.create([{name:"name",type:"string"},{name:"marks"},{name:"userid",type:"string"}]);this.examDetReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.examDetRecord);this.examDetStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newExam.jsp"}),reader:this.examDetReader,sortInfo:{field:"name",direction:"DESC"}});this.grid=new Wtf.grid.EditorGridPanel({ds:this.examDetStore,cm:this.cmodel,sm:this.selModel,border:false,view:this.groupingView,trackMouseOver:true,clickToEdit:1,loadMask:{msg:"Loading Students..."},viewConfig:{forceFit:true}});this.approveAlumReqBttn=new Wtf.Toolbar.Button({text:"Approve Request",tooltip:"Approve Alumni Request",id:"BtnAlumApv"+this.id,disabled:true,scope:this,handler:function(){this.updateRequestStatus(0)}});this.rejectAlumReqBttn=new Wtf.Toolbar.Button({text:"Reject Request",tooltip:"Reject Alumni Request",id:"BtnAlumRej"+this.id,disabled:true,scope:this,handler:function(){this.updateRequestStatus(1)}});Wtf.ExamDetails.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"fit",tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLQuickSearch({width:200,field:"Name"})],items:[this.grid],bbar:new Wtf.PagingToolbar({id:"pgTbar"+this.id,pageSize:25,store:this.examDetStore,displayInfo:true,displayMsg:"Displaying {0} - {1} / {2}",emptyMsg:"No results to display",plugins:new Wtf.common.pPageSize({})})});this.on("render",this.handleRender,this);this.examDetStore.on("load",this.handleStoreLoad,this);this.selModel.on("selectionchange",this.OnGridSelectionChanged,this);this.grid.on("validateedit",this.ve,this)};Wtf.extend(Wtf.ExamDetails,Wtf.Panel,{handleRender:function(A){this.examDetStore.baseParams={type:"examdet"};this.examDetStore.load({params:{start:0,limit:25,examid:this.id.substring(7)}})},handleStoreLoad:function(A){this.quickPanelSearch.StorageChanged(A);this.ownerCt.doLayout()},updateRequestStatus:function(A){var C=null;if(A==0){C=1}else{C=2}var B=this.selModel.getSelected().get("Id");Wtf.Ajax.request({url:"jspfiles/alumni/approvestudent.jsp",params:{flag:0,type:C,alumniId:B},method:"POST",scope:this,success:function(E,D){this.examDetStore.load({params:{start:0,limit:25}})}})},OnGridSelectionChanged:function(A){if(A.hasSelection()){if(A.getSelected().get("Status")==0){this.approveAlumReqBttn.enable();this.rejectAlumReqBttn.enable()}}else{this.approveAlumReqBttn.disable();this.rejectAlumReqBttn.disable()}},ve:function(G){var C=G.grid;var B=G.record;var F=G.field;var E=G.value;var A=G.originalValue;var H=G.row;var D=G.column;Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{userid:B.get("userid"),marks:E,type:"upmarks",examid:this.id.substring(7)}},this,function(J,I){},function(J,I){})}});Wtf.WtfExams=function(config){Wtf.apply(this,config);this.newGrantWindow=null;this.groupingView=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:true});this.groupingView1=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:true});this.groupingView4=new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:true,hideGroupedColumn:true});this.delArray=[];this.addArray=[];this.examTypeStore=new Wtf.data.SimpleStore({data:[["Qualifying Exam 1","1"],["Qualifying Exam 2","2"],["Comprehensive Exam","3"],["Other","4"]],fields:["etype","id"],reader:new Wtf.data.ArrayReader({},[{name:"etype"},{name:"id"}]),autoLoad:true});this.venueRecord=Wtf.data.Record.create([{name:"vname",type:"string"},{name:"id",type:"string"},{name:"timezone"}]);this.venueReader=new Wtf.data.JsonReader({root:"data"},this.venueRecord);this.venueStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newClass.jsp"}),reader:this.venueReader});this.courseRecord=Wtf.data.Record.create([{name:"coursename",type:"string"},{name:"courseid",type:"string"}]);this.courseReader=new Wtf.data.KwlJsonReader({root:"data"},this.courseRecord);this.courseStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.courseReader});this.selModel=new Wtf.grid.CheckboxSelectionModel({singleSelect:true});this.cmodel=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.selModel,{header:"Code",width:150,dataIndex:"name"},{header:"Venue",width:150,dataIndex:"venue"},{header:"Timezone",width:100,dataIndex:"tname"},{header:"Date",width:100,dataIndex:"date",renderer:function(val){return Wtf.modifyDateFmt(val,"Y-m-j",Wtf.getDateFormat())}},{header:"Start Time",width:100,dataIndex:"stime"},{header:"End Time",width:100,dataIndex:"etime"},{header:"Note",width:100,dataIndex:"note"},{header:"Module",width:100,dataIndex:"modulename",groupable:true}]);this.cmodel.defaultSortable=true;this.examRecord=Wtf.data.Record.create([{name:"name",type:"string"},{name:"venue",type:"string"},{name:"date",type:"string"},{name:"stime",type:"string"},{name:"etime",type:"string"},{name:"note",type:"string"},{name:"id",type:"string"},{name:"status",type:"string"},{name:"moduleid",type:"string"},{name:"modulename",type:"string"},{name:"venueid",type:"string"},{name:"timezone"},{name:"tname"}]);this.examReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.examRecord);this.examStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newExam.jsp"}),reader:this.examReader,sortInfo:{field:"modulename",direction:"DESC"},groupField:"modulename"});this.grid=new Wtf.grid.GridPanel({ds:this.examStore,cm:this.cmodel,sm:this.selModel,border:false,view:this.groupingView,trackMouseOver:true,loadMask:{msg:"Loading Exam Schedules..."},viewConfig:{forceFit:true}});this.selModel1=new Wtf.grid.CheckboxSelectionModel();this.cmodel1=new Wtf.grid.ColumnModel([new Wtf.KWLRowNumberer(),this.selModel1,{header:"Exam for",width:150,dataIndex:"examname"},{header:"Type",width:150,dataIndex:"type"}]);this.cmodel1.defaultSortable=true;this.studRecord=Wtf.data.Record.create([{name:"examforid",type:"string"},{name:"examname",type:"string"},{name:"type",type:"string"},{name:"moduleid",type:"string"}]);this.studReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count"},this.studRecord);this.studStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newExam.jsp"}),reader:this.studReader,sortInfo:{field:"type",direction:"DESC"}});this.studStore.on("load",function(){this.editExamBttn.disable();this.setRulBttn.disable()},this);this.grid1=new Wtf.grid.GridPanel({ds:this.studStore,cm:this.cmodel1,border:false,view:this.groupingView1,trackMouseOver:true,loadMask:{msg:"Loading Exams..."},viewConfig:{forceFit:true}});this.newClassBttn=new Wtf.menu.Item({text:"New",tooltip:"Create a new exam schedule",id:"btnNew"+this.id,scope:this,disabled:true,handler:function(){this.handleSectionClick(0)}});this.editClassBttn=new Wtf.menu.Item({text:"Edit",tooltip:"Edit selected exam schedule",id:"btnEdit"+this.id,scope:this,disabled:true,handler:function(){this.handleSectionClick(1)}});this.dupClassBttn=new Wtf.menu.Item({text:"Duplicate",tooltip:"Duplicate selected exam schedule",id:"btnDup"+this.id,scope:this,disabled:true,handler:function(){this.handleSectionClick(2)}});this.deleteClassBttn=new Wtf.menu.Item({text:"Delete",tooltip:"Delete selected exam schedule",id:"btndelExm"+this.id,scope:this,disabled:true,handler:function(){Wtf.MessageBox.show({title:"Delete Exam Schedule",msg:"Do you want to delete the selected exam schedule?",width:400,buttons:Wtf.MessageBox.YESNO,icon:Wtf.MessageBox.QUESTION,fn:function(btn){if(btn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{id:this.examid,type:"delexam"},method:"POST"},this,function(resp,req){if(eval(resp)[0].success=="false"){Wtf.Msg.alert("Error","Error in deleting the selected exam schedule.")}else{Wtf.Msg.alert("Exam Schedule Deleted",eval(resp)[0].msg);this.examStore.baseParams={type:"examlist",examforid:this.examforid};this.examStore.load({params:{start:0,limit:this.pageLimit2.combo.getValue(),examforid:this.examforid}})}this.allocStudBttn.disable();this.editClassBttn.disable();this.dupClassBttn.disable();this.deleteClassBttn.disable();this.allocBttn.disable()},function(resp,req){})}},scope:this})}});this.newExamBttn=new Wtf.Toolbar.Button({text:"New Exam",tooltip:"Create a new exam",id:"btnNewExam"+this.id,scope:this,handler:function(){this.handleExamClick(true)}});this.editExamBttn=new Wtf.Toolbar.Button({text:"Edit Exam ",tooltip:"Edit selected exam ",id:"btnEditExam"+this.id,scope:this,disabled:true,handler:function(){this.onExamEdit()}});this.newSectionBttn=new Wtf.Toolbar.Button({text:"New Section",tooltip:"Create new Section",id:"btnAcc"+this.id,scope:this,disabled:false});this.newSectionBttn.on("click",this.handleClassClick,this);this.allocBttn=new Wtf.Toolbar.Button({text:"Add Invigilator",tooltip:"Assign invigilator to exam",id:"btnRej"+this.id,scope:this,disabled:true});this.allocBttn.on("click",this.handleAllocateClick,this);this.allocStudBttn=new Wtf.Toolbar.Button({text:"Assign Student",tooltip:"Assign students to exam",id:"btnstud"+this.id,scope:this,disabled:true});this.allocStudBttn.on("click",this.handleStudAllocateClick,this);this.viewScheduleBttn=new Wtf.Toolbar.Button({text:"View Schedule",tooltip:"View schedule for selected exam",id:"btnView"+this.id,scope:this,disabled:true});this.viewScheduleBttn.on("click",this.handleScheduleClick,this);this.setRulBttn=new Wtf.Toolbar.Button({text:"Set Rule",tooltip:"Set rule for selected exam",id:"btnRuleView"+this.id,scope:this,disabled:true});this.setRulBttn.on("click",this.handleRuleClick,this);this.pageLimit1=new Wtf.common.pPageSize({});this.pageLimit2=new Wtf.common.pPageSize({});Wtf.WtfExams.superclass.constructor.call(this,{autoDestroy:true,border:false,bodyStyle:"background:none;",layout:"fit",items:[{layout:"border",border:false,split:true,items:[{region:"north",layout:"fit",title:"Examination",height:200,split:true,border:false,items:this.grid1,tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"name"}),this.newExamBttn,this.editExamBttn,this.setRulBttn],bbar:this.pg=new Wtf.PagingSearchToolbar({pageSize:10,searchField:this.quickPanelSearch,store:this.studStore,displayInfo:true,displayMsg:"Displaying {0} - {1} / {2}",emptyMsg:"No results to display",plugins:this.pageLimit1})},{title:"Exam Schedules",split:true,layout:"fit",items:this.grid,region:"center",tbar:["Quick Search: ",this.quickPanelSearch1=new Wtf.KWLTagSearch({width:200,field:"name"}),this.programOperBttn=new Wtf.Toolbar.Button({text:"Exam Schedule",tooltip:"Click to open",id:"examscheduleMenu"+this.id,scope:this,menu:[this.newClassBttn,this.editClassBttn,this.deleteClassBttn,this.dupClassBttn]}),this.allocStudBttn,this.allocBttn],bbar:this.pg1=new Wtf.PagingSearchToolbar({pageSize:10,searchField:this.quickPanelSearch1,store:this.examStore,displayInfo:true,displayMsg:"Displaying {0} - {1} / {2}",emptyMsg:"No results to display",plugins:this.pageLimit2})}]}]});this.on("render",this.handleRender,this);this.selModel.on("selectionchange",this.onClickHandle,this);this.examStore.on("load",this.handleStoreLoad,this);this.examStore.on("datachanged",function(){var p=this.pageLimit2.combo.value;this.quickPanelSearch1.setPage(p)},this);this.studStore.on("load",this.handleStoreLoad,this);this.studStore.on("datachanged",function(){var p=this.pageLimit1.combo.value;this.quickPanelSearch.setPage(p);this.newClassBttn.disable();this.examStore.removeAll()},this);this.grid1.on("rowdblclick",this.handleExamDbClick,this);this.grid1.on("cellclick",this.onClickHandleRequest,this)};Wtf.extend(Wtf.WtfExams,Wtf.Panel,{handleRender:function(A){this.courseStore.load({params:{type:"examcourse"}});this.studStore.baseParams={type:"allnewexam"};this.studStore.load({params:{start:0,limit:10}});if(!Wtf.StoreMgr.containsKey("timezone")){Wtf.timezoneStore.load();Wtf.StoreMgr.add("timezone",Wtf.timezoneStore)}},handleActivate:function(A){A.doLayout();var B=(this.grid1.ownerCt.getSize().height>100)?this.grid1.ownerCt.getSize().height:200;this.grid1.ownerCt.setHeight(B);A.doLayout()},handleExamDbClick:function(B,C,A){if(this.studStore.getAt(C).data["type"]!="Module Exam"){if(Wtf.getCmp("exam"+this.studStore.getAt(C).data["examforid"])){Wtf.getCmp("exam"+this.studStore.getAt(C).data["examforid"]).show()}else{this.ownerCt.ownerCt.add(new Wtf.Panel({title:this.studStore.getAt(C).data["examname"],id:"exam"+this.studStore.getAt(C).data["examforid"],layout:"fit",closable:true,items:[new Wtf.ExamDetails({id:"examdet"+this.studStore.getAt(C).data["examforid"]})]}))}Wtf.getCmp("exam"+this.studStore.getAt(C).data["examforid"]).show();this.ownerCt.ownerCt.doLayout()}},handleStoreLoad:function(A,C,B){if(Wtf.isIE){this.ownerCt.on("activate",this.handleActivate,this)}if(A==this.examStore){this.quickPanelSearch1.StorageChanged(A)}else{if(A==this.studStore){this.quickPanelSearch.StorageChanged(A)}else{this.quickPanelSearch2.StorageChanged(A)}}},handleScheduleClick:function(B,A){this.createSchedulegrid();this.centerdiv=document.createElement("div");this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:"Exam Schedule",closable:true,modal:true,iconCls:"win",width:600,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Print",scope:this,handler:this.assignfacsubmit,disabled:true},{text:"Send Notification",scope:this,handler:this.notify,disabled:false},{text:"Close",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:100,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:"<div style = 'width:100%;height:100%;position:relative;float:left;'><div style='float:left;height:100%;width:auto;position:relative;'></div><div style='float:left;height:100%;width:80%;position:relative;'><div style='font-size:12px;font-style:bold;float:left;margin:10px 0px 0px 10px;width:100%;position:relative;'><b>Exam : "+this.examname+"</b></div><div style='font-size:11px;float:left;margin:10px 0px 0px 10px;width:100%;position:relative;'>Venue : "+this.evenue+"</div><div style='font-size:11px;float:left;margin:10px 0px 0px 10px;width:100%;position:relative;'>Date : "+this.examdate+"            Start time : "+this.stime+"         End Time :"+this.etime+"</div></div></div>"},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Registerd Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Assigned Invigilators",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},onClickHandle:function(B){if(B.getSelections().length>0){var A=B.getSelected();this.moduleid=A.data["moduleid"];this.examid=A.data["id"];this.examname=A.data["name"];this.examdate=A.data["date"];this.stime=A.data["stime"];this.etime=A.data["etime"];this.evenue=A.data["venue"];this.allocStudBttn.enable();this.editClassBttn.enable();this.dupClassBttn.enable();this.deleteClassBttn.enable();this.allocBttn.enable()}else{this.allocStudBttn.disable();this.editClassBttn.disable();this.dupClassBttn.disable();this.deleteClassBttn.disable();this.allocBttn.disable()}},onClickHandleRequest:function(B,D,A,C){this.newClassBttn.enable();this.allocBttn.disable();this.editExamBttn.enable();this.setRulBttn.enable();this.allocStudBttn.disable();this.editClassBttn.disable();this.dupClassBttn.disable();this.deleteClassBttn.disable();this.examforid=this.studStore.getAt(D).data["examforid"];this.examType=this.studStore.getAt(D).data["type"];this.examStore.removeAll();this.examStore.baseParams={type:"examlist",examforid:this.examforid};this.examStore.load({params:{start:0,limit:this.pageLimit2.combo.getValue(),examforid:this.examforid}})},handleRuleClick:function(A,B){this.creategrid2();this.centerdiv=document.createElement("div");this.centerdiv.appendChild(this.movetoright);this.centerdiv.appendChild(this.movetoleft);this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:"Exam Rule",closable:true,modal:true,iconCls:"win",width:600,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Update",scope:this,handler:this.assignrulesubmit},{text:"Cancel",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Exam Prerequisite","Set exam prerequisite.")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Available exams for prerequisite",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Set prerequisite exam",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},handleSectionClick:function(flag){if(flag==0){var header1="New Exam";var desc1="Create a new exam ";var message="create a new exam"}else{if(flag==1){header1="Edit Exam";desc1="Edit selected exam";message="update selected exam"}else{if(flag==2){header1="Duplicate Exam";desc1="Copy a selected exam";message="copy selected exam"}}}this.venueStore.load({params:{type:"venue"}});this.newSectionWindow=new Wtf.Window({title:header1,closable:true,modal:true,width:418,height:360,resizable:false,buttonAlign:"right",buttons:[{text:(flag==1)?"Edit":"Create",scope:this,handler:function(){Wtf.getCmp("schendtime").validate();var fD=this.dateField.getRawValue();if(this.sendForm.form.isValid()){Wtf.Msg.show({title:header1,msg:"Are you sure you want to "+message,buttons:Wtf.Msg.YESNO,fn:function(bttn){if(bttn=="yes"){Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{moduleid:this.examforid,type:"newexam",name:this.nameField.getValue(),date:Wtf.modifyDateFmt(fD,Wtf.getDateFormat(),"Y-m-j"),stime:this.stimeField.getValue(),etime:this.etimeField.getValue(),venueid:this.venueCombo.getValue(),note:this.noteField.getValue(),id:this.h1.getValue(),tzone:this.tZoneCombo.getValue(),mode:(flag==1)?2:1},method:"POST"},this,function(resp,req){if(eval(resp)[0].success=="false"){Wtf.Msg.alert("Schedule Clash","Exam "+eval(resp)[0].name+" has already been scheduled at same venue and time.")}else{this.newSectionWindow.close();this.examStore.baseParams={type:"examlist",examforid:this.examforid};this.examStore.load({params:{start:0,limit:this.pageLimit2.combo.getValue()}})}},function(resp,req){})}},scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})}}},{text:"Cancel",scope:this,handler:function(){this.newSectionWindow.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif",header1,desc1)},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/newClass.jsp?type=addsection&classid="+this.classid+"&",waitMsgTarget:true,method:"POST",border:false,labelWidth:120,params:({asdas:"sad"}),bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:240},defaultType:"textfield",items:[this.nameField=new Wtf.form.TextField({fieldLabel:"Code*",name:"name",maxLength:100,allowBlank:false,value:(flag==1)?this.selModel.getSelected().get("name"):null}),this.venueCombo=new Wtf.form.ComboBox({id:"venue"+this.id,store:this.venueStore,readOnly:true,displayField:"vname",mode:"local",triggerAction:"all",emptyText:"Select a venue...",fieldLabel:"Venue*",hiddenName:"venueid",valueField:"id",allowBlank:false,value:(flag==1)?this.selModel.getSelected().get("venueid"):null}),this.tZoneCombo=new Wtf.form.ComboBox({id:"tZone"+this.id,store:Wtf.timezoneStore,readOnly:true,displayField:"name",mode:"local",triggerAction:"all",emptyText:"Select a timezone...",fieldLabel:"Timezone*",disabled:true,hiddenName:"id",valueField:"id",allowBlank:false,value:(flag!=1)?null:this.selModel.getSelected().get("timezone")}),this.dateField=new Wtf.form.DateField({id:"date"+this.id,fieldLabel:"Date*",name:"date",format:Wtf.getDateFormat(),allowBlank:false,value:(flag==0)?null:this.selModel.getSelected().get("date")}),this.stimeField=new Wtf.form.TimeField({id:"schstarttime",fieldLabel:"Start Time*",editable:false,format:"H:i:s",name:"stime",allowBlank:false,value:(flag==0)?"08:00:00":this.selModel.getSelected().get("stime")}),this.etimeField=new Wtf.form.TimeField({id:"schendtime",fieldLabel:"End Time*",editable:false,format:"H:i:s",name:"etime",allowBlank:false,scope:this,validator:this.validateTime,value:(flag==0)?"10:00:00":this.selModel.getSelected().get("etime")}),this.noteField=new Wtf.form.TextField({fieldLabel:"Note",name:"note",value:(flag==0)?null:this.selModel.getSelected().get("note")}),this.h1=new Wtf.form.Hidden({name:"id",value:(flag==1)?this.selModel.getSelected().get("id"):null})]})]}]});this.newSectionWindow.show();this.venueCombo.on("beforeselect",function(combo,rec,index){var value=rec.get("timezone");if(Wtf.isEmpty(value)){this.tZoneCombo.setValue(2)}else{this.tZoneCombo.setValue(value)}},this)},onExamEdit:function(){if(this.grid1.getSelectionModel().getSelected().data.type=="Module Exam"){msgBoxShow(["Edit Exam","Module Exams cannot be edited"],Wtf.MessageBox.INFO);return }else{Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{id:this.grid1.getSelectionModel().getSelected().data.examforid,type:"checkschedule",mode:"exam"},method:"POST"},this,function(resp){if(eval(resp)[0].success=="true"){msgBoxShow(["Edit Exam","Cannot edit a scheduled exam"],Wtf.MessageBox.INFO);return }else{if(eval(resp)[0].success=="false"){this.handleExamClick(false)}}},function(){})}},handleExamClick:function(A){var D=A?"New Exam":"Edit Exam";var C=A?"Create a new exam":"Edit selected exam";var B=A?"":this.grid1.getSelectionModel().getSelected().data;this.newSectionWindow=new Wtf.Window({title:D,closable:true,modal:true,width:418,height:230,resizable:false,buttonAlign:"right",buttons:[{text:A?"Create":"Update",scope:this,handler:function(){if(this.sendForm.form.isValid()){Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{examforid:this.courseCombo.getValue(),type:A?"newexamtype":"editexamtype",examid:A?"":B.examforid,oldname:A?"":B.examname,oldtype:A?"":B.type,examtype:this.etypeField.getValue()},method:"POST"},this,function(F,E){this.newSectionWindow.close();this.studStore.load({params:{start:0,limit:this.pageLimit1.combo.getValue()}})},function(F,E){})}}},{text:"Cancel",scope:this,handler:function(){this.newSectionWindow.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif",D,C)},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/newClass.jsp?type=addsection&classid="+this.classid+"&",waitMsgTarget:true,method:"POST",border:false,labelWidth:120,params:({asdas:"sad"}),bodyStyle:"margin-top:20px;margin-left:20px;font-size : 10px;",defaults:{width:240},defaultType:"textfield",items:[this.etypeField=new Wtf.form.ComboBox({id:"venue"+this.id,store:this.examTypeStore,readOnly:true,displayField:"etype",mode:"local",triggerAction:"all",emptyText:"Select a exam type...",fieldLabel:"Exam Type*",name:"venueid",valueField:"id",allowBlank:false}),this.courseCombo=new Wtf.form.ComboBox({id:"course"+this.id,store:this.courseStore,readOnly:true,displayField:"coursename",mode:"local",triggerAction:"all",emptyText:"Select exam for...",fieldLabel:"Exam For*",name:"courseid",valueField:"courseid",allowBlank:false})]})]}]});this.newSectionWindow.on("render",function(){if(!A){if(B.type!="Module Exam"){this.courseCombo.setValue(B.moduleid);this.etypeField.setValue(this.examTypeStore.query("etype",B.type).items[0].data.id)}}},this);this.newSectionWindow.show()},validateTime:function(){if(Date.parseDate(Wtf.getCmp("schstarttime").getValue(),"H:i:s")>=Date.parseDate(Wtf.getCmp("schendtime").getValue(),"H:i:s")){return"Exam end time should occur after start time"}else{return true}},handleAllocateClick:function(A,C){for(var B=0;B<this.delArray.length;B++){this.delArray.remove(this.delArray[B])}for(var B=0;B<this.addArray.length;B++){this.addArray.remove(this.addArray[B])}this.delArray=new Array();this.addArray=new Array();this.creategrid();this.centerdiv=document.createElement("div");this.centerdiv.appendChild(this.movetoright);this.centerdiv.appendChild(this.movetoleft);this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:"Exam",closable:true,modal:true,iconCls:"win",width:600,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Update",scope:this,handler:this.assignfacsubmit},{text:"Cancel",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Assign Invigilators","Assign faculty as invigilators to an exam from the list of avaliable faculty.")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Available Faculty",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Assigned Invigilators",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},handleStudAllocateClick:function(A,C){for(var B=0;B<this.delArray.length;B++){this.delArray.remove(this.delArray[B])}for(var B=0;B<this.addArray.length;B++){this.addArray.remove(this.addArray[B])}this.delArray=new Array();this.addArray=new Array();this.creategrid1();this.centerdiv=document.createElement("div");this.centerdiv.appendChild(this.movetoright);this.centerdiv.appendChild(this.movetoleft);this.centerdiv.style.padding="135px 10px 135px 10px";this.assignFacultyWin=new Wtf.Window({title:"Exam",closable:true,modal:true,iconCls:"win",width:600,height:525,resizable:false,buttonAlign:"right",buttons:[{text:"Update",scope:this,handler:this.assignstudsubmit},{text:"Cancel",scope:this,handler:function(){this.assignFacultyWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif","Assign Students","Allocate exam to students")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"border",items:[{region:"west",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Available Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.availablegrid}]},{region:"center",border:false,contentEl:this.centerdiv},{region:"east",border:false,width:250,layout:"fit",items:[{xtype:"KWLListPanel",title:"Assigned Students",border:false,paging:false,layout:"fit",autoLoad:false,items:this.selectedgrid}]}]}]}]});this.assignFacultyWin.show()},creategrid:function(){this.availableds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([this.availablesm,{header:"Faculty Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.availableds.load({params:{type:"avainv",examdate:this.grid.selModel.getSelected().get("date"),stime:this.grid.selModel.getSelected().get("stime"),etime:this.grid.selModel.getSelected().get("etime"),examid:this.examid}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([this.selectedsm,{header:"Faculty Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.selectedds.load({params:{type:"examinv",examid:this.examid,limit:-1,start:-1}});this.movetoright=document.createElement("img");this.movetoright.src="images/arrowright.gif";this.movetoright.style.width="24px";this.movetoright.style.height="24px";this.movetoright.style.margin="5px 0px 5px 0px";this.movetoright.onclick=this.movetorightclicked.createDelegate(this,[]);this.movetoleft=document.createElement("img");this.movetoleft.src="images/arrowleft.gif";this.movetoleft.style.width="24px";this.movetoleft.style.height="24px";this.movetoleft.style.margin="5px 0px 5px 0px";this.movetoleft.onclick=this.movetoleftclicked.createDelegate(this,[])},creategrid2:function(){this.availableds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["coursename","id","type"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([this.availablesm,{header:"Exam For",dataIndex:"coursename",autoWidth:true,sortable:true,groupable:true},{header:"Exam Type",dataIndex:"type",autoWidth:true,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.availableds.load({params:{type:"getExamRule",examforid:this.examforid}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["coursename","id","type"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([this.selectedsm,{header:"Exam For",dataIndex:"coursename",autoWidth:true,sortable:true,groupable:true},{header:"Exam Type",dataIndex:"type",autoWidth:true,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.selectedds.load({params:{type:"getRuleExam",examforid:this.examforid}});this.movetoright=document.createElement("img");this.movetoright.src="images/arrowright.gif";this.movetoright.style.width="24px";this.movetoright.style.height="24px";this.movetoright.style.margin="5px 0px 5px 0px";this.movetoright.onclick=this.movetorightclicked.createDelegate(this,[]);this.movetoleft=document.createElement("img");this.movetoleft.src="images/arrowleft.gif";this.movetoleft.style.width="24px";this.movetoleft.style.height="24px";this.movetoleft.style.margin="5px 0px 5px 0px";this.movetoleft.onclick=this.movetoleftclicked.createDelegate(this,[])},creategrid1:function(){this.availableds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id","email"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([this.availablesm,{header:"Student's Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.availableds.load({params:{type:"avaexamstud",moduleid:this.moduleid}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id","email"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([this.selectedsm,{header:"Student Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.selectedds.load({params:{type:"examstud",examid:this.examid,start:0,limit:999}});this.movetoright=document.createElement("img");this.movetoright.src="images/arrowright.gif";this.movetoright.style.width="24px";this.movetoright.style.height="24px";this.movetoright.style.margin="5px 0px 5px 0px";this.movetoright.onclick=this.movetorightclicked.createDelegate(this,[]);this.movetoleft=document.createElement("img");this.movetoleft.src="images/arrowleft.gif";this.movetoleft.style.width="24px";this.movetoleft.style.height="24px";this.movetoleft.style.margin="5px 0px 5px 0px";this.movetoleft.onclick=this.movetoleftclicked.createDelegate(this,[])},createSchedulegrid:function(){this.availableds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id","email"]),autoLoad:false});this.availablesm=new Wtf.grid.CheckboxSelectionModel();this.availablecm=new Wtf.grid.ColumnModel([this.availablesm,{header:"Student's Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.availablegrid=new Wtf.grid.GridPanel({store:this.availableds,cm:this.availablecm,sm:this.availablesm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.availableds.load({params:{type:"examstud",examid:this.examid,start:0,limit:100}});this.selectedds=new Wtf.data.Store({url:"jspfiles/newExam.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},["name","id"]),autoLoad:false});this.selectedsm=new Wtf.grid.CheckboxSelectionModel();this.selectedcm=new Wtf.grid.ColumnModel([this.selectedsm,{header:"Faculty Name",dataIndex:"name",autoWidth:true,sortable:true,groupable:true}]);this.selectedgrid=new Wtf.grid.GridPanel({store:this.selectedds,cm:this.selectedcm,sm:this.selectedsm,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.selectedds.load({params:{type:"examinv",examid:this.examid,limit:-1,start:-1}})},notify:function(){if(this.availablesm.getSelections().length>0||this.selectedsm.getSelections().length>0){var B=this.availablesm.getSelections();var A="";for(var C=0;C<B.length;C++){A+=B[C].data.id;if(C<B.length-1||this.selectedsm.getSelections().length>0){A+=","}}var B=this.selectedsm.getSelections();for(var C=0;C<B.length;C++){A+=B[C].data.id;if(C<B.length-1){A+=","}}Wtf.Ajax.requestEx({url:"jspfiles/newClass.jsp",params:{userid:A,subject:"[Exam Schedule] - "+this.examname,text:"<b>"+this.examname+"</b> exam has been scheduled..  <br>Date : <b>"+this.examdate+"</b> <br> Start time :  <b>"+this.stime+"</b> <br> End time :  <b>"+this.etime+"</b> <br> Venue  : <b>"+this.evenue+"</b>",plaintext:this.examname+" exam has been scheduled..  \nDate : "+this.examdate+"\nStart time :  "+this.stime+"\n End time :  "+this.etime+"\n Venue  : "+this.evenue,type:"notify"},method:"POST"},this,function(D,E){Wtf.Msg.alert("Status","Notification sent successfully")},function(D,E){})}else{Wtf.Msg.alert("Alert","No user selected")}},movetorightclicked:function(){var A=this.availablesm.getSelections();if(A.length>0){this.selectedds.add(A)}for(var B=0;B<A.length;B++){this.availableds.remove(A[B]);if(this.delArray.indexOf(A[B].data["id"])!=-1){this.delArray.remove(A[B].data["id"])}else{this.addArray.push(A[B].data["id"])}}},movetoleftclicked:function(){var A=this.selectedsm.getSelections();if(A.length>0){this.availableds.add(A)}for(var B=0;B<A.length;B++){this.selectedds.remove(A[B]);if(this.addArray.indexOf(A[B].data["id"])!=-1){this.addArray.remove(A[B].data["id"])}else{this.delArray.push(A[B].data["id"])}}},assignfacsubmit:function(){var C="";var A="";for(var B=0;B<this.delArray.length;B++){C+=this.delArray[B];if(B<this.delArray.length-1){C+=","}}for(var B=0;B<this.addArray.length;B++){A+=this.addArray[B];if(B<this.addArray.length-1){A+=","}}for(var B=0;B<this.delArray.length;B++){this.delArray.remove(this.delArray[B])}for(var B=0;B<this.addArray.length;B++){this.addArray.remove(this.addArray[B])}this.delArray=new Array();this.addArray=new Array();Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{delid:C,addid:A,examid:this.examid,type:"upinv"},method:"POST"},this,function(E,D){this.assignFacultyWin.close()},function(E,D){})},assignrulesubmit:function(){var C="";var A="";for(var B=0;B<this.delArray.length;B++){C+=this.delArray[B];if(B<this.delArray.length-1){C+=","}}for(var B=0;B<this.addArray.length;B++){A+=this.addArray[B];if(B<this.addArray.length-1){A+=","}}this.addArray=[];this.delArray=[];Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{delid:C,addid:A,examforid:this.examforid,type:"uprule"},method:"POST"},this,function(E,D){this.assignFacultyWin.close()},function(E,D){})},assignstudsubmit:function(){var C="";var A="";for(var B=0;B<this.delArray.length;B++){C+=this.delArray[B];if(B<this.delArray.length-1){C+=","}}for(var B=0;B<this.addArray.length;B++){A+=this.addArray[B];if(B<this.addArray.length-1){A+=","}}for(var B=0;B<this.delArray.length;B++){this.delArray.remove(this.delArray[B])}for(var B=0;B<this.addArray.length;B++){this.addArray.remove(this.addArray[B])}this.delArray=new Array();this.addArray=new Array();Wtf.Ajax.requestEx({url:"jspfiles/newExam.jsp",params:{delid:C,addid:A,examid:this.examid,type:"upexamstud"},method:"POST"},this,function(E,D){this.assignFacultyWin.close()},function(E,D){})}});Wtf.common.assignmentDropBox=function(A){Wtf.common.assignmentDropBox.superclass.constructor.call(this,A)};Wtf.extend(Wtf.common.assignmentDropBox,Wtf.Panel,{assignmentStore:null,assignmentSubStore:null,assignmentCM:null,assignmentGrid:null,innerPanel:null,faculty:false,assingmentLP:null,descriptionLP:null,submissionUncheckedStore:null,submissionCheckedStore:null,submissionSM:null,submissionCM:null,submissionGrid:null,newAssignmentWin:null,newUploadWin:null,statusFlag:true,descriptionTpl:new Wtf.XTemplate('<tpl for="json"><div style = "font-size:11px;padding:5px;color:white;"><table style ="padding:0px 8px;font-size:11px"><tr><td><b>Assignment Name :</b></td><tpl if="assignmentid!=0"><td>{assignmentname}</td></tpl></tr><tr><td><b>Created on :</b></td><td>{createdon}</td><td><b>Submission date:</b></td><td>{submittedon}</td></tr></table><hr><table style="padding:0px 10px;font-size:11px"><tr><td style="vertical-align:top;"><b>Description :</b></td><td><span>{description}<span></td></tr></table></div></tpl>'),assignmentexpander:new Wtf.grid.RowExpander({tpl:new Wtf.Template('<div style="margin-left:4px;">',"<div><b>Description :</b>{description}</div>","</div>")}),onRender:function(C){Wtf.common.assignmentDropBox.superclass.onRender.call(this,C);this.assTypeStore=new Wtf.data.JsonStore({root:"data",fields:["asstypeid","assname"],url:"jspfiles/admin/assignment.jsp"});this.assTypeStore2=new Wtf.data.JsonStore({root:"data",fields:["asstypeid","assname"],url:"jspfiles/admin/assignment.jsp"});this.assTypeStore2.on("load",function(D){var F=new Wtf.data.Record.create(["asstypeid","assname"]);var E=new F({asstypeid:"All",assname:"All"});D.addSorted(E)},this);this.assTypeStore2.load({params:{action:12,modulerunid:this.moduleid,type:1}});this.typeFieldCombo=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{assname}" class="x-combo-list-item">{assname}</div></tpl>',fieldLabel:"Type*",store:this.assTypeStore2,displayField:"assname",valueField:"asstypeid",mode:"local",triggerAction:"all",emptyText:"Select a assignment type...",allowBlank:false,blankText:"Click to select an assignment type",listeners:{scope:this,select:function(F,D,E){if(D.get("assname")=="All"){this.assignmentStore.clearFilter()}else{this.assignmentStore.filter("type",D.get("asstypeid"))}}}}),this.monthDate=new Wtf.MonthField({noPastYears:false});this.filterBtn=new Wtf.Toolbar.Button({text:"Clear Filter",scope:this,tooltip:"Clear All Filters",handler:function(){this.monthDate.setValue("");this.typeFieldCombo.clearValue();this.assignmentStore.clearFilter()}});this.submitBtn=new Wtf.Toolbar.Button({text:"Submit",scope:this,tooltip:"Submit(Apply Filter On Grid Data)",handler:function(){var F=this.monthDate.getValue();var E=this.typeFieldCombo.getValue();if(F&&E){F=new Date(F);var G=F.getFullYear();var D=F.getMonth();this.assignmentStore.filterBy(function(M){var I=false;var K=M.get("appdatestring");var H=Date.parseDate(K,"Y-m-d");var J=H.getFullYear();var L=H.getMonth();if(E!="All"){if(M.get("type")==E&&G==J&&D==L){I=true}}else{if(G==J&&D==L){I=true}}return I},this)}}});this.subTypeStore=new Wtf.data.SimpleStore({data:[["Individual","0"],["Team","1"]],fields:["type","id"],reader:new Wtf.data.ArrayReader({},[{name:"type"},{name:"id"}]),autoLoad:true});this.createAssignmentStore();this.assignmentCM=new Wtf.grid.ColumnModel(this.createAssignmentCM(true));this.createAssignmentGrid();if(this.faculty){this.createSubmissionStore();this.submissionSM=new Wtf.grid.CheckboxSelectionModel();this.submissionSM.on("selectionchange",function(D){if(D.hasSelection()){if(this.submissionGrid.selModel.getSelected().get("id")!="0"){if(Wtf.getCmp("subBttn").pressed==true){Wtf.getCmp("downloadass"+this.id).enable()}}}else{Wtf.getCmp("downloadass"+this.id).disable()}},this);this.submissionCM=new Wtf.grid.ColumnModel(this.createSubmissionCM(false));this.createSubmissionGrid()}this.assignmentUI();this.add(this.innerPanel);this.innerPanel.doLayout();if(!this.faculty){var B=Wtf.data.Record.create([{name:"assignmentid",type:"string"},{name:"assignmentname",type:"string"},{name:"createdon",type:"string"},{name:"submittedon",type:"string"},{name:"description",type:"string"},{name:"status",type:"string"},{name:"subtype",type:"string"},{name:"dtdiff",type:"string"},{name:"ext",type:"string"},{name:"extn",type:"string"},{name:"sid",type:"string"},{name:"size",type:"string"},{name:"filename",type:"string"},{name:"facname",type:"string"}]);var A=new Wtf.data.JsonReader({root:"data",totalProperty:"count"},B);this.assignmentSubStore=new Wtf.data.GroupingStore({url:"jspfiles/student/getSubmittedAssignments.jsp",root:"data",totalProperty:"count",reader:A,autoLoad:false,sortInfo:{field:"facname",direction:"asc"},groupField:"facname"});this.assignmentSubStore.baseParams={modulerunid:this.moduleid,studentid:loginid};this.assignmentSubStore.on("load",function(){this.quickSearchTF.StorageChanged(this.assignmentSubStore);this.assignmentGrid.getView().refresh();this.assignmentGrid.doLayout()},this);this.assignmentSubStore.on("datachanged",function(){this.quickSearchTF.setPage(this.pP.combo.value)},this);this.assignmentSubStore.load({params:{start:0,limit:15}})}this.assignmentStore.load({params:{start:0,limit:15}})},createAssignmentStore:function(){var B=Wtf.data.Record.create([{name:"submitable",type:"string"},{name:"assignmentid",type:"string"},{name:"assignmentname",type:"string"},{name:"createdon",type:"string"},{name:"submittedon",type:"string"},{name:"description",type:"string"},{name:"type",type:"string"},{name:"dtdiff",type:"string"},{name:"subdate",type:"string"},{name:"subtype",type:"string"},{name:"assname",type:"string"},{name:"ext",type:"string"},{name:"owner",type:"string"},{name:"createdon",type:"string"},{name:"facname",type:"string"},{name:"appdate",type:"date",dateFormat:"Y-m-d"},{name:"appdatestring",type:"string"}]);var A=new Wtf.data.JsonReader({root:"data",totalProperty:"count"},B);var C=null;if(this.faculty){C="jspfiles/faculty/getAssignments.jsp"}else{C="jspfiles/student/getNewAssignments.jsp"}this.assignmentStore=new Wtf.data.GroupingStore({url:C,root:"data",totalProperty:"count",reader:A,autoLoad:false,sortInfo:{field:"facname",direction:"asc"},groupField:"facname"});this.assignmentStore.baseParams={modulerunid:this.moduleid,studentid:loginid};this.assignmentStore.on("load",function(){this.quickSearchTF.StorageChanged(this.assignmentStore);this.assignmentGrid.getView().refresh();this.assignmentGrid.doLayout()},this);if(!this.faculty){this.assignmentStore.on("datachanged",function(){this.quickSearchTF.setPage(this.pP.combo.value)},this)}},createSubmissionStore:function(){this.submissionUncheckedStore=new Wtf.data.JsonStore({url:"jspfiles/faculty/getSubmittedAssignments.jsp",root:"data",totalProperty:"count",fields:["id","name","createdon","submissionon","status","type","dtdiff","lsub","subtype","downloaded"],autoLoad:false});this.submissionCheckedStore=new Wtf.data.JsonStore({url:"jspfiles/faculty/getSubmittedAssignments.jsp",root:"data",totalProperty:"count",fields:["id","name","submittedon","status","type","dtdiff","lsub","subtype","downloaded"],autoLoad:false});this.submissionUncheckedStore.on("load",function(){this.quickSearchTFSub.StorageChanged(this.submissionUncheckedStore);this.submissionGrid.getView().refresh()},this);this.submissionUncheckedStore.on("datachanged",function(){this.quickSearchTFSub.setPage(this.pP1.combo.value)},this);this.submissionCheckedStore.on("load",function(){this.quickSearchTFSub.StorageChanged(this.submissionCheckedStore);this.submissionGrid.getView().refresh()},this);this.submissionCheckedStore.on("datachanged",function(){this.quickSearchTFSub.setPage(this.pP1.combo.value)},this)},createAssignmentCM:function(A){var B;if(this.faculty){B=[this.assignmentexpander,{header:"Assignment Name",dataIndex:"assignmentname",autoWidth:true,sortable:true,groupable:true,renderer:this.assignmentRender},{header:"Faculty Name",dataIndex:"facname",autoWidth:true,sortable:true,groupable:true},{header:"Assignment Type",dataIndex:"assname",autoWidth:true,sortable:true,groupable:true},{header:"Submission Type",dataIndex:"subtype",autoWidth:true,sortable:true,groupable:true,renderer:function(G,E,C,H,F,D){if(C.get("id")!="0"){if(G=="0"){return"<label style = 'color : green;'>Individual Submission</label>"}else{if(G=="1"){return"<label style = 'color : blue;'>Team Submission</label>"}}}}},{header:"Submitable",width:100,dataIndex:"submitable",align:"center",renderer:function(G,F,C,H,E,D){if(G==1){return"S"}else{return"N"}}},{header:"Created On",dataIndex:"createdon",autoWidth:true,sortable:true,groupable:true},{header:"Assignment Month",dataIndex:"appdate",autoWidth:true,sortable:true,groupable:true,renderer:function(D){if(D){var C=D.format("F, Y");if(C=="January, 1901"){return"-"}else{return C}}else{return"-"}}},{header:"Download",renderer:function(G,E,C,H,F,D){if(C.json.id!="0"){if(C.data.ext!="empty"){return"<a href='#' title='Download' onclick='setDldUrl(\"fileDownload.jsp?url="+C.data.assignmentid+"/faculty/"+C.data.assignmentname+C.data.ext+"&type=assignmentBank&dtype=attachment\")'><div class='pwnd dldiconwt' style='height:16px; width:16px;'></div></a>"}else{return"No File"}}}}]}else{B=[{header:"Assignment Name",dataIndex:"assignmentname",autoWidth:true,sortable:true,groupable:true},{header:"Faculty Name",dataIndex:"facname",autoWidth:true,sortable:true,groupable:true},{header:"Submission Date",dataIndex:"submittedon",autoWidth:true,sortable:true,groupable:true},{header:"Submission Type",dataIndex:"subtype",autoWidth:true,sortable:true,groupable:true,renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){if(G=="0"){return"<label style = 'color : green;'>Individual Submission</label>"}else{if(G=="1"){return"<label style = 'color : blue;'>Team Submission</label>"}}}}},{header:"Status",dataIndex:"status",autoWidth:true,sortable:true,groupable:true,hidden:A,renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){if(parseInt(G)==1){return"<label style = 'color : green;'>Submitted</label>"}}}},{header:"Late Submission",dataIndex:"dtdiff",autoWidth:true,sortable:true,groupable:true,align:"center",renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){if(G>0){return"<label style = 'color : red;'>Yes</label>"}else{return"<label style = 'color : green;'>No</label>"}}},hidden:A},{header:"Download Assignment",dataIndex:"assignmentid",autoWidth:true,sortable:true,groupable:true,renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){if(C.json.ext!="empty"){return"<center><img src = 'images/download1.gif' class = 'down-assignment-img' style='cursor:pointer;'/></center>"}else{return"<center>No file</center>"}}}},{header:"Upload Assignment",dataIndex:"assignmentid",autoWidth:true,sortable:true,groupable:true,renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){return"<center><img src = 'images/submit.png' class = 'up-assignment-img' style='cursor:pointer;'/></center>"}}},{header:"Download Submission",dataIndex:"filename",autoWidth:true,sortable:true,hidden:A,groupable:true,renderer:function(G,E,C,H,F,D){if(C.get("assignmentid")!="0"){return"<a href='#' class='down-studassignment-img'>"+C.get("filename")+"</a>"}}},{header:"Size",dataIndex:"size",autoWidth:true,sortable:true,hidden:A,groupable:true,renderer:function(H,F,C,I,G,D){if(C.get("assignmentid")!="0"){if(H=="-1"){return"-"}else{var E=H/1024;if(E<1){return 1+" Kb"}else{return Math.round(E)+" Kb"}}}}}]}return B},createSubmissionCM:function(A){return[new Wtf.KWLRowNumberer({width:25}),this.submissionSM,{header:A?"Name":"Submitted by",dataIndex:"name",autoWidth:true,sortable:true,groupable:true},{header:"Submitted on",dataIndex:"submittedon",autoWidth:true,sortable:true,groupable:true,hidden:A,renderer:function(B){return Wtf.modifyDateFmt(B,"Y-m-j",Wtf.getDateFormat())}},{header:"Late Submission",dataIndex:"dtdiff",autoWidth:true,sortable:true,groupable:true,align:"center",renderer:function(F,D,B,G,E,C){if(B.get("id")!="0"){if(F>0){return"<label style = 'color : red;'>Yes</label>"}else{return"<label style = 'color : green;'>No</label>"}}},hidden:A},{header:"Downloaded",dataIndex:"downloaded",autoWidth:true,sortable:true,groupable:true,hidden:A,align:"center",renderer:function(F,D,B,G,E,C){if(B.get("id")!="0"){if(F=="0"){return"No"}else{return"Yes"}}}}]},createAssignmentGrid:function(){if(isRoleGroup("1")){this.assignmentGrid=new Wtf.grid.GridPanel({store:this.assignmentStore,cm:this.assignmentCM,border:false,plugins:this.assignmentexpander,loadMask:{msg:"Loading..."},view:new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true}),viewConfig:{forceFit:true}})}else{this.assignmentGrid=new Wtf.grid.GridPanel({tbar:["Type:",this.typeFieldCombo,"Month-Year:",this.monthDate,this.submitBtn,this.filterBtn],store:this.assignmentStore,cm:this.assignmentCM,border:false,plugins:this.assignmentexpander,loadMask:{msg:"Loading..."},view:new Wtf.grid.GroupingView({forceFit:true,showGroupName:false,enableGroupingMenu:false,hideGroupedColumn:true}),viewConfig:{forceFit:true}})}this.assignmentGrid.on("rowclick",this.assignmentGridRowClicked,this)},assignmentUI:function(){var A=[this.assignmentLP=new Wtf.common.KWLListPanel({region:"center",title:"Assignment List",border:false,split:true,autoLoad:false,layout:"fit",bodyStyle:"background:transparent;",paging:false,tbar:this.AssignmentLPTBar(),bbar:this.assPageToolBar=this.faculty?[{text:"New",id:"facnewass"+this.id,hidden:!isRealRoles("9"),scope:this,handler:function(B,C){this.createNewAssignment({"modulerunid":this.moduleid,"mode":"0","owner":"1"})}},"-",{text:"Edit",disabled:true,id:"faceditass"+this.id,scope:this,handler:function(){this.createNewAssignment({"modulerunid":this.moduleid,"mode":"1","owner":this.assignmentGrid.getSelectionModel().getSelected().get("owner")})}},"-",{text:"Delete",disabled:true,id:"delass"+this.id,scope:this,handler:function(){Wtf.Msg.show({title:"Delete Assignment?",msg:"Are you sure you want to delete selected assignment ?",buttons:Wtf.Msg.YESNO,scope:this,fn:function(B,C){if(B=="yes"){Wtf.Ajax.request({method:"POST",url:"jspfiles/admin/assignment.jsp",params:({action:27,modulerunid:this.moduleid,assignid:this.assignmentGrid.getSelectionModel().getSelected().get("assignmentid")}),scope:this,success:function(D,E){var F=Wtf.decode(D.responseText);if(F.flag=="1"){Wtf.Msg.alert("Alert","Assignment could not be deleted due to dependency",function(G){},this)}else{if(F.flag=="2"){Wtf.Msg.alert("Alert","Assignment could not be deleted as marks are assigned to students.",function(G){},this)}else{this.assignmentStore.reload();Wtf.Msg.alert("Alert","Assignment deleted successfully",function(G){},this)}}this.disableBbarBttns()},failure:function(D,E){Wtf.Msg.alert("Error","Error connecting to server",function(F){},this);this.disableBbarBttns()}})}},icon:Wtf.MessageBox.QUESTION})}},"-",{text:"Upload Assignment",disabled:true,id:"facuploadfile"+this.id,scope:this,handler:function(){this.uploadFile()}},"-",{text:"Notify",scope:this,disabled:true,id:"notify"+this.id,handler:function(){Wtf.Ajax.request({method:"POST",url:"jspfiles/admin/assignment.jsp",params:({action:3,"modulerunid":this.moduleid,assignid:this.assignmentGrid.getSelectionModel().getSelected().get("assignmentid"),subtype:this.assignmentGrid.getSelectionModel().getSelected().get("subtype"),mode:0}),scope:this,success:function(B,C){Wtf.Msg.alert("Alert","Successfully notified students",function(D){},this)},failure:function(B,C){Wtf.Msg.alert("Error","Error connecting to server",function(D){},this)}})}},"-",{text:"Notify non-submission",scope:this,id:"notifynonsub"+this.id,disabled:true,handler:function(){Wtf.Ajax.request({method:"POST",url:"jspfiles/admin/assignment.jsp",params:({action:3,modulerunid:this.moduleid,assignid:this.assignmentGrid.getSelectionModel().getSelected().get("assignmentid"),subtype:this.assignmentGrid.getSelectionModel().getSelected().get("subtype"),mode:1}),scope:this,success:function(B,C){Wtf.Msg.alert("Alert","Successfully notified students",function(D){},this)},failure:function(B,C){Wtf.Msg.alert("Error","Error connecting to server",function(D){},this)}})}}]:this.pg=new Wtf.PagingSearchToolbar({pageSize:15,displayMsg:"Displaying assignments {0} - {1} of {2}",emptyMsg:"No assignemnts to display",searchField:this.quickSearchTF,scope:this,id:"assignpageTB"+this.id,store:this.assignmentStore,plugins:this.pP=new Wtf.common.pPageSize({id:"pPageSizeAssign_"+this.id})}),items:this.assignmentGrid}),this.descriptionLP=new Wtf.common.KWLListPanel({title:this.faculty?"Submissions":"Description",region:this.faculty?"east":"south",border:false,split:true,autoLoad:false,layout:"fit",tbar:this.faculty?this.DescriptionLPTBar():null,bbar:this.subPageToolBar=this.faculty?new Wtf.PagingSearchToolbar({pageSize:20,id:"subpageTB"+this.id,searchField:this.quickSearchTFSub,store:this.submissionCheckedStore,scope:this,plugins:this.pP1=new Wtf.common.pPageSize({id:"pPageSizeSub_"+this.id}),items:[{text:"Download Assignments",scope:this,disabled:true,id:"downloadass"+this.id,handler:function(){var C=this.submissionGrid.getSelectionModel().getSelections();var E="";var D="";for(var B=0;B<C.length;B++){E+=C[B].json.id+"_";D+=C[B].json.ext+"_"}E=E.substring(0,E.length-1);D=D.substring(0,D.length-1);setDldUrl("fileDownload.jsp?modulerunid="+this.moduleid+"&assignmentid="+this.assignmentGrid.getSelectionModel().getSelections()[0].get("assignmentid")+"&subtype="+this.assignmentGrid.getSelectionModel().getSelected().get("subtype")+"&dtype=attachment&type=ass&roleid="+roleid+"&studentid="+E);this.submissionCheckedStore.load({params:{start:this.subPageToolBar.cursor,limit:this.pP1.combo.value}})}}]}):null,bodyStyle:"background:transparent;",paging:false,items:this.faculty?this.submissionGrid:null,autoScroll:true})];this.innerPanel=new Wtf.Panel({border:false,layout:"border",bodyStyle:"background:transparent;",items:A});this.innerPanel.addListener("resize",this.innerPanelResize,this)},innerPanelResize:function(C,A,B){if(this.faculty){this.descriptionLP.setWidth(A*50/100)}else{this.descriptionLP.setHeight(B*35/100)}this.innerPanel.doLayout()},createSubmissionGrid:function(){this.submissionGrid=new Wtf.grid.GridPanel({store:this.submissionCheckedStore,cm:this.submissionCM,sm:this.submissionSM,border:false,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}})},assignmentRender:function(E,C,A,F,D,B){return"<b>"+E+"</b>"},AssignmentLPTBar:function(){var A=["Quick Search: ",this.quickSearchTF=new Wtf.KWLTagSearch({field:"assignmentname"})];if(!this.faculty){A.push("-");A.push({text:"New Assignments",enableToggle:true,id:"newAss",toggleGroup:"studenttoggle"+this.id,pressed:true,scope:this,handler:function(){this.statusFlag=true;this.assignmentCM.setConfig(this.createAssignmentCM(true));this.assignmentGrid.store=this.assignmentStore;this.assignmentGrid.getView().refresh();this.assPageToolBar.bind(this.assignmentStore);this.quickSearchTF.StorageChanged(this.assignmentStore);this.assignmentStore.load({params:{start:0,limit:this.pP.combo.value}})}});A.push("-");A.push({text:"Submitted Assignments",enableToggle:true,toggleGroup:"studenttoggle"+this.id,scope:this,pressed:false,handler:function(){this.statusFlag=false;this.assignmentCM.setConfig(this.createAssignmentCM(false));this.assignmentGrid.store=this.assignmentSubStore;this.assignmentGrid.getView().refresh();this.assPageToolBar.bind(this.assignmentSubStore);this.quickSearchTF.StorageChanged(this.assignmentSubStore);this.assignmentSubStore.load({params:{start:0,limit:this.pP.combo.value}})}})}else{A.push("-");A.push({text:"Import Assignments",scope:this,pressed:false,handler:function(){var B=new Wtf.Window({id:"importAssignment",modal:true,border:false,height:500,width:500,title:"Assignment Bank",layout:"border",items:[{region:"north",border:false,height:75,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.png","Import Assignments","Enter assignment details")},{region:"center",border:false,layout:"fit",bodyStyle:"background:#f1f1f1;font-size:10px;border-bottom:1px solid #bfbfbf;",items:[this.sendForm=new Wtf.form.FormPanel({waitMsgTarget:true,method:"POST",border:false,labelWidth:120,height:150,bodyStyle:"margin: 10px 0 0 10px;font-size : 10px;",defaults:{width:200},defaultType:"textfield",items:[this.impType=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{assname}" class="x-combo-list-item">{assname}</div></tpl>',fieldLabel:"Type*",hiddenName:"type",store:this.assTypeStore,readOnly:true,displayField:"assname",valueField:"asstypeid",mode:"local",triggerAction:"all",emptyText:"Select a type...",allowBlank:false,blankText:"Click to select an assignment type"}),this.impDate=new Wtf.form.DateField({fieldLabel:"Due Date*",format:Wtf.getDateFormat(),allowBlank:false}),this.impSubType=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{type}" class="x-combo-list-item">{type}</div></tpl>',fieldLabel:"Submission Type*",hiddenName:"subtype",store:this.subTypeStore,readOnly:true,displayField:"type",valueField:"id",mode:"local",triggerAction:"all",emptyText:"Select a type...",allowBlank:false,blankText:"Click to select Submission type"})]})]},{region:"south",layout:"fit",height:300,border:false,items:[this.abg=new Wtf.assignmentBankGrid({border:false,layout:"fit",mode:2,type:1,modulerunid:this.moduleid,asstype:this.impType,duedate:this.impDate,subtype:this.impSubType,obj:this.sendForm})]}]});this.abg.on("refreshassignmentgrid",function(){this.assignmentStore.reload()},this);B.show()}})}return A},DescriptionLPTBar:function(){return["Quick Search: ",this.quickSearchTFSub=new Wtf.KWLTagSearch({field:"name"}),"-",{text:"Submitted Assignments",id:"subBttn",enableToggle:true,toggleGroup:"facultytoggle"+this.id,pressed:true,scope:this,handler:function(){this.submissionCM.setConfig(this.createSubmissionCM(false));this.submissionGrid.store=this.submissionCheckedStore;this.submissionGrid.getView().refresh();this.subPageToolBar.bind(this.submissionCheckedStore);this.quickSearchTFSub.StorageChanged(this.submissionCheckedStore);if(this.assignmentGrid.getSelectionModel().hasSelection()){this.submissionCheckedStore.load({params:{start:0,limit:this.pP1.combo.value}})}}},"-",{text:"Pending Assignments",enableToggle:true,id:"penBttn",toggleGroup:"facultytoggle"+this.id,pressed:false,scope:this,handler:function(){Wtf.getCmp("downloadass"+this.id).disable();this.submissionCM.setConfig(this.createSubmissionCM(true));this.submissionGrid.store=this.submissionUncheckedStore;this.submissionGrid.getView().refresh();this.subPageToolBar.bind(this.submissionUncheckedStore);this.quickSearchTFSub.StorageChanged(this.submissionUncheckedStore);var A=this.assignmentGrid.getSelectionModel().getSelected();if(this.assignmentGrid.getSelectionModel().hasSelection()&&A.get("submitable")==1){this.submissionUncheckedStore.load({params:{start:0,limit:this.pP1.combo.value}})}}}]},createNewAssignment:function(A){this.newAssignmentWin=new Wtf.Window({title:A.mode=="1"?"Edit Assignment":"Add Assignment",closable:true,modal:true,iconCls:"win",width:400,height:400,resizable:false,buttonAlign:"center",buttons:[{text:A.mode=="1"?"Edit":"Create",scope:this,tooltip:A.mode=="1"?"Edit Assignment":"Create Assignment",handler:function(){var E=this.monthDateWin.getValue();if(E){E=new Date(E);var F=E.getFullYear();var D=E.getMonth()+1;var B=(D<10)?"0"+D:D}this.appdateAss=F+"-"+B+"-01";if(this.sendForm.form.isValid()){var C=this.dateField.getRawValue();this.sendForm.form.submit({waitMsg:"Loading...",scope:this,params:{modulerunid:this.moduleid,mode:2,flag:A.mode=="1"?2:0,date:A.mode=="1"?Wtf.modifyDateFmt(C,Wtf.getDateFormat(),"Y-m-j"):"",isPO:isRealRoles("9"),appdate:this.appdateAss},failure:function(H,G){Wtf.MessageBox.show({title:"Failure",msg:A.mode=="1"?"Problem occurred while editing assignment":"Problem occurred while creating assignment",buttons:Wtf.MessageBox.OK,scope:this,fn:function(){this.newAssignmentWin.close();this.disableBbarBttns()},icon:Wtf.MessageBox.INFO})},success:function(H,G){Wtf.MessageBox.show({title:"Success",msg:A.mode=="1"?"Assignment edited successfully":"Assignment created successfully",buttons:Wtf.MessageBox.OK,scope:this,fn:function(){this.newAssignmentWin.close();this.disableBbarBttns()},icon:Wtf.MessageBox.INFO});this.assignmentStore.load()}})}}},{text:"Cancel",scope:this,tooltip:"Cancel & Close Window.",handler:function(){this.newAssignmentWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:getHeader("images/createuser.gif",A.mode=="1"?"Edit Assignment":"Add Assignment",A.mode=="1"?"Edit a Assignment":"Add a new assignment.")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size:10px;border-bottom:1px solid #bfbfbf;",layout:"fit",items:[this.sendForm=new Wtf.form.FormPanel({url:"jspfiles/student/gradeBook.jsp",waitMsgTarget:true,method:"POST",border:false,labelWidth:120,height:150,bodyStyle:"margin: 10px 0 0 10px;font-size : 10px;",defaults:{width:200},defaultType:"textfield",items:[this.nameField=new Wtf.form.TextField({fieldLabel:"Assignment Name*",name:"name",disabled:A.mode=="1"?true:false,allowBlank:false,maxLength:50,value:A.mode=="1"?this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentname:"",validator:function(B){if(B.search("/")==-1){return true}else{return"Assignment name should not contain a /"}}}),this.typeField=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{assname}" class="x-combo-list-item">{assname}</div></tpl>',fieldLabel:"Type*",disabled:A.mode=="1"?true:false,hiddenName:"type",store:this.assTypeStore,displayField:"assname",valueField:"asstypeid",mode:"local",triggerAction:"all",emptyText:"Select a type...",allowBlank:false,blankText:"Click to select an assignment type"}),this.dateField=new Wtf.form.DateField({fieldLabel:"Due Date*",format:Wtf.getDateFormat(),disabled:isRealRoles("9"),allowBlank:false,value:A.mode=="1"?this.assignmentGrid.getSelectionModel().getSelections()[0].json.subdate:""}),this.monthDateWin=new Wtf.MonthField({fieldLabel:"Month-Year*",name:"appdateone",noPastYears:false,allowBlank:false,disabled:A.mode=="1"?true:false,value:A.mode=="1"?this.assignmentGrid.getSelectionModel().getSelections()[0].json.appdatestring:""}),new Wtf.form.TextArea({fieldLabel:"Description*",height:80,allowBlank:false,maxLength:1024,name:"desc",readOnly:(isRoleGroup("4")||Wtf.realroles.indexOf("9")>-1)?false:(A.owner=="1"?false:true),value:A.mode=="1"?this.assignmentGrid.getSelectionModel().getSelections()[0].json.description:""}),this.subType=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{type}" class="x-combo-list-item">{type}</div></tpl>',fieldLabel:"Submission Type*",hiddenName:"subtype",store:this.subTypeStore,readOnly:true,displayField:"type",valueField:"id",mode:"local",triggerAction:"all",emptyText:"Select a type...",allowBlank:false,blankText:"Click to select Submission type"}),new Wtf.form.Hidden({name:"assignmentid",value:A.mode=="1"?this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentid:""})]})]}]});this.newAssignmentWin.show();if(A.mode=="1"){this.assTypeStore.on("load",function(B){this.typeField.setValue(this.assignmentGrid.getSelectionModel().getSelections()[0].json.type)},this);this.assTypeStore.load({params:{action:12,modulerunid:this.moduleid,type:1}});this.subType.setValue(this.assignmentGrid.getSelectionModel().getSelections()[0].json.subtype)}else{this.assTypeStore.load({params:{action:12,modulerunid:this.moduleid,type:1}})}},assignmentGridRowClicked:function(A,B,C){this.assignmentGrid.getSelectionModel().selectRow(B,false);if(this.assignmentGrid.getSelectionModel().getSelections()[0].json.id==null){if(!this.faculty){this.descriptionTpl.overwrite(this.descriptionLP.el.dom.firstChild.nextSibling.firstChild,this.assignmentGrid.getSelectionModel().getSelections()[0]);if(C.getTarget().className=="down-assignment-img"){setDldUrl("fileDownload.jsp?modulerunid="+this.moduleid+"&assignmentid="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentid+"&dtype=attachment&assignmentname="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentname+"&ext="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.ext+"&type=ass&roleid="+roleid)}else{if(C.getTarget().className=="down-studassignment-img"){setDldUrl("fileDownload.jsp?modulerunid="+this.moduleid+"&assignmentid="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentid+"&dtype=attachment&ext="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.extn+"&type=studDwld&roleid="+roleid+"&sid="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.sid+"&subtype="+this.assignmentGrid.getSelectionModel().getSelections()[0].json.subtype)}else{if(C.getTarget().className=="up-assignment-img"){Wtf.Ajax.requestEx({method:"POST",url:"jspfiles/student/submitAssignment.jsp",params:({flag:2,modulerunid:this.moduleid,assignid:this.assignmentGrid.getSelectionModel().getSelected().get("assignmentid")})},this,function(E,F){var G=Wtf.decode(E);if(G.flag==0){this.uploadFile()}else{Wtf.MessageBox.show({title:"Submit Assignment",msg:"Are you sure you want to submit the assignment after due date",buttons:Wtf.MessageBox.YESNO,icon:Wtf.MessageBox.WARNING,scope:this,fn:function(H){if(H=="yes"){this.uploadFile()}}})}},function(E,F){msgBoxShow(["Alert","Operation Failed"],Wtf.MessageBox.INFO)})}}}}else{var D=this.assignmentGrid.getSelectionModel().getSelected();if(this.assignmentGrid.getSelectionModel().getSelections().length>0&&D.get("submitable")==1){this.submissionUncheckedStore.baseParams={assignmentid:this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentid,subtype:this.assignmentGrid.getSelectionModel().getSelections()[0].json.subtype,modulerunid:this.moduleid,mode:"0"};this.submissionUncheckedStore.load({params:{start:0,limit:this.pP1.combo.value}});this.submissionCheckedStore.baseParams={assignmentid:this.assignmentGrid.getSelectionModel().getSelections()[0].json.assignmentid,subtype:this.assignmentGrid.getSelectionModel().getSelections()[0].json.subtype,modulerunid:this.moduleid,mode:"1"};this.submissionCheckedStore.load({params:{start:0,limit:this.pP1.combo.value}});if(this.assignmentGrid.getSelectionModel().getSelections()[0].get("owner")=="1"||isRealRoles("9")){Wtf.getCmp(this.assPageToolBar[6].id).enable()}else{if(!isRealRoles("9")){Wtf.getCmp(this.assPageToolBar[6].id).disable()}}Wtf.getCmp(this.assPageToolBar[2].id).enable();Wtf.getCmp(this.assPageToolBar[4].id).enable();Wtf.getCmp(this.assPageToolBar[8].id).enable();Wtf.getCmp(this.assPageToolBar[10].id).enable()}}}},uploadFile:function(check){if(this.assignmentGrid.getSelectionModel().getSelections()[0].get("subtype")=="1"){this.teamListStore=new Wtf.data.JsonStore({root:"data",fields:["teamid","teamname"],url:"jspfiles/admin/assignment.jsp"});this.teamListStore.load({params:{action:26,moduleid:this.moduleid}});this.teamListStore.on("load",function(){if(this.teamListStore.getCount()>0){this.teamlist.setValue(this.teamListStore.getAt(0).data["teamid"])}},this)}this.newUploadWin=new Wtf.Window({title:(isRoleGroup("1")||roleid=="45")?"Submit Assignment":"Upload Assignment File",closable:true,modal:true,iconCls:"win",width:400,height:230,resizable:false,buttonAlign:"right",buttons:[{text:"Upload",scope:this,handler:function(){if(this.newUploadWin.buttons[0].getText()=="Upload"){this.newUploadWin.buttons[0].disable();this.newUploadWin.buttons[0].setText("OK");this.newUploadWin.buttons[1].disable();this.fileUploadForm.form.submit({scope:this,params:{check:"faculty",teamid:this.teamlist.getValue(),isPO:isRealRoles("9")},failure:function(frm,action){this.uploadbar.reset();this.uploadbar.updateText("Error Submitting...");this.newUploadWin.buttons[0].enable();this.newUploadWin.buttons[1].enable();if(!isRoleGroup("1")&&!roleid=="45"){this.disableBbarBttns()}},success:function(frm,action){var respObj=eval("("+action.response.responseText+")");this.uploadbar.reset();this.uploadbar.updateProgress(respObj.data[0].msg=="true"?1:0,respObj.data[0].msg);this.newUploadWin.buttons[0].enable();this.newUploadWin.buttons[1].enable();if((isRoleGroup("1")||roleid=="45")){this.assignmentStore.load({params:{start:0,limit:this.pP.combo.value}});this.assignmentSubStore.load({params:{start:0,limit:this.pP.combo.value}})}else{this.assignmentStore.reload();this.disableBbarBttns()}}});this.fileUploadForm.hide();this.uploadbar.show();this.uploadbar.wait()}else{this.newUploadWin.close()}}},{text:"Cancel",scope:this,handler:function(){this.newUploadWin.close()}}],layout:"border",items:[{region:"north",height:75,border:false,bodyStyle:"background:white;border-bottom:1px solid #bfbfbf;",html:(isRoleGroup("1")||roleid=="45")?getHeader("images/upload52.gif","Submit Assignment File","Upload your assignment file to be submitted."):getHeader("images/upload52.gif","Upload Assignment File","Upload assignment file for the students to view.")},{region:"center",border:false,bodyStyle:"background:#f1f1f1;font-size : 10px;padding:20px 20px 20px 20px;",layout:"fit",items:[{border:false,bodyStyle:"background:transparent;",layout:"fit",items:[this.fileUploadForm=new Wtf.form.FormPanel({url:(isRoleGroup("1")||roleid=="45")?"jspfiles/student/submitAssignment.jsp?flag=1":"jspfiles/faculty/uploadAssignmentFile.jsp",waitMsgTarget:true,method:"POST",border:false,fileUpload:true,bodyStyle:"font-size:10px;",labelWidth:100,defaultType:"textfield",items:[{fieldLabel:"Assignment File",inputType:"file",id:"fileinput"+this.id,name:"filepath"},this.teamlist=new Wtf.form.ComboBox({tpl:'<tpl for="."><div wtf:qtip="{teamname}" class="x-combo-list-item">{teamname}</div></tpl>',fieldLabel:"Team*",hiddenName:"team",hidden:(isRoleGroup("1")||roleid=="45")?false:true,hideLabel:(isRoleGroup("1")||roleid=="45")?false:true,store:this.teamListStore,readOnly:true,displayField:"teamname",disabled:true,valueField:"teamid",mode:"local",triggerAction:"all",emptyText:"Select a team...",allowBlank:false,blankText:"Click to select a team"}),new Wtf.form.Hidden({name:"assignmentid",value:this.assignmentGrid.getSelectionModel().getSelections()[0].get("assignmentid")}),new Wtf.form.Hidden({name:(isRoleGroup("1")||roleid=="45")?"studentid":"assignmentname",value:(isRoleGroup("1")||roleid=="45")?this.assignmentGrid.getSelectionModel().getSelections()[0].json.id:this.assignmentGrid.getSelectionModel().getSelections()[0].get("assignmentname")}),new Wtf.form.Hidden({name:"modulerunid",value:this.moduleid}),new Wtf.form.Hidden({name:"subtype",value:this.assignmentGrid.getSelectionModel().getSelections()[0].get("subtype")}),new Wtf.form.Hidden({name:"appdate",value:(this.assignmentGrid.getSelectionModel().getSelections()[0].get("appdate")!=""&&this.assignmentGrid.getSelectionModel().getSelections()[0].get("appdate")!=undefined&&this.assignmentGrid.getSelectionModel().getSelections()[0].get("appdate")!=null)?this.assignmentGrid.getSelectionModel().getSelections()[0].get("appdate").format("Y-m-d"):" "})]}),this.uploadbar=new Wtf.ProgressBar({text:"Submitting ...",id:"uploadfile"+this.id,hidden:true})]}]}]});if((isRoleGroup("1")||roleid=="45")){if(this.assignmentGrid.getSelectionModel().getSelections()[0].get("subtype")=="1"){this.teamlist.enable()}}this.newUploadWin.show()},disableBbarBttns:function(){Wtf.getCmp(this.assPageToolBar[2].id).disable();Wtf.getCmp(this.assPageToolBar[4].id).disable();Wtf.getCmp(this.assPageToolBar[6].id).disable();Wtf.getCmp(this.assPageToolBar[8].id).disable();Wtf.getCmp(this.assPageToolBar[10].id).disable()}});Wtf.AdministratorPanel=function(B){Wtf.apply(this,B);var A=Array();if(checktabperms(5,13)){if(Wtf.realroles.indexOf("9")>-1){A.push(["admin_moduleReg","Articleship / PPP Registration","launch"]);A.push(["admin_moduleWithdrawal","Articleship / PPP Withdrawal","launch"]);A.push(["admin_moduleWithdrawalhis","Articleship / PPP Withdrawal History","launch"])}else{A.push(["admin_moduleReg","Module Registration","launch"])}}if(checktabperms(1,6)||checktabperms(1,25)||checktabperms(3,6)){A.push(["admin_examReg","Exam Registration","launch"])}if(checktabperms(3,16)){A.push(["admin_examVenueAlloc","Exam Venue Allocation","launch"])}if(checktabperms(3,17)){A.push(["admin_classReg","Class Registration","launch"])}if(checktabperms(1,5)){A.push(["admin_courseReg","Course Registration","launch"])}if(checktabperms(1,28)){A.push(["admin_auditReg","Audit Registration","launch"])}if(checktabperms(1,9)){A.push(["admin_exemptionApp","Exemption Applications","launch"])}if(checktabperms(3,2)||checktabperms(3,3)||checktabperms(3,4)||checktabperms(3,9)||checktabperms(3,12)||checktabperms(3,13)){A.push(["admin_classroom","Classroom","launch"])}if(checktabperms(1,29)){A.push(["admin_exam","Exam","launch"])}if(checktabperms(5,10)){A.push(["admin_sabbatical","Sabbatical Request","launch"])}if(checktabperms(1,20)||checktabperms(1,23)||checktabperms(1,24)){A.push(["admin_facultylist","Faculty List","launch"])}if(checktabperms(1,30)){A.push(["admin_dissertation","Dissertation/Thesis","launch"])}if(checktabperms(5,11)){A.push(["admin_fullpartrequest","Full time/Part time Requests","launch"])}this.adminStore=new Wtf.data.SimpleStore({fields:["id","name","status"],data:A});this.adminCmodel=new Wtf.grid.ColumnModel([new Wtf.grid.RowNumberer(),{header:"Tabs",width:150,dataIndex:"name"},{header:"Launch",dataIndex:"status",width:18,sortable:true,renderer:function(G,E,C,H,F,D){return"<img id='AcceptImg' class='adminadd'   src='images/forward.png' title='Launch tab'></img>"}}]);this.grid=new Wtf.grid.GridPanel({store:this.adminStore,cm:this.adminCmodel,viewConfig:{forceFit:true}});this.items=this.grid;this.layout="fit";this.grid.on("cellclick",this.CreateAdminTabs,this);Wtf.AdministratorPanel.superclass.constructor.call(this,B)};Wtf.extend(Wtf.AdministratorPanel,Wtf.Panel,{initComponent:function(){Wtf.AdministratorPanel.superclass.initComponent.call(this);this.addEvents({"tabready":true})},onRender:function(A){Wtf.AdministratorPanel.superclass.onRender.call(this,A)},CreateAdminTabs:function(E,F,A,D){var C=D;var G=this.adminStore.getAt(F).data.id;if(C.getTarget("img[class='adminadd']")){if(!Wtf.getCmp(G+this.id)){var B=null;if(G=="admin_moduleReg"){B=new Wtf.Panel({layout:"fit",title:(Wtf.realroles.indexOf("9")>-1)?"Articleship / PPP Registration":"Module Registration",id:G,border:false,closable:true,items:new Wtf.WtfNewModule({id:"moduleApp"})})}else{if(G=="admin_moduleWithdrawal"){B=new Wtf.Panel({layout:"fit",title:"Articleship / PPP Withdrawal",id:G,border:false,closable:true,items:new Wtf.WtfNewCourseBursar({id:"powithdrawal"})})}else{if(G=="admin_moduleWithdrawalhis"){B=new Wtf.Panel({layout:"fit",title:"Articleship / PPP Withdrawal History",id:G,border:false,closable:true,items:new Wtf.WtfNewPOHistory({id:"pohistory"})})}else{if(G=="admin_examReg"){B=new Wtf.Panel({layout:"fit",title:"Exam Registration",closable:true,border:false,id:G,items:new Wtf.WtfNewCourse({id:"examApp"})})}else{if(G=="admin_examVenueAlloc"){B=new Wtf.Panel({layout:"fit",title:"Exam Venue Allocation",closable:true,border:false,id:G,items:new Wtf.WtfExamVenue({id:"examVenue"})})}else{if(G=="admin_classReg"){B=new Wtf.Panel({layout:"fit",title:"Class Registration",closable:true,border:false,id:G,items:new Wtf.WtfNewTutApp({id:"tutApp"})})}else{if(G=="admin_courseReg"){B=new Wtf.Panel({layout:"fit",title:"Course Registration",closable:true,border:false,id:G,items:new Wtf.WtfCourseReg({id:"form"+this.id,layout:"fit",border:false})})}else{if(G=="admin_auditReg"){B=new Wtf.Panel({layout:"fit",title:"Audit Registration",closable:true,border:false,id:G,items:new Wtf.WtfNewAuditApp({id:"auditApp"})})}else{if(G=="admin_exemptionApp"){B=new Wtf.Panel({layout:"fit",title:"Exemption Applications",closable:true,border:false,id:G,items:new Wtf.WtfCourseExempt({id:"userexemptApp"})})}else{if(G=="admin_classroom"){B=new Wtf.Panel({layout:"fit",title:"Classroom",closable:true,border:false,id:G,items:new Wtf.WtfNewClass({})})}else{if(G=="admin_exam"){B=new Wtf.Panel({layout:"fit",title:"Exam",closable:true,border:false,id:G,items:new Wtf.WtfExams({})})}else{if(G=="admin_sabbatical"){B=new Wtf.Panel({layout:"fit",title:"Sabbatical Request",closable:true,border:false,id:G,items:new Wtf.facSab({})})}else{if(G=="admin_facultylist"){B=new Wtf.Panel({layout:"fit",title:"Faculty List",closable:true,border:false,id:G,items:new Wtf.DepartmentPanel({})})}else{if(G=="admin_dissertation"){B=new Wtf.Panel({layout:"fit",title:"Dissertation/Thesis",closable:true,border:false,id:G,items:new Wtf.disGrade({id:"disgrade"+this.id,moduleid:-2,HOD:false})})}else{if(G=="admin_fullpartrequest"){B=new Wtf.Panel({layout:"fit",title:"Full time/Part time Requests",closable:true,border:false,id:G,items:new Wtf.fulltimereq({id:"fulltime"+this.id})})}}}}}}}}}}}}}}}this.ownerCt.add(B)}this.ownerCt.setActiveTab(G);this.ownerCt.doLayout()}}});Wtf.onReady(function(){var A=facultyTabs[0];facultyTabs.remove(A);if(isRoleGroup("2")&&Wtf.realroles.indexOf("9")==-1){var B=new Wtf.TabPanel({id:facultyTabs.id,activeTab:0,enableTabScroll:true,bodyStyle:"background:transparent;",items:[new Wtf.facSab({title:"Sabbatical Request"})]})}else{var B=new Wtf.TabPanel({id:facultyTabs.id,deferredRender:false,activeTab:0,enableTabScroll:true,bodyStyle:"background:transparent;",items:[new Wtf.AdministratorPanel({id:"administratorList",title:"Administrator Options"})]})}A.add(B);A.doLayout()})