function changeseq(E,B){var D=Wtf.getCmp("mastergrid").getStore();var G=D.find("seq",E);var F=E;if(G>-1){if(B=="1"){E++}else{if(B=="0"){E--}}var C=D.getAt(G);var H=D.find("seq",E);if(H>-1){var A=D.getAt(H);D.remove(C);D.remove(A);if(B=="0"){D.insert(H,C);D.insert(G,A)}else{if(B=="1"){D.insert(G,A);D.insert(H,C)}}C.set("seq",E);A.set("seq",F)}}}function andortoggle(E){var A=Wtf.getCmp("mastergrid").getStore();var B=A.find("ruleid",E);var C=A.getAt(B);var D=document.getElementById(E).innerHTML;if(D=="And"){C.set("rule","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=javascript:void(0) id='"+E+"' onclick=andortoggle('"+E+"')>Or</a>")}else{if(D=="Or"){C.set("rule","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=javascript:void(0) id='"+E+"' onclick=andortoggle('"+E+"')>And</a>")}}}Wtf.prereq=function(A){Wtf.apply(this,A);this.createLCenterWindow=null;this.sendForm=null;this.groupingView=new Wtf.grid.GroupingView({forceFit:true});this.sm=new Wtf.grid.CheckboxSelectionModel();this.cmodel=new Wtf.grid.ColumnModel([{header:"Course",width:150,dataIndex:"modulename"},{header:"Rule Name",dataIndex:"name"},{header:"Rule Type",width:75,dataIndex:"ruletype",renderer:this.typeRenderer},{header:"Rule",dataIndex:"rule"}]);this.cmodel.defaultSortable=true;this.gridRecord=Wtf.data.Record.create([{name:"ruleid",type:"string"},{name:"courseid",type:"string"},{name:"modulename",type:"string"},{name:"ruletype",type:"string"},{name:"rule",type:"string"},{name:"name",type:"string"},{name:"attributeid",type:"string"},{name:"value1",type:"string"},{name:"value2",type:"string"}]);this.gridReader=new Wtf.data.KwlJsonReader({root:"data",totalProperty:"count",remoteGroup:true,remoteSort:true},this.gridRecord);this.gridGroupStore=new Wtf.data.GroupingStore({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/acastructure.jsp"}),reader:this.gridReader,sortInfo:{field:"modulename",direction:"ASC"},groupField:"modulename"});this.grid=new Wtf.grid.GridPanel({ds:this.gridGroupStore,cm:this.cmodel,border:false,layout:"fit",enableColumnHide:false,view:this.groupingView,sm:this.sm,trackMouseOver:true,loadMask:{msg:"Loading..."},viewConfig:{forceFit:true}});this.programRecord=Wtf.data.Record.create([{name:"modulename",type:"string"},{name:"moduleid",type:"string"},{name:"courseid",type:"string"}]);this.programReader=new Wtf.data.JsonReader({root:"data"},this.programRecord);this.programStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.programReader});this.courseStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/newCourse.jsp"}),reader:this.programReader});this.programStore.on("load",function(B,D){for(var C=0;C<B.getCount();C++){this.courseStore.add(D[C])}},this);this.programComboItem=new Wtf.form.ComboBox({triggerAction:"all",store:this.programStore,mode:"local",width:250,listWidth:"250",typeAhead:true,forceSelection:true,displayField:"modulename",fieldLabel:"Course*",hiddenName:"moduleid",allowBlank:false,valueField:"moduleid",emptyText:"Select a Course"});this.programComboItem.on("select",function(B){if(this.courseCmb.getValue()==B.getValue()){this.courseCmb.reset()}},this);this.ruleName=new Wtf.form.TextField({allowBlank:false,fieldLabel:"Value",width:250});this.chkbox=new Wtf.form.Checkbox({fieldLabel:"Display in application form"});this.ruleTypeStore=new Wtf.data.SimpleStore({fields:["abbr","ruletype"],data:[["1","Exact"],["2","Range"]]});this.ruleTypeCombo=new Wtf.form.ComboBox({triggerAction:"all",store:this.ruleTypeStore,mode:"local",width:250,listWidth:"250",displayField:"ruletype",fieldLabel:"Rule Type*",valueField:"abbr",hiddenName:"ruletype",emptyText:"Select rule type",typeAhead:true,forceSelection:true,allowBlank:false});this.courseCmb=new Wtf.form.ComboBox({allowBlank:false,typeAhead:true,forceSelection:true,fieldLabel:"Pre-requisite Course*",emptyText:"Select a course...",valueField:"moduleid",displayField:"modulename",mode:"local",store:this.courseStore,triggerAction:"all",listWidth:"233",width:233});this.courseCmb.on("expand",function(){var B=this.courseStore.find("moduleid",this.programComboItem.getValue());if(B!=-1){this.prevRec=this.courseStore.getAt(B);this.courseStore.remove(this.prevRec)}},this);this.courseCmb.on("collapse",function(){if(this.prevRec){this.courseStore.insert(this.programStore.find("moduleid",this.prevRec.data.moduleid),this.prevRec)}},this);this.attributeRecord=Wtf.data.Record.create([{name:"configid",type:"string"},{name:"fieldname",type:"string"},{name:"configtype",type:"string"}]);this.attributeReader=new Wtf.data.KwlJsonReader({root:"data"},this.attributeRecord);this.attributeStore=new Wtf.data.Store({proxy:new Wtf.data.HttpProxy({url:"jspfiles/admin/LacaStructure.jsp"}),reader:this.attributeReader});this.attributeStore.on("load",function(B){B.add(new this.attributeRecord({configid:"course",fieldname:"Course"}))},this);this.attributetype=new Wtf.form.ComboBox({triggerAction:"all",store:this.attributeStore,mode:"local",width:250,listWidth:"250",displayField:"fieldname",fieldLabel:"Attribute*",valueField:"configid",hiddenName:"configid",emptyText:"Select an Attribute",typeAhead:true,forceSelection:true,allowBlank:false});this.rangeRec=this.ruleTypeStore.getAt(1);this.attributetype.on("select",function(D,C,B){if(this.ruleTypeStore.getCount()>0&&this.ruleTypeStore.find("ruletype","Range")==-1){this.ruleTypeStore.insert(1,this.rangeRec)}if(D.getValue()=="course"){this.courseCmb.reset();this.ruleTypeCombo.getEl().dom.parentNode.parentNode.parentNode.style.display="none";this.courseCmb.getEl().dom.parentNode.parentNode.parentNode.style.display="block";if(this.valuetxt.hidden){this.rangepanel.hide()}else{this.valuetxt.hide()}}else{this.ruleTypeCombo.getEl().dom.parentNode.parentNode.parentNode.style.display="block";this.courseCmb.getEl().dom.parentNode.parentNode.parentNode.style.display="none";this.valuetxt.show()}if(C.get("configtype")!="0"){this.ruleTypeCombo.reset();this.ruleName.reset();this.range1.reset();this.range2.reset();this.rangepanel.hide();if(this.ruleTypeStore.getCount()>0&&this.ruleTypeStore.find("ruletype","Range")==-1){this.ruleTypeStore.insert(1,this.rangeRec)}}else{if(C.get("configtype")=="0"){this.ruleTypeCombo.reset();this.ruleName.reset();this.rangepanel.hide();if(this.ruleTypeStore.getCount()>0&&this.ruleTypeStore.find("ruletype","Range")!=-1){this.ruleTypeStore.remove(this.rangeRec)}}}},this);this.numField=new Wtf.form.NumberField({allowDecimals:false,allowNegative:false,fieldLabel:"Value*",width:160,name:"value",id:"numField"+this.id,allowBlank:false});this.newSuBttn=new Wtf.Toolbar.Button({text:"Submit",tooltip:"Submit the current rule",id:"BtnSubNew"+this.id,scope:this});this.newSuBttn.on("click",this.clickHandle,this);this.rangepanel=new Wtf.Panel({layout:"column",border:false,id:"rangepanel",items:[{layout:"form",border:false,columnWidth:0.22,items:this.range1=new Wtf.form.TextField({allowBlank:false,width:120,fieldLabel:"Range"})},{layout:"fit",columnWidth:0.12,border:false,bodyStyle:"padding-left:10px",labelWidth:0,items:this.range2=new Wtf.form.TextField({allowBlank:false})}]});this.valuetxt=new Wtf.Panel({border:false,layout:"form",items:this.ruleName});this.valuepanel=new Wtf.Panel({id:"valuepanel",border:false,layout:"fit",items:[this.valuetxt,this.rangepanel]});this.NewRuleBttn=new Wtf.Toolbar.Button({text:"New",tooltip:"New rule",id:"BtnNew1"+this.id});this.NewRuleBttn.on("click",this.NewRule,this);this.DeleteBttn=new Wtf.Toolbar.Button({text:"Delete",tooltip:"Delete selected rule",id:"BtnDel"+this.id,scope:this,disabled:true});this.DeleteBttn.on("click",this.deleteMessage,this);Wtf.prereq.superclass.constructor.call(this,{autoDestroy:true,border:false,layout:"border",items:[{title:"Rule",paging:false,autoLoad:false,region:"north",height:180,bodyStyle:"background:#f0f0f0;",border:false,bbar:[this.NewRuleBttn,this.DeleteBttn,this.newSuBttn],layout:"fit",items:[{border:false,layout:"form",bodyStyle:"padding:13px 13px 13px 13px",labelWidth:100,items:[this.programComboItem,this.attributetype,this.ruleTypeCombo,this.valuepanel,this.courseCmb]}]},{title:"Set Rules",paging:false,autoLoad:false,region:"center",layout:"fit",border:false,tbar:["Quick Search: ",this.quickPanelSearch=new Wtf.KWLTagSearch({width:200,field:"programname"}),{text:"Set Rules",handler:this.setRules,tooltip:"Set rules for course",scope:this}],bbar:new Wtf.PagingToolbar({id:"pgTbarModule"+this.id,pageSize:15,searchfield:this.quickPanelSearch,store:this.gridGroupStore,displayInfo:true,displayMsg:"Displaying records {0} - {1} of {2}",emptyMsg:"No results to display",plugins:this.pP3=new Wtf.common.pPageSize({})}),items:this.grid}]});this.gridGroupStore.on("datachanged",function(){var B=this.pP3.combo.value;this.quickPanelSearch.setPage(B);this.quickPanelSearch.StorageChanged(this.gridGroupStore)},this);this.gridGroupStore.on("load",function(B){var C=this.pP3.combo.value;this.quickPanelSearch.setPage(C);this.quickPanelSearch.StorageChanged(B)},this);this.on("render",this.handleRender,this);this.on("show",this.handleshow,this);this.courseCmb.on("render",this.courseCmbRender,this);this.grid.on("rowclick",this.rowClickHandle,this);this.gridGroupStore.on("load",this.handleStoreLoad,this);this.ruleTypeCombo.on("select",this.ruleTypeSelect,this)};Wtf.extend(Wtf.prereq,Wtf.Panel,{handleshow:function(){this.ownerCt.doLayout()},setRules:function(){this.courseRecord=Wtf.data.Record.create([{name:"modulename",type:"string"},{name:"moduleid",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/admin/acastructure.jsp"}),reader:this.courseReader});this.courseStore.load({params:{type:107}});this.courseStore.on("load",function(A){this.courseCombo.setValue(A.getAt(0).get("modulename"));this.masterds.load({params:{type:108,courseid:A.getAt(0).get("moduleid")}})},this);this.courseCombo=new Wtf.form.ComboBox({triggerAction:"all",store:this.courseStore,mode:"local",width:240,listWidth:"240",typeAhead:true,forceSelection:true,displayField:"modulename",fieldLabel:"Course",allowBlank:false,valueField:"moduleid",emptyText:"Select a Course"});this.mastercm=new Wtf.grid.ColumnModel([{header:"Pre-requisites",dataIndex:"rule"},{header:"",dataIndex:"type",width:7,renderer:function(E,C,D,F,B,A){if(E=="0"){return"<image src='images/up.png' onclick=\"changeseq('"+D.get("seq")+"',0)\"/>"}}},{header:"",dataIndex:"type",width:7,renderer:function(E,C,D,F,B,A){if(E=="0"){return"<image src='images/down.png' onclick=\"changeseq('"+D.get("seq")+"',1)\"/>"}}}]);this.masterReader=new Wtf.data.Record.create([{name:"ruleid"},{name:"rule"},{name:"type"},{name:"seq"}]);this.masterds=new Wtf.data.Store({id:"masterstore",url:"jspfiles/admin/acastructure.jsp",reader:new Wtf.data.KwlJsonReader({root:"data"},this.masterReader)});this.masterWin=new Wtf.Window({id:"master"+this.id,title:"Set Rules",layout:"fit",iconCls:"winicon",modal:true,height:400,width:550,scope:this,items:[this.poppanel=new Wtf.Panel({id:"masterpanel"+this.id,layout:"fit",cls:"backcolor",border:false,tbar:[this.courseCombo],items:[this.addmaster=new Wtf.Panel({id:"addmaster"+this.id,layout:"fit",border:false,items:[this.masterGrid=new Wtf.grid.EditorGridPanel({id:"mastergrid",store:this.masterds,cm:this.mastercm,border:false,clicksToEdit:1,viewConfig:{forceFit:true}})]})]})],buttons:[{text:"Save",scope:this,handler:this.saveprereqseq},{text:"Cancel",scope:this,handler:function(){this.masterWin.close()}}]});this.masterWin.show();this.courseCombo.on("select",this.prereqload,this)},saveprereqseq:function(){var C="";var A="";for(var B=0;B<this.masterds.getCount();B=B+2){C+=this.masterds.getAt(B).get("ruleid")+","}C=C.substring(0,C.length-1);for(var B=1;B<this.masterds.getCount();B=B+2){var D=this.masterds.getAt(B).get("rule");D=D.substring(D.indexOf(">")+1,D.lastIndexOf("<"));A+=D+","}A=A.substring(0,A.length-1);Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{type:"109",ruleid:C,andor:A},method:"POST"},this,function(F,E){this.masterWin.close();msgBoxShow(["Success","Rule Set Successfully"],Wtf.MessageBox.INFO)},function(F,E){msgBoxShow(["Success","Error Occurred on server"],Wtf.MessageBox.INFO)})},prereqload:function(C,B,A){this.masterds.load({params:{type:108,courseid:this.courseCombo.getValue()}})},ruleTypeSelect:function(B,C,A){if(this.ruleTypeCombo.getValue()=="1"){this.rangepanel.hide();this.valuetxt.show();this.doLayout()}else{this.valuetxt.hide();this.rangepanel.show();this.doLayout()}},typeRenderer:function(E,C,D,F,B,A){if(E=="1"){return"Exact"}else{if(E=="2"){return"Range"}else{if(E=="3"){return"Qualifies"}}}},handleRender:function(A){this.rangepanel.hide();this.gridGroupStore.baseParams={type:103};this.gridGroupStore.load({params:{start:0,limit:15}});this.programStore.load({params:{type:"allmodules"}});this.attributeStore.load({params:{flag:72,type:"agent"}})},courseCmbRender:function(A){A.getEl().dom.parentNode.parentNode.parentNode.style.display="none";A.removeListener("render",this.courseCmbRender,this)},rowClickHandle:function(A,D,B){var C=this.gridGroupStore.getAt(D);this.ruleid=C.data["ruleid"];this.programComboItem.setValue(C.data["courseid"]);this.attributetype.setValue(C.data["attributeid"]);if(this.attributetype.getValue()=="course"){this.courseCmb.setValue(C.data["value1"]);this.ruleTypeCombo.getEl().dom.parentNode.parentNode.parentNode.style.display="none";this.courseCmb.getEl().dom.parentNode.parentNode.parentNode.style.display="block";if(this.valuetxt.hidden){this.rangepanel.hide()}else{this.valuetxt.hide()}}else{this.ruleTypeCombo.getEl().dom.parentNode.parentNode.parentNode.style.display="block";this.courseCmb.getEl().dom.parentNode.parentNode.parentNode.style.display="none";this.valuetxt.show();this.ruleTypeCombo.setValue(C.data["ruletype"]);if(C.data["ruletype"]=="1"){this.ruleName.setValue(C.data["value1"])}if(C.data["ruletype"]=="2"){this.range1.setValue(C.data["value1"]);this.range2.setValue(C.data["value2"])}this.ruleTypeCombo.fireEvent("select")}this.DeleteBttn.enable();this.programComboItem.disable()},clickHandle:function(obj,e){if(!this.programComboItem.isValid()||!this.attributetype.isValid()||(this.attributetype.getValue()=="course"&&!this.courseCmb.isValid())||(this.attributetype.getValue()!="course"&&!this.ruleTypeCombo.isValid())){return }var value1=" ";var value2=" ";var ruleVal=" ";if(this.attributetype.getValue()=="course"){value1=this.courseCmb.getValue();ruleVal="3"}else{ruleVal=this.ruleTypeCombo.getValue();if(ruleVal=="1"){if(!this.ruleName.isValid()){return }value1=this.ruleName.getValue()}else{if(ruleVal=="2"){if(!this.range1.isValid()||!this.range2.isValid()){return }value1=this.range1.getValue();value2=this.range2.getValue()}}}Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{type:"102",courseid:this.programComboItem.getValue(),attributeid:this.attributetype.getValue(),ruletype:ruleVal,value1:value1,value2:value2,ruleid:this.ruleid},method:"POST"},this,function(resp,req){if(eval("("+resp+")").success=="true"){msgBoxShow(["Success","Rule submitted successfully"],Wtf.MessageBox.INFO)}this.NewRule();this.gridGroupStore.baseParams={type:103};this.gridGroupStore.load({params:{start:0,limit:15}})},function(resp,req){})},getCreditHRData:function(){var A="{data : [";for(var B=0;B<this.CHStore.getCount();B++){var C=this.CHStore.getAt(B);if(B==this.CHStore.getCount()-1){A+='{rule:"'+C.data["rule"]+'",value:"'+C.data["value"]+'"}]}'}else{A+='{rule:"'+C.data["rule"]+'",value:"'+C.data["value"]+'"},'}}return A},getSelectedCourses:function(){var B="";var C=this.courseSM.getSelections();if(C.length>0){for(var D=0;D<C.length;D++){B+=C[D].data.id+","}}if(B.length>0){B=B.substr(0,B.length-1)}var A=B;return A},NewRule:function(B,A){this.ruleid="";this.grid.getSelectionModel().clearSelections();this.programComboItem.enable();this.ruleTypeCombo.enable();this.ruleName.enable();this.attributetype.enable();this.ruleTypeCombo.setValue("1");this.ruleTypeCombo.fireEvent("select");this.programComboItem.setValue("");this.attributetype.setValue("");this.ruleName.setValue("");this.range1.setValue("");this.range2.setValue("");this.programComboItem.clearInvalid();this.attributetype.clearInvalid();this.ruleName.clearInvalid();this.range1.clearInvalid();this.range2.clearInvalid();this.courseCmb.clearInvalid();this.DeleteBttn.disable();this.ruleTypeCombo.getEl().dom.parentNode.parentNode.parentNode.style.display="block";this.courseCmb.getEl().dom.parentNode.parentNode.parentNode.style.display="none"},handleStoreLoad:function(A,C,B){this.quickPanelSearch.StorageChanged(A)},deleteMessage:function(B,A){Wtf.Msg.show({title:"Delete Rule?",msg:"Graduate completion rule will be  deleted! Do you want to continue?",buttons:Wtf.Msg.YESNO,fn:this.confirmDelete,scope:this,animEl:"elId",icon:Wtf.MessageBox.QUESTION})},confirmDelete:function(btn,text){var delid="";if(btn=="yes"&&this.grid.getSelections().length>0){var rec=this.grid.getSelectionModel().getSelected();Wtf.Ajax.requestEx({url:"jspfiles/admin/acastructure.jsp",params:{ruleid:rec.data["ruleid"],type:"25"},method:"POST"},this,function(resp,req){var respobj=eval("("+resp+")");if(respobj!=null&&respobj.success!=null){if(respobj.success){this.gridGroupStore.baseParams={type:26};this.gridGroupStore.load({params:{start:0,limit:15}})}else{if(!respobj.success&&respobj.msg!=null){msgBoxShow(["Error",respobj.msg],Wtf.MessageBox.ERROR)}}}},function(resp,req){});this.DeleteBttn.disable()}}})