function lPad(n,t,i){var u,r;if(!n||!t||n.length>=i)return n;for(u=(i-n.length)/t.length,r=0;r<u;r++)n=t+n;return n}function rPad(n,t,i){var u,r;if(!n||!t||n.length>=i)return n;for(u=(i-n.length)/t.length,r=0;r<u;r++)n+=t;return n}function replaceFontIcon(n){var s=$("option:selected",n),t=$(n).parent().find("font-icon")[0];if(s[0].value!=""){var i=$("option:selected",n).attr("data-color"),u=$("option:selected",n).attr("data-class"),r=u.split(" "),f=r[0],h=r[1],c=r[1].substring(3),e=$(t).attr("iconclass");if(e!=null){var o=e.split(" "),a=o[0],l=o[1];$("svg",t).removeClass(l)}$(t).css("display","inline-block");$(t).attr("iconclass",u);$(t).attr("iconcolor",i);$("svg",t).addClass(h);$("svg",t).attr("data-prefix",f);$("svg",t).attr("data-icon",c);$("svg",t).css("color",i);f=="fas"&&i=="#FFFFFF"?($("svg",t).css("stroke","black"),$("svg",t).css("stroke-width","35")):($("svg",t).css("stroke",""),$("svg",t).css("stroke-width",""))}else $(t).css("display","none")}function focusOnceElementVisible(n){var t=setInterval(function(){$(n).is(":visible")&&($(n).focus(),clearInterval(t))},100)}var schoolTool=schoolTool||{},app,homeModule;schoolTool.common={focusElevator:function(n){$(n).on("keydown",function(t){var i=n.index(this),r=0;if(t.keyCode==13)return t.preventDefault(),r=t.shiftKey?i-1<0?n.length-1:i-1:i+1==n.length?0:i+1,n[r].focus(),!1})},addAlternateTextToImages:function(){$("img").each(function(){var i=$(this).attr("alt");if(typeof i==typeof undefined||i==!1){var r=$(this),n=r.attr("src"),t=n.lastIndexOf("/")+1;t<0&&(t=0);r.attr("alt",n.substring(t,n.lastIndexOf(".")))}})},updateAngularModelFromExternal:function(n,t){if(angular!=null){$(n).val(t).change();$(n).val(t).blur();var i=angular.element(n).scope();i!=null&&i.$apply(function(){i.value=t})}},setTextAreaLength:function(){$("textarea[maxlength]").on("keyup",function(n){var t=$(this),i=t.attr("maxlength"),r;!i||(r=t.val(),r.length>i&&(t.val(r.substring(0,i)),n.preventDefault()))})},disableEnterKey:function(){$("form").on("keydown",function(n){if(!$(n.target).is("textarea")&&n.keyCode==13)return n.preventDefault(),!1})},toggleCheckboxes:function(n,t){$("#"+t+" input[type='checkbox']").each(function(t,i){i.checked=n})},toggleColumnCheckboxes:function(n,t,i){$("#"+i+" input[type='checkbox'][Name*='"+t+"']").each(function(t,i){i.checked=n})},toggleControl:function(n,t){var i=$("#"+n);i!==null&&(t?(i.removeClass("invisible"),i.addClass("visible")):(i.addClass("invisible"),i.removeClass("visible")),schoolTool.common.toggleValidation(i,t))},toggleValidation:function(n,t){$(n).find("input, textarea, select").each(function(n,i){schoolTool.common.toggleValidatorsForControl(i,t)})},toggleValidatorsForControl:function(n,t){var i=$(n).prop("id");typeof Page_Validators!="undefined"&&$.each(Page_Validators,function(n,r){r.controltovalidate==i&&(ValidatorEnable(r,t),r.style.visibility="hidden")})},maskSeconds:function(n){var t=$(n);t.each(function(){var n=new Date($(this).text()),t=n.toLocaleTimeString(),i;t=t.substr(0,t.lastIndexOf(":")-1);i=n.getMonth()+1+"/"+n.getDate()+"/"+n.getFullYear()+" "+t+" "+(n.getHours()>=12?"PM":"AM");$(this).text(i)})},resetValidation:function(){if(typeof Page_ValidationSummaries!="undefined")for(var n=0;n<Page_ValidationSummaries.length;n++)Page_ValidationSummaries[n].style.display="none"},selectionGroups:{copyOption:function(n,t,i,r){for(var e,o,f=document.getElementById(n),s=document.getElementById(t),u=0;u<f.options.length;u++)f.options[u].selected===!0&&(s.options[s.options.length]=new Option(f.options[u].text,f.options[u].value,!1,!1));for(e=f.getElementsByTagName("option"),u=e.length-1;u>=0;u--)o=e[u],o.selected&&f.removeChild(o);r=="Yes"?schoolTool.common.selectionGroups.updateHidden(t,i):schoolTool.common.selectionGroups.updateHidden(n,i)},moveOptionUp:function(n,t){for(var u,i=document.getElementById(n),f=i.getElementsByTagName("option"),r=1;r<f.length;r++)u=f[r],u.selected&&(i.removeChild(u),i.insertBefore(u,f[r-1]));schoolTool.common.selectionGroups.updateHidden(n,t);i.focus();i.blur()},moveOptionDown:function(n,t){for(var r,f,i=document.getElementById(n),e=i.getElementsByTagName("option"),u=e.length-2;u>=0;u--)r=e[u],r.selected&&(f=e[u+1],r=i.removeChild(r),f=i.replaceChild(r,f),i.insertBefore(f,r));schoolTool.common.selectionGroups.updateHidden(n,t);i.focus();i.blur()},updateHidden:function(n,t){for(var f,e=document.getElementById(n),o=document.getElementById(t),r=e.getElementsByTagName("option"),u="",i=0;i<r.length;i++)f=r[i],u+=f.value+",";o.value=u}},specialChar2Ascii:function(n,t,i){var r="",u,f,e;return n!=null&&(u=/'/gi,f=/-/gi,i=i===!1||i===!0?i:!1,i,r=n.replace(u,"").replace(f,""),e=n.match(u)&&n.match(f)?98:n.match(u)||n.match(f)?99:99,r=rPad(r," ",e).toLowerCase(),r=n.match(u)&&n.match(f)?r+"YZ":n.match(u)?r+"Y":n.match(f)?r+"Z":r+"!"),t===!1?"0"+r:r},formatDate:function(n,t,i){var u=n.getDate().toString(),r,f,e;return u.length==1&&i==!0&&(u="0"+u),r=(n.getMonth()+1).toString(),r.length==1&&i==!0&&(r="0"+r),f=n.getFullYear().toString(),e=r+t+u+t+f,e},credentialsE:function(n,t,i){var r;return r=i?n+":"+t+":1994":n+":"+t,window.btoa(r)}};schoolTool.common.FilterControl=function(n,t){this._table=null;this._prefHeader=null;this._LoggedInPerson_ID=null;this._SessionKey=null;this._headerType="th";this._table=n;this._prefHeader=t;this._tableExists=$("#"+n).length;this._PrefObject=null;this._notifyFilterTableColumn=null};schoolTool.common.FilterControl.prototype=function(){var r=function(n,t){if(this._tableExists){this._LoggedInPerson_ID=n;this._SessionKey=t;var i=this;this._PrefObject=new schoolTool.common.AjaxPreferences(n,t,i._prefHeader);this._PrefObject.getPreference(e,[i._table,i._headerType])}},u=function(){if(this._tableExists){var i=this,r="";$("#"+this._table+" th").length?(r="#"+this._table+" th",i._headerType=this._headerType="th"):(r="#"+this._table+" tr:first td",i._headerType=this._headerType="td");$(r).each(function(){var n,t,i;$.trim($(this).text())!==""&&(n=document.createElement("img"),n.src="Images/Icons/Icon_FilterColumns.gif",n.setAttribute("class","filterIcon"),$(this).append(n),t=document.createElement("div"),t.setAttribute("class","filterMenu invisible"),i=document.createElement("input"),i.setAttribute("type","text"),i.setAttribute("class","filterText"),t.appendChild(i),$(this).append(t))});$(".filterIcon").css({"vertical-align":"bottom",cursor:"pointer"});$("#"+this._table+" "+this._headerType+" img").click(function(){var n=$(this).parent(),t;if(n.hasClass("selected")){n.find("div.filterMenu").hide("slow");n.removeClass("selected");return}n.parent().children(i._headerType+".selected").each(function(){$(this).removeClass("selected");$(this).find("div.filterMenu").hide("slow")});n.addClass("selected");t=n.find("div.filterMenu");t.removeClass("invisible");t.hide();t.show("slow");n.find("input[type='text']").focus()});$("#"+this._table+" "+this._headerType+" img").hover(function(){});$(".filterText").bind("paste cut keyup",function(r){var s,e,u;r.which==13&&$(".filterText").blur();s=$(this);e=s.prop("value");e.length>0?(u=$(this).parent().parent().find("img:first")[0],u.setAttribute("src","Images/Icons/Icon_FilterApplied.gif"),u.setAttribute("Class","selectedFilterIcon")):(u=$(this).parent().parent().find("img:first")[0],u.src.replace("Images/Icons/Icon_FilterApplied.gif","Images/Icons/Icon_FilterColumns.gif"),u.setAttribute("Class","filterIcon"));var f=s.closest(i._headerType),h=f.parent().children().index(f),o=f.parent().parent();o.children("tr:not(:first-child)").each(function(){var n=$(this);n.show()});o.find(".selectedFilterIcon").each(function(){f=$(this).closest(i._headerType);filtertext=$(this.nextElementSibling.firstChild).prop("value");columnIndex=f.parent().children().index(f);columnIndex!=h&&n(o,columnIndex,filtertext)});e.length>0&&n(o,h,e);t()});$(".filterText").bind("mouseup",function(){var n=$(this),t=n.val();t!==""&&setTimeout(function(){var t=n.val();t===""&&n.trigger("blur")},1)});$(".filterText").blur(function(){var e;$(this).parent().hide("slow");var r=$(this).closest(i._headerType),o=r.parent().children().index(r),u=r.parent().parent();$(this).prop("value")===""&&(e=$(this).parent().parent().find("img:first")[0],e.setAttribute("src","Images/Icons/Icon_FilterColumns.gif"),e.setAttribute("Class","filterIcon"),u.children("tr:not(:first-child)").each(function(){var n=$(this);n.show()}),u.find(".selectedFilterIcon").each(function(){r=$(this).closest(i._headerType);filtertext=$(this.nextElementSibling.firstChild).prop("value");o=r.parent().children().index(r);n(u,o,filtertext)}),t());r.removeClass("selected");i._prefHeader!==""&&f(i)})}},f=function(n){var t=n,i="",r;thisTable=$("#"+t._table);thisTable.find(".selectedFilterIcon").each(function(){headerCell=$(this).closest(t._headerType);columnIndex=headerCell.parent().children().index(headerCell);filtertext=$(this.nextElementSibling.firstChild).prop("value");i+="[~]"+$(headerCell).text()+"]=["+filtertext});r="";t._PrefObject.setPreference(i)},e=function(i,r){var u=r[0],f=r[1];i!=null&&(filters=i.toString().split("[~]"),filters.forEach(function(i){var r=i.split("]=[");r[0]!==""&&(headerIndex=$("#"+u+" "+f+":contains('"+r[0]+"')").filter(function(){return $(this).text()==r[0]}).index()+1,headerCell=$("#"+u+" "+f+":nth-child("+headerIndex+")"),_thisTable=headerCell.parent().parent(),columnIndex=headerCell.parent().children().index(headerCell),columnIndex>-1&&(filterText=headerCell.find(".filterText"),filterText.val(r[1]),filterImg=headerCell.find("img:first")[0],filterImg.setAttribute("src","Images/Icons/Icon_FilterApplied.gif"),filterImg.setAttribute("Class","selectedFilterIcon"),n(_thisTable,columnIndex,r[1]),t()))}))},n=function(n,t,i){n.children("tr:not(:first-child)").each(function(){var n=$(this),r=n.children().eq(t),u=r.text();$(this).css("display")!="none"&&(u.toLowerCase().indexOf(i.toLowerCase())>=0?n.show():n.hide())})},t=function(){this._notifyFilterTableColumn&&this._notifyFilterTableColumn()},o=function(n){_notifyFilterTableColumn=n},s=function(n,t){if(this._tableExists){var r=!0;$(n).submit(function(n){if($("#shouldSubmit").val()===""){if(t){for(i=0;i<t.length;i++)if($(t[i]).val()!=="")return}else $(this._table).find(".selectedFilterIcon").length||(r=!1);r&&n.preventDefault()}})}};return{setupTable:u,updateTablesFromPreviousFilters:r,filterPreventSubmit:s,setNotifyFilterTableColumn:o}}();schoolTool.common.setupFilters=function(n){var i,t;$("#shouldSubmit").length||$(n).append('<input type="hidden" id= "shouldSubmit" name="txtShouldSubmit" value="" />');i=$(n).find(":input[type=image]");i.each(function(){$(this).click(function(){$("#shouldSubmit").val("submit")})});newFunc=" function setUpdateField(sender) {$('#shouldSubmit').val('submit');}";typeof setUpdateField!="function"&&(t=document.createElement("script"),t.text=newFunc,document.body.appendChild(t))};schoolTool.common.AjaxPreferences=function(n,t,i){this._LoggedInPerson_ID=n;this._SessionKey=t;this._PrefName=i};schoolTool.common.AjaxPreferences.prototype=function(){var n=function(n,t){$.ajax({url:"Core/ajax_UserPrefs.aspx/getPreference",type:"Post",data:JSON.stringify({SessionKey:this._SessionKey,LoggedInPerson_ID:this._LoggedInPerson_ID,PrefName:this._PrefName}),dataType:"json",contentType:"application/json",success:function(i){n(i.d,t)},error:function(n,t){i(n,t)},complete:function(){}})},t=function(n){$.ajax({url:"Core/ajax_UserPrefs.aspx/setPreference",type:"Post",data:JSON.stringify({SessionKey:this._SessionKey,LoggedInPerson_ID:this._LoggedInPerson_ID,PrefValue:n,PrefName:this._PrefName}),dataType:"json",contentType:"application/json"})},i=function(n){n.status!==0&&console.log("Error "+n.status+" : could not collect the preferences.")};return{getPreference:n,setPreference:t}}();app=angular.module("app.grading.shared",[]);app.filter("descriptorsWithGrades",function(){return function(n){for(var i=[],t=0;t<n.length;t++)(angular.isDefined(n[t].Score)||angular.isDefined(n[t].AlphaGradingScaleScoreObj)||angular.isDefined(n[t].enteredComment))&&i.push(n[t]);return i}});app.filter("descriptorsWithError",function(){return function(n){for(var i=[],t=0;t<n.length;t++)angular.isDefined(n[t].errorMessage)&&n[t].errorMessage.length>0&&i.push(n[t]);return i}});app.service("Schooltool.Utilities",function(){this.isStringEqual=function(n,t){return n!=null&&angular.isString(n)&&t!=null&&angular.isString(t)?n.localeCompare(t)==0:n==null&&t==null?!0:n==t};this.isIntEqual=function(n,t){var i=!1;if(n==null&&t==null)i=!0;else try{i=parseInt(n)==parseInt(t)}catch(r){i=!1}return i};this.isFloatEqual=function(n,t){var i=!1;if(n==null&&t==null)i=!0;else try{i=parseFloat(n)==parseFloat(t)}catch(r){i=!1}return i};this.FormatStudentName=function(n){if(angular.isDefined(n)&&n!=null)return n.LastName+", "+n.FirstName+" ("+n.StudentId+")"}});app.service("ExceptionService",function(){this.GetWebApiErrorStackTrace=function(n){var i=this.ExceptionToString(n),r=new RegExp("Exception Details:.*table>"),t=t=i.match(/Exception Details.*/g);return t!=null&&t.length>0?t[0]:""};this.ExceptionToString=function(n){var t="";return angular.forEach(n,function(n){t+=n}),t}});app.service("EmployabilityModelService",function(){this.NewEmployabilityCDOSRecord=function(){return{ID:null,Student_ID:null,Employability_ID:null,EmployabilityProfileCDOSGrades:[],MarkingPeriodName:null,ProfileName:null,SchoolYearText:null,Student_Person_ID:null}};this.NewEmployabilityProfileCDOSGrade=function(){return{ID:null,AlphaGradingScaleScore_ID:null,Grade_GradingInterval_ID:null,Grade_CDOSGradingInterval_ID:null,EmployabilityCDOSRecord_ID:null,CourseTopic_ID:null,Score:null,EmployabilityProfileCDOSComments:[]}};this.NewEmployabilityProfileCDOSComment=function(){return{ID:null,CommentText:null,Date:Date.now,EmployabilityCDOSRecord_ID:null,GivenByPerson_ID:null,EmployabilityProfileCDOSGrade_ID:null}};this.GetDefaultAlphaGradingScoreItem=function(){return{ID:"0",SymbolDescription:"SELECT ONE"}};this.getDefaultOptionIfExists=function(n){var i=null,t;if(n&&n.length>0)for(t=0;t<n.length;t++)if(n[t]&&n[t].DefaultScore){i=n[t];break}return i||this.GetDefaultAlphaGradingScoreItem()}});angular.module("app",["ngResource","app.counseling","app.grading","app.census","app.medical","app.core","app.attendance","app.discipline","app.scheduling","app.teacherPages","app.home","app.export","app.thirdPartyClasses","app.faculty","app.campus","app.maintenance"]).config(["$httpProvider",function(n){n.interceptors.push("httpRequestInterceptor")}]).factory("httpRequestInterceptor",["authHeader",function(n){return{request:function(t){return t.headers[n]=document.getElementById("SessionKey").value,t},responseError:function(n){return n.status==403?(alert("Your session has expired due to inactivity."),window.location.replace(document.URL)):n.status==500&&alert("There was an error processing your request.\n\n"+n.data.Message),n}}}]).factory("genericSearchFilter",["$rootScope",function(n){var t={building_ID:0,schoolLevel_ID:0,grade_ID:0,searchDate:"",studentsGUID:"",studentNameSearch:""};return t.broadcastItem=function(t,i,r,u,f,e,o){this.building_ID=i;this.schoolLevel_ID=r;this.grade_ID=u;this.searchDate=f;this.studentsGUID=e;this.studentNameSearch=o;n.$broadcast(t)},t}]);app=angular.module("app.attendance",["app.core"]);app.filter("unsafe",function(n){return function(t){return n.trustAsHtml(t)}});angular.module("app.counseling",["app.core","app.home","app.grading"]);angular.module("app.discipline",["app.core"]);angular.module("app.scheduling",[]);app=angular.module("app.export",[]);angular.module("app.grading",["app.grading.shared","app.core","app.counseling"]);angular.module("app.medical",[]);angular.module("app.census",[]);angular.module("app.core",["ui.sortable"]);angular.module("app.core").filter("unique",function(){return function(n,t){if(t===!1)return n;if((t||angular.isUndefined(t))&&angular.isArray(n)){var i=[],r=function(n){return angular.isObject(n)&&angular.isString(t)?n[t]:n};angular.forEach(n,function(n){for(var u=!1,t=0;t<i.length;t++)if(angular.equals(r(i[t]),r(n))){u=!0;break}u||i.push(n)});n=i}return n}});angular.module("app.core").directive("bitMask",function(){return{scope:{bitMask:"=",value:"@"},link:function(n,t){var i=function(i){var r;i?(r=n.bitMask&n.value,t.prop("checked",r)):(r=t.prop("checked"),!n.bitMask&n.value?n.bitMask|=n.value:n.bitMask^=n.value)},r=i.bind(null,!0),u=i.bind(null,!1);t.on("change",function(){n.$apply(u)});n.$watch("bitMask",r,!0)}}});angular.module("app.core").directive("focusOn",["$timeout",function(n){return{restrict:"A",link:function(t,i,r){t.$watch(r.focusOn,function(t){n(function(){t?i.focus():i.blur()},0)})}}}]);angular.module("app.core").directive("fontIcon",["$compile",function(n){return{restrict:"E",scope:{type:"@",iconclass:"@",iconcolor:"@",title:"@",iconstyles:"@"},replace:!1,link:function(t,i){switch(t.type){case"info":t.iconclass="fas fa-info-circle";t.iconcolor="blue";break;case"help":t.iconclass="fas fa-question-circle";t.iconcolor="red";break;case"cancel":t.iconclass="fas fa-ban";t.iconcolor="red";break;case"add":t.iconclass="fas fa-plus";t.iconcolor="#008000";break;case"delete":t.iconclass="fas fa-times";t.iconcolor="#FF0000";break;case"select":t.iconclass="fas fa-play";t.iconcolor="#800080";break;case"save":t.iconclass="fas fa-save";t.iconcolor="green";break;case"edit":t.iconclass="fas fa-edit";t.iconcolor="#003764";break;case"refresh":t.iconclass="fas fa-sync-alt";t.iconcolor="#003764";break;case"back":t.iconclass="fas fa-reply";t.iconcolor="#999999"}t.extrastyles=t.iconcolor=="#FFFFFF"?"stroke:black;stroke-width:2.92rem;":"";t.iconstyles==null&&(t.iconstyles="");t.$watch("iconclass",function(){$(i).html("<i class='{{iconclass}}' ng-attr-style='color:{{iconcolor}};font-size:1.33rem;{{extrastyles}}{{iconstyles}}' ><\/i>");n($("i",i))(t)},!0);t.$watch("iconcolor + iconclass",function(){$(i).html("<i class='{{iconclass}}' ng-attr-style='color:{{iconcolor}};font-size:1.33rem;{{extrastyles}}{{iconstyles}}' ><\/i>");n($("i",i))(t)},!0)}}}]);angular.module("app.core").directive("fontIconLink",["$compile",function(n){return{restrict:"E",scope:{type:"@",iconclass:"@",iconcolor:"@",title:"@"},replace:!1,link:function(t,i){switch(t.type){case"info":t.iconclass="fas fa-info-circle";t.iconcolor="blue";break;case"help":t.iconclass="fas fa-question-circle";t.iconcolor="red";break;case"cancel":t.iconclass="fas fa-ban";t.iconcolor="red";break;case"delete":t.iconclass="Images/FontAwesome/regular/trash-alt.svg";t.iconcolor="black"}t.extrastyles=t.iconcolor=="#FFFFFF"?"stroke:black;stroke-width:2.92rem;":"";angular.isDefined(t.iconclass)&&angular.isDefined(t.iconcolor)||(t.iconclass="",t.iconcolor="");t.$watch("iconcolor",function(){$(i).html("<input type='image' src='{{iconclass}}' ng-attr-style='color:{{iconcolor}};font-size:1.33rem;width:1.33rem;{{extrastyles}}' class='overrideIcon' onclick='return false;'><\/input>");n($("input",i))(t)},!0)}}}]);angular.module("app.core").directive("gridPager",["$compile",function(n){return{restrict:"E",scope:{id:"@",gridName:"@",totalItems:"@",itemsPerPage:"=",currentPage:"=",gridPagerShowNewItems:"&"},replace:!1,templateUrl:"Core/AngularComponents/gridPager.html",link:function(t,i){t.currentPage=1;t.init=function(n){t.lastPage=Math.floor(t.totalItems/t.itemsPerPage);t.totalItems%t.itemsPerPage>0&&(t.lastPage=t.lastPage+1);t.lastPage<t.currentPage&&(t.currentPage=1);var i=(t.currentPage-1)*t.itemsPerPage,r=parseInt(i)+parseInt(t.itemsPerPage),u={gridName:t.gridName,startIndex:i,endIndex:r};n&&t.gridPagerShowNewItems({gpParameters:u})};t.nextPage=function(){t.currentPage+=1;t.init(!0)};t.prevPage=function(){t.currentPage-=1;t.init(!0)};t.$watch("totalItems + itemsPerPage",function(){t.init(!0)},!0);t.$watch("currentPage",function(n){n==1||n==t.lastPage?t.init(!0):t.init(!1)},!0);t.init(!0);n($("font-Icon",i))(t)}}}]);angular.module("app.core").directive("limitTo",[function(){return{restrict:"A",link:function(n,t,i){var r=parseInt(i.limitTo);t.bind("keypress",function(){this.value.length>r&&event.preventDefault()});t.bind("paste",function(n){var t="";window.clipboardData&&window.clipboardData.getData?t=window.clipboardData.getData("Text"):n.clipboardData&&n.clipboardData.getData&&(t=n.clipboardData.getData("text/plain"));t.length+this.value.length>r&&n.preventDefault()})}}}]);angular.module("app.core").directive("ngEnter",function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which==13&&(n.$apply(function(){n.$eval(i.ngEnter)}),t.preventDefault())})}});angular.module("app.core").directive("resetScrollBar",["$timeout",function(){return{restrict:"A",link:function(n,t){t.bind("focus",function(){var n=t[0].parentElement,i=t.position().top,r=n.scrollTop;angular.element(n).scrollTop(i+r)})}}}]);angular.module("app.core").directive("setSize",function(){return{restrict:"A",link:function(n,t,i){!0&&i.$observe("ngSize",function(){i.$set("size",i.ngSize)})}}});angular.module("app.core").directive("spellCheck",function(){return{link:function(n,t,i){t.bind("click",function(){checkSpellingById(i.checkTextbox)})}}});angular.module("app.core").directive("stBslSelector",["buildingSchoolLevelDirectiveService",function(n){return{restrict:"E",scope:{defaultBuildingID:"=",defaultBuildingSchoollevelId:"=",selectedBuilding:"=",selectedSchoolLevel:"=",selectedBSL:"=",buildings:"@",schoolLevels:"@",singleLineMode:"@",styleLabel:"@",showAllOption:"@"},replace:!1,templateUrl:"Core/AngularComponents/simpleBSLDropDown.html",link:function(t){t.buildings=null;t.schoolLevels=null;t.BSLService=n;t.init=function(){n.getBuildings.get({},function(i){var r=n.loadBuildings(t.selectedBuilding,t.defaultBuildingID,i,t.showAllOption);t.selectedBuilding=r.selectedBuilding;t.buildings=r.buildingList;n.getSchoolLevels.query({},function(i){try{if(t.selectedSchoolLevel==null&&t.defaultBuildingSchoollevelId==0&&t.showAllOption=="true")t.selectedSchoolLevel=null,t.selectedBSL=-1,t.schoolLevels=i;else{var r=n.loadSchoolLevels(t.selectedSchoolLevel,t.selectedBuilding.Building_ID,t.defaultBuildingSchoollevelId,i);t.selectedSchoolLevel=r.selectedSchoolLevel;t.selectedBSL=r.selectedBuildingSchoolLevel_ID;t.schoolLevels=r.schoolLevelsList}}catch(u){alert(u)}},function(n){alert(n)})},function(n){alert(n)})};t.buildingChanged=function(){t.selectedBuilding||(t.selectedBuilding=null);var i=n.resetSchoolLevel(null,t.selectedBuilding?t.selectedBuilding.Building_ID:null,t.selectedSchoolLevel,t.schoolLevels);t.selectedSchoolLevel=i.selectedSchoolLevel;t.selectedBSL_ID=i.selectedBuildingSchoolLevel_ID;t.selectedBSL=t.selectedBuilding==null?-1:n.getCurrentBSL_ID(t.selectedBuilding.Building_ID,t.selectedSchoolLevel,t.schoolLevels)};t.schoolLevelChanged=function(){t.selectedBSL=n.getCurrentBSL_ID(t.selectedBuilding!=null?t.selectedBuilding.Building_ID:-1,t.selectedSchoolLevel,t.schoolLevels)};t.init()}}}]);angular.module("app.core").directive("stBuildingSchoolLevelDropDown",function(){return{restrict:"E",scope:{dc:"=",directiveDefaults:"="},replace:!0,templateUrl:"Core/AngularComponents/BuildingSchoolLevelDropDown.html"}});angular.module("app.core").directive("stDateFormat",["dateFilter",function(n){return{require:"ngModel",link:function(t,i,r,u){var f=r.stDateFormat;u.$formatters.unshift(function(t){return n(t,f)})}}}]);angular.module("app.core").directive("stDatepicker",function(){return{restrict:"E",scope:{field:"@field"},replace:!0,template:"<input type='image' src='Images/Mindex/WebControls/DatePicker/calendar.jpg' onclick='return false;' style='vertical-align: top' />"}});angular.module("app.core").directive("stDepartmentCourseSelector",function(){return{restrict:"E",scope:{dc:"=",directiveDefaults:"="},replace:!0,templateUrl:"Core/AngularComponents/DepartmentCourseSelector.html"}});angular.module("app.core").directive("stFile",function(){return{scope:{stFile:"="},link:function(n,t){t.bind("change",function(t){var i=t.target.files,r=i[0];n.stFile=r;n.$apply()})}}});angular.module("app.core").directive("stIcon",function(){return{restrict:"E",scope:{icon:"@icon"},replace:!0,template:"<input type='image' src='{{\"Images/Icons/icon_\" + icon + \".gif\"}}' class='overrideIcon' onclick='return false;' title={{tooltip}}><\/input>"}});angular.module("app.core").directive("stLoadingIcon",function(){return{restrict:"AE",replace:!0,template:"<img src='images/ajax-loader.gif' class='loading-icon' width='16' height='16' />"}});angular.module("app.core").directive("stMyhomeStudentSchedule",function(){return{restrict:"E",scope:{schedule:"=",sc:"=",allowTeacherPages:"="},replace:!0,templateUrl:"js/home/myHomeSchedTemplate.html"}});angular.module("app.core").directive("stPageSizeSelector",function(){return{restrict:"E",scope:{totalResultSize:"=",selectedPageSize:"=",inlineStyle:"@",personid:"@",sessionid:"@"},replace:!0,templateUrl:"Core/AngularComponents/PageSizeSelector.html",link:function(n){function i(t){t!=null&&(n.selectedPageSize=t)}var t=new schoolTool.common.AjaxPreferences(n.personid,n.sessionid,"Application\\Paged Data\\Default Page Size");t.getPreference(i);n.setPreference=function(t){var i=new schoolTool.common.AjaxPreferences(n.personid,n.sessionid,"Application\\Paged Data\\Default Page Size");i.setPreference(t)}}}});angular.module("app.core").directive("stSchoolYearSelector",function(){return{restrict:"E",scope:{dc:"=",directiveDefaults:"="},replace:!0,templateUrl:"Core/AngularComponents/SchoolYearSelector.html"}});angular.module("app.core").directive("stSectionSelector",function(){return{restrict:"E",scope:{dc:"=",directiveDefaults:"="},replace:!0,templateUrl:"Core/AngularComponents/SectionSelector.html"}});angular.module("app.core").directive("stSemesterSelector",function(){return{restrict:"E",scope:{dc:"=",directiveDefaults:"="},replace:!0,templateUrl:"Core/AngularComponents/SemesterSelector.html"}});angular.module("app.core").filter("asTrusted",["$sce",function(n){return function(t){return n.trustAsHtml(t)}}]);angular.module("app.core").filter("phonenumber",function(){return function(n){var t,r,u,i;if(!n)return"";if(t=n.toString().trim().replace(/^\+/,""),t.match(/[^0-9]/))return n;switch(t.length){case 7:i=t;break;case 10:r=1;u=t.slice(0,3);i=t.slice(3);break;case 11:r=t[0];u=t.slice(1,4);i=t.slice(4);break;case 12:r=t.slice(0,3);u=t.slice(3,5);i=t.slice(5);break;default:return n}return(r==1&&(r=""),i=i.slice(0,3)+"-"+i.slice(3),u)?(r+" ("+u+") "+i).trim():i.trim()}});angular.module("app.teacherPages",[]);homeModule=angular.module("app.home",[]);homeModule.filter("unique",function(){return function(n,t){if(t===!1)return n;if((t||angular.isUndefined(t))&&angular.isArray(n)){var i=[],r=function(n){return angular.isObject(n)&&angular.isString(t)?n[t]:n};angular.forEach(n,function(n){for(var u=!1,t=0;t<i.length;t++)if(angular.equals(r(i[t]),r(n))){u=!0;break}u||i.push(n)});n=i}return n}});homeModule.service("QuestionType",function(){function n(n){var t=3;switch(n*1){case t:return!0;case 4:return!0;default:return!1}}return{isMultipleChoiceType:n}});angular.module("ui.sortable",[]).value("uiSortableConfig",{items:"> [ng-repeat],> [data-ng-repeat],> [x-ng-repeat]"}).directive("uiSortable",["uiSortableConfig","$timeout","$log",function(n,t,i){return{require:"?ngModel",scope:{ngModel:"=",uiSortable:"="},link:function(r,u,f,e){function v(n,t){var r=typeof n=="function",i=typeof t=="function";return r&&i?function(){n.apply(this,arguments);t.apply(this,arguments)}:i?t:n}function y(n){var t=n.data("ui-sortable");return t&&typeof t=="object"&&t.widgetFullName==="ui-sortable"?t:null}function l(t,i){return h[t]?(t==="stop"&&(i=v(i,function(){r.$apply()}),i=v(i,ut)),i=v(h[t],i)):b[t]&&(i=b[t](i)),i||t!=="items"&&t!=="ui-model-items"||(i=n.items),i}function k(n,t,i){function f(n,t){t in s||(s[t]=null)}var r,u;return angular.forEach(h,f),r=null,t&&angular.forEach(t,function(t,i){if(!n||!(i in n)){if(i in w){s[i]=i==="ui-floating"?"auto":l(i,undefined);return}u||(u=angular.element.ui.sortable().options);var f=u[i];f=l(i,f);r||(r={});r[i]=f;s[i]=f}}),angular.forEach(n,function(n,t){if(t in w){t==="ui-floating"&&(n===!1||n===!0)&&i&&(i.floating=n);s[t]=l(t,n);return}n=l(t,n);r||(r={});r[t]=n;s[t]=n}),r}function g(n){var t=n.sortable("option","placeholder"),i;return t&&t.element&&typeof t.element=="function"?(i=t.element(),angular.element(i)):null}function nt(n,t){var i=s["ui-model-items"].replace(/[^,]*>/g,"");return n.find('[class="'+t.attr("class")+'"]:not('+i+")")}function tt(n,t){var i=n.sortable("option","helper");return i==="clone"||typeof i=="function"&&t.item.sortable.isCustomHelperUsed()}function d(n,t){var i=null;return tt(n,t)&&n.sortable("option","appendTo")==="parent"&&(i=a),i}function it(n){return/left|right/.test(n.css("float"))||/inline|table-cell/.test(n.css("display"))}function rt(n,t){for(var r,u=null,i=0;i<n.length;i++)if(r=n[i],r.element[0]===t[0]){u=r.scope;break}return u}function ut(n,t){t.item.sortable._destroy()}function p(n){return n.parent().find(s["ui-model-items"]).index(n)}function ft(){r.$watchCollection("ngModel",function(){t(function(){!y(u)||u.sortable("refresh")},0,!1)});h.start=function(n,t){var r,u,i;s["ui-floating"]==="auto"&&(r=t.item.siblings(),u=y(angular.element(n.target)),u.floating=it(r));i=p(t.item);t.item.sortable={model:e.$modelValue[i],index:i,source:t.item.parent(),sourceModel:e.$modelValue,cancel:function(){t.item.sortable._isCanceled=!0},isCanceled:function(){return t.item.sortable._isCanceled},isCustomHelperUsed:function(){return!!t.item.sortable._isCustomHelperUsed},_isCanceled:!1,_isCustomHelperUsed:t.item.sortable._isCustomHelperUsed,_destroy:function(){angular.forEach(t.item.sortable,function(n,i){t.item.sortable[i]=undefined})}}};h.activate=function(n,t){var i,e,f;o=u.contents();a=t.helper;i=g(u);i&&i.length&&(e=nt(u,i),o=o.not(e));f=t.item.sortable._connectedSortables||[];f.push({element:u,scope:r});t.item.sortable._connectedSortables=f};h.update=function(n,t){var f,s,i;t.item.sortable.received||(t.item.sortable.dropindex=p(t.item),f=t.item.parent(),t.item.sortable.droptarget=f,s=rt(t.item.sortable._connectedSortables,f),t.item.sortable.droptargetModel=s.ngModel,u.sortable("cancel"));i=!t.item.sortable.received&&d(u,t,o);i&&i.length&&(o=o.not(i));o.appendTo(u);t.item.sortable.received&&(o=null);t.item.sortable.received&&!t.item.sortable.isCanceled()&&r.$apply(function(){e.$modelValue.splice(t.item.sortable.dropindex,0,t.item.sortable.moved)})};h.stop=function(n,t){if(!t.item.sortable.received&&"dropindex"in t.item.sortable&&!t.item.sortable.isCanceled())r.$apply(function(){e.$modelValue.splice(t.item.sortable.dropindex,0,e.$modelValue.splice(t.item.sortable.index,1)[0])});else if((!("dropindex"in t.item.sortable)||t.item.sortable.isCanceled())&&!angular.equals(u.contents(),o)){var i=d(u,t,o);i&&i.length&&(o=o.not(i));o.appendTo(u)}o=null;a=null};h.receive=function(n,t){t.item.sortable.received=!0};h.remove=function(n,t){"dropindex"in t.item.sortable||(u.sortable("cancel"),t.item.sortable.cancel());t.item.sortable.isCanceled()||r.$apply(function(){t.item.sortable.moved=e.$modelValue.splice(t.item.sortable.index,1)[0]})};b.helper=function(n){return n&&typeof n=="function"?function(t,i){var f=i.sortable,u=p(i),r;return i.sortable={model:e.$modelValue[u],index:u,source:i.parent(),sourceModel:e.$modelValue,_restore:function(){angular.forEach(i.sortable,function(n,t){i.sortable[t]=undefined});i.sortable=f}},r=n.apply(this,arguments),i.sortable._restore(),i.sortable._isCustomHelperUsed=i!==r,r}:n};r.$watchCollection("uiSortable",function(n,t){var r=y(u),i;!r||(i=k(n,t,r),i&&u.sortable("option",i))},!0);k(s)}function et(){e?ft():i.info("ui.sortable: ngModel not provided!",u);u.sortable(s)}function c(){return r.uiSortable&&r.uiSortable.disabled?!1:(et(),c.cancelWatcher(),c.cancelWatcher=angular.noop,!0)}var o,a,s={},w={"ui-floating":undefined,"ui-model-items":n.items},h={receive:null,remove:null,start:null,stop:null,update:null},b={helper:null};if(angular.extend(s,w,n,r.uiSortable),!angular.element.fn||!angular.element.fn.jquery){i.error("ui.sortable: jQuery should be included before AngularJS!");return}c.cancelWatcher=angular.noop;c()||(c.cancelWatcher=r.$watch("uiSortable.disabled",c))}}}]);angular.module("app.thirdPartyClasses",[]);angular.module("app.faculty",["app.core"]),function(){"use strict";angular.module("app.core").factory("buildingSchoolLevelDirectiveService",["$resource","$filter",function(n,t){function u(n,i,r){var u;return n=n==null?i>0?t("filter")(r.Values,{Building_ID:i},!0)[0]:r.Values[0]:t("filter")(r.Values,{Building_ID:n.ID},!0)[0],u=r,{buildingList:u,selectedBuilding:n}}function u(n,i,r,u){var f;return n=n==null?i>0?t("filter")(r.Values,{Building_ID:i},!0)[0]:u?null:r.Values[0]:t("filter")(r.Values,{Building_ID:n.ID},!0)[0],f=r,{buildingList:f,selectedBuilding:n}}function f(n,r,u,f){var h,e;return n==null||u>0?u>0?(n=s(u,f),e=u):(n=o(r,f),e=i(r,n)):(n=t("filter")(f,{ID:n.ID},!0)[0],e=i(r,n)),h=f,{schoolLevelsList:h,selectedSchoolLevel:n,selectedBuildingSchoolLevel_ID:e}}function i(n,i){if(n===null||!angular.isDefined(i))return-1;var r=t("filter")(i.Building_SchoolLevels,{Building_ID:n},!0)[0];return r.ID}function e(n,t){return function(i){var r=!1;return i.Active?n==null?angular.forEach(t.Values,function(n){angular.forEach(i.Building_SchoolLevels,function(t){n.Building_ID==t.Building_ID&&(r=!0)})}):angular.forEach(i.Building_SchoolLevels,function(t){n.Building_ID==t.Building_ID&&(r=!0)}):r=!1,i.displaySchoolLevel=r,r}}function o(n,t){var u=null,i,r;if(n!=null)for(i=0;i<t.length;i++){for(r=0;r<t[i].Building_SchoolLevels.length;r++)if(t[i].Building_SchoolLevels[r].Building_ID==n){u=t[i];break}if(u!=null)break}return u}function s(n,t){var u=null,i,r;if(n!=null)for(i=0;i<t.length;i++){for(r=0;r<t[i].Building_SchoolLevels.length;r++)if(t[i].Building_SchoolLevels[r].ID==n){u=t[i];break}if(u!=null)break}return u}function h(n,t,i){return n=n==null?!1:n,t=t==null?"":t,i=i==null?!0:i,{singleLineMode:n,styleLabel:t,showAllOption:i}}function c(n,t,r,u){var r,o,f,e;if(n!=null)r=n,o=i(t,r);else if(t==null)r=r,o=-1;else for(f=0;f<u.length;f++)for(e=0;e<u[f].Building_SchoolLevels.length;e++)u[f].Building_SchoolLevels[e].Building_ID==t&&(r=u[f],o=u[f].Building_SchoolLevels[e].ID);return{selectedSchoolLevel:r,selectedBuildingSchoolLevel_ID:o}}var r="webapi.mvc/schooltool/Core/";return{loadBuildings:u,loadSchoolLevels:f,getBuildings:n(r+"GetBuildings",{},{}),getSchoolLevels:n(r+"GetFacultySchoolLevels",{},{}),defaultValues:h,schoolLevelFilter:e,getCurrentBSL_ID:i,resetSchoolLevel:c}}])}();angular.module("app.campus",[]),function(){"use strict";angular.module("app.core").factory("hashIDService",["$rootScope","hidHash",function(n,t){function i(n){var r=new Hashids(t),u=[],i;if(angular.isArray(n))return r.encode(n);for(i=0;i<arguments.length;i++)u.push(arguments[i]);return r.encode(u)}return{hidHash:t,getHID:i}}])}();angular.module("app.maintenance",[])