var gj={};gj.widget=function(){var n=this;n.xhr=null;n.generateGUID=function(){function n(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()};n.mouseX=function(n){if(n){if(n.pageX)return n.pageX;if(n.clientX)return n.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);if(n.touches&&n.touches.length)return n.touches[0].pageX;if(n.changedTouches&&n.changedTouches.length)return n.changedTouches[0].pageX;if(n.originalEvent&&n.originalEvent.touches&&n.originalEvent.touches.length||n.originalEvent&&n.originalEvent.changedTouches&&n.originalEvent.changedTouches.length)return n.originalEvent.touches[0].pageX}return null};n.mouseY=function(n){if(n){if(n.pageY)return n.pageY;if(n.clientY)return n.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);if(n.touches&&n.touches.length)return n.touches[0].pageY;if(n.changedTouches&&n.changedTouches.length)return n.changedTouches[0].pageY;if(n.originalEvent&&n.originalEvent.touches&&n.originalEvent.touches.length||n.originalEvent&&n.originalEvent.changedTouches&&n.originalEvent.changedTouches.length)return n.originalEvent.touches[0].pageY}return null}};gj.widget.prototype.init=function(n,t){var r,u,i;this.attr("data-type",t);u=$.extend(!0,{},this.getHTMLConfig()||{});$.extend(!0,u,n||{});i=this.getConfig(u,t);this.attr("data-guid",i.guid);this.data(i);for(r in i)gj[t].events.hasOwnProperty(r)&&(this.on(r,i[r]),delete i[r]);for(plugin in gj[t].plugins)gj[t].plugins.hasOwnProperty(plugin)&&gj[t].plugins[plugin].configure(this,i,u);return this};gj.widget.prototype.getConfig=function(n,t){var i,u,f,r;i=$.extend(!0,{},gj[t].config.base);u=n.hasOwnProperty("uiLibrary")?n.uiLibrary:i.uiLibrary;gj[t].config[u]&&$.extend(!0,i,gj[t].config[u]);f=n.hasOwnProperty("iconsLibrary")?n.iconsLibrary:i.iconsLibrary;gj[t].config[f]&&$.extend(!0,i,gj[t].config[f]);for(r in gj[t].plugins)gj[t].plugins.hasOwnProperty(r)&&($.extend(!0,i,gj[t].plugins[r].config.base),gj[t].plugins[r].config[u]&&$.extend(!0,i,gj[t].plugins[r].config[u]),gj[t].plugins[r].config[f]&&$.extend(!0,i,gj[t].plugins[r].config[f]));return $.extend(!0,i,n),i.guid||(i.guid=this.generateGUID()),i};gj.widget.prototype.getHTMLConfig=function(){var n=this.data(),t=this[0].attributes;return t.width&&(n.width=t.width.value),t.height&&(n.height=t.height.value),t.value&&(n.value=t.value.value),t.align&&(n.align=t.align.value),n&&n.source&&(n.dataSource=n.source,delete n.source),n};gj.widget.prototype.createDoneHandler=function(){var n=this;return function(t){"string"==typeof t&&JSON&&(t=JSON.parse(t));gj[n.data("type")].methods.render(n,t)}};gj.widget.prototype.createErrorHandler=function(){return function(n){n&&n.statusText&&"abort"!==n.statusText&&alert(n.statusText)}};gj.widget.prototype.reload=function(n){var i,u,t=this.data(),r=this.data("type");return void 0===t.dataSource&&gj[r].methods.useHtmlDataSource(this,t),$.extend(t.params,n),$.isArray(t.dataSource)?(u=gj[r].methods.filter(this),gj[r].methods.render(this,u)):"string"==typeof t.dataSource?(i={url:t.dataSource,data:t.params},this.xhr&&this.xhr.abort(),this.xhr=$.ajax(i).done(this.createDoneHandler()).fail(this.createErrorHandler())):"object"==typeof t.dataSource&&(t.dataSource.data||(t.dataSource.data={}),$.extend(t.dataSource.data,t.params),i=$.extend(!0,{},t.dataSource),"json"===i.dataType&&"object"==typeof i.data&&(i.data=JSON.stringify(i.data)),i.success||(i.success=this.createDoneHandler()),i.error||(i.error=this.createErrorHandler()),this.xhr&&this.xhr.abort(),this.xhr=$.ajax(i)),this};gj.documentManager={events:{},subscribeForEvent:function(n,t,i){if(gj.documentManager.events[n]&&0!==gj.documentManager.events[n].length){if(gj.documentManager.events[n][t])throw"Event "+n+' for widget with guid="'+t+'" is already attached.';gj.documentManager.events[n].push({widgetId:t,callback:i})}else gj.documentManager.events[n]=[{widgetId:t,callback:i}],$(document).on(n,gj.documentManager.executeCallbacks)},executeCallbacks:function(n){var i=gj.documentManager.events[n.type],t;if(i)for(t=0;t<i.length;t++)i[t].callback(n)},unsubscribeForEvent:function(n,t){var u=!1,i=gj.documentManager.events[n],r;if(i)for(r=0;r<i.length;r++)i[r].widgetId===t&&(i.splice(r,1),u=!0,0===i.length&&($(document).off(n),delete gj.documentManager.events[n]));if(!u)throw'The "'+n+'" for widget with guid="'+t+"\" can't be removed.";}};gj.core={messages:{"en-us":{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthShortNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekDaysMin:["S","M","T","W","T","F","S"],weekDaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],am:"AM",pm:"PM",ok:"Ok",cancel:"Cancel",titleFormat:"mmmm yyyy"}},parseDate:function(n,t,i){var r,f,u,e,s=0,o=0,h=1,c=0,l=0;if(n&&"string"==typeof n){if(/^\d+$/.test(n))e=new Date(n);else if(n.indexOf("/Date(")>-1)e=new Date(parseInt(n.substr(6),10));else if(n){for(u=t.split(/[\s,-\.\/\/\:]+/),f=n.split(/[\s]+/),f.length!=u.length&&(f=n.split(/[\s,-\.\/\/\:]+/)),r=0;r<u.length;r++)["d","dd"].indexOf(u[r])>-1?h=parseInt(f[r],10):["m","mm"].indexOf(u[r])>-1?o=parseInt(f[r],10)-1:"mmm"===u[r]?o=gj.core.messages[i||"en-us"].monthShortNames.indexOf(f[r]):"mmmm"===u[r]?o=gj.core.messages[i||"en-us"].monthNames.indexOf(f[r]):["yy","yyyy"].indexOf(u[r])>-1?(s=parseInt(f[r],10),"yy"===u[r]&&(s+=2e3)):["h","hh","H","HH"].indexOf(u[r])>-1?c=parseInt(f[r],10):["M","MM"].indexOf(u[r])>-1&&(l=parseInt(f[r],10));e=new Date(s,o,h,c,l)}}else"number"==typeof n?e=new Date(n):n instanceof Date&&(e=n);return e},formatDate:function(n,t,r){var u,e,f="",s=t.split(/[\s,-\.\/\/\:]+/),o=t.split(/s+|M+|H+|h+|t+|T+|d+|m+|y+/);for(o=o.splice(1,o.length-2),i=0;i<s.length;i++)switch(u=o[i]||"",s[i]){case"s":f+=n.getSeconds()+u;break;case"ss":f+=gj.core.pad(n.getSeconds())+u;break;case"M":f+=n.getMinutes()+u;break;case"MM":f+=gj.core.pad(n.getMinutes())+u;break;case"H":f+=n.getHours()+u;break;case"HH":f+=gj.core.pad(n.getHours())+u;break;case"h":e=n.getHours()>12?n.getHours()%12:n.getHours();f+=e+u;break;case"hh":e=n.getHours()>12?n.getHours()%12:n.getHours();f+=gj.core.pad(e)+u;break;case"tt":f+=(n.getHours()>=12?"pm":"am")+u;break;case"TT":f+=(n.getHours()>=12?"PM":"AM")+u;break;case"d":f+=n.getDate()+u;break;case"dd":f+=gj.core.pad(n.getDate())+u;break;case"ddd":f+=gj.core.messages[r||"en-us"].weekDaysShort[n.getDay()]+u;break;case"dddd":f+=gj.core.messages[r||"en-us"].weekDays[n.getDay()]+u;break;case"m":f+=n.getMonth()+1+u;break;case"mm":f+=gj.core.pad(n.getMonth()+1)+u;break;case"mmm":f+=gj.core.messages[r||"en-us"].monthShortNames[n.getMonth()]+u;break;case"mmmm":f+=gj.core.messages[r||"en-us"].monthNames[n.getMonth()]+u;break;case"yy":f+=n.getFullYear().toString().substr(2)+u;break;case"yyyy":f+=n.getFullYear()+u}return f},pad:function(n,t){for(n=String(n),t=t||2;n.length<t;)n="0"+n;return n},center:function(n){var t=$(window).width()/2-n.width()/2,i=$(window).height()/2-n.height()/2;n.css("position","absolute");n.css("left",t>0?t:0);n.css("top",i>0?i:0)},isIE:function(){return!!navigator.userAgent.match(/Trident/g)||!!navigator.userAgent.match(/MSIE/g)},setChildPosition:function(n,t){var i=n.getBoundingClientRect(),u=gj.core.height(n,!0),r=gj.core.height(t,!0),s=gj.core.width(n,!0),f=gj.core.width(t,!0),e=window.scrollY||window.pageYOffset||0,o=window.scrollX||window.pageXOffset||0;t.style.top=i.top+u+r>window.innerHeight&&i.top>r?Math.round(i.top+e-r-3)+"px":Math.round(i.top+e+u+3)+"px";t.style.left=i.left+f>document.body.clientWidth?Math.round(i.left+o+s-f)+"px":Math.round(i.left+o)+"px"},height:function(n,t){var r,i=window.getComputedStyle(n);return"border-box"===i.boxSizing?(r=parseInt(i.height,10),gj.core.isIE()&&(r+=parseInt(i.paddingTop||0,10)+parseInt(i.paddingBottom||0,10),r+=parseInt(i.borderTopWidth||0,10)+parseInt(i.borderBottomWidth||0,10))):(r=parseInt(i.height,10),r+=parseInt(i.paddingTop||0,10)+parseInt(i.paddingBottom||0,10),r+=parseInt(i.borderTopWidth||0,10)+parseInt(i.borderBottomWidth||0,10)),t&&(r+=parseInt(i.marginTop||0,10)+parseInt(i.marginBottom||0,10)),r},width:function(n,t){var r,i=window.getComputedStyle(n);return"border-box"===i.boxSizing?r=parseInt(i.width,10):(r=parseInt(i.width,10),r+=parseInt(i.paddingLeft||0,10)+parseInt(i.paddingRight||0,10),r+=parseInt(i.borderLeftWidth||0,10)+parseInt(i.borderRightWidth||0,10)),t&&(r+=parseInt(i.marginLeft||0,10)+parseInt(i.marginRight||0,10)),r},addClasses:function(n,t){var i,r;if(t)for(r=t.split(" "),i=0;i<r.length;i++)n.classList.add(r[i])},position:function(n){for(var r,u,t=0,i=0,f=gj.core.height(n),e=gj.core.width(n);n;)"BODY"==n.tagName?(r=n.scrollLeft||document.documentElement.scrollLeft,u=n.scrollTop||document.documentElement.scrollTop,t+=n.offsetLeft-r,i+=n.offsetTop-u):(t+=n.offsetLeft-n.scrollLeft,i+=n.offsetTop-n.scrollTop),n=n.offsetParent;return{top:i,left:t,bottom:i+f,right:t+e}},setCaretAtEnd:function(n){var t,i;n&&((t=n.value.length,document.selection)?(n.focus(),i=document.selection.createRange(),i.moveStart("character",-t),i.moveStart("character",t),i.moveEnd("character",0),i.select()):(n.selectionStart||"0"==n.selectionStart)&&(n.selectionStart=t,n.selectionEnd=t,n.focus()))},getScrollParent:function(n){return null==n?null:n.scrollHeight>n.clientHeight?n:gj.core.getScrollParent(n.parentNode)}};gj.picker={messages:{"en-us":{}}};gj.picker.methods={initialize:function(n,t,i){var u,f=i.createPicker(n,t),r=n.parent('div[role="wrapper"]');u="bootstrap"===t.uiLibrary?$('<span class="input-group-addon">'+t.icons.rightIcon+"<\/span>"):"bootstrap4"===t.uiLibrary?$('<span class="input-group-append"><button class="btn btn-outline-secondary border-left-0" type="button">'+t.icons.rightIcon+"<\/button><\/span>"):$(t.icons.rightIcon);u.attr("role","right-icon");0===r.length?(r=$('<div role="wrapper" />').addClass(t.style.wrapper),n.wrap(r)):r.addClass(t.style.wrapper);r=n.parent('div[role="wrapper"]');t.width&&r.css("width",t.width);n.val(t.value).addClass(t.style.input).attr("role","input");t.fontSize&&n.css("font-size",t.fontSize);"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(r.addClass("input-group-sm"),n.addClass("form-control-sm")):"large"===t.size&&(r.addClass("input-group-lg"),n.addClass("form-control-lg")):"small"===t.size?r.addClass("small"):"large"===t.size&&r.addClass("large");u.on("click",function(){f.is(":visible")?n.close():n.open()});r.append(u);!0!==t.footer&&(n.on("blur",function(){n.timeout=setTimeout(function(){n.close()},500)}),f.mousedown(function(){return clearTimeout(n.timeout),n.focus(),!1}),f.on("click",function(){clearTimeout(n.timeout);n.focus()}))}};gj.picker.widget=function(n){var t=this,i=gj.picker.methods;return t.destroy=function(){return i.destroy(this)},n};gj.picker.widget.prototype=new gj.widget;gj.picker.widget.constructor=gj.picker.widget;gj.picker.widget.prototype.init=function(n,t){return gj.widget.prototype.init.call(this,n,t),this.attr("data-"+t,"true"),gj.picker.methods.initialize(this,this.data(),gj[t].methods),this};gj.picker.widget.prototype.open=function(n){var i=this.data(),t=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t.show(),t.closest('div[role="modal"]').show(),i.modal?gj.core.center(t):(gj.core.setChildPosition(this[0],t[0]),this.focus()),clearTimeout(this.timeout),gj[n].events.open(this),this};gj.picker.widget.prototype.close=function(n){var t=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t.hide(),t.closest('div[role="modal"]').hide(),gj[n].events.close(this),this};gj.picker.widget.prototype.destroy=function(n){var i=this.data(),r=this.parent(),t=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return i&&(this.off(),t.parent('[role="modal"]').length>0&&t.unwrap(),t.remove(),this.removeData(),this.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-"+n),this.removeClass(),r.children('[role="right-icon"]').remove(),this.unwrap()),this};gj.core.messages["bg-bg"]={monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthShortNames:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","ОКт","Ное","Дек"],weekDaysMin:["Н","П","В","С","Ч","П","С"],weekDaysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],weekDays:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отказ",titleFormat:"mmmm yyyy"};gj.core.messages["fr-fr"]={monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthShortNames:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],weekDays:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],am:"AM",pm:"PM",ok:"OK",cancel:"Annuler",titleFormat:"mmmm yyyy"};gj.core.messages["de-de"]={monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthShortNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],weekDaysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDays:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],am:"AM",pm:"PM",ok:"OK",cancel:"Abbrechen",titleFormat:"mmmm yyyy"};gj.core.messages["pt-br"]={monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthShortNames:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],weekDaysMin:["D","S","T","Q","Q","S","S"],weekDaysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekDays:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar",titleFormat:"mmmm yyyy"};gj.core.messages["ru-ru"]={monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthShortNames:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],weekDaysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekDaysShort:["вск","пнд","втр","срд","чтв","птн","сбт"],weekDays:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отмена",titleFormat:"mmmm yyyy"};gj.core.messages["es-es"]={monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthShortNames:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],weekDays:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar",titleFormat:"mmmm yyyy"};gj.core.messages["it-it"]={monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthShortNames:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],weekDaysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekDaysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],weekDays:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],am:"AM",pm:"PM",ok:"OK",cancel:"Annulla",titleFormat:"mmmm yyyy"};gj.core.messages["tr-tr"]={monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthShortNames:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],weekDaysMin:["P","P","S","Ç","P","C","C"],weekDaysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],weekDays:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],am:"AM",pm:"PM",ok:"Tamam",cancel:"İptal",titleFormat:"mmmm yyyy"};gj.core.messages["ja-jp"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],weekDaysMin:["日","月","火","水","木","金","土"],weekDaysShort:["日","月","火","水","木","金","土"],weekDays:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],am:"午前",pm:"午後",ok:"OK",cancel:"キャンセル",titleFormat:"yyyy年mmmm"};gj.core.messages["zh-cn"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12."],weekDaysMin:["日","一","二","三","四","五","六"],weekDaysShort:["周日","周一","周二","周三","周四","周五","周六"],weekDays:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],am:"上午",pm:"下午",ok:"确认",cancel:"取消",titleFormat:"yyyy年mmmm"};gj.core.messages["zh-tw"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12."],weekDaysMin:["日","一","二","三","四","五","六"],weekDaysShort:["周日","周一","周二","周三","周四","周五","周六"],weekDays:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],am:"上午",pm:"下午",ok:"確認",cancel:"取消",titleFormat:"yyyy年mmmm"};gj.timepicker={plugins:{}};gj.timepicker.config={base:{width:void 0,modal:!0,header:!0,footer:!0,format:"HH:MM",uiLibrary:"materialdesign",value:void 0,mode:"ampm",locale:"en-us",size:"default",icons:{rightIcon:'<i class="gj-icon clock" />'},style:{modal:"gj-modal",wrapper:"gj-timepicker gj-timepicker-md gj-unselectable",input:"gj-textbox-md",clock:"gj-picker gj-picker-md timepicker",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control border",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"}}};gj.timepicker.methods={init:function(n){return gj.picker.widget.prototype.init.call(this,n,"timepicker"),this},initialize:function(){},initMouse:function(n,t,i,r){n.off();n.on("mousedown",gj.timepicker.methods.mouseDownHandler(t,i));n.on("mousemove",gj.timepicker.methods.mouseMoveHandler(t,i,r));n.on("mouseup",gj.timepicker.methods.mouseUpHandler(t,i,r))},createPicker:function(n){var r,t=n.data(),i=$('<div role="picker" />').addClass(t.style.clock).attr("guid",n.attr("data-guid")),o=$('<div role="hour" />'),s=$('<div role="minute" />'),f=$('<div role="header" />'),u=$('<div role="mode" />'),h=$('<div role="body" />'),c=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].ok+"<\/button>"),l=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].cancel+"<\/button>"),e=$('<div role="footer" class="'+t.style.footer+'" />');return r=gj.core.parseDate(t.value,t.format,t.locale),!r||isNaN(r.getTime())?r=new Date:n.attr("hours",r.getHours()),gj.timepicker.methods.initMouse(h,n,i,t),t.header&&(o.on("click",function(){gj.timepicker.methods.renderHours(n,i,t)}),s.on("click",function(){gj.timepicker.methods.renderMinutes(n,i,t)}),f.append(o).append(":").append(s),"ampm"===t.mode&&(u.append($('<span role="am">'+gj.core.messages[t.locale].am+"<\/span>").on("click",function(){var r=gj.timepicker.methods.getHour(i);i.attr("mode","am");$(this).addClass("selected");$(this).parent().children('[role="pm"]').removeClass("selected");r>=12&&i.attr("hour",r-12);t.modal||(clearTimeout(n.timeout),n.focus())})),u.append("<br />"),u.append($('<span role="pm">'+gj.core.messages[t.locale].pm+"<\/span>").on("click",function(){var r=gj.timepicker.methods.getHour(i);i.attr("mode","pm");$(this).addClass("selected");$(this).parent().children('[role="am"]').removeClass("selected");r<12&&i.attr("hour",r+12);t.modal||(clearTimeout(n.timeout),n.focus())})),f.append(u)),i.append(f)),i.append(h),t.footer&&(l.on("click",function(){n.close()}),e.append(l),c.on("click",gj.timepicker.methods.setTime(n,i)),e.append(c),i.append(e)),i.hide(),$("body").append(i),t.modal&&(i.wrapAll('<div role="modal" class="'+t.style.modal+'"/>'),gj.core.center(i)),i},getHour:function(n){return parseInt(n.attr("hour"),10)||0},getMinute:function(n){return parseInt(n.attr("minute"),10)||0},setTime:function(n,t){return function(){var i=gj.timepicker.methods.getHour(t),u=gj.timepicker.methods.getMinute(t),f=t.attr("mode"),e=new Date(0,0,0,12===i&&"am"===f?0:i,u),r=n.data(),o=gj.core.formatDate(e,r.format,r.locale);n.value(o);n.close()}},getPointerValue:function(n,t,i){var r,e,f=256,u=Math.atan2(f/2-n,f/2-t)/Math.PI*180;switch(u<0&&(u=360+u),i){case"ampm":return r=12-Math.round(u/30),0===r?12:r;case"24hr":return e=Math.sqrt(Math.pow(f/2-n,2)+Math.pow(f/2-t,2)),r=12-Math.round(u/30),0===r&&(r=12),e<f/2-32&&(r=12===r?0:r+12),r;case"minutes":return r=Math.round(60-u/6),60===r?0:r}},updateArrow:function(n,t,i,r){var f,u,e=t.mouseX(n),o=t.mouseY(n),s=window.scrollY||window.pageYOffset||0,h=window.scrollX||window.pageXOffset||0;f=n.target.getBoundingClientRect();"hours"==r.dialMode?(u=gj.timepicker.methods.getPointerValue(e-h-f.left,o-s-f.top,r.mode),i.attr("hour","ampm"===r.mode&&"pm"===i.attr("mode")&&u<12?u+12:u)):"minutes"==r.dialMode&&(u=gj.timepicker.methods.getPointerValue(e-h-f.left,o-s-f.top,"minutes"),i.attr("minute",u));gj.timepicker.methods.update(t,i,r)},update:function(n,t,i){var r,e,f,o,u,s;r=gj.timepicker.methods.getHour(t);e=gj.timepicker.methods.getMinute(t);f=t.find('[role="arrow"]');"hours"==i.dialMode&&(0==r||r>12)&&"24hr"===i.mode?f.css("width","calc(50% - 52px)"):f.css("width","calc(50% - 20px)");"hours"==i.dialMode?f.css("transform","rotate("+(30*r-90).toString()+"deg)"):f.css("transform","rotate("+(6*e-90).toString()+"deg)");f.show();o="ampm"===i.mode&&r>12?r-12:0==r?12:r;s=t.find('[role="body"] span');s.removeClass("selected");s.filter(function(){return"hours"==i.dialMode?parseInt($(this).text(),10)==o:parseInt($(this).text(),10)==e}).addClass("selected");i.header&&(u=t.find('[role="header"]'),u.find('[role="hour"]').text(o),u.find('[role="minute"]').text(gj.core.pad(e)),"ampm"===i.mode&&(r>=12?(u.find('[role="pm"]').addClass("selected"),u.find('[role="am"]').removeClass("selected")):(u.find('[role="am"]').addClass("selected"),u.find('[role="pm"]').removeClass("selected"))))},mouseDownHandler:function(n){return function(){n.mouseMove=!0}},mouseMoveHandler:function(n,t,i){return function(r){n.mouseMove&&gj.timepicker.methods.updateArrow(r,n,t,i)}},mouseUpHandler:function(n,t,i){return function(r){gj.timepicker.methods.updateArrow(r,n,t,i);n.mouseMove=!1;i.modal||(clearTimeout(n.timeout),n.focus());"hours"==i.dialMode?setTimeout(function(){gj.timepicker.events.select(n,"hour");gj.timepicker.methods.renderMinutes(n,t,i)},1e3):"minutes"==i.dialMode&&(!0!==i.footer&&!1!==i.autoClose&&gj.timepicker.methods.setTime(n,t)(),gj.timepicker.events.select(n,"minute"))}},renderHours:function(n,t,i){var r,u=t.find('[role="body"]');clearTimeout(n.timeout);u.empty();r=$('<div role="dial"><\/div>');r.append('<div role="arrow" style="transform: rotate(-90deg); display: none;"><div class="arrow-begin"><\/div><div class="arrow-end"><\/div><\/div>');r.append('<span role="hour" style="transform: translate(54px, -93.5307px);">1<\/span>');r.append('<span role="hour" style="transform: translate(93.5307px, -54px);">2<\/span>');r.append('<span role="hour" style="transform: translate(108px, 0px);">3<\/span>');r.append('<span role="hour" style="transform: translate(93.5307px, 54px);">4<\/span>');r.append('<span role="hour" style="transform: translate(54px, 93.5307px);">5<\/span>');r.append('<span role="hour" style="transform: translate(6.61309e-15px, 108px);">6<\/span>');r.append('<span role="hour" style="transform: translate(-54px, 93.5307px);">7<\/span>');r.append('<span role="hour" style="transform: translate(-93.5307px, 54px);">8<\/span>');r.append('<span role="hour" style="transform: translate(-108px, 1.32262e-14px);">9<\/span>');r.append('<span role="hour" style="transform: translate(-93.5307px, -54px);">10<\/span>');r.append('<span role="hour" style="transform: translate(-54px, -93.5307px);">11<\/span>');r.append('<span role="hour" style="transform: translate(-1.98393e-14px, -108px);">12<\/span>');"24hr"===i.mode&&(r.append('<span role="hour" style="transform: translate(38px, -65.8179px);">13<\/span>'),r.append('<span role="hour" style="transform: translate(65.8179px, -38px);">14<\/span>'),r.append('<span role="hour" style="transform: translate(76px, 0px);">15<\/span>'),r.append('<span role="hour" style="transform: translate(65.8179px, 38px);">16<\/span>'),r.append('<span role="hour" style="transform: translate(38px, 65.8179px);">17<\/span>'),r.append('<span role="hour" style="transform: translate(4.65366e-15px, 76px);">18<\/span>'),r.append('<span role="hour" style="transform: translate(-38px, 65.8179px);">19<\/span>'),r.append('<span role="hour" style="transform: translate(-65.8179px, 38px);">20<\/span>'),r.append('<span role="hour" style="transform: translate(-76px, 9.30732e-15px);">21<\/span>'),r.append('<span role="hour" style="transform: translate(-65.8179px, -38px);">22<\/span>'),r.append('<span role="hour" style="transform: translate(-38px, -65.8179px);">23<\/span>'),r.append('<span role="hour" style="transform: translate(-1.3961e-14px, -76px);">00<\/span>'));u.append(r);t.find('[role="header"] [role="hour"]').addClass("selected");t.find('[role="header"] [role="minute"]').removeClass("selected");i.dialMode="hours";gj.timepicker.methods.update(n,t,i)},renderMinutes:function(n,t,i){var r=t.find('[role="body"]');clearTimeout(n.timeout);r.empty();$dial=$('<div role="dial"><\/div>');$dial.append('<div role="arrow" style="transform: rotate(-90deg); display: none;"><div class="arrow-begin"><\/div><div class="arrow-end"><\/div><\/div>');$dial.append('<span role="hour" style="transform: translate(54px, -93.5307px);">5<\/span>');$dial.append('<span role="hour" style="transform: translate(93.5307px, -54px);">10<\/span>');$dial.append('<span role="hour" style="transform: translate(108px, 0px);">15<\/span>');$dial.append('<span role="hour" style="transform: translate(93.5307px, 54px);">20<\/span>');$dial.append('<span role="hour" style="transform: translate(54px, 93.5307px);">25<\/span>');$dial.append('<span role="hour" style="transform: translate(6.61309e-15px, 108px);">30<\/span>');$dial.append('<span role="hour" style="transform: translate(-54px, 93.5307px);">35<\/span>');$dial.append('<span role="hour" style="transform: translate(-93.5307px, 54px);">40<\/span>');$dial.append('<span role="hour" style="transform: translate(-108px, 1.32262e-14px);">45<\/span>');$dial.append('<span role="hour" style="transform: translate(-93.5307px, -54px);">50<\/span>');$dial.append('<span role="hour" style="transform: translate(-54px, -93.5307px);">55<\/span>');$dial.append('<span role="hour" style="transform: translate(-1.98393e-14px, -108px);">00<\/span>');r.append($dial);t.find('[role="header"] [role="hour"]').removeClass("selected");t.find('[role="header"] [role="minute"]').addClass("selected");i.dialMode="minutes";gj.timepicker.methods.update(n,t,i)},open:function(n){var r,u,t=n.data(),i=$("body").find('[role="picker"][guid="'+n.attr("data-guid")+'"]');return r=n.value()?gj.core.parseDate(n.value(),t.format,t.locale):new Date,u=r.getHours(),"ampm"===t.mode&&i.attr("mode",u>12?"pm":"am"),i.attr("hour",u),i.attr("minute",r.getMinutes()),gj.timepicker.methods.renderHours(n,i,t),gj.picker.widget.prototype.open.call(n,"timepicker"),n},value:function(n,t){return n.data(),void 0===t?n.val():(n.val(t),gj.timepicker.events.change(n),n)}};gj.timepicker.events={change:function(n){return n.triggerHandler("change")},select:function(n,t){return n.triggerHandler("select",[t])},open:function(n){return n.triggerHandler("open")},close:function(n){return n.triggerHandler("close")}};gj.timepicker.widget=function(n,t){var i=this,r=gj.timepicker.methods;return i.mouseMove=!1,i.value=function(n){return r.value(this,n)},i.destroy=function(){return gj.picker.widget.prototype.destroy.call(this,"timepicker")},i.open=function(){return gj.timepicker.methods.open(this)},i.close=function(){return gj.picker.widget.prototype.close.call(this,"timepicker")},$.extend(n,i),"true"!==n.attr("data-timepicker")&&r.init.call(n,t),n};gj.timepicker.widget.prototype=new gj.picker.widget;gj.timepicker.widget.constructor=gj.timepicker.widget,function(n){n.fn.timepicker=function(n){var t;if(this&&this.length){if("object"!=typeof n&&n){if(t=new gj.timepicker.widget(this,null),t[n])return t[n].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+n+" does not exist.";}return new gj.timepicker.widget(this,n)}}}(jQuery);gj.datepicker={plugins:{}};gj.datepicker.config={base:{showOtherMonths:!1,selectOtherMonths:!0,width:void 0,minDate:void 0,maxDate:void 0,format:"mm/dd/yyyy",uiLibrary:"materialdesign",iconsLibrary:"materialicons",value:void 0,weekStartDay:0,disableDates:void 0,disableDaysOfWeek:void 0,calendarWeeks:!1,keyboardNavigation:!0,locale:"en-us",icons:{rightIcon:'<i class="gj-icon">event<\/i>',previousMonth:'<i class="gj-icon chevron-left"><\/i>',nextMonth:'<i class="gj-icon chevron-right"><\/i>'},fontSize:void 0,size:"default",modal:!1,header:!1,footer:!1,showOnFocus:!0,showRightIcon:!0,style:{modal:"gj-modal",wrapper:"gj-datepicker gj-datepicker-md gj-unselectable",input:"gj-textbox-md",calendar:"gj-picker gj-picker-md datepicker gj-unselectable",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons",showOtherMonths:!0},bootstrap4:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},showOtherMonths:!0},fontawesome:{icons:{rightIcon:'<i class="fa fa-calendar" aria-hidden="true"><\/i>',previousMonth:'<i class="fa fa-chevron-left" aria-hidden="true"><\/i>',nextMonth:'<i class="fa fa-chevron-right" aria-hidden="true"><\/i>'}},glyphicons:{icons:{rightIcon:'<span class="glyphicon glyphicon-calendar"><\/span>',previousMonth:'<span class="glyphicon glyphicon-chevron-left"><\/span>',nextMonth:'<span class="glyphicon glyphicon-chevron-right"><\/span>'}}};gj.datepicker.methods={init:function(n){return gj.widget.prototype.init.call(this,n,"datepicker"),this.attr("data-datepicker","true"),gj.datepicker.methods.initialize(this,this.data()),this},initialize:function(n,t){var r,u,i=n.parent('div[role="wrapper"]');0===i.length?(i=$('<div role="wrapper" />').addClass(t.style.wrapper),n.wrap(i)):i.addClass(t.style.wrapper);i=n.parent('div[role="wrapper"]');t.width&&i.css("width",t.width);n.val(t.value).addClass(t.style.input).attr("role","input");t.fontSize&&n.css("font-size",t.fontSize);"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(i.addClass("input-group-sm"),n.addClass("form-control-sm")):"large"===t.size&&(i.addClass("input-group-lg"),n.addClass("form-control-lg")):"small"===t.size?i.addClass("small"):"large"===t.size&&i.addClass("large");t.showRightIcon&&(u="bootstrap"===t.uiLibrary?$('<span class="input-group-addon">'+t.icons.rightIcon+"<\/span>"):"bootstrap4"===t.uiLibrary?$('<span class="input-group-append"><button class="btn btn-outline-secondary border-left-0" type="button">'+t.icons.rightIcon+"<\/button><\/span>"):$(t.icons.rightIcon),u.attr("role","right-icon"),u.on("click",function(){$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]').is(":visible")?gj.datepicker.methods.close(n):gj.datepicker.methods.open(n,t)}),i.append(u));t.showOnFocus&&n.on("focus",function(){gj.datepicker.methods.open(n,t)});r=gj.datepicker.methods.createCalendar(n,t);!0!==t.footer&&(n.on("blur",function(){n.timeout=setTimeout(function(){gj.datepicker.methods.close(n)},500)}),r.mousedown(function(){return clearTimeout(n.timeout),document.activeElement!==n[0]&&n.focus(),!1}),r.on("click",function(){clearTimeout(n.timeout);document.activeElement!==n[0]&&n.focus()}));t.keyboardNavigation&&$(document).on("keydown",gj.datepicker.methods.createKeyDownHandler(n,r,t))},createCalendar:function(n,t){var r,o,u,f,e,i=$('<div role="calendar" type="month"/>').addClass(t.style.calendar).attr("guid",n.attr("data-guid"));return t.fontSize&&i.css("font-size",t.fontSize),r=gj.core.parseDate(t.value,t.format,t.locale),!r||isNaN(r.getTime())?r=new Date:n.attr("day",r.getFullYear()+"-"+r.getMonth()+"-"+r.getDate()),i.attr("month",r.getMonth()),i.attr("year",r.getFullYear()),gj.datepicker.methods.renderHeader(n,i,t,r),o=$('<div role="body" />'),i.append(o),t.footer&&(u=$('<div role="footer" class="'+t.style.footer+'" />'),f=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].cancel+"<\/button>"),f.on("click",function(){n.close()}),u.append(f),e=$('<button class="'+t.style.button+'">'+gj.core.messages[t.locale].ok+"<\/button>"),e.on("click",function(){var u,r,f=i.attr("selectedDay");f?(r=f.split("-"),u=new Date(r[0],r[1],r[2],i.attr("hour")||0,i.attr("minute")||0),gj.datepicker.methods.change(n,i,t,u)):n.close()}),u.append(e),i.append(u)),i.hide(),$("body").append(i),t.modal&&(i.wrapAll('<div role="modal" class="'+t.style.modal+'"/>'),gj.core.center(i)),i},renderHeader:function(n,t,i,r){var e,u,f;i.header&&(e=$('<div role="header" />'),f=$('<div role="year" />').on("click",function(){gj.datepicker.methods.renderDecade(n,t,i);f.addClass("selected");u.removeClass("selected")}),f.html(gj.core.formatDate(r,"yyyy",i.locale)),e.append(f),u=$('<div role="date" class="selected" />').on("click",function(){gj.datepicker.methods.renderMonth(n,t,i);u.addClass("selected");f.removeClass("selected")}),u.html(gj.core.formatDate(r,"ddd, mmm dd",i.locale)),e.append(u),t.append(e))},updateHeader:function(n,t,i){n.find('[role="header"] [role="year"]').removeClass("selected").html(gj.core.formatDate(i,"yyyy",t.locale));n.find('[role="header"] [role="date"]').addClass("selected").html(gj.core.formatDate(i,"ddd, mmm dd",t.locale));n.find('[role="header"] [role="hour"]').removeClass("selected").html(gj.core.formatDate(i,"HH",t.locale));n.find('[role="header"] [role="minute"]').removeClass("selected").html(gj.core.formatDate(i,"MM",t.locale))},createNavigation:function(n,t,r,u){var f,e,o=$("<thead/>");for(e=$('<div role="navigator" />'),e.append($("<div>"+u.icons.previousMonth+"<\/div>").on("click",gj.datepicker.methods.prev(n,u))),e.append($('<div role="period"><\/div>').on("click",gj.datepicker.methods.changePeriod(n,u))),e.append($("<div>"+u.icons.nextMonth+"<\/div>").on("click",gj.datepicker.methods.next(n,u))),t.append(e),f=$('<tr role="week-days" />'),u.calendarWeeks&&f.append("<th><div>&nbsp;<\/div><\/th>"),i=u.weekStartDay;i<gj.core.messages[u.locale].weekDaysMin.length;i++)f.append("<th><div>"+gj.core.messages[u.locale].weekDaysMin[i]+"<\/div><\/th>");for(i=0;i<u.weekStartDay;i++)f.append("<th><div>"+gj.core.messages[u.locale].weekDaysMin[i]+"<\/div><\/th>");o.append(f);r.append(o)},renderMonth:function(n,t,i){var h,c,v,s,o,y,nt,b,r,p,l,a,u,e,f,k=t.children('[role="body"]'),d=$("<table/>"),w=$("<tbody/>"),g=gj.core.messages[i.locale].titleFormat;for(k.off().empty(),gj.datepicker.methods.createNavigation(n,k,d,i),s=parseInt(t.attr("month"),10),o=parseInt(t.attr("year"),10),t.attr("type","month"),g=g.replace("mmmm",gj.core.messages[i.locale].monthNames[s]).replace("yyyy",o),t.find('div[role="period"]').text(g),y=[31,28,31,30,31,30,31,31,30,31,30,31],o%4==0&&1900!=o&&(y[1]=29),nt=y[s],b=(new Date(o,s,1).getDay()+7-i.weekStartDay)%7,h=0,$row=$("<tr />"),l=gj.datepicker.methods.getPrevMonth(s,o),r=1;r<=b;r++)v=y[l.month]-b+r,f=new Date(l.year,l.month,v),i.calendarWeeks&&1===r&&$row.append('<td class="calendar-week"><div>'+gj.datepicker.methods.getWeekNumber(f)+"<\/div><\/td>"),u=$('<td class="other-month" />'),i.showOtherMonths&&(e=$("<div>"+v+"<\/div>"),u.append(e),i.selectOtherMonths&&gj.datepicker.methods.isSelectable(i,f)?(u.addClass("gj-cursor-pointer").attr("day",v).attr("month",l.month).attr("year",l.year),e.on("click",gj.datepicker.methods.dayClickHandler(n,t,i,f)),e.on("mousedown",function(n){n.stopPropagation()})):u.addClass("disabled")),$row.append(u),h++;for(r>1&&w.append($row),p=new Date,r=1;r<=nt;r++)f=new Date(o,s,r),0==h&&($row=$("<tr>"),i.calendarWeeks&&$row.append('<td class="calendar-week"><div>'+gj.datepicker.methods.getWeekNumber(f)+"<\/div><\/td>")),u=$('<td day="'+r+'" month="'+s+'" year="'+o+'" />'),o===p.getFullYear()&&s===p.getMonth()&&r===p.getDate()?u.addClass("today"):u.addClass("current-month"),e=$("<div>"+r+"<\/div>"),gj.datepicker.methods.isSelectable(i,f)?(u.addClass("gj-cursor-pointer"),e.on("click",gj.datepicker.methods.dayClickHandler(n,t,i,f)),e.on("mousedown",function(n){n.stopPropagation()})):u.addClass("disabled"),u.append(e),$row.append(u),7==++h&&(w.append($row),h=0);for(a=gj.datepicker.methods.getNextMonth(s,o),r=1;0!=h;r++)f=new Date(a.year,a.month,r),u=$('<td class="other-month" />'),i.showOtherMonths&&(e=$("<div>"+r+"<\/div>"),i.selectOtherMonths&&gj.datepicker.methods.isSelectable(i,f)?(u.addClass("gj-cursor-pointer").attr("day",r).attr("month",a.month).attr("year",a.year),e.on("click",gj.datepicker.methods.dayClickHandler(n,t,i,f)),e.on("mousedown",function(n){n.stopPropagation()})):u.addClass("disabled"),u.append(e)),$row.append(u),7==++h&&(w.append($row),h=0);d.append(w);k.append(d);t.attr("selectedDay")&&(c=t.attr("selectedDay").split("-"),f=new Date(c[0],c[1],c[2],t.attr("hour")||0,t.attr("minute")||0),t.find('tbody td[day="'+c[2]+'"][month="'+c[1]+'"]').addClass("selected"),gj.datepicker.methods.updateHeader(t,i,f))},renderYear:function(n,t,i){var e,r,u,f,o=t.find('>[role="body"]>table'),s=o.children("tbody");for(o.children("thead").hide(),e=parseInt(t.attr("year"),10),t.attr("type","year"),t.find('div[role="period"]').text(e),s.empty(),r=0;r<3;r++){for($row=$("<tr />"),u=4*r;u<=4*r+3;u++)f=$("<div>"+gj.core.messages[i.locale].monthShortNames[u]+"<\/div>"),f.on("click",gj.datepicker.methods.selectMonth(n,t,i,u)),$cell=$("<td><\/td>").append(f),$row.append($cell);s.append($row)}},renderDecade:function(n,t,i){var e,r,u,f,o,s=t.find('>[role="body"]>table'),h=s.children("tbody");for(s.children("thead").hide(),e=parseInt(t.attr("year"),10),r=e-e%10,t.attr("type","decade"),t.find('div[role="period"]').text(r+" - "+(r+9)),h.empty(),u=r-1;u<=r+10;u+=4){for($row=$("<tr />"),f=u;f<=u+3;f++)o=$("<div>"+f+"<\/div>"),o.on("click",gj.datepicker.methods.selectYear(n,t,i,f)),$cell=$("<td><\/td>").append(o),$row.append($cell);h.append($row)}},renderCentury:function(n,t,i){var e,r,u,f,o,s=t.find('>[role="body"]>table'),h=s.children("tbody");for(s.children("thead").hide(),e=parseInt(t.attr("year"),10),r=e-e%100,t.attr("type","century"),t.find('div[role="period"]').text(r+" - "+(r+99)),h.empty(),u=r-10;u<r+100;u+=40){for($row=$("<tr />"),f=u;f<=u+30;f+=10)o=$("<div>"+f+"<\/div>"),o.on("click",gj.datepicker.methods.selectDecade(n,t,i,f)),$cell=$("<td><\/td>").append(o),$row.append($cell);h.append($row)}},getWeekNumber:function(n){var t=new Date(n.valueOf()),i;return t.setDate(t.getDate()+6),t=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())),t.setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7)),i=new Date(Date.UTC(t.getUTCFullYear(),0,1)),Math.ceil(((t-i)/864e5+1)/7)},getMinDate:function(n){var t;return n.minDate&&("string"==typeof n.minDate?t=gj.core.parseDate(n.minDate,n.format,n.locale):"function"==typeof n.minDate?"string"==typeof(t=n.minDate())&&(t=gj.core.parseDate(t,n.format,n.locale)):"function"==typeof n.minDate.getMonth&&(t=n.minDate)),t},getMaxDate:function(n){var t;return n.maxDate&&("string"==typeof n.maxDate?t=gj.core.parseDate(n.maxDate,n.format,n.locale):"function"==typeof n.maxDate?"string"==typeof(t=n.maxDate())&&(t=gj.core.parseDate(t,n.format,n.locale)):"function"==typeof n.maxDate.getMonth&&(t=n.maxDate)),t},isSelectable:function(n,t){var r,i=!0,u=gj.datepicker.methods.getMinDate(n),f=gj.datepicker.methods.getMaxDate(n);if(u&&t<u?i=!1:f&&t>f&&(i=!1),i){if(n.disableDates)if($.isArray(n.disableDates))for(r=0;r<n.disableDates.length;r++)n.disableDates[r]instanceof Date&&n.disableDates[r].getTime()===t.getTime()?i=!1:"string"==typeof n.disableDates[r]&&gj.core.parseDate(n.disableDates[r],n.format,n.locale).getTime()===t.getTime()&&(i=!1);else n.disableDates instanceof Function&&(i=n.disableDates(t));$.isArray(n.disableDaysOfWeek)&&n.disableDaysOfWeek.indexOf(t.getDay())>-1&&(i=!1)}return i},getPrevMonth:function(n,t){return date=new Date(t,n,1),date.setMonth(date.getMonth()-1),{month:date.getMonth(),year:date.getFullYear()}},getNextMonth:function(n,t){return date=new Date(t,n,1),date.setMonth(date.getMonth()+1),{month:date.getMonth(),year:date.getFullYear()}},prev:function(n,t){return function(){var u,f,r,e,o,i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');switch(r=parseInt(i.attr("year"),10),i.attr("type")){case"month":f=parseInt(i.attr("month"),10);u=gj.datepicker.methods.getPrevMonth(f,r);i.attr("month",u.month);i.attr("year",u.year);gj.datepicker.methods.renderMonth(n,i,t);break;case"year":i.attr("year",r-1);gj.datepicker.methods.renderYear(n,i,t);break;case"decade":e=r-r%10;i.attr("year",e-10);gj.datepicker.methods.renderDecade(n,i,t);break;case"century":o=r-r%100;i.attr("year",o-100);gj.datepicker.methods.renderCentury(n,i,t)}}},next:function(n,t){return function(){var u,f,r,e,o,i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');switch(r=parseInt(i.attr("year"),10),i.attr("type")){case"month":f=parseInt(i.attr("month"),10);u=gj.datepicker.methods.getNextMonth(f,r);i.attr("month",u.month);i.attr("year",u.year);gj.datepicker.methods.renderMonth(n,i,t);break;case"year":i.attr("year",r+1);gj.datepicker.methods.renderYear(n,i,t);break;case"decade":e=r-r%10;i.attr("year",e+10);gj.datepicker.methods.renderDecade(n,i,t);break;case"century":o=r-r%100;i.attr("year",o+100);gj.datepicker.methods.renderCentury(n,i,t)}}},changePeriod:function(n,t){return function(){var i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');switch(i.attr("type")){case"month":gj.datepicker.methods.renderYear(n,i,t);break;case"year":gj.datepicker.methods.renderDecade(n,i,t);break;case"decade":gj.datepicker.methods.renderCentury(n,i,t)}}},dayClickHandler:function(n,t,i,r){return function(u){return u&&u.stopPropagation(),gj.datepicker.methods.selectDay(n,t,i,r),!0!==i.footer&&!1!==i.autoClose&&gj.datepicker.methods.change(n,t,i,r),n}},change:function(n,t,i,r){var u=(r.getDate(),r.getMonth()),f=r.getFullYear(),e=gj.core.formatDate(r,i.format,i.locale);t.attr("month",u);t.attr("year",f);n.val(e);gj.datepicker.events.change(n);"none"!==window.getComputedStyle(t[0]).display&&gj.datepicker.methods.close(n)},selectDay:function(n,t,i,r){var u=r.getDate(),f=r.getMonth(),e=r.getFullYear();t.attr("selectedDay",e+"-"+f+"-"+u);t.find("tbody td").removeClass("selected");t.find('tbody td[day="'+u+'"][month="'+f+'"]').addClass("selected");gj.datepicker.methods.updateHeader(t,i,r);gj.datepicker.events.select(n,"day")},selectMonth:function(n,t,i,r){return function(){t.attr("month",r);gj.datepicker.methods.renderMonth(n,t,i);gj.datepicker.events.select(n,"month")}},selectYear:function(n,t,i,r){return function(){t.attr("year",r);gj.datepicker.methods.renderYear(n,t,i);gj.datepicker.events.select(n,"year")}},selectDecade:function(n,t,i,r){return function(){t.attr("year",r);gj.datepicker.methods.renderDecade(n,t,i);gj.datepicker.events.select(n,"decade")}},open:function(n,t){var r,i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');switch(n.val()?n.value(n.val()):(r=new Date,i.attr("month",r.getMonth()),i.attr("year",r.getFullYear())),i.attr("type")){case"month":gj.datepicker.methods.renderMonth(n,i,t);break;case"year":gj.datepicker.methods.renderYear(n,i,t);break;case"decade":gj.datepicker.methods.renderDecade(n,i,t);break;case"century":gj.datepicker.methods.renderCentury(n,i,t)}i.show();i.closest('div[role="modal"]').show();t.modal?gj.core.center(i):(gj.core.setChildPosition(n[0],i[0]),document.activeElement!==n[0]&&n.focus());clearTimeout(n.timeout);gj.datepicker.events.open(n)},close:function(n){var t=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');t.hide();t.closest('div[role="modal"]').hide();gj.datepicker.events.close(n)},createKeyDownHandler:function(n,t,i){return function(r){var o,s,h,e,u,f,r=r||window.event;"none"!==window.getComputedStyle(t[0]).display&&(f=gj.datepicker.methods.getActiveCell(t),"38"==r.keyCode?(e=f.index(),u=f.closest("tr").prev("tr").find("td:eq("+e+")"),u.is("[day]")||(gj.datepicker.methods.prev(n,i)(),u=t.find("tbody tr").last().find("td:eq("+e+")"),u.is(":empty")&&(u=t.find("tbody tr").last().prev().find("td:eq("+e+")"))),u.is("[day]")&&(u.addClass("focused"),f.removeClass("focused"))):"40"==r.keyCode?(e=f.index(),u=f.closest("tr").next("tr").find("td:eq("+e+")"),u.is("[day]")||(gj.datepicker.methods.next(n,i)(),u=t.find("tbody tr").first().find("td:eq("+e+")"),u.is("[day]")||(u=t.find("tbody tr:eq(1)").find("td:eq("+e+")"))),u.is("[day]")&&(u.addClass("focused"),f.removeClass("focused"))):"37"==r.keyCode?(u=f.prev("td[day]:not(.disabled)"),0===u.length&&(u=f.closest("tr").prev("tr").find("td[day]").last()),0===u.length&&(gj.datepicker.methods.prev(n,i)(),u=t.find("tbody tr").last().find("td[day]").last()),u.length>0&&(u.addClass("focused"),f.removeClass("focused"))):"39"==r.keyCode?(u=f.next("[day]:not(.disabled)"),0===u.length&&(u=f.closest("tr").next("tr").find("td[day]").first()),0===u.length&&(gj.datepicker.methods.next(n,i)(),u=t.find("tbody tr").first().find("td[day]").first()),u.length>0&&(u.addClass("focused"),f.removeClass("focused"))):"13"==r.keyCode?(h=parseInt(f.attr("day"),10),o=parseInt(f.attr("month"),10),s=parseInt(f.attr("year"),10),gj.datepicker.methods.dayClickHandler(n,t,i,new Date(s,o,h))()):"27"==r.keyCode&&n.close())}},getActiveCell:function(n){var t=n.find("td[day].focused");return 0===t.length&&(t=n.find("td[day].selected"),0===t.length&&(t=n.find("td[day].today"),0===t.length&&(t=n.find("td[day]:not(.disabled)").first()))),t},value:function(n,t){var u,i,r=n.data();return void 0===t?n.val():(i=gj.core.parseDate(t,r.format,r.locale),i&&i.getTime()?(u=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(n,u,r,i)()):n.val(""),n)},destroy:function(n){var i=n.data(),r=n.parent(),t=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');return i&&(n.off(),t.parent('[role="modal"]').length>0&&t.unwrap(),t.remove(),n.removeData(),n.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datepicker"),n.removeClass(),r.children('[role="right-icon"]').remove(),n.unwrap()),n}};gj.datepicker.events={change:function(n){return n.triggerHandler("change")},select:function(n,t){return n.triggerHandler("select",[t])},open:function(n){return n.triggerHandler("open")},close:function(n){return n.triggerHandler("close")}};gj.datepicker.widget=function(n,t){var i=this,r=gj.datepicker.methods;return i.value=function(n){return r.value(this,n)},i.destroy=function(){return r.destroy(this)},i.open=function(){return r.open(this,this.data())},i.close=function(){return r.close(this)},$.extend(n,i),"true"!==n.attr("data-datepicker")&&r.init.call(n,t),n};gj.datepicker.widget.prototype=new gj.widget;gj.datepicker.widget.constructor=gj.datepicker.widget,function(n){n.fn.datepicker=function(n){var t;if(this&&this.length){if("object"!=typeof n&&n){if(t=new gj.datepicker.widget(this,null),t[n])return t[n].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+n+" does not exist.";}return new gj.datepicker.widget(this,n)}}}(jQuery);gj.datetimepicker={plugins:{},messages:{"en-us":{}}};gj.datetimepicker.config={base:{datepicker:gj.datepicker.config.base,timepicker:gj.timepicker.config.base,uiLibrary:"materialdesign",value:void 0,format:"HH:MM mm/dd/yyyy",width:void 0,modal:!1,footer:!1,size:"default",locale:"en-us",icons:{},style:{calendar:"gj-picker gj-picker-md datetimepicker gj-unselectable"}},bootstrap:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"},iconsLibrary:"glyphicons"},bootstrap4:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"}}};gj.datetimepicker.methods={init:function(n){return gj.widget.prototype.init.call(this,n,"datetimepicker"),this.attr("data-datetimepicker","true"),gj.datetimepicker.methods.initialize(this),this},getConfig:function(n,t){var i=gj.widget.prototype.getConfig.call(this,n,t);return uiLibrary=n.hasOwnProperty("uiLibrary")?n.uiLibrary:i.uiLibrary,gj.datepicker.config[uiLibrary]&&$.extend(!0,i.datepicker,gj.datepicker.config[uiLibrary]),gj.timepicker.config[uiLibrary]&&$.extend(!0,i.timepicker,gj.timepicker.config[uiLibrary]),iconsLibrary=n.hasOwnProperty("iconsLibrary")?n.iconsLibrary:i.iconsLibrary,gj.datepicker.config[iconsLibrary]&&$.extend(!0,i.datepicker,gj.datepicker.config[iconsLibrary]),gj.timepicker.config[iconsLibrary]&&$.extend(!0,i.timepicker,gj.timepicker.config[iconsLibrary]),i},initialize:function(n){var i,f,e,r,o,u,s,h,t=n.data();t.datepicker.uiLibrary=t.uiLibrary;t.datepicker.iconsLibrary=t.iconsLibrary;t.datepicker.width=t.width;t.datepicker.format=t.format;t.datepicker.locale=t.locale;t.datepicker.modal=t.modal;t.datepicker.footer=t.footer;t.datepicker.style.calendar=t.style.calendar;t.datepicker.value=t.value;t.datepicker.size=t.size;t.datepicker.autoClose=!1;gj.datepicker.methods.initialize(n,t.datepicker);n.on("select",function(r,u){var f,e;"day"===u?gj.datetimepicker.methods.createShowHourHandler(n,i,t)():"minute"===u&&i.attr("selectedDay")&&!0!==t.footer&&(selectedDay=i.attr("selectedDay").split("-"),f=new Date(selectedDay[0],selectedDay[1],selectedDay[2],i.attr("hour")||0,i.attr("minute")||0),e=gj.core.formatDate(f,t.format,t.locale),n.val(e),gj.datetimepicker.events.change(n),gj.datetimepicker.methods.close(n))});n.on("open",function(){var n=i.children('[role="header"]');n.find('[role="calendarMode"]').addClass("selected");n.find('[role="clockMode"]').removeClass("selected")});i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');o=t.value?gj.core.parseDate(t.value,t.format,t.locale):new Date;i.attr("hour",o.getHours());i.attr("minute",o.getMinutes());t.timepicker.uiLibrary=t.uiLibrary;t.timepicker.iconsLibrary=t.iconsLibrary;t.timepicker.format=t.format;t.timepicker.locale=t.locale;t.timepicker.header=!0;t.timepicker.footer=t.footer;t.timepicker.size=t.size;t.timepicker.mode="24hr";t.timepicker.autoClose=!1;f=$('<div role="header" />');e=$('<div role="date" class="selected" />');e.on("click",gj.datetimepicker.methods.createShowDateHandler(n,i,t));e.html(gj.core.formatDate(new Date,"ddd, mmm dd",t.locale));f.append(e);u=$('<div role="switch"><\/div>');s=$('<i class="gj-icon selected" role="calendarMode">event<\/i>');s.on("click",gj.datetimepicker.methods.createShowDateHandler(n,i,t));u.append(s);r=$('<div role="time" />');r.append($('<div role="hour" />').on("click",gj.datetimepicker.methods.createShowHourHandler(n,i,t)).html(gj.core.formatDate(new Date,"HH",t.locale)));r.append(":");r.append($('<div role="minute" />').on("click",gj.datetimepicker.methods.createShowMinuteHandler(n,i,t)).html(gj.core.formatDate(new Date,"MM",t.locale)));u.append(r);h=$('<i class="gj-icon" role="clockMode">clock<\/i>');h.on("click",gj.datetimepicker.methods.createShowHourHandler(n,i,t));u.append(h);f.append(u);i.prepend(f)},createShowDateHandler:function(n,t,i){return function(){var r=t.children('[role="header"]');r.find('[role="calendarMode"]').addClass("selected");r.find('[role="date"]').addClass("selected");r.find('[role="clockMode"]').removeClass("selected");r.find('[role="hour"]').removeClass("selected");r.find('[role="minute"]').removeClass("selected");gj.datepicker.methods.renderMonth(n,t,i.datepicker)}},createShowHourHandler:function(n,t,i){return function(){var r=t.children('[role="header"]');r.find('[role="calendarMode"]').removeClass("selected");r.find('[role="date"]').removeClass("selected");r.find('[role="clockMode"]').addClass("selected");r.find('[role="hour"]').addClass("selected");r.find('[role="minute"]').removeClass("selected");gj.timepicker.methods.initMouse(t.children('[role="body"]'),n,t,i.timepicker);gj.timepicker.methods.renderHours(n,t,i.timepicker)}},createShowMinuteHandler:function(n,t,i){return function(){var r=t.children('[role="header"]');r.find('[role="calendarMode"]').removeClass("selected");r.find('[role="date"]').removeClass("selected");r.find('[role="clockMode"]').addClass("selected");r.find('[role="hour"]').removeClass("selected");r.find('[role="minute"]').addClass("selected");gj.timepicker.methods.initMouse(t.children('[role="body"]'),n,t,i.timepicker);gj.timepicker.methods.renderMinutes(n,t,i.timepicker)}},close:function(n){var t=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');t.hide();t.closest('div[role="modal"]').hide()},value:function(n,t){var i,r,f,u=n.data();return void 0===t?n.val():(r=gj.core.parseDate(t,u.format,u.locale),r?(i=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(n,i,u,r)(),f=r.getHours(),"ampm"===u.mode&&i.attr("mode",f>12?"pm":"am"),i.attr("hour",f),i.attr("minute",r.getMinutes()),n.val(t)):n.val(""),n)},destroy:function(n){var i=n.data(),r=n.parent(),t=$("body").find('[role="calendar"][guid="'+n.attr("data-guid")+'"]');return i&&(n.off(),t.parent('[role="modal"]').length>0&&t.unwrap(),t.remove(),n.removeData(),n.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datetimepicker"),n.removeClass(),r.children('[role="right-icon"]').remove(),n.unwrap()),n}};gj.datetimepicker.events={change:function(n){return n.triggerHandler("change")}};gj.datetimepicker.widget=function(n,t){var i=this,r=gj.datetimepicker.methods;return i.mouseMove=!1,i.value=function(n){return r.value(this,n)},i.open=function(){gj.datepicker.methods.open(this,this.data().datepicker)},i.close=function(){gj.datepicker.methods.close(this)},i.destroy=function(){return r.destroy(this)},$.extend(n,i),"true"!==n.attr("data-datetimepicker")&&r.init.call(n,t),n};gj.datetimepicker.widget.prototype=new gj.widget;gj.datetimepicker.widget.constructor=gj.datetimepicker.widget;gj.datetimepicker.widget.prototype.getConfig=gj.datetimepicker.methods.getConfig,function(n){n.fn.datetimepicker=function(n){var t;if(this&&this.length){if("object"!=typeof n&&n){if(t=new gj.datetimepicker.widget(this,null),t[n])return t[n].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+n+" does not exist.";}return new gj.datetimepicker.widget(this,n)}}}(jQuery);gj.tree={plugins:{}};gj.tree.config={base:{params:{},autoLoad:!0,selectionType:"single",cascadeSelection:!1,dataSource:void 0,primaryKey:void 0,textField:"text",childrenField:"children",hasChildrenField:"hasChildren",imageCssClassField:"imageCssClass",imageUrlField:"imageUrl",imageHtmlField:"imageHtml",disabledField:"disabled",width:void 0,border:!1,uiLibrary:"materialdesign",iconsLibrary:"materialicons",autoGenId:1,autoGenFieldName:"autoId_b5497cc5-7ef3-49f5-a7dc-4a932e1aee4a",indentation:24,style:{wrapper:"gj-unselectable",list:"gj-list gj-list-md",item:void 0,active:"gj-list-md-active",leafIcon:void 0,border:"gj-tree-md-border"},icons:{expand:'<i class="gj-icon chevron-right" />',collapse:'<i class="gj-icon chevron-down" />'}},bootstrap:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-3",list:"gj-list gj-list-bootstrap list-group",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-4",list:"gj-list gj-list-bootstrap",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},icons:{expand:'<i class="gj-icon plus" />',collapse:'<i class="gj-icon minus" />'}},materialicons:{style:{expander:"gj-tree-material-icons-expander"}},fontawesome:{style:{expander:"gj-tree-font-awesome-expander"},icons:{expand:'<i class="fa fa-plus" aria-hidden="true"><\/i>',collapse:'<i class="fa fa-minus" aria-hidden="true"><\/i>'}},glyphicons:{style:{expander:"gj-tree-glyphicons-expander"},icons:{expand:'<span class="glyphicon glyphicon-plus" />',collapse:'<span class="glyphicon glyphicon-minus" />'}}};gj.tree.events={initialized:function(n){n.triggerHandler("initialized")},dataBinding:function(n){n.triggerHandler("dataBinding")},dataBound:function(n){n.triggerHandler("dataBound")},select:function(n,t,i){return n.triggerHandler("select",[t,i])},unselect:function(n,t,i){return n.triggerHandler("unselect",[t,i])},expand:function(n,t,i){return n.triggerHandler("expand",[t,i])},collapse:function(n,t,i){return n.triggerHandler("collapse",[t,i])},enable:function(n,t){return n.triggerHandler("enable",[t])},disable:function(n,t){return n.triggerHandler("disable",[t])},destroying:function(n){return n.triggerHandler("destroying")},nodeDataBound:function(n,t,i,r){return n.triggerHandler("nodeDataBound",[t,i,r])}};gj.tree.methods={init:function(n){return gj.widget.prototype.init.call(this,n,"tree"),gj.tree.methods.initialize.call(this),this.data("autoLoad")&&this.reload(),this},initialize:function(){var n=this.data(),t=$('<ul class="'+n.style.list+'"/>');this.empty().addClass(n.style.wrapper).append(t);n.width&&this.width(n.width);n.border&&this.addClass(n.style.border);gj.tree.events.initialized(this)},useHtmlDataSource:function(n,t){t.dataSource=[]},render:function(n,t){var i;return t&&("string"==typeof t&&JSON&&(t=JSON.parse(t)),i=n.data(),i.records=t,i.primaryKey||gj.tree.methods.genAutoId(i,i.records),gj.tree.methods.loadData(n)),n},filter:function(n){return n.data().dataSource},genAutoId:function(n,t){for(var i=0;i<t.length;i++)t[i][n.autoGenFieldName]=n.autoGenId++,t[i][n.childrenField]&&t[i][n.childrenField].length&&gj.tree.methods.genAutoId(n,t[i][n.childrenField])},loadData:function(n){var t,i=n.data("records"),r=n.children("ul");for(gj.tree.events.dataBinding(n),r.off().empty(),t=0;t<i.length;t++)gj.tree.methods.appendNode(n,r,i[t],1);gj.tree.events.dataBound(n)},appendNode:function(n,t,i,r,u){var s,o,h,e,c,f=n.data(),l=f.primaryKey?i[f.primaryKey]:i[f.autoGenFieldName];if(o=$('<li data-id="'+l+'" data-role="node" />').addClass(f.style.item),$wrapper=$('<div data-role="wrapper" />'),$expander=$('<span data-role="expander" data-mode="close"><\/span>').addClass(f.style.expander),$display=$('<span data-role="display">'+i[f.textField]+"<\/span>"),hasChildren=void 0!==i[f.hasChildrenField]&&"true"===i[f.hasChildrenField].toString().toLowerCase(),disabled=void 0!==i[f.disabledField]&&"true"===i[f.disabledField].toString().toLowerCase(),f.indentation&&$wrapper.append('<span data-role="spacer" style="width: '+f.indentation*(r-1)+'px;"><\/span>'),disabled?gj.tree.methods.disableNode(n,o):($expander.on("click",gj.tree.methods.expanderClickHandler(n)),$display.on("click",gj.tree.methods.displayClickHandler(n))),$wrapper.append($expander),$wrapper.append($display),o.append($wrapper),u?t.find("li:eq("+(u-1)+")").before(o):t.append(o),f.imageCssClassField&&i[f.imageCssClassField]?(e=$('<span data-role="image"><span class="'+i[f.imageCssClassField]+'"><\/span><\/span>'),e.insertBefore($display)):f.imageUrlField&&i[f.imageUrlField]?(e=$('<span data-role="image"><\/span>'),e.insertBefore($display),c=$('<img src="'+i[f.imageUrlField]+'"><\/img>'),c.attr("width",e.width()).attr("height",e.height()),e.append(c)):f.imageHtmlField&&i[f.imageHtmlField]&&(e=$('<span data-role="image">'+i[f.imageHtmlField]+"<\/span>"),e.insertBefore($display)),i[f.childrenField]&&i[f.childrenField].length||hasChildren){if($expander.empty().append(f.icons.expand),h=$("<ul />").addClass(f.style.list).addClass("gj-hidden"),o.append(h),i[f.childrenField]&&i[f.childrenField].length)for(s=0;s<i[f.childrenField].length;s++)gj.tree.methods.appendNode(n,h,i[f.childrenField][s],r+1)}else f.style.leafIcon?$expander.addClass(f.style.leafIcon):$expander.html("&nbsp;");gj.tree.events.nodeDataBound(n,o,i.id,i)},expanderClickHandler:function(n){return function(){var t=$(this),i=t.closest("li");"close"===t.attr("data-mode")?n.expand(i):n.collapse(i)}},expand:function(n,t,i){var u,r,e=t.find('>[data-role="wrapper"]>[data-role="expander"]'),o=n.data(),s=t.attr("data-id"),f=t.children("ul");if(!1!==gj.tree.events.expand(n,t,s)&&f&&f.length&&(f.show(),e.attr("data-mode","open"),e.empty().append(o.icons.collapse),i))for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.expand(n,$(u[r]),i);return n},collapse:function(n,t,i){var u,r,e=t.find('>[data-role="wrapper"]>[data-role="expander"]'),o=n.data(),s=t.attr("data-id"),f=t.children("ul");if(!1!==gj.tree.events.collapse(n,t,s)&&f&&f.length&&(f.hide(),e.attr("data-mode","close"),e.empty().append(o.icons.expand),i))for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.collapse(n,$(u[r]),i);return n},expandAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.expand(n,$(i[t]),!0);return n},collapseAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.collapse(n,$(i[t]),!0);return n},displayClickHandler:function(n){return function(){var r=$(this),t=r.closest("li"),i=n.data().cascadeSelection;"true"===t.attr("data-selected")?gj.tree.methods.unselect(n,t,i):("single"===n.data("selectionType")&&gj.tree.methods.unselectAll(n),gj.tree.methods.select(n,t,i))}},selectAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.select(n,$(i[t]),!0);return n},select:function(n,t,i){var r,u,f=n.data();if("true"!==t.attr("data-selected")&&!1!==gj.tree.events.select(n,t,t.attr("data-id"))&&(t.addClass(f.style.active).attr("data-selected","true"),i))for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.select(n,$(u[r]),i)},unselectAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.unselect(n,$(i[t]),!0);return n},unselect:function(n,t,i){var r,u;if(n.data(),"true"===t.attr("data-selected")&&!1!==gj.tree.events.unselect(n,t,t.attr("data-id"))&&(t.removeClass(n.data().style.active).removeAttr("data-selected"),i))for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.unselect(n,$(u[r]),i)},getSelections:function(n){var i,t,f,r=[],u=n.children("li");if(u&&u.length)for(i=0;i<u.length;i++)t=$(u[i]),"true"===t.attr("data-selected")?r.push(t.attr("data-id")):t.has("ul")&&(f=gj.tree.methods.getSelections(t.children("ul")),f.length&&(r=r.concat(f)));return r},getDataById:function(n,t,i){for(var u=n.data(),f=void 0,r=0;r<i.length;r++){if(u.primaryKey&&i[r][u.primaryKey]==t){f=i[r];break}if(i[r][u.autoGenFieldName]==t){f=i[r];break}if(i[r][u.childrenField]&&i[r][u.childrenField].length&&(f=gj.tree.methods.getDataById(n,t,i[r][u.childrenField])))break}return f},getDataByText:function(n,t,i){for(var f=void 0,u=n.data(),r=0;r<i.length;r++){if(t===i[r][u.textField]){f=i[r];break}if(i[r][u.childrenField]&&i[r][u.childrenField].length&&(f=gj.tree.methods.getDataByText(n,t,i[r][u.childrenField])))break}return f},getNodeById:function(n,t){var r,i,f=void 0,u=n.children("li");if(u&&u.length)for(r=0;r<u.length;r++){if(i=$(u[r]),t==i.attr("data-id")){f=i;break}if(i.has("ul")&&(f=gj.tree.methods.getNodeById(i.children("ul"),t)))break}return f},getNodeByText:function(n,t){var r,i,f=void 0,u=n.children("li");if(u&&u.length)for(r=0;r<u.length;r++){if(i=$(u[r]),t===i.find('>[data-role="wrapper"]>[data-role="display"]').text()){f=i;break}if(i.has("ul")&&(f=gj.tree.methods.getNodeByText(i.children("ul"),t)))break}return f},addNode:function(n,t,i,r){var e,f,u=n.data();return i&&i.length?("li"===i[0].tagName.toLowerCase()&&(0===i.children("ul").length&&(i.find('[data-role="expander"]').empty().append(u.icons.collapse),i.append($("<ul />").addClass(u.style.list))),i=i.children("ul")),f=n.getDataById(i.parent().data("id")),f[u.childrenField]||(f[u.childrenField]=[]),f[u.childrenField].push(t)):(i=n.children("ul"),n.data("records").push(t)),e=i.parentsUntil('[data-type="tree"]',"ul").length+1,u.primaryKey||gj.tree.methods.genAutoId(u,[t]),gj.tree.methods.appendNode(n,i,t,e,r),n},remove:function(n,t){return gj.tree.methods.removeDataById(n,t.attr("data-id"),n.data("records")),t.remove(),n},removeDataById:function(n,t,i){for(var u=n.data(),r=0;r<i.length;r++){if(u.primaryKey&&i[r][u.primaryKey]==t){i.splice(r,1);break}if(i[r][u.autoGenFieldName]==t){i.splice(r,1);break}i[r][u.childrenField]&&i[r][u.childrenField].length&&gj.tree.methods.removeDataById(n,t,i[r][u.childrenField])}},update:function(n,t,i){var u=n.data(),r=n.getNodeById(t);return n.getDataById(t),i,r.find('>[data-role="wrapper"]>[data-role="display"]').html(i[u.textField]),gj.tree.events.nodeDataBound(n,r,t,i),n},getChildren:function(n,t,i){for(var f=[],i=void 0===i||i,u=i?t.find("ul li"):t.find(">ul>li"),r=0;r<u.length;r++)f.push($(u[r]).data("id"));return f},enableAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.enableNode(n,$(i[t]),!0);return n},enableNode:function(n,t,i){var r,u,f=t.find('>[data-role="wrapper"]>[data-role="expander"]'),e=t.find('>[data-role="wrapper"]>[data-role="display"]'),i=void 0===i||i;if(t.removeClass("disabled"),f.on("click",gj.tree.methods.expanderClickHandler(n)),e.on("click",gj.tree.methods.displayClickHandler(n)),gj.tree.events.enable(n,t),i)for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.enableNode(n,$(u[r]),i)},disableAll:function(n){for(var i=n.find("ul>li"),t=0;t<i.length;t++)gj.tree.methods.disableNode(n,$(i[t]),!0);return n},disableNode:function(n,t,i){var r,u,f=t.find('>[data-role="wrapper"]>[data-role="expander"]'),e=t.find('>[data-role="wrapper"]>[data-role="display"]'),i=void 0===i||i;if(t.addClass("disabled"),f.off("click"),e.off("click"),gj.tree.events.disable(n,t),i)for(u=t.find("ul>li"),r=0;r<u.length;r++)gj.tree.methods.disableNode(n,$(u[r]),i)},destroy:function(n){return n.data()&&(gj.tree.events.destroying(n),n.xhr&&n.xhr.abort(),n.off(),n.removeData(),n.removeAttr("data-type"),n.removeClass().empty()),n},pathFinder:function(n,t,i,r){for(var f=!1,u=0;u<t.length;u++){if(t[u].id==i){f=!0;break}if(gj.tree.methods.pathFinder(n,t[u][n.childrenField],i,r)){r.push(t[u].data[n.textField]);f=!0;break}}return f}};gj.tree.widget=function(n,t){var i=this,r=gj.tree.methods;return i.reload=function(n){return gj.widget.prototype.reload.call(this,n)},i.render=function(n){return r.render(this,n)},i.addNode=function(n,t,i){return r.addNode(this,n,t,i)},i.removeNode=function(n){return r.remove(this,n)},i.updateNode=function(n,t){return r.update(this,n,t)},i.destroy=function(){return r.destroy(this)},i.expand=function(n,t){return r.expand(this,n,t)},i.collapse=function(n,t){return r.collapse(this,n,t)},i.expandAll=function(){return r.expandAll(this)},i.collapseAll=function(){return r.collapseAll(this)},i.getDataById=function(n){return r.getDataById(this,n,this.data("records"))},i.getDataByText=function(n){return r.getDataByText(this,n,this.data("records"))},i.getNodeById=function(n){return r.getNodeById(this.children("ul"),n)},i.getNodeByText=function(n){return r.getNodeByText(this.children("ul"),n)},i.getAll=function(){return this.data("records")},i.select=function(n){return r.select(this,n)},i.unselect=function(n){return r.unselect(this,n)},i.selectAll=function(){return r.selectAll(this)},i.unselectAll=function(){return r.unselectAll(this)},i.getSelections=function(){return r.getSelections(this.children("ul"))},i.getChildren=function(n,t){return r.getChildren(this,n,t)},i.parents=function(n){var t=[],i=this.data();return r.pathFinder(i,i.records,n,t),t.reverse()},i.enable=function(n,t){return r.enableNode(this,n,t)},i.enableAll=function(){return r.enableAll(this)},i.disable=function(n,t){return r.disableNode(this,n,t)},i.disableAll=function(){return r.disableAll(this)},$.extend(n,i),"tree"!==n.attr("data-type")&&r.init.call(n,t),n};gj.tree.widget.prototype=new gj.widget;gj.tree.widget.constructor=gj.tree.widget,function(n){n.fn.tree=function(n){var t;if(this&&this.length){if("object"!=typeof n&&n){if(t=new gj.tree.widget(this,null),t[n])return t[n].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+n+" does not exist.";}return new gj.tree.widget(this,n)}}}(jQuery);gj.tree.plugins.checkboxes={config:{base:{checkboxes:void 0,checkedField:"checked",cascadeCheck:!0}},private:{dataBound:function(n){var t;n.data("cascadeCheck")&&(t=n.find('li[data-role="node"]'),$.each(t,function(){var n=$(this),t=n.find('[data-role="checkbox"] input[type="checkbox"]').checkbox("state");"checked"===t&&(gj.tree.plugins.checkboxes.private.updateChildrenState(n,t),gj.tree.plugins.checkboxes.private.updateParentState(n,t))}))},nodeDataBound:function(n,t,i,r){var f,e,u,o,s;0===t.find('> [data-role="wrapper"] > [data-role="checkbox"]').length&&(f=n.data(),e=t.find('> [data-role="wrapper"] > [data-role="expander"]'),u=$('<input type="checkbox"/>'),o=$('<span data-role="checkbox"><\/span>').append(u),s=void 0!==r[f.disabledField]&&"true"===r[f.disabledField].toString().toLowerCase(),u=u.checkbox({uiLibrary:f.uiLibrary,iconsLibrary:f.iconsLibrary,change:function(){gj.tree.plugins.checkboxes.events.checkboxChange(n,t,r,u.state())}}),s&&u.prop("disabled",!0),r[f.checkedField]&&u.state("checked"),u.on("click",function(){var n=u.closest("li"),t=u.state();f.cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(n,t),gj.tree.plugins.checkboxes.private.updateParentState(n,t))}),e.after(o))},updateParentState:function(n,t){var f,e,o,i,r,u;f=n.parent("ul").parent("li");1===f.length&&(e=n.parent("ul").parent("li").find('> [data-role="wrapper"] > [data-role="checkbox"] input[type="checkbox"]'),o=n.siblings().find('> [data-role="wrapper"] > span[data-role="checkbox"] input[type="checkbox"]'),i="checked"===t,r="unchecked"===t,u="indeterminate",$.each(o,function(){var n=$(this).checkbox("state");i&&"checked"!==n&&(i=!1);r&&"unchecked"!==n&&(r=!1)}),i&&!r&&(u="checked"),!i&&r&&(u="unchecked"),e.checkbox("state",u),gj.tree.plugins.checkboxes.private.updateParentState(f,e.checkbox("state")))},updateChildrenState:function(n,t){var i=n.find('ul li [data-role="wrapper"] [data-role="checkbox"] input[type="checkbox"]');i.length>0&&$.each(i,function(){$(this).checkbox("state",t)})},update:function(n,t,i){var r=t.find('[data-role="checkbox"] input[type="checkbox"]').first();$(r).checkbox("state",i);n.data().cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(t,i),gj.tree.plugins.checkboxes.private.updateParentState(t,i))}},public:{getCheckedNodes:function(){var n=[],t=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(t,function(){var t=$(this);"checked"===t.checkbox("state")&&n.push(t.closest("li").data("id"))}),n},checkAll:function(){var n=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(n,function(){$(this).checkbox("state","checked")}),this},uncheckAll:function(){var n=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(n,function(){$(this).checkbox("state","unchecked")}),this},check:function(n){return gj.tree.plugins.checkboxes.private.update(this,n,"checked"),this},uncheck:function(n){return gj.tree.plugins.checkboxes.private.update(this,n,"unchecked"),this}},events:{checkboxChange:function(n,t,i,r){return n.triggerHandler("checkboxChange",[t,i,r])}},configure:function(n){n.data("checkboxes")&&gj.checkbox&&($.extend(!0,n,gj.tree.plugins.checkboxes.public),n.on("nodeDataBound",function(t,i,r,u){gj.tree.plugins.checkboxes.private.nodeDataBound(n,i,r,u)}),n.on("dataBound",function(){gj.tree.plugins.checkboxes.private.dataBound(n)}),n.on("enable",function(n,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!1)}),n.on("disable",function(n,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!0)}))}};gj.tree.plugins.dragAndDrop={config:{base:{dragAndDrop:void 0,style:{dragEl:"gj-tree-drag-el gj-tree-md-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"gj-tree-drop-above",dropBelow:"gj-tree-drop-below"}},bootstrap:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"glyphicon glyphicon-plus",dropAbove:"drop-above",dropBelow:"drop-below"}},bootstrap4:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"drop-above",dropBelow:"drop-below"}}},private:{nodeDataBound:function(n,t){var r=t.children('[data-role="wrapper"]'),i=t.find('>[data-role="wrapper"]>[data-role="display"]');r.length&&i.length&&(i.on("mousedown",gj.tree.plugins.dragAndDrop.private.createNodeMouseDownHandler(n)),i.on("mousemove",gj.tree.plugins.dragAndDrop.private.createNodeMouseMoveHandler(n,t,i)),i.on("mouseup",gj.tree.plugins.dragAndDrop.private.createNodeMouseUpHandler(n)))},createNodeMouseDownHandler:function(n){return function(){n.data("dragReady",!0)}},createNodeMouseUpHandler:function(n){return function(){n.data("dragReady",!1)}},createNodeMouseMoveHandler:function(n,t,i){return function(){if(n.data("dragReady")){var r,u,e,f,o=n.data();n.data("dragReady",!1);r=i.clone().wrap('<div data-role="wrapper"/>').closest("div").wrap('<li class="'+o.style.item+'" />').closest("li").wrap('<ul class="'+o.style.list+'" />').closest("ul");$("body").append(r);r.attr("data-role","draggable-clone").addClass("gj-unselectable").addClass(o.style.dragEl);r.find('[data-role="wrapper"]').prepend('<span data-role="indicator" />');r.draggable({drag:gj.tree.plugins.dragAndDrop.private.createDragHandler(n,t,i),stop:gj.tree.plugins.dragAndDrop.private.createDragStopHandler(n,t,i)});u=i.parent();e=i.offset().top;e-=parseInt(u.css("border-top-width"))+parseInt(u.css("margin-top"))+parseInt(u.css("padding-top"));f=i.offset().left;f-=parseInt(u.css("border-left-width"))+parseInt(u.css("margin-left"))+parseInt(u.css("padding-left"));f-=r.find('[data-role="indicator"]').outerWidth(!0);r.css({position:"absolute",top:e,left:f,width:i.outerWidth(!0)});"true"===i.attr("data-droppable")&&i.droppable("destroy");gj.tree.plugins.dragAndDrop.private.getTargetDisplays(n,t,i).each(function(){var n=$(this);"true"===n.attr("data-droppable")&&n.droppable("destroy");n.droppable()});gj.tree.plugins.dragAndDrop.private.getTargetDisplays(n,t).each(function(){var n=$(this);"true"===n.attr("data-droppable")&&n.droppable("destroy");n.droppable()});r.trigger("mousedown")}}},getTargetDisplays:function(n,t,i){return n.find('[data-role="display"]').not(i).not(t.find('[data-role="display"]'))},getTargetWrappers:function(n,t){return n.find('[data-role="wrapper"]').not(t.find('[data-role="wrapper"]'))},createDragHandler:function(n,t,i){var u=gj.tree.plugins.dragAndDrop.private.getTargetDisplays(n,t,i),f=gj.tree.plugins.dragAndDrop.private.getTargetWrappers(n,t),r=n.data();return function(n,t,i){var e=$(this),o=!1;u.each(function(){var n,t=$(this);if(t.droppable("isOver",i))return n=e.find('[data-role="indicator"]'),r.style.dropAsChildIcon?n.addClass(r.style.dropAsChildIcon):n.text("+"),o=!0,!1;e.find('[data-role="indicator"]').removeClass(r.style.dropAsChildIcon).empty()});f.each(function(){var t,n=$(this);!o&&n.droppable("isOver",i)?(t=n.position().top+n.outerHeight()/2,i.y<t?n.addClass(r.style.dropAbove).removeClass(r.style.dropBelow):n.addClass(r.style.dropBelow).removeClass(r.style.dropAbove)):n.removeClass(r.style.dropAbove).removeClass(r.style.dropBelow)})}},createDragStopHandler:function(n,t,i){var u=gj.tree.plugins.dragAndDrop.private.getTargetDisplays(n,t,i),f=gj.tree.plugins.dragAndDrop.private.getTargetWrappers(n,t),r=n.data();return function(i,e){var s,o,h,c,l=!1;$(this).draggable("destroy").remove();u.each(function(){var i,u=$(this);if(u.droppable("isOver",e))return o=u.closest("li"),h=t.parent("ul").parent("li"),i=o.children("ul"),0===i.length&&(i=$("<ul />").addClass(r.style.list),o.append(i)),!1!==gj.tree.plugins.dragAndDrop.events.nodeDrop(n,t.data("id"),o.data("id"),i.children("li").length+1)&&(i.append(t),s=n.getDataById(t.data("id")),gj.tree.methods.removeDataById(n,t.data("id"),r.records),c=n.getDataById(i.parent().data("id")),void 0===c[r.childrenField]&&(c[r.childrenField]=[]),c[r.childrenField].push(s),gj.tree.plugins.dragAndDrop.private.refresh(n,t,o,h)),l=!0,!1;u.droppable("destroy")});l||f.each(function(){var u,c,f,i=$(this);if(i.droppable("isOver",e))return o=i.closest("li"),h=t.parent("ul").parent("li"),u=e.y<i.position().top+i.outerHeight()/2,f=t.data("id"),c=o.prevAll('li:not([data-id="'+f+'"])').length+(u?1:2),!1!==gj.tree.plugins.dragAndDrop.events.nodeDrop(n,f,o.parent("ul").parent("li").data("id"),c)&&(s=n.getDataById(t.data("id")),gj.tree.methods.removeDataById(n,t.data("id"),r.records),n.getDataById(o.parent().data("id"))[r.childrenField].splice(o.index()+(u?0:1),0,s),u?t.insertBefore(o):t.insertAfter(o),gj.tree.plugins.dragAndDrop.private.refresh(n,t,o,h)),!1;i.droppable("destroy")})}},refresh:function(n,t,i,r){var u=n.data();gj.tree.plugins.dragAndDrop.private.refreshNode(n,i);gj.tree.plugins.dragAndDrop.private.refreshNode(n,r);gj.tree.plugins.dragAndDrop.private.refreshNode(n,t);t.find('li[data-role="node"]').each(function(){gj.tree.plugins.dragAndDrop.private.refreshNode(n,$(this))});i.children('[data-role="wrapper"]').removeClass(u.style.dropAbove).removeClass(u.style.dropBelow)},refreshNode:function(n,t){var r=t.children('[data-role="wrapper"]'),u=r.children('[data-role="expander"]'),e=r.children('[data-role="spacer"]'),f=t.children("ul"),i=n.data(),o=t.parentsUntil('[data-type="tree"]',"ul").length;f.length&&f.children().length?f.is(":visible")?u.empty().append(i.icons.collapse):u.empty().append(i.icons.expand):u.empty();r.removeClass(i.style.dropAbove).removeClass(i.style.dropBelow);e.css("width",i.indentation*(o-1))}},public:{},events:{nodeDrop:function(n,t,i,r){return n.triggerHandler("nodeDrop",[t,i,r])}},configure:function(n){$.extend(!0,n,gj.tree.plugins.dragAndDrop.public);n.data("dragAndDrop")&&gj.draggable&&gj.droppable&&n.on("nodeDataBound",function(t,i){gj.tree.plugins.dragAndDrop.private.nodeDataBound(n,i)})}};gj.tree.plugins.lazyLoading={config:{base:{paramNames:{parentId:"parentId"},lazyLoading:!1}},private:{nodeDataBound:function(n,t,i,r){var u=n.data(),f=t.find('> [data-role="wrapper"] > [data-role="expander"]');r.hasChildren&&f.empty().append(u.icons.expand)},createDoneHandler:function(n,t){return function(i){var u,f,r,e=n.data();if("string"==typeof i&&JSON&&(i=JSON.parse(i)),i&&i.length){for(r=t.children("ul"),0===r.length&&(r=$("<ul />").addClass(e.style.list),t.append(r)),u=0;u<i.length;u++)n.addNode(i[u],r);f=t.find('>[data-role="wrapper"]>[data-role="expander"]');f.attr("data-mode","open");f.empty().append(e.icons.collapse);gj.tree.events.dataBound(n)}}},expand:function(n,t,i){var u,r=n.data(),f={},e=t.find(">ul>li");e&&e.length||"string"==typeof r.dataSource&&(f[r.paramNames.parentId]=i,u={url:r.dataSource,data:f},n.xhr&&n.xhr.abort(),n.xhr=$.ajax(u).done(gj.tree.plugins.lazyLoading.private.createDoneHandler(n,t)).fail(n.createErrorHandler()))}},public:{},events:{},configure:function(n,t,i){i.lazyLoading&&(n.on("nodeDataBound",function(t,i,r,u){gj.tree.plugins.lazyLoading.private.nodeDataBound(n,i,r,u)}),n.on("expand",function(t,i,r){gj.tree.plugins.lazyLoading.private.expand(n,i,r)}))}};gj.checkbox={plugins:{}};gj.checkbox.config={base:{uiLibrary:"materialdesign",iconsLibrary:"materialicons",style:{wrapperCssClass:"gj-checkbox-md",spanCssClass:void 0}},bootstrap:{style:{wrapperCssClass:"gj-checkbox-bootstrap"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapperCssClass:"gj-checkbox-bootstrap gj-checkbox-bootstrap-4"},iconsLibrary:"materialicons"},materialicons:{style:{iconsCssClass:"gj-checkbox-material-icons",spanCssClass:"gj-icon"}},glyphicons:{style:{iconsCssClass:"gj-checkbox-glyphicons",spanCssClass:""}},fontawesome:{style:{iconsCssClass:"gj-checkbox-fontawesome",spanCssClass:"fa"}}};gj.checkbox.methods={init:function(n){var t=this;return gj.widget.prototype.init.call(this,n,"checkbox"),t.attr("data-checkbox","true"),gj.checkbox.methods.initialize(t),t},initialize:function(n){var i,r,t=n.data();t.style.wrapperCssClass&&(i=$('<label class="'+t.style.wrapperCssClass+" "+t.style.iconsCssClass+'"><\/label>'),n.attr("id")&&i.attr("for",n.attr("id")),n.wrap(i),r=$("<span />"),t.style.spanCssClass&&r.addClass(t.style.spanCssClass),n.parent().append(r))},state:function(n,t){return t?("checked"===t?(n.prop("indeterminate",!1),n.prop("checked",!0)):"unchecked"===t?(n.prop("indeterminate",!1),n.prop("checked",!1)):"indeterminate"===t&&(n.prop("checked",!0),n.prop("indeterminate",!0)),gj.checkbox.events.change(n,t),n):t=n.prop("indeterminate")?"indeterminate":n.prop("checked")?"checked":"unchecked"},toggle:function(n){return"checked"==n.state()?n.state("unchecked"):n.state("checked"),n},destroy:function(n){return"true"===n.attr("data-checkbox")&&(n.removeData(),n.removeAttr("data-guid"),n.removeAttr("data-checkbox"),n.off(),n.next("span").remove(),n.unwrap()),n}};gj.checkbox.events={change:function(n,t){return n.triggerHandler("change",[t])}};gj.checkbox.widget=function(n,t){var i=this,r=gj.checkbox.methods;return i.toggle=function(){return r.toggle(this)},i.state=function(n){return r.state(this,n)},i.destroy=function(){return r.destroy(this)},$.extend(n,i),"true"!==n.attr("data-checkbox")&&r.init.call(n,t),n};gj.checkbox.widget.prototype=new gj.widget;gj.checkbox.widget.constructor=gj.checkbox.widget,function(n){n.fn.checkbox=function(n){var t;if(this&&this.length){if("object"!=typeof n&&n){if(t=new gj.checkbox.widget(this,null),t[n])return t[n].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+n+" does not exist.";}return new gj.checkbox.widget(this,n)}}}(jQuery)