function ISKeyValueList(){function u(){var t=0;for(var i in n)t+=1;return t}function f(t){t=t.toUpperCase();for(var i in n)if(i.toUpperCase()==t)return!0;return!1}function e(t){n={};i(t)}function i(t){var i,e;if(t!="undefined"){t+="";t.substring(0,1)=="?"&&(t=t.substr(1));var u=t.split("&"),r,f;for(i=0;i<u.length;i++)e=u[i].indexOf("="),e>0?(r=u[i].substring(0,e),f=u[i].substr(e+1)):(r=u[i],f=""),r=decodeURIComponent(r),f=decodeURIComponent(f),r&&(n[r]=f)}}function o(n){if(n)for(var t in n)r(t,n[t])}function t(t,i){i===undefined&&(i=null);t=t.toUpperCase();for(var r in n)if(r.toUpperCase()===t)return n[r];return i}function s(n,i){return i===undefined&&(i=!1),(t(n,i)+"").toUpperCase()=="TRUE"}function h(n,i){i===undefined&&(i=0);var r=parseInt(t(n,i));return isNaN(r)&&(r=0),r}function c(n,i){return i===undefined&&(i=""),t(n,i)+""}function r(t,i){for(var r in n)if(r.toUpperCase()===t.toUpperCase()){n[r]=i;return}n[t]=i}function l(n,t){r(n,t)}function a(t){var i="",r;t=t.toUpperCase();for(r in n)if(r.toUpperCase()==t){i=r;break}i&&delete n[i]}function v(){var t={};for(var i in n)t[i]=n[i];return t}function y(){var t="";for(var i in n)t!=""&&(t+="&"),typeof n[i]=="object"||(t+=encodeURIComponent(i)+"="+encodeURIComponent(n[i]));return t}var n={};return{TypeName:"ISKeyValueList",Count:u,Exists:f,FromUrlString:e,AppendFromUrlString:i,AppendFromJavaScriptObject:o,GetBoolean:s,GetInteger:h,GetItem:t,GetString:c,SetString:l,Remove:a,ToJavaScriptObject:v,ToUrlString:y}}function ISRanges(n,t){function f(n,t){var r=new ISRange;i.push(r);r.RangeType="Single";r.RangeBegin=n;r.RangeExclude=t}function e(){return i.length}function u(t){var f=0,e="",c=!1,u,h,o,r,s;for(i=[],t=t.replace(/!\"/g,'"{NOT}'),u=n.ArrayFromCsvString(t),f=0;f<u.length;f++)u[f].startsWith("{NOT}")&&(u[f]="!"+u[f].substr(5));for(h=0;h<u.length;h++)o=u[h],o.startsWith("!")?(c=!0,o=o.slice(1)):c=!1,e=n.Trim(o),e&&(r=new ISRange,r.RangeExclude=c,s=n.ArrayFromCsvString(e,"-"),s.length>0&&(r.RangeBegin=s[0]),s.length>1&&(r.RangeEnd=s[1]),r.RangeEnd||e.endsWith("-")?r.RangeBegin==r.RangeEnd?(r.RangeType="Single",r.RangeEnd=""):r.RangeType="Range":r.RangeType=r.RangeBegin.toUpperCase()=="<NULL>"?"Null":e.startsWith('"')&&!r.RangeEnd?"Single":r.RangeBegin.indexOf("*")==-1&&r.RangeBegin.indexOf("?")==-1?"Single":"Wildcard",i.push(r))}function o(n,t,r){var f,e,u;r||(r={});r.matchedIndex=-1;t==undefined&&(t=!1);r.matchedIndex=0;var o=!1,s=!1,h=!1;if(i.length==0)return!t;for(f=0;f<i.length;f++){e=!1;u=i[f];switch(u.RangeType){case"Null":n&&(n+"").toUpperCase()!="<NULL>"||(r.matchedIndex=f,e=!0);break;case"Single":(n+"").toUpperCase()==u.RangeBegin.toUpperCase()&&(r.matchedIndex=f,e=!0);break;case"Range":(n+"").toUpperCase()>=u.RangeBegin.toUpperCase()&&(!u.RangeEnd||(n+"").toUpperCase()<=u.RangeEnd.toUpperCase())&&(r.matchedIndex=f,e=!0);break;case"Wildcard":(n+"").like(u.RangeBegin)&&(r.matchedIndex=f,e=!0);break;default:console.warn("Unhandled range type '"+u.RangeType+"' in ISRanges.IsValueInRange.")}if(e)if(u.RangeExclude){o=!0;break}else s=!0;else u.RangeExclude||(h=!0)}return o?t:s?!t:t?!1:!h}function s(n){return n>-1&&n<i.length?i[n]:null}function h(n){n>-1&&n<i.length&&i.splice(n,1)}function c(){for(var n,t,u="",f=0;f<i.length;f++){n=i[f];t="";switch(n.RangeType){case"Null":t="<NULL>";break;case"Single":t=r(n.RangeBegin);break;case"Wildcard":t=n.RangeBegin;break;case"Wildcard":t=r(n.RangeBegin)+"-"+r(n.RangeEnd);break;default:console.warn("Unhandled range type '"+n.RangeType+"' in ISRanges.ToRangeString.")}n.RangeExclude&&(t="!"+t);u&&(u+=",");u+=t}return u}function r(t){return t.indexOf("'")==-1&&t.indexOf(",")==-1&&t.indexOf("-")==-1&&t.indexOf("*")==-1&&t.indexOf("?")==-1&&n.Trim(t)==t?t:"'"+t.replace(/\'\"/g,"''")+"'"}var i=[];return t&&u(t),{AddSingle:f,Count:e,FromRangeString:u,IsValueInRange:o,Item:s,RemoveAt:h,ToRangeString:c}}function ISRange(){return{RangeType:"",RangeBegin:"",RangeEnd:"",RangeExclude:!1}}function ISUrlFragments(n,t){function f(){var n=0;for(var t in i)n+=1;return n}function e(n){n=n.toUpperCase();for(var t in i)if(t.toUpperCase()==n)return!0;return!1}function o(n){var t=0;for(var r in i){if(t==n)return i[r];t+=1}}function u(t){var f,u,s;for(r=t?t.substring(0,1)=="?"?t.substr(1):t.substring(0,1)=="#"?t.substr(1):t:"",i={},f=r.split("/"),u=0;u<f.length;u++){var h=f[u].split("?"),e=decodeURIComponent(h[0]),o=decodeURIComponent(h[1]);e&&(s=n.CreateKeyValueList(),o&&s.FromUrlString(o),i[e.toUpperCase()]={actionId:e,paramsRaw:o,params:s})}}function s(n){var t="",r;n=n.toUpperCase();for(r in i)if(r.toUpperCase()==n){t=r;break}t&&delete i[t]}function h(){var n="",r,t;for(r in i)t=i[r],n!=""&&(n+="/"),n+=encodeURIComponent(t.actionId),t.params.Count()!=0&&(n+="?"+t.params.ToUrlString());return n}function c(t,r){var u,e;for(var f in i)f.toUpperCase()==t.toUpperCase()&&(u=i[f]);if(u||(e=n.CreateKeyValueList(),u={actionId:t,paramsRaw:r,params:e},i[t.toUpperCase()]=u),r)for(f in r)u.params.SetString(f,r[f])}var r,i={};return u(t),{Count:f,Exists:e,FromUrlString:u,Item:o,Remove:s,ToUrlString:h,Update:c}}function ISWidgetProxy(n){function i(n){return t.ActionNotificationHandle(n)}function r(n,i,r){return t.ActionNotificationSend(n,i,r)}function u(n,i){return t.Generic().ArrayRemove(n,i)}function f(n){return t.Generic().ArrayToCodeDescriptionList(n)}function e(){return t.CanClose()}function o(){return t.Close()}function s(){return $Runtime.CurrencyDecimals()}function h(){return $Runtime.CurrencySymbol()}function c(){return $Runtime.DayMonthYearOrder()}function l(n,i,r,u){t.DownloadFile(n,i,r,u)}function a(n){return t.ExecuteApplicationShortcutUrl(n)}function v(n,i,r){return t.Generic().FormatCurrency(n,i,r)}function y(n){return t.Generic().FormatDate(n)}function p(n,i,r){return t.Generic().FormatDateInternal(n,i,r)}function w(n,i){return t.Generic().FormatDateTime(n,i)}function b(n,i,r){return t.Generic().FormatDateForGrid(n,i,r)}function k(n){return t.Generic().FormatUtcDate(n)}function d(n){return t.Generic().FormatUtcDateTime(n)}function g(n,i,r,u){return t.Generic().FormatNumber(n,i,r,u)}function nt(n,t,i,r){return $Api.GetIconUrl(n,t,i,r)}function tt(){return t.Generic().GetHostingContext()}function it(n,i){return t.Generic().GetWeekDayName(n,i)}function rt(n,i){return t.Generic().GetWeekDayNameFromDate(n,i)}function ut(n,i,r,u){t.GetString(n,i,r,u)}function ft(n,i,r,u){t.SystemDownloadFile(n,i,r,u)}function et(n,i,r,u){t.SystemGetString(n,i,r,u)}function ot(n,i,r,u,f,e){t.NotificationAdd(n,i,r,u,f,e)}function st(n){return $Runtime.ParseNumber(""+n,-1)}function ht(n,t){var i=$Runtime.ParseDate(n,t,!1);return i?new Date(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0)):null}function ct(n,t){return $Runtime.ParseNumber(""+n,t)}function lt(n,i){t.RefreshParent(n,i)}function at(n,i){t.RegisterError(n,i)}function vt(n,i,r,u){return t.RequestFormInternal(n,i,r,u)}function yt(){t.Reset()}function pt(n,i){t.ResetScheduled(n,i)}function yt(){t.Reset()}function wt(n){t.ResetHandle(n)}function bt(n){t.SetHeading(n)}function kt(n){t.SetHeadingIcon(n)}function dt(n){t.SetHeadingStyle(n)}function gt(n){t.SizeToFit(n)}function ni(n,i,r,u,f){t.UploadFiles(n,i,r,u,f)}function ti(){return t.Generic().Version()}function ii(n,i){return t.Generic().Round(n,i)}function ri(n){return t.Generic().RoundCurrency(n)}function ui(n){return t.Generic().RoundCurrencyDown(n)}function fi(n){return t.Generic().RoundCurrencyUp(n)}function ei(n,i){return t.Generic().CompareDates(n,i)}function oi(){return t.Generic().ThemeContrastColourBackground()}function si(){return t.Generic().ThemeContrastColourForeground()}function hi(){return t.Generic().ThemeMainColourBackground()}function ci(){return t.Generic().ThemeMainColourForeground()}var t=n;return{ActionNotificationHandle:i,ActionNotificationSend:r,ArrayRemove:u,ArrayToCodeDescriptionList:f,CanClose:e,Close:o,CompareDates:ei,CurrencyDecimals:s,CurrencySymbol:h,DayMonthYearOrder:c,DownloadFile:l,ExecuteApplicationShortcutUrl:a,FormatCurrency:v,FormatDate:y,FormatDateTime:w,FormatDateForGrid:b,FormatUtcDate:k,FormatUtcDateTime:d,FormatNumber:g,GetHostingContext:tt,GetIconUrl:nt,GetString:ut,GetWeekDayName:it,GetWeekDayNameFromDate:rt,UploadFiles:ni,NotificationAdd:ot,ParseCurrency:st,ParseDate:ht,ParseNumber:ct,Round:ii,RoundCurrency:ri,RoundCurrencyDown:ui,RoundCurrencyUp:fi,RegisterError:at,RefreshParent:lt,Reset:yt,ResetScheduled:pt,ResetHandle:wt,SetHeading:bt,SetHeadingIcon:kt,SetHeadingStyle:dt,SizeToFit:gt,ThemeContrastColourBackground:oi,ThemeContrastColourForeground:si,ThemeMainColourBackground:hi,ThemeMainColourForeground:ci,_SystemDownloadFile:ft,_SystemGetString:et,Options:n.Options,Version:ti,IsHighDpi:function(){return $Runtime.IsHighDpi()},FormatDateInternal:p,__requestForm:vt}}var __UIExtDates,__UIExtGrid,__UIExtFinC,__UIExtNavigation,__UIExtPreviewPane,__UIExtRecordForm,__UIExtRecordTabs,__UIExtWidget,__UIExtParametersHost,__UIExtDocumentManager,__UIExtTreeView,__UIExtSmartList;(function(n,t){typeof module=="object"&&typeof module.exports=="object"?module.exports=n.document?t(n,!0):function(n){if(!n.document)throw new Error("jQuery requires a window with a document");return t(n)}:t(n)})(typeof window!="undefined"?window:this,function(n,t){function ri(n){var t="length"in n&&n.length,r=i.type(n);return r==="function"||i.isWindow(n)?!1:n.nodeType===1&&t?!0:r==="array"||t===0||typeof t=="number"&&t>0&&t-1 in n}function ui(n,t,r){if(i.isFunction(t))return i.grep(n,function(n,i){return!!t.call(n,i,n)!==r});if(t.nodeType)return i.grep(n,function(n){return n===t!==r});if(typeof t=="string"){if(ef.test(t))return i.filter(t,n,r);t=i.filter(t,n)}return i.grep(n,function(n){return ft.call(t,n)>=0!==r})}function ur(n,t){while((n=n[t])&&n.nodeType!==1);return n}function of(n){var t=fi[n]={};return i.each(n.match(c)||[],function(n,i){t[i]=!0}),t}function ht(){u.removeEventListener("DOMContentLoaded",ht,!1);n.removeEventListener("load",ht,!1);i.ready()}function v(){Object.defineProperty(this.cache={},0,{get:function(){return{}}});this.expando=i.expando+v.uid++}function fr(n,t,r){var u;if(r===undefined&&n.nodeType===1)if(u="data-"+t.replace(hf,"-$1").toLowerCase(),r=n.getAttribute(u),typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:sf.test(r)?i.parseJSON(r):r}catch(f){}e.set(n,t,r)}else r=undefined;return r}function lt(){return!0}function k(){return!1}function hr(){try{return u.activeElement}catch(n){}}function vr(n,t){return i.nodeName(n,"table")&&i.nodeName(t.nodeType!==11?t:t.firstChild,"tr")?n.getElementsByTagName("tbody")[0]||n.appendChild(n.ownerDocument.createElement("tbody")):n}function bf(n){return n.type=(n.getAttribute("type")!==null)+"/"+n.type,n}function kf(n){var t=pf.exec(n.type);return t?n.type=t[1]:n.removeAttribute("type"),n}function ei(n,t){for(var i=0,u=n.length;i<u;i++)r.set(n[i],"globalEval",!t||r.get(t[i],"globalEval"))}function yr(n,t){var f,c,o,s,h,l,a,u;if(t.nodeType===1){if(r.hasData(n)&&(s=r.access(n),h=r.set(t,s),u=s.events,u)){delete h.handle;h.events={};for(o in u)for(f=0,c=u[o].length;f<c;f++)i.event.add(t,o,u[o][f])}e.hasData(n)&&(l=e.access(n),a=i.extend({},l),e.set(t,a))}}function o(n,t){var r=n.getElementsByTagName?n.getElementsByTagName(t||"*"):n.querySelectorAll?n.querySelectorAll(t||"*"):[];return t===undefined||t&&i.nodeName(n,t)?i.merge([n],r):r}function df(n,t){var i=t.nodeName.toLowerCase();i==="input"&&er.test(n.type)?t.checked=n.checked:(i==="input"||i==="textarea")&&(t.defaultValue=n.defaultValue)}function pr(t,r){var f,u=i(r.createElement(t)).appendTo(r.body),e=n.getDefaultComputedStyle&&(f=n.getDefaultComputedStyle(u[0]))?f.display:i.css(u[0],"display");return u.detach(),e}function si(n){var r=u,t=oi[n];return t||(t=pr(n,r),t!=="none"&&t||(at=(at||i("<iframe frameborder='0' width='0' height='0'/>")).appendTo(r.documentElement),r=at[0].contentDocument,r.write(),r.close(),t=pr(n,r),at.detach()),oi[n]=t),t}function it(n,t,r){var e,o,s,u,f=n.style;return r=r||vt(n),r&&(u=r.getPropertyValue(t)||r[t]),r&&(u!==""||i.contains(n.ownerDocument,n)||(u=i.style(n,t)),hi.test(u)&&wr.test(t)&&(e=f.width,o=f.minWidth,s=f.maxWidth,f.minWidth=f.maxWidth=f.width=u,u=r.width,f.width=e,f.minWidth=o,f.maxWidth=s)),u!==undefined?u+"":u}function br(n,t){return{get:function(){if(n()){delete this.get;return}return(this.get=t).apply(this,arguments)}}}function gr(n,t){if(t in n)return t;for(var r=t[0].toUpperCase()+t.slice(1),u=t,i=dr.length;i--;)if(t=dr[i]+r,t in n)return t;return u}function nu(n,t,i){var r=ne.exec(t);return r?Math.max(0,r[1]-(i||0))+(r[2]||"px"):t}function tu(n,t,r,u,f){for(var e=r===(u?"border":"content")?4:t==="width"?1:0,o=0;e<4;e+=2)r==="margin"&&(o+=i.css(n,r+p[e],!0,f)),u?(r==="content"&&(o-=i.css(n,"padding"+p[e],!0,f)),r!=="margin"&&(o-=i.css(n,"border"+p[e]+"Width",!0,f))):(o+=i.css(n,"padding"+p[e],!0,f),r!=="padding"&&(o+=i.css(n,"border"+p[e]+"Width",!0,f)));return o}function iu(n,t,r){var o=!0,u=t==="width"?n.offsetWidth:n.offsetHeight,e=vt(n),s=i.css(n,"boxSizing",!1,e)==="border-box";if(u<=0||u==null){if(u=it(n,t,e),(u<0||u==null)&&(u=n.style[t]),hi.test(u))return u;o=s&&(f.boxSizingReliable()||u===n.style[t]);u=parseFloat(u)||0}return u+tu(n,t,r||(s?"border":"content"),o,e)+"px"}function ru(n,t){for(var e,u,s,o=[],f=0,h=n.length;f<h;f++)(u=n[f],u.style)&&(o[f]=r.get(u,"olddisplay"),e=u.style.display,t?(o[f]||e!=="none"||(u.style.display=""),u.style.display===""&&tt(u)&&(o[f]=r.access(u,"olddisplay",si(u.nodeName)))):(s=tt(u),e==="none"&&s||r.set(u,"olddisplay",s?e:i.css(u,"display"))));for(f=0;f<h;f++)(u=n[f],u.style)&&(t&&u.style.display!=="none"&&u.style.display!==""||(u.style.display=t?o[f]||"":"none"));return n}function s(n,t,i,r,u){return new s.prototype.init(n,t,i,r,u)}function fu(){return setTimeout(function(){d=undefined}),d=i.now()}function wt(n,t){var r,u=0,i={height:n};for(t=t?1:0;u<4;u+=2-t)r=p[u],i["margin"+r]=i["padding"+r]=n;return t&&(i.opacity=i.width=n),i}function eu(n,t,i){for(var u,f=(rt[t]||[]).concat(rt["*"]),r=0,e=f.length;r<e;r++)if(u=f[r].call(i,t,n))return u}function fe(n,t,u){var f,a,p,v,o,w,h,b,l=this,y={},s=n.style,c=n.nodeType&&tt(n),e=r.get(n,"fxshow");u.queue||(o=i._queueHooks(n,"fx"),o.unqueued==null&&(o.unqueued=0,w=o.empty.fire,o.empty.fire=function(){o.unqueued||w()}),o.unqueued++,l.always(function(){l.always(function(){o.unqueued--;i.queue(n,"fx").length||o.empty.fire()})}));n.nodeType===1&&("height"in t||"width"in t)&&(u.overflow=[s.overflow,s.overflowX,s.overflowY],h=i.css(n,"display"),b=h==="none"?r.get(n,"olddisplay")||si(n.nodeName):h,b==="inline"&&i.css(n,"float")==="none"&&(s.display="inline-block"));u.overflow&&(s.overflow="hidden",l.always(function(){s.overflow=u.overflow[0];s.overflowX=u.overflow[1];s.overflowY=u.overflow[2]}));for(f in t)if(a=t[f],re.exec(a)){if(delete t[f],p=p||a==="toggle",a===(c?"hide":"show"))if(a==="show"&&e&&e[f]!==undefined)c=!0;else continue;y[f]=e&&e[f]||i.style(n,f)}else h=undefined;if(i.isEmptyObject(y))(h==="none"?si(n.nodeName):h)==="inline"&&(s.display=h);else{e?"hidden"in e&&(c=e.hidden):e=r.access(n,"fxshow",{});p&&(e.hidden=!c);c?i(n).show():l.done(function(){i(n).hide()});l.done(function(){var t;r.remove(n,"fxshow");for(t in y)i.style(n,t,y[t])});for(f in y)v=eu(c?e[f]:0,f,l),f in e||(e[f]=v.start,c&&(v.end=v.start,v.start=f==="width"||f==="height"?1:0))}}function ee(n,t){var r,f,e,u,o;for(r in n)if(f=i.camelCase(r),e=t[f],u=n[r],i.isArray(u)&&(e=u[1],u=n[r]=u[0]),r!==f&&(n[f]=u,delete n[r]),o=i.cssHooks[f],o&&"expand"in o){u=o.expand(u);delete n[f];for(r in u)r in n||(n[r]=u[r],t[r]=e)}else t[f]=e}function ou(n,t,r){var e,o,s=0,l=pt.length,f=i.Deferred().always(function(){delete c.elem}),c=function(){if(o)return!1;for(var s=d||fu(),t=Math.max(0,u.startTime+u.duration-s),h=t/u.duration||0,i=1-h,r=0,e=u.tweens.length;r<e;r++)u.tweens[r].run(i);return f.notifyWith(n,[u,i,t]),i<1&&e?t:(f.resolveWith(n,[u]),!1)},u=f.promise({elem:n,props:i.extend({},t),opts:i.extend(!0,{specialEasing:{}},r),originalProperties:t,originalOptions:r,startTime:d||fu(),duration:r.duration,tweens:[],createTween:function(t,r){var f=i.Tween(n,u.opts,t,r,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(f),f},stop:function(t){var i=0,r=t?u.tweens.length:0;if(o)return this;for(o=!0;i<r;i++)u.tweens[i].run(1);return t?f.resolveWith(n,[u,t]):f.rejectWith(n,[u,t]),this}}),h=u.props;for(ee(h,u.opts.specialEasing);s<l;s++)if(e=pt[s].call(u,n,h,u.opts),e)return e;return i.map(h,eu,u),i.isFunction(u.opts.start)&&u.opts.start.call(n,u),i.fx.timer(i.extend(c,{elem:n,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function pu(n){return function(t,r){typeof t!="string"&&(r=t,t="*");var u,f=0,e=t.toLowerCase().match(c)||[];if(i.isFunction(r))while(u=e[f++])u[0]==="+"?(u=u.slice(1)||"*",(n[u]=n[u]||[]).unshift(r)):(n[u]=n[u]||[]).push(r)}}function wu(n,t,r,u){function e(s){var h;return f[s]=!0,i.each(n[s]||[],function(n,i){var s=i(t,r,u);if(typeof s!="string"||o||f[s]){if(o)return!(h=s)}else return t.dataTypes.unshift(s),e(s),!1}),h}var f={},o=n===ci;return e(t.dataTypes[0])||!f["*"]&&e("*")}function ai(n,t){var r,u,f=i.ajaxSettings.flatOptions||{};for(r in t)t[r]!==undefined&&((f[r]?n:u||(u={}))[r]=t[r]);return u&&i.extend(!0,n,u),n}function ae(n,t,i){for(var e,u,f,o,s=n.contents,r=n.dataTypes;r[0]==="*";)r.shift(),e===undefined&&(e=n.mimeType||t.getResponseHeader("Content-Type"));if(e)for(u in s)if(s[u]&&s[u].test(e)){r.unshift(u);break}if(r[0]in i)f=r[0];else{for(u in i){if(!r[0]||n.converters[u+" "+r[0]]){f=u;break}o||(o=u)}f=f||o}if(f)return f!==r[0]&&r.unshift(f),i[f]}function ve(n,t,i,r){var h,u,f,s,e,o={},c=n.dataTypes.slice();if(c[1])for(f in n.converters)o[f.toLowerCase()]=n.converters[f];for(u=c.shift();u;)if(n.responseFields[u]&&(i[n.responseFields[u]]=t),!e&&r&&n.dataFilter&&(t=n.dataFilter(t,n.dataType)),e=u,u=c.shift(),u)if(u==="*")u=e;else if(e!=="*"&&e!==u){if(f=o[e+" "+u]||o["* "+u],!f)for(h in o)if(s=h.split(" "),s[1]===u&&(f=o[e+" "+s[0]]||o["* "+s[0]],f)){f===!0?f=o[h]:o[h]!==!0&&(u=s[0],c.unshift(s[1]));break}if(f!==!0)if(f&&n.throws)t=f(t);else try{t=f(t)}catch(l){return{state:"parsererror",error:f?l:"No conversion from "+e+" to "+u}}}return{state:"success",data:t}}function vi(n,t,r,u){var f;if(i.isArray(t))i.each(t,function(t,i){r||pe.test(n)?u(n,i):vi(n+"["+(typeof i=="object"?t:"")+"]",i,r,u)});else if(r||i.type(t)!=="object")u(n,t);else for(f in t)vi(n+"["+f+"]",t[f],r,u)}function ku(n){return i.isWindow(n)?n:n.nodeType===9&&n.defaultView}var w=[],a=w.slice,bi=w.concat,ti=w.push,ft=w.indexOf,et={},nf=et.toString,ii=et.hasOwnProperty,f={},u=n.document,ki="2.1.4",i=function(n,t){return new i.fn.init(n,t)},tf=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rf=/^-ms-/,uf=/-([\da-z])/gi,ff=function(n,t){return t.toUpperCase()},y,ot,nr,tr,ir,rr,c,fi,st,l,b,at,oi,oe,su,g,hu,bt,cu,kt,dt,yi,ni,pi,wi,du,gu;i.fn=i.prototype={jquery:ki,constructor:i,selector:"",length:0,toArray:function(){return a.call(this)},get:function(n){return n!=null?n<0?this[n+this.length]:this[n]:a.call(this)},pushStack:function(n){var t=i.merge(this.constructor(),n);return t.prevObject=this,t.context=this.context,t},each:function(n,t){return i.each(this,n,t)},map:function(n){return this.pushStack(i.map(this,function(t,i){return n.call(t,i,t)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(n){var i=this.length,t=+n+(n<0?i:0);return this.pushStack(t>=0&&t<i?[this[t]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:ti,sort:w.sort,splice:w.splice};i.extend=i.fn.extend=function(){var e,f,r,t,o,s,n=arguments[0]||{},u=1,c=arguments.length,h=!1;for(typeof n=="boolean"&&(h=n,n=arguments[u]||{},u++),typeof n=="object"||i.isFunction(n)||(n={}),u===c&&(n=this,u--);u<c;u++)if((e=arguments[u])!=null)for(f in e)(r=n[f],t=e[f],n!==t)&&(h&&t&&(i.isPlainObject(t)||(o=i.isArray(t)))?(o?(o=!1,s=r&&i.isArray(r)?r:[]):s=r&&i.isPlainObject(r)?r:{},n[f]=i.extend(h,s,t)):t!==undefined&&(n[f]=t));return n};i.extend({expando:"jQuery"+(ki+Math.random()).replace(/\D/g,""),isReady:!0,error:function(n){throw new Error(n);},noop:function(){},isFunction:function(n){return i.type(n)==="function"},isArray:Array.isArray,isWindow:function(n){return n!=null&&n===n.window},isNumeric:function(n){return!i.isArray(n)&&n-parseFloat(n)+1>=0},isPlainObject:function(n){return i.type(n)!=="object"||n.nodeType||i.isWindow(n)?!1:n.constructor&&!ii.call(n.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(n){for(var t in n)return!1;return!0},type:function(n){return n==null?n+"":typeof n=="object"||typeof n=="function"?et[nf.call(n)]||"object":typeof n},globalEval:function(n){var t,r=eval;n=i.trim(n);n&&(n.indexOf("use strict")===1?(t=u.createElement("script"),t.text=n,u.head.appendChild(t).parentNode.removeChild(t)):r(n))},camelCase:function(n){return n.replace(rf,"ms-").replace(uf,ff)},nodeName:function(n,t){return n.nodeName&&n.nodeName.toLowerCase()===t.toLowerCase()},each:function(n,t,i){var u,r=0,f=n.length,e=ri(n);if(i){if(e){for(;r<f;r++)if(u=t.apply(n[r],i),u===!1)break}else for(r in n)if(u=t.apply(n[r],i),u===!1)break}else if(e){for(;r<f;r++)if(u=t.call(n[r],r,n[r]),u===!1)break}else for(r in n)if(u=t.call(n[r],r,n[r]),u===!1)break;return n},trim:function(n){return n==null?"":(n+"").replace(tf,"")},makeArray:function(n,t){var r=t||[];return n!=null&&(ri(Object(n))?i.merge(r,typeof n=="string"?[n]:n):ti.call(r,n)),r},inArray:function(n,t,i){return t==null?-1:ft.call(t,n,i)},merge:function(n,t){for(var u=+t.length,i=0,r=n.length;i<u;i++)n[r++]=t[i];return n.length=r,n},grep:function(n,t,i){for(var u,f=[],r=0,e=n.length,o=!i;r<e;r++)u=!t(n[r],r),u!==o&&f.push(n[r]);return f},map:function(n,t,i){var u,r=0,e=n.length,o=ri(n),f=[];if(o)for(;r<e;r++)u=t(n[r],r,i),u!=null&&f.push(u);else for(r in n)u=t(n[r],r,i),u!=null&&f.push(u);return bi.apply([],f)},guid:1,proxy:function(n,t){var u,f,r;return(typeof t=="string"&&(u=n[t],t=n,n=u),!i.isFunction(n))?undefined:(f=a.call(arguments,2),r=function(){return n.apply(t||this,f.concat(a.call(arguments)))},r.guid=n.guid=n.guid||i.guid++,r)},now:Date.now,support:f});i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(n,t){et["[object "+t+"]"]=t.toLowerCase()});y=function(n){function r(n,t,i,r){var p,s,a,c,w,y,d,v,nt,g;if((t?t.ownerDocument||t:h)!==o&&k(t),t=t||o,i=i||[],c=t.nodeType,typeof n!="string"||!n||c!==1&&c!==9&&c!==11)return i;if(!r&&l){if(c!==11&&(p=hr.exec(n)))if(a=p[1]){if(c===9)if(s=t.getElementById(a),s&&s.parentNode){if(s.id===a)return i.push(s),i}else return i;else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&et(t,s)&&s.id===a)return i.push(s),i}else{if(p[2])return b.apply(i,t.getElementsByTagName(n)),i;if((a=p[3])&&u.getElementsByClassName)return b.apply(i,t.getElementsByClassName(a)),i}if(u.qsa&&(!e||!e.test(n))){if(v=d=f,nt=t,g=c!==1&&n,c===1&&t.nodeName.toLowerCase()!=="object"){for(y=ft(n),(d=t.getAttribute("id"))?v=d.replace(cr,"\\$&"):t.setAttribute("id",v),v="[id='"+v+"'] ",w=y.length;w--;)y[w]=v+vt(y[w]);nt=dt.test(n)&&ti(t.parentNode)||t;g=y.join(",")}if(g)try{return b.apply(i,nt.querySelectorAll(g)),i}catch(tt){}finally{d||t.removeAttribute("id")}}}return oi(n.replace(lt,"$1"),t,i,r)}function gt(){function n(r,u){return i.push(r+" ")>t.cacheLength&&delete n[i.shift()],n[r+" "]=u}var i=[];return n}function c(n){return n[f]=!0,n}function v(n){var t=o.createElement("div");try{return!!n(t)}catch(i){return!1}finally{t.parentNode&&t.parentNode.removeChild(t);t=null}}function ni(n,i){for(var u=n.split("|"),r=n.length;r--;)t.attrHandle[u[r]]=i}function wi(n,t){var i=t&&n,r=i&&n.nodeType===1&&t.nodeType===1&&(~t.sourceIndex||li)-(~n.sourceIndex||li);if(r)return r;if(i)while(i=i.nextSibling)if(i===t)return-1;return n?1:-1}function lr(n){return function(t){var i=t.nodeName.toLowerCase();return i==="input"&&t.type===n}}function ar(n){return function(t){var i=t.nodeName.toLowerCase();return(i==="input"||i==="button")&&t.type===n}}function tt(n){return c(function(t){return t=+t,c(function(i,r){for(var u,f=n([],i.length,t),e=f.length;e--;)i[u=f[e]]&&(i[u]=!(r[u]=i[u]))})})}function ti(n){return n&&typeof n.getElementsByTagName!="undefined"&&n}function bi(){}function vt(n){for(var t=0,r=n.length,i="";t<r;t++)i+=n[t].value;return i}function ii(n,t,i){var r=t.dir,u=i&&r==="parentNode",e=ki++;return t.first?function(t,i,f){while(t=t[r])if(t.nodeType===1||u)return n(t,i,f)}:function(t,i,o){var s,h,c=[a,e];if(o){while(t=t[r])if((t.nodeType===1||u)&&n(t,i,o))return!0}else while(t=t[r])if(t.nodeType===1||u){if(h=t[f]||(t[f]={}),(s=h[r])&&s[0]===a&&s[1]===e)return c[2]=s[2];if(h[r]=c,c[2]=n(t,i,o))return!0}}}function ri(n){return n.length>1?function(t,i,r){for(var u=n.length;u--;)if(!n[u](t,i,r))return!1;return!0}:n[0]}function vr(n,t,i){for(var u=0,f=t.length;u<f;u++)r(n,t[u],i);return i}function yt(n,t,i,r,u){for(var e,o=[],f=0,s=n.length,h=t!=null;f<s;f++)(e=n[f])&&(!i||i(e,r,u))&&(o.push(e),h&&t.push(f));return o}function ui(n,t,i,r,u,e){return r&&!r[f]&&(r=ui(r)),u&&!u[f]&&(u=ui(u,e)),c(function(f,e,o,s){var l,c,a,p=[],y=[],w=e.length,k=f||vr(t||"*",o.nodeType?[o]:o,[]),v=n&&(f||!t)?yt(k,p,n,o,s):k,h=i?u||(f?n:w||r)?[]:e:v;if(i&&i(v,h,o,s),r)for(l=yt(h,y),r(l,[],o,s),c=l.length;c--;)(a=l[c])&&(h[y[c]]=!(v[y[c]]=a));if(f){if(u||n){if(u){for(l=[],c=h.length;c--;)(a=h[c])&&l.push(v[c]=a);u(null,h=[],l,s)}for(c=h.length;c--;)(a=h[c])&&(l=u?nt(f,a):p[c])>-1&&(f[l]=!(e[l]=a))}}else h=yt(h===e?h.splice(w,h.length):h),u?u(null,e,h,s):b.apply(e,h)})}function fi(n){for(var o,u,r,s=n.length,h=t.relative[n[0].type],c=h||t.relative[" "],i=h?1:0,l=ii(function(n){return n===o},c,!0),a=ii(function(n){return nt(o,n)>-1},c,!0),e=[function(n,t,i){var r=!h&&(i||t!==ht)||((o=t).nodeType?l(n,t,i):a(n,t,i));return o=null,r}];i<s;i++)if(u=t.relative[n[i].type])e=[ii(ri(e),u)];else{if(u=t.filter[n[i].type].apply(null,n[i].matches),u[f]){for(r=++i;r<s;r++)if(t.relative[n[r].type])break;return ui(i>1&&ri(e),i>1&&vt(n.slice(0,i-1).concat({value:n[i-2].type===" "?"*":""})).replace(lt,"$1"),u,i<r&&fi(n.slice(i,r)),r<s&&fi(n=n.slice(r)),r<s&&vt(n))}e.push(u)}return ri(e)}function yr(n,i){var u=i.length>0,f=n.length>0,e=function(e,s,h,c,l){var y,d,w,k=0,v="0",g=e&&[],p=[],nt=ht,tt=e||f&&t.find.TAG("*",l),it=a+=nt==null?1:Math.random()||.1,rt=tt.length;for(l&&(ht=s!==o&&s);v!==rt&&(y=tt[v])!=null;v++){if(f&&y){for(d=0;w=n[d++];)if(w(y,s,h)){c.push(y);break}l&&(a=it)}u&&((y=!w&&y)&&k--,e&&g.push(y))}if(k+=v,u&&v!==k){for(d=0;w=i[d++];)w(g,p,s,h);if(e){if(k>0)while(v--)g[v]||p[v]||(p[v]=gi.call(c));p=yt(p)}b.apply(c,p);l&&!e&&p.length>0&&k+i.length>1&&r.uniqueSort(c)}return l&&(a=it,ht=nt),g};return u?c(e):e}var it,u,t,st,ei,ft,pt,oi,ht,w,rt,k,o,s,l,e,d,ct,et,f="sizzle"+1*new Date,h=n.document,a=0,ki=0,si=gt(),hi=gt(),ci=gt(),wt=function(n,t){return n===t&&(rt=!0),0},li=-2147483648,di={}.hasOwnProperty,g=[],gi=g.pop,nr=g.push,b=g.push,ai=g.slice,nt=function(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1},bt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",i="[\\x20\\t\\r\\n\\f]",ut="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",vi=ut.replace("w","w#"),yi="\\["+i+"*("+ut+")(?:"+i+"*([*^$|!~]?=)"+i+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+vi+"))|)"+i+"*\\]",kt=":("+ut+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+yi+")*)|.*)\\)|)",tr=new RegExp(i+"+","g"),lt=new RegExp("^"+i+"+|((?:^|[^\\\\])(?:\\\\.)*)"+i+"+$","g"),ir=new RegExp("^"+i+"*,"+i+"*"),rr=new RegExp("^"+i+"*([>+~]|"+i+")"+i+"*"),ur=new RegExp("="+i+"*([^\\]'\"]*?)"+i+"*\\]","g"),fr=new RegExp(kt),er=new RegExp("^"+vi+"$"),at={ID:new RegExp("^#("+ut+")"),CLASS:new RegExp("^\\.("+ut+")"),TAG:new RegExp("^("+ut.replace("w","w*")+")"),ATTR:new RegExp("^"+yi),PSEUDO:new RegExp("^"+kt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+i+"*(even|odd|(([+-]|)(\\d*)n|)"+i+"*(?:([+-]|)"+i+"*(\\d+)|))"+i+"*\\)|)","i"),bool:new RegExp("^(?:"+bt+")$","i"),needsContext:new RegExp("^"+i+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+i+"*((?:-\\d)?\\d*)"+i+"*\\)|)(?=[^-]|$)","i")},or=/^(?:input|select|textarea|button)$/i,sr=/^h\d$/i,ot=/^[^{]+\{\s*\[native \w/,hr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,dt=/[+~]/,cr=/'|\\/g,y=new RegExp("\\\\([\\da-f]{1,6}"+i+"?|("+i+")|.)","ig"),p=function(n,t,i){var r="0x"+t-65536;return r!==r||i?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,r&1023|56320)},pi=function(){k()};try{b.apply(g=ai.call(h.childNodes),h.childNodes);g[h.childNodes.length].nodeType}catch(pr){b={apply:g.length?function(n,t){nr.apply(n,ai.call(t))}:function(n,t){for(var i=n.length,r=0;n[i++]=t[r++];);n.length=i-1}}}u=r.support={};ei=r.isXML=function(n){var t=n&&(n.ownerDocument||n).documentElement;return t?t.nodeName!=="HTML":!1};k=r.setDocument=function(n){var a,c,r=n?n.ownerDocument||n:h;return r===o||r.nodeType!==9||!r.documentElement?o:(o=r,s=r.documentElement,c=r.defaultView,c&&c!==c.top&&(c.addEventListener?c.addEventListener("unload",pi,!1):c.attachEvent&&c.attachEvent("onunload",pi)),l=!ei(r),u.attributes=v(function(n){return n.className="i",!n.getAttribute("className")}),u.getElementsByTagName=v(function(n){return n.appendChild(r.createComment("")),!n.getElementsByTagName("*").length}),u.getElementsByClassName=ot.test(r.getElementsByClassName),u.getById=v(function(n){return s.appendChild(n).id=f,!r.getElementsByName||!r.getElementsByName(f).length}),u.getById?(t.find.ID=function(n,t){if(typeof t.getElementById!="undefined"&&l){var i=t.getElementById(n);return i&&i.parentNode?[i]:[]}},t.filter.ID=function(n){var t=n.replace(y,p);return function(n){return n.getAttribute("id")===t}}):(delete t.find.ID,t.filter.ID=function(n){var t=n.replace(y,p);return function(n){var i=typeof n.getAttributeNode!="undefined"&&n.getAttributeNode("id");return i&&i.value===t}}),t.find.TAG=u.getElementsByTagName?function(n,t){return typeof t.getElementsByTagName!="undefined"?t.getElementsByTagName(n):u.qsa?t.querySelectorAll(n):void 0}:function(n,t){var i,r=[],f=0,u=t.getElementsByTagName(n);if(n==="*"){while(i=u[f++])i.nodeType===1&&r.push(i);return r}return u},t.find.CLASS=u.getElementsByClassName&&function(n,t){if(l)return t.getElementsByClassName(n)},d=[],e=[],(u.qsa=ot.test(r.querySelectorAll))&&(v(function(n){s.appendChild(n).innerHTML="<a id='"+f+"'><\/a><select id='"+f+"-\f]' msallowcapture=''><option selected=''><\/option><\/select>";n.querySelectorAll("[msallowcapture^='']").length&&e.push("[*^$]="+i+"*(?:''|\"\")");n.querySelectorAll("[selected]").length||e.push("\\["+i+"*(?:value|"+bt+")");n.querySelectorAll("[id~="+f+"-]").length||e.push("~=");n.querySelectorAll(":checked").length||e.push(":checked");n.querySelectorAll("a#"+f+"+*").length||e.push(".#.+[+~]")}),v(function(n){var t=r.createElement("input");t.setAttribute("type","hidden");n.appendChild(t).setAttribute("name","D");n.querySelectorAll("[name=d]").length&&e.push("name"+i+"*[*^$|!~]?=");n.querySelectorAll(":enabled").length||e.push(":enabled",":disabled");n.querySelectorAll("*,:x");e.push(",.*:")})),(u.matchesSelector=ot.test(ct=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&v(function(n){u.disconnectedMatch=ct.call(n,"div");ct.call(n,"[s!='']:x");d.push("!=",kt)}),e=e.length&&new RegExp(e.join("|")),d=d.length&&new RegExp(d.join("|")),a=ot.test(s.compareDocumentPosition),et=a||ot.test(s.contains)?function(n,t){var r=n.nodeType===9?n.documentElement:n,i=t&&t.parentNode;return n===i||!!(i&&i.nodeType===1&&(r.contains?r.contains(i):n.compareDocumentPosition&&n.compareDocumentPosition(i)&16))}:function(n,t){if(t)while(t=t.parentNode)if(t===n)return!0;return!1},wt=a?function(n,t){if(n===t)return rt=!0,0;var i=!n.compareDocumentPosition-!t.compareDocumentPosition;return i?i:(i=(n.ownerDocument||n)===(t.ownerDocument||t)?n.compareDocumentPosition(t):1,i&1||!u.sortDetached&&t.compareDocumentPosition(n)===i)?n===r||n.ownerDocument===h&&et(h,n)?-1:t===r||t.ownerDocument===h&&et(h,t)?1:w?nt(w,n)-nt(w,t):0:i&4?-1:1}:function(n,t){if(n===t)return rt=!0,0;var i,u=0,o=n.parentNode,s=t.parentNode,f=[n],e=[t];if(o&&s){if(o===s)return wi(n,t)}else return n===r?-1:t===r?1:o?-1:s?1:w?nt(w,n)-nt(w,t):0;for(i=n;i=i.parentNode;)f.unshift(i);for(i=t;i=i.parentNode;)e.unshift(i);while(f[u]===e[u])u++;return u?wi(f[u],e[u]):f[u]===h?-1:e[u]===h?1:0},r)};r.matches=function(n,t){return r(n,null,null,t)};r.matchesSelector=function(n,t){if((n.ownerDocument||n)!==o&&k(n),t=t.replace(ur,"='$1']"),u.matchesSelector&&l&&(!d||!d.test(t))&&(!e||!e.test(t)))try{var i=ct.call(n,t);if(i||u.disconnectedMatch||n.document&&n.document.nodeType!==11)return i}catch(f){}return r(t,o,null,[n]).length>0};r.contains=function(n,t){return(n.ownerDocument||n)!==o&&k(n),et(n,t)};r.attr=function(n,i){(n.ownerDocument||n)!==o&&k(n);var f=t.attrHandle[i.toLowerCase()],r=f&&di.call(t.attrHandle,i.toLowerCase())?f(n,i,!l):undefined;return r!==undefined?r:u.attributes||!l?n.getAttribute(i):(r=n.getAttributeNode(i))&&r.specified?r.value:null};r.error=function(n){throw new Error("Syntax error, unrecognized expression: "+n);};r.uniqueSort=function(n){var r,f=[],t=0,i=0;if(rt=!u.detectDuplicates,w=!u.sortStable&&n.slice(0),n.sort(wt),rt){while(r=n[i++])r===n[i]&&(t=f.push(i));while(t--)n.splice(f[t],1)}return w=null,n};st=r.getText=function(n){var r,i="",u=0,t=n.nodeType;if(t){if(t===1||t===9||t===11){if(typeof n.textContent=="string")return n.textContent;for(n=n.firstChild;n;n=n.nextSibling)i+=st(n)}else if(t===3||t===4)return n.nodeValue}else while(r=n[u++])i+=st(r);return i};t=r.selectors={cacheLength:50,createPseudo:c,match:at,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(n){return n[1]=n[1].replace(y,p),n[3]=(n[3]||n[4]||n[5]||"").replace(y,p),n[2]==="~="&&(n[3]=" "+n[3]+" "),n.slice(0,4)},CHILD:function(n){return n[1]=n[1].toLowerCase(),n[1].slice(0,3)==="nth"?(n[3]||r.error(n[0]),n[4]=+(n[4]?n[5]+(n[6]||1):2*(n[3]==="even"||n[3]==="odd")),n[5]=+(n[7]+n[8]||n[3]==="odd")):n[3]&&r.error(n[0]),n},PSEUDO:function(n){var i,t=!n[6]&&n[2];return at.CHILD.test(n[0])?null:(n[3]?n[2]=n[4]||n[5]||"":t&&fr.test(t)&&(i=ft(t,!0))&&(i=t.indexOf(")",t.length-i)-t.length)&&(n[0]=n[0].slice(0,i),n[2]=t.slice(0,i)),n.slice(0,3))}},filter:{TAG:function(n){var t=n.replace(y,p).toLowerCase();return n==="*"?function(){return!0}:function(n){return n.nodeName&&n.nodeName.toLowerCase()===t}},CLASS:function(n){var t=si[n+" "];return t||(t=new RegExp("(^|"+i+")"+n+"("+i+"|$)"))&&si(n,function(n){return t.test(typeof n.className=="string"&&n.className||typeof n.getAttribute!="undefined"&&n.getAttribute("class")||"")})},ATTR:function(n,t,i){return function(u){var f=r.attr(u,n);return f==null?t==="!=":t?(f+="",t==="="?f===i:t==="!="?f!==i:t==="^="?i&&f.indexOf(i)===0:t==="*="?i&&f.indexOf(i)>-1:t==="$="?i&&f.slice(-i.length)===i:t==="~="?(" "+f.replace(tr," ")+" ").indexOf(i)>-1:t==="|="?f===i||f.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(n,t,i,r,u){var s=n.slice(0,3)!=="nth",o=n.slice(-4)!=="last",e=t==="of-type";return r===1&&u===0?function(n){return!!n.parentNode}:function(t,i,h){var v,k,c,l,y,w,b=s!==o?"nextSibling":"previousSibling",p=t.parentNode,g=e&&t.nodeName.toLowerCase(),d=!h&&!e;if(p){if(s){while(b){for(c=t;c=c[b];)if(e?c.nodeName.toLowerCase()===g:c.nodeType===1)return!1;w=b=n==="only"&&!w&&"nextSibling"}return!0}if(w=[o?p.firstChild:p.lastChild],o&&d){for(k=p[f]||(p[f]={}),v=k[n]||[],y=v[0]===a&&v[1],l=v[0]===a&&v[2],c=y&&p.childNodes[y];c=++y&&c&&c[b]||(l=y=0)||w.pop();)if(c.nodeType===1&&++l&&c===t){k[n]=[a,y,l];break}}else if(d&&(v=(t[f]||(t[f]={}))[n])&&v[0]===a)l=v[1];else while(c=++y&&c&&c[b]||(l=y=0)||w.pop())if((e?c.nodeName.toLowerCase()===g:c.nodeType===1)&&++l&&(d&&((c[f]||(c[f]={}))[n]=[a,l]),c===t))break;return l-=u,l===r||l%r==0&&l/r>=0}}},PSEUDO:function(n,i){var e,u=t.pseudos[n]||t.setFilters[n.toLowerCase()]||r.error("unsupported pseudo: "+n);return u[f]?u(i):u.length>1?(e=[n,n,"",i],t.setFilters.hasOwnProperty(n.toLowerCase())?c(function(n,t){for(var r,f=u(n,i),e=f.length;e--;)r=nt(n,f[e]),n[r]=!(t[r]=f[e])}):function(n){return u(n,0,e)}):u}},pseudos:{not:c(function(n){var t=[],r=[],i=pt(n.replace(lt,"$1"));return i[f]?c(function(n,t,r,u){for(var e,o=i(n,null,u,[]),f=n.length;f--;)(e=o[f])&&(n[f]=!(t[f]=e))}):function(n,u,f){return t[0]=n,i(t,null,f,r),t[0]=null,!r.pop()}}),has:c(function(n){return function(t){return r(n,t).length>0}}),contains:c(function(n){return n=n.replace(y,p),function(t){return(t.textContent||t.innerText||st(t)).indexOf(n)>-1}}),lang:c(function(n){return er.test(n||"")||r.error("unsupported lang: "+n),n=n.replace(y,p).toLowerCase(),function(t){var i;do if(i=l?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return i=i.toLowerCase(),i===n||i.indexOf(n+"-")===0;while((t=t.parentNode)&&t.nodeType===1);return!1}}),target:function(t){var i=n.location&&n.location.hash;return i&&i.slice(1)===t.id},root:function(n){return n===s},focus:function(n){return n===o.activeElement&&(!o.hasFocus||o.hasFocus())&&!!(n.type||n.href||~n.tabIndex)},enabled:function(n){return n.disabled===!1},disabled:function(n){return n.disabled===!0},checked:function(n){var t=n.nodeName.toLowerCase();return t==="input"&&!!n.checked||t==="option"&&!!n.selected},selected:function(n){return n.parentNode&&n.parentNode.selectedIndex,n.selected===!0},empty:function(n){for(n=n.firstChild;n;n=n.nextSibling)if(n.nodeType<6)return!1;return!0},parent:function(n){return!t.pseudos.empty(n)},header:function(n){return sr.test(n.nodeName)},input:function(n){return or.test(n.nodeName)},button:function(n){var t=n.nodeName.toLowerCase();return t==="input"&&n.type==="button"||t==="button"},text:function(n){var t;return n.nodeName.toLowerCase()==="input"&&n.type==="text"&&((t=n.getAttribute("type"))==null||t.toLowerCase()==="text")},first:tt(function(){return[0]}),last:tt(function(n,t){return[t-1]}),eq:tt(function(n,t,i){return[i<0?i+t:i]}),even:tt(function(n,t){for(var i=0;i<t;i+=2)n.push(i);return n}),odd:tt(function(n,t){for(var i=1;i<t;i+=2)n.push(i);return n}),lt:tt(function(n,t,i){for(var r=i<0?i+t:i;--r>=0;)n.push(r);return n}),gt:tt(function(n,t,i){for(var r=i<0?i+t:i;++r<t;)n.push(r);return n})}};t.pseudos.nth=t.pseudos.eq;for(it in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[it]=lr(it);for(it in{submit:!0,reset:!0})t.pseudos[it]=ar(it);return bi.prototype=t.filters=t.pseudos,t.setFilters=new bi,ft=r.tokenize=function(n,i){var e,f,s,o,u,h,c,l=hi[n+" "];if(l)return i?0:l.slice(0);for(u=n,h=[],c=t.preFilter;u;){(!e||(f=ir.exec(u)))&&(f&&(u=u.slice(f[0].length)||u),h.push(s=[]));e=!1;(f=rr.exec(u))&&(e=f.shift(),s.push({value:e,type:f[0].replace(lt," ")}),u=u.slice(e.length));for(o in t.filter)(f=at[o].exec(u))&&(!c[o]||(f=c[o](f)))&&(e=f.shift(),s.push({value:e,type:o,matches:f}),u=u.slice(e.length));if(!e)break}return i?u.length:u?r.error(n):hi(n,h).slice(0)},pt=r.compile=function(n,t){var r,u=[],e=[],i=ci[n+" "];if(!i){for(t||(t=ft(n)),r=t.length;r--;)i=fi(t[r]),i[f]?u.push(i):e.push(i);i=ci(n,yr(e,u));i.selector=n}return i},oi=r.select=function(n,i,r,f){var s,e,o,a,v,c=typeof n=="function"&&n,h=!f&&ft(n=c.selector||n);if(r=r||[],h.length===1){if(e=h[0]=h[0].slice(0),e.length>2&&(o=e[0]).type==="ID"&&u.getById&&i.nodeType===9&&l&&t.relative[e[1].type]){if(i=(t.find.ID(o.matches[0].replace(y,p),i)||[])[0],i)c&&(i=i.parentNode);else return r;n=n.slice(e.shift().value.length)}for(s=at.needsContext.test(n)?0:e.length;s--;){if(o=e[s],t.relative[a=o.type])break;if((v=t.find[a])&&(f=v(o.matches[0].replace(y,p),dt.test(e[0].type)&&ti(i.parentNode)||i))){if(e.splice(s,1),n=f.length&&vt(e),!n)return b.apply(r,f),r;break}}}return(c||pt(n,h))(f,i,!l,r,dt.test(n)&&ti(i.parentNode)||i),r},u.sortStable=f.split("").sort(wt).join("")===f,u.detectDuplicates=!!rt,k(),u.sortDetached=v(function(n){return n.compareDocumentPosition(o.createElement("div"))&1}),v(function(n){return n.innerHTML="<a href='#'><\/a>",n.firstChild.getAttribute("href")==="#"})||ni("type|href|height|width",function(n,t,i){if(!i)return n.getAttribute(t,t.toLowerCase()==="type"?1:2)}),u.attributes&&v(function(n){return n.innerHTML="<input/>",n.firstChild.setAttribute("value",""),n.firstChild.getAttribute("value")===""})||ni("value",function(n,t,i){if(!i&&n.nodeName.toLowerCase()==="input")return n.defaultValue}),v(function(n){return n.getAttribute("disabled")==null})||ni(bt,function(n,t,i){var r;if(!i)return n[t]===!0?t.toLowerCase():(r=n.getAttributeNode(t))&&r.specified?r.value:null}),r}(n);i.find=y;i.expr=y.selectors;i.expr[":"]=i.expr.pseudos;i.unique=y.uniqueSort;i.text=y.getText;i.isXMLDoc=y.isXML;i.contains=y.contains;var di=i.expr.match.needsContext,gi=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ef=/^.[^:#\[\.,]*$/;i.filter=function(n,t,r){var u=t[0];return r&&(n=":not("+n+")"),t.length===1&&u.nodeType===1?i.find.matchesSelector(u,n)?[u]:[]:i.find.matches(n,i.grep(t,function(n){return n.nodeType===1}))};i.fn.extend({find:function(n){var t,u=this.length,r=[],f=this;if(typeof n!="string")return this.pushStack(i(n).filter(function(){for(t=0;t<u;t++)if(i.contains(f[t],this))return!0}));for(t=0;t<u;t++)i.find(n,f[t],r);return r=this.pushStack(u>1?i.unique(r):r),r.selector=this.selector?this.selector+" "+n:n,r},filter:function(n){return this.pushStack(ui(this,n||[],!1))},not:function(n){return this.pushStack(ui(this,n||[],!0))},is:function(n){return!!ui(this,typeof n=="string"&&di.test(n)?i(n):n||[],!1).length}});nr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;tr=i.fn.init=function(n,t){var r,f;if(!n)return this;if(typeof n=="string"){if(r=n[0]==="<"&&n[n.length-1]===">"&&n.length>=3?[null,n,null]:nr.exec(n),r&&(r[1]||!t)){if(r[1]){if(t=t instanceof i?t[0]:t,i.merge(this,i.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:u,!0)),gi.test(r[1])&&i.isPlainObject(t))for(r in t)i.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return f=u.getElementById(r[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=u,this.selector=n,this}return!t||t.jquery?(t||ot).find(n):this.constructor(t).find(n)}return n.nodeType?(this.context=this[0]=n,this.length=1,this):i.isFunction(n)?typeof ot.ready!="undefined"?ot.ready(n):n(i):(n.selector!==undefined&&(this.selector=n.selector,this.context=n.context),i.makeArray(n,this))};tr.prototype=i.fn;ot=i(u);ir=/^(?:parents|prev(?:Until|All))/;rr={children:!0,contents:!0,next:!0,prev:!0};i.extend({dir:function(n,t,r){for(var u=[],f=r!==undefined;(n=n[t])&&n.nodeType!==9;)if(n.nodeType===1){if(f&&i(n).is(r))break;u.push(n)}return u},sibling:function(n,t){for(var i=[];n;n=n.nextSibling)n.nodeType===1&&n!==t&&i.push(n);return i}});i.fn.extend({has:function(n){var t=i(n,this),r=t.length;return this.filter(function(){for(var n=0;n<r;n++)if(i.contains(this,t[n]))return!0})},closest:function(n,t){for(var r,f=0,o=this.length,u=[],e=di.test(n)||typeof n!="string"?i(n,t||this.context):0;f<o;f++)for(r=this[f];r&&r!==t;r=r.parentNode)if(r.nodeType<11&&(e?e.index(r)>-1:r.nodeType===1&&i.find.matchesSelector(r,n))){u.push(r);break}return this.pushStack(u.length>1?i.unique(u):u)},index:function(n){return n?typeof n=="string"?ft.call(i(n),this[0]):ft.call(this,n.jquery?n[0]:n):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(n,t){return this.pushStack(i.unique(i.merge(this.get(),i(n,t))))},addBack:function(n){return this.add(n==null?this.prevObject:this.prevObject.filter(n))}});i.each({parent:function(n){var t=n.parentNode;return t&&t.nodeType!==11?t:null},parents:function(n){return i.dir(n,"parentNode")},parentsUntil:function(n,t,r){return i.dir(n,"parentNode",r)},next:function(n){return ur(n,"nextSibling")},prev:function(n){return ur(n,"previousSibling")},nextAll:function(n){return i.dir(n,"nextSibling")},prevAll:function(n){return i.dir(n,"previousSibling")},nextUntil:function(n,t,r){return i.dir(n,"nextSibling",r)},prevUntil:function(n,t,r){return i.dir(n,"previousSibling",r)},siblings:function(n){return i.sibling((n.parentNode||{}).firstChild,n)},children:function(n){return i.sibling(n.firstChild)},contents:function(n){return n.contentDocument||i.merge([],n.childNodes)}},function(n,t){i.fn[n]=function(r,u){var f=i.map(this,t,r);return n.slice(-5)!=="Until"&&(u=r),u&&typeof u=="string"&&(f=i.filter(u,f)),this.length>1&&(rr[n]||i.unique(f),ir.test(n)&&f.reverse()),this.pushStack(f)}});c=/\S+/g;fi={};i.Callbacks=function(n){n=typeof n=="string"?fi[n]||of(n):i.extend({},n);var u,h,o,c,f,e,t=[],r=!n.once&&[],l=function(i){for(u=n.memory&&i,h=!0,e=c||0,c=0,f=t.length,o=!0;t&&e<f;e++)if(t[e].apply(i[0],i[1])===!1&&n.stopOnFalse){u=!1;break}o=!1;t&&(r?r.length&&l(r.shift()):u?t=[]:s.disable())},s={add:function(){if(t){var r=t.length;(function e(r){i.each(r,function(r,u){var f=i.type(u);f==="function"?n.unique&&s.has(u)||t.push(u):u&&u.length&&f!=="string"&&e(u)})})(arguments);o?f=t.length:u&&(c=r,l(u))}return this},remove:function(){return t&&i.each(arguments,function(n,r){for(var u;(u=i.inArray(r,t,u))>-1;)t.splice(u,1),o&&(u<=f&&f--,u<=e&&e--)}),this},has:function(n){return n?i.inArray(n,t)>-1:!!(t&&t.length)},empty:function(){return t=[],f=0,this},disable:function(){return t=r=u=undefined,this},disabled:function(){return!t},lock:function(){return r=undefined,u||s.disable(),this},locked:function(){return!r},fireWith:function(n,i){return t&&(!h||r)&&(i=i||[],i=[n,i.slice?i.slice():i],o?r.push(i):l(i)),this},fire:function(){return s.fireWith(this,arguments),this},fired:function(){return!!h}};return s};i.extend({Deferred:function(n){var u=[["resolve","done",i.Callbacks("once memory"),"resolved"],["reject","fail",i.Callbacks("once memory"),"rejected"],["notify","progress",i.Callbacks("memory")]],f="pending",r={state:function(){return f},always:function(){return t.done(arguments).fail(arguments),this},then:function(){var n=arguments;return i.Deferred(function(f){i.each(u,function(u,e){var o=i.isFunction(n[u])&&n[u];t[e[1]](function(){var n=o&&o.apply(this,arguments);n&&i.isFunction(n.promise)?n.promise().done(f.resolve).fail(f.reject).progress(f.notify):f[e[0]+"With"](this===r?f.promise():this,o?[n]:arguments)})});n=null}).promise()},promise:function(n){return n!=null?i.extend(n,r):r}},t={};return r.pipe=r.then,i.each(u,function(n,i){var e=i[2],o=i[3];r[i[1]]=e.add;o&&e.add(function(){f=o},u[n^1][2].disable,u[2][2].lock);t[i[0]]=function(){return t[i[0]+"With"](this===t?r:this,arguments),this};t[i[0]+"With"]=e.fireWith}),r.promise(t),n&&n.call(t,t),t},when:function(n){var t=0,u=a.call(arguments),r=u.length,e=r!==1||n&&i.isFunction(n.promise)?r:0,f=e===1?n:i.Deferred(),h=function(n,t,i){return function(r){t[n]=this;i[n]=arguments.length>1?a.call(arguments):r;i===o?f.notifyWith(t,i):--e||f.resolveWith(t,i)}},o,c,s;if(r>1)for(o=new Array(r),c=new Array(r),s=new Array(r);t<r;t++)u[t]&&i.isFunction(u[t].promise)?u[t].promise().done(h(t,s,u)).fail(f.reject).progress(h(t,c,o)):--e;return e||f.resolveWith(s,u),f.promise()}});i.fn.ready=function(n){return i.ready.promise().done(n),this};i.extend({isReady:!1,readyWait:1,holdReady:function(n){n?i.readyWait++:i.ready(!0)},ready:function(n){(n===!0?--i.readyWait:i.isReady)||(i.isReady=!0,n!==!0&&--i.readyWait>0)||(st.resolveWith(u,[i]),i.fn.triggerHandler&&(i(u).triggerHandler("ready"),i(u).off("ready")))}});i.ready.promise=function(t){return st||(st=i.Deferred(),u.readyState==="complete"?setTimeout(i.ready):(u.addEventListener("DOMContentLoaded",ht,!1),n.addEventListener("load",ht,!1))),st.promise(t)};i.ready.promise();l=i.access=function(n,t,r,u,f,e,o){var s=0,c=n.length,h=r==null;if(i.type(r)==="object"){f=!0;for(s in r)i.access(n,t,s,r[s],!0,e,o)}else if(u!==undefined&&(f=!0,i.isFunction(u)||(o=!0),h&&(o?(t.call(n,u),t=null):(h=t,t=function(n,t,r){return h.call(i(n),r)})),t))for(;s<c;s++)t(n[s],r,o?u:u.call(n[s],s,t(n[s],r)));return f?n:h?t.call(n):c?t(n[0],r):e};i.acceptData=function(n){return n.nodeType===1||n.nodeType===9||!+n.nodeType};v.uid=1;v.accepts=i.acceptData;v.prototype={key:function(n){if(!v.accepts(n))return 0;var r={},t=n[this.expando];if(!t){t=v.uid++;try{r[this.expando]={value:t};Object.defineProperties(n,r)}catch(u){r[this.expando]=t;i.extend(n,r)}}return this.cache[t]||(this.cache[t]={}),t},set:function(n,t,r){var f,e=this.key(n),u=this.cache[e];if(typeof t=="string")u[t]=r;else if(i.isEmptyObject(u))i.extend(this.cache[e],t);else for(f in t)u[f]=t[f];return u},get:function(n,t){var i=this.cache[this.key(n)];return t===undefined?i:i[t]},access:function(n,t,r){var u;return t===undefined||t&&typeof t=="string"&&r===undefined?(u=this.get(n,t),u!==undefined?u:this.get(n,i.camelCase(t))):(this.set(n,t,r),r!==undefined?r:t)},remove:function(n,t){var u,r,f,o=this.key(n),e=this.cache[o];if(t===undefined)this.cache[o]={};else for(i.isArray(t)?r=t.concat(t.map(i.camelCase)):(f=i.camelCase(t),t in e?r=[t,f]:(r=f,r=r in e?[r]:r.match(c)||[])),u=r.length;u--;)delete e[r[u]]},hasData:function(n){return!i.isEmptyObject(this.cache[n[this.expando]]||{})},discard:function(n){n[this.expando]&&delete this.cache[n[this.expando]]}};var r=new v,e=new v,sf=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,hf=/([A-Z])/g;i.extend({hasData:function(n){return e.hasData(n)||r.hasData(n)},data:function(n,t,i){return e.access(n,t,i)},removeData:function(n,t){e.remove(n,t)},_data:function(n,t,i){return r.access(n,t,i)},_removeData:function(n,t){r.remove(n,t)}});i.fn.extend({data:function(n,t){var o,f,s,u=this[0],h=u&&u.attributes;if(n===undefined){if(this.length&&(s=e.get(u),u.nodeType===1&&!r.get(u,"hasDataAttrs"))){for(o=h.length;o--;)h[o]&&(f=h[o].name,f.indexOf("data-")===0&&(f=i.camelCase(f.slice(5)),fr(u,f,s[f])));r.set(u,"hasDataAttrs",!0)}return s}return typeof n=="object"?this.each(function(){e.set(this,n)}):l(this,function(t){var r,f=i.camelCase(n);if(u&&t===undefined)return(r=e.get(u,n),r!==undefined)?r:(r=e.get(u,f),r!==undefined)?r:(r=fr(u,f,undefined),r!==undefined)?r:void 0;this.each(function(){var i=e.get(this,f);e.set(this,f,t);n.indexOf("-")!==-1&&i!==undefined&&e.set(this,n,t)})},null,t,arguments.length>1,null,!0)},removeData:function(n){return this.each(function(){e.remove(this,n)})}});i.extend({queue:function(n,t,u){var f;if(n)return t=(t||"fx")+"queue",f=r.get(n,t),u&&(!f||i.isArray(u)?f=r.access(n,t,i.makeArray(u)):f.push(u)),f||[]},dequeue:function(n,t){t=t||"fx";var r=i.queue(n,t),e=r.length,u=r.shift(),f=i._queueHooks(n,t),o=function(){i.dequeue(n,t)};u==="inprogress"&&(u=r.shift(),e--);u&&(t==="fx"&&r.unshift("inprogress"),delete f.stop,u.call(n,o,f));!e&&f&&f.empty.fire()},_queueHooks:function(n,t){var u=t+"queueHooks";return r.get(n,u)||r.access(n,u,{empty:i.Callbacks("once memory").add(function(){r.remove(n,[t+"queue",u])})})}});i.fn.extend({queue:function(n,t){var r=2;return(typeof n!="string"&&(t=n,n="fx",r--),arguments.length<r)?i.queue(this[0],n):t===undefined?this:this.each(function(){var r=i.queue(this,n,t);i._queueHooks(this,n);n==="fx"&&r[0]!=="inprogress"&&i.dequeue(this,n)})},dequeue:function(n){return this.each(function(){i.dequeue(this,n)})},clearQueue:function(n){return this.queue(n||"fx",[])},promise:function(n,t){var u,e=1,o=i.Deferred(),f=this,s=this.length,h=function(){--e||o.resolveWith(f,[f])};for(typeof n!="string"&&(t=n,n=undefined),n=n||"fx";s--;)u=r.get(f[s],n+"queueHooks"),u&&u.empty&&(e++,u.empty.add(h));return h(),o.promise(t)}});var ct=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,p=["Top","Right","Bottom","Left"],tt=function(n,t){return n=t||n,i.css(n,"display")==="none"||!i.contains(n.ownerDocument,n)},er=/^(?:checkbox|radio)$/i;(function(){var i=u.createDocumentFragment(),n=i.appendChild(u.createElement("div")),t=u.createElement("input");t.setAttribute("type","radio");t.setAttribute("checked","checked");t.setAttribute("name","t");n.appendChild(t);f.checkClone=n.cloneNode(!0).cloneNode(!0).lastChild.checked;n.innerHTML="<textarea>x<\/textarea>";f.noCloneChecked=!!n.cloneNode(!0).lastChild.defaultValue})();b=typeof undefined;f.focusinBubbles="onfocusin"in n;var cf=/^key/,lf=/^(?:mouse|pointer|contextmenu)|click/,or=/^(?:focusinfocus|focusoutblur)$/,sr=/^([^.]*)(?:\.(.+)|)$/;i.event={global:{},add:function(n,t,u,f,e){var v,y,w,p,k,h,s,l,o,d,g,a=r.get(n);if(a)for(u.handler&&(v=u,u=v.handler,e=v.selector),u.guid||(u.guid=i.guid++),(p=a.events)||(p=a.events={}),(y=a.handle)||(y=a.handle=function(t){return typeof i!==b&&i.event.triggered!==t.type?i.event.dispatch.apply(n,arguments):undefined}),t=(t||"").match(c)||[""],k=t.length;k--;)(w=sr.exec(t[k])||[],o=g=w[1],d=(w[2]||"").split(".").sort(),o)&&(s=i.event.special[o]||{},o=(e?s.delegateType:s.bindType)||o,s=i.event.special[o]||{},h=i.extend({type:o,origType:g,data:f,handler:u,guid:u.guid,selector:e,needsContext:e&&i.expr.match.needsContext.test(e),namespace:d.join(".")},v),(l=p[o])||(l=p[o]=[],l.delegateCount=0,s.setup&&s.setup.call(n,f,d,y)!==!1||n.addEventListener&&n.addEventListener(o,y,!1)),s.add&&(s.add.call(n,h),h.handler.guid||(h.handler.guid=u.guid)),e?l.splice(l.delegateCount++,0,h):l.push(h),i.event.global[o]=!0)},remove:function(n,t,u,f,e){var p,k,h,v,w,s,l,a,o,b,d,y=r.hasData(n)&&r.get(n);if(y&&(v=y.events)){for(t=(t||"").match(c)||[""],w=t.length;w--;){if(h=sr.exec(t[w])||[],o=d=h[1],b=(h[2]||"").split(".").sort(),!o){for(o in v)i.event.remove(n,o+t[w],u,f,!0);continue}for(l=i.event.special[o]||{},o=(f?l.delegateType:l.bindType)||o,a=v[o]||[],h=h[2]&&new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"),k=p=a.length;p--;)s=a[p],(e||d===s.origType)&&(!u||u.guid===s.guid)&&(!h||h.test(s.namespace))&&(!f||f===s.selector||f==="**"&&s.selector)&&(a.splice(p,1),s.selector&&a.delegateCount--,l.remove&&l.remove.call(n,s));k&&!a.length&&(l.teardown&&l.teardown.call(n,b,y.handle)!==!1||i.removeEvent(n,o,y.handle),delete v[o])}i.isEmptyObject(v)&&(delete y.handle,r.remove(n,"events"))}},trigger:function(t,f,e,o){var w,s,c,b,a,v,l,p=[e||u],h=ii.call(t,"type")?t.type:t,y=ii.call(t,"namespace")?t.namespace.split("."):[];if((s=c=e=e||u,e.nodeType!==3&&e.nodeType!==8)&&!or.test(h+i.event.triggered)&&(h.indexOf(".")>=0&&(y=h.split("."),h=y.shift(),y.sort()),a=h.indexOf(":")<0&&"on"+h,t=t[i.expando]?t:new i.Event(h,typeof t=="object"&&t),t.isTrigger=o?2:3,t.namespace=y.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=e),f=f==null?[t]:i.makeArray(f,[t]),l=i.event.special[h]||{},o||!l.trigger||l.trigger.apply(e,f)!==!1)){if(!o&&!l.noBubble&&!i.isWindow(e)){for(b=l.delegateType||h,or.test(b+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),c=s;c===(e.ownerDocument||u)&&p.push(c.defaultView||c.parentWindow||n)}for(w=0;(s=p[w++])&&!t.isPropagationStopped();)t.type=w>1?b:l.bindType||h,v=(r.get(s,"events")||{})[t.type]&&r.get(s,"handle"),v&&v.apply(s,f),v=a&&s[a],v&&v.apply&&i.acceptData(s)&&(t.result=v.apply(s,f),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||(!l._default||l._default.apply(p.pop(),f)===!1)&&i.acceptData(e)&&a&&i.isFunction(e[h])&&!i.isWindow(e)&&(c=e[a],c&&(e[a]=null),i.event.triggered=h,e[h](),i.event.triggered=undefined,c&&(e[a]=c)),t.result}},dispatch:function(n){n=i.event.fix(n);var o,s,e,u,t,h=[],c=a.call(arguments),l=(r.get(this,"events")||{})[n.type]||[],f=i.event.special[n.type]||{};if(c[0]=n,n.delegateTarget=this,!f.preDispatch||f.preDispatch.call(this,n)!==!1){for(h=i.event.handlers.call(this,n,l),o=0;(u=h[o++])&&!n.isPropagationStopped();)for(n.currentTarget=u.elem,s=0;(t=u.handlers[s++])&&!n.isImmediatePropagationStopped();)(!n.namespace_re||n.namespace_re.test(t.namespace))&&(n.handleObj=t,n.data=t.data,e=((i.event.special[t.origType]||{}).handle||t.handler).apply(u.elem,c),e!==undefined&&(n.result=e)===!1&&(n.preventDefault(),n.stopPropagation()));return f.postDispatch&&f.postDispatch.call(this,n),n.result}},handlers:function(n,t){var e,u,f,o,h=[],s=t.delegateCount,r=n.target;if(s&&r.nodeType&&(!n.button||n.type!=="click"))for(;r!==this;r=r.parentNode||this)if(r.disabled!==!0||n.type!=="click"){for(u=[],e=0;e<s;e++)o=t[e],f=o.selector+" ",u[f]===undefined&&(u[f]=o.needsContext?i(f,this).index(r)>=0:i.find(f,this,null,[r]).length),u[f]&&u.push(o);u.length&&h.push({elem:r,handlers:u})}return s<t.length&&h.push({elem:this,handlers:t.slice(s)}),h},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(n,t){return n.which==null&&(n.which=t.charCode!=null?t.charCode:t.keyCode),n}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(n,t){var e,i,r,f=t.button;return n.pageX==null&&t.clientX!=null&&(e=n.target.ownerDocument||u,i=e.documentElement,r=e.body,n.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),n.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),n.which||f===undefined||(n.which=f&1?1:f&2?3:f&4?2:0),n}},fix:function(n){if(n[i.expando])return n;var f,e,o,r=n.type,s=n,t=this.fixHooks[r];for(t||(this.fixHooks[r]=t=lf.test(r)?this.mouseHooks:cf.test(r)?this.keyHooks:{}),o=t.props?this.props.concat(t.props):this.props,n=new i.Event(s),f=o.length;f--;)e=o[f],n[e]=s[e];return n.target||(n.target=u),n.target.nodeType===3&&(n.target=n.target.parentNode),t.filter?t.filter(n,s):n},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==hr()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===hr()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&i.nodeName(this,"input"))return this.click(),!1},_default:function(n){return i.nodeName(n.target,"a")}},beforeunload:{postDispatch:function(n){n.result!==undefined&&n.originalEvent&&(n.originalEvent.returnValue=n.result)}}},simulate:function(n,t,r,u){var f=i.extend(new i.Event,r,{type:n,isSimulated:!0,originalEvent:{}});u?i.event.trigger(f,null,t):i.event.dispatch.call(t,f);f.isDefaultPrevented()&&r.preventDefault()}};i.removeEvent=function(n,t,i){n.removeEventListener&&n.removeEventListener(t,i,!1)};i.Event=function(n,t){if(!(this instanceof i.Event))return new i.Event(n,t);n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||n.defaultPrevented===undefined&&n.returnValue===!1?lt:k):this.type=n;t&&i.extend(this,t);this.timeStamp=n&&n.timeStamp||i.now();this[i.expando]=!0};i.Event.prototype={isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,preventDefault:function(){var n=this.originalEvent;this.isDefaultPrevented=lt;n&&n.preventDefault&&n.preventDefault()},stopPropagation:function(){var n=this.originalEvent;this.isPropagationStopped=lt;n&&n.stopPropagation&&n.stopPropagation()},stopImmediatePropagation:function(){var n=this.originalEvent;this.isImmediatePropagationStopped=lt;n&&n.stopImmediatePropagation&&n.stopImmediatePropagation();this.stopPropagation()}};i.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(n,t){i.event.special[n]={delegateType:t,bindType:t,handle:function(n){var u,f=this,r=n.relatedTarget,e=n.handleObj;return r&&(r===f||i.contains(f,r))||(n.type=e.origType,u=e.handler.apply(this,arguments),n.type=t),u}}});f.focusinBubbles||i.each({focus:"focusin",blur:"focusout"},function(n,t){var u=function(n){i.event.simulate(t,n.target,i.event.fix(n),!0)};i.event.special[t]={setup:function(){var i=this.ownerDocument||this,f=r.access(i,t);f||i.addEventListener(n,u,!0);r.access(i,t,(f||0)+1)},teardown:function(){var i=this.ownerDocument||this,f=r.access(i,t)-1;f?r.access(i,t,f):(i.removeEventListener(n,u,!0),r.remove(i,t))}}});i.fn.extend({on:function(n,t,r,u,f){var e,o;if(typeof n=="object"){typeof t!="string"&&(r=r||t,t=undefined);for(o in n)this.on(o,t,r,n[o],f);return this}if(r==null&&u==null?(u=t,r=t=undefined):u==null&&(typeof t=="string"?(u=r,r=undefined):(u=r,r=t,t=undefined)),u===!1)u=k;else if(!u)return this;return f===1&&(e=u,u=function(n){return i().off(n),e.apply(this,arguments)},u.guid=e.guid||(e.guid=i.guid++)),this.each(function(){i.event.add(this,n,u,r,t)})},one:function(n,t,i,r){return this.on(n,t,i,r,1)},off:function(n,t,r){var u,f;if(n&&n.preventDefault&&n.handleObj)return u=n.handleObj,i(n.delegateTarget).off(u.namespace?u.origType+"."+u.namespace:u.origType,u.selector,u.handler),this;if(typeof n=="object"){for(f in n)this.off(f,t,n[f]);return this}return(t===!1||typeof t=="function")&&(r=t,t=undefined),r===!1&&(r=k),this.each(function(){i.event.remove(this,n,r,t)})},trigger:function(n,t){return this.each(function(){i.event.trigger(n,t,this)})},triggerHandler:function(n,t){var r=this[0];if(r)return i.event.trigger(n,t,r,!0)}});var cr=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,lr=/<([\w:]+)/,af=/<|&#?\w+;/,vf=/<(?:script|style|link)/i,yf=/checked\s*(?:[^=]|=\s*.checked.)/i,ar=/^$|\/(?:java|ecma)script/i,pf=/^true\/(.*)/,wf=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,h={option:[1,"<select multiple='multiple'>","<\/select>"],thead:[1,"<table>","<\/table>"],col:[2,"<table><colgroup>","<\/colgroup><\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],_default:[0,"",""]};h.optgroup=h.option;h.tbody=h.tfoot=h.colgroup=h.caption=h.thead;h.th=h.td;i.extend({clone:function(n,t,r){var u,c,s,e,h=n.cloneNode(!0),l=i.contains(n.ownerDocument,n);if(!f.noCloneChecked&&(n.nodeType===1||n.nodeType===11)&&!i.isXMLDoc(n))for(e=o(h),s=o(n),u=0,c=s.length;u<c;u++)df(s[u],e[u]);if(t)if(r)for(s=s||o(n),e=e||o(h),u=0,c=s.length;u<c;u++)yr(s[u],e[u]);else yr(n,h);return e=o(h,"script"),e.length>0&&ei(e,!l&&o(n,"script")),h},buildFragment:function(n,t,r,u){for(var f,e,y,l,p,a,s=t.createDocumentFragment(),v=[],c=0,w=n.length;c<w;c++)if(f=n[c],f||f===0)if(i.type(f)==="object")i.merge(v,f.nodeType?[f]:f);else if(af.test(f)){for(e=e||s.appendChild(t.createElement("div")),y=(lr.exec(f)||["",""])[1].toLowerCase(),l=h[y]||h._default,e.innerHTML=l[1]+f.replace(cr,"<$1><\/$2>")+l[2],a=l[0];a--;)e=e.lastChild;i.merge(v,e.childNodes);e=s.firstChild;e.textContent=""}else v.push(t.createTextNode(f));for(s.textContent="",c=0;f=v[c++];)if((!u||i.inArray(f,u)===-1)&&(p=i.contains(f.ownerDocument,f),e=o(s.appendChild(f),"script"),p&&ei(e),r))for(a=0;f=e[a++];)ar.test(f.type||"")&&r.push(f);return s},cleanData:function(n){for(var f,t,o,u,h=i.event.special,s=0;(t=n[s])!==undefined;s++){if(i.acceptData(t)&&(u=t[r.expando],u&&(f=r.cache[u]))){if(f.events)for(o in f.events)h[o]?i.event.remove(t,o):i.removeEvent(t,o,f.handle);r.cache[u]&&delete r.cache[u]}delete e.cache[t[e.expando]]}}});i.fn.extend({text:function(n){return l(this,function(n){return n===undefined?i.text(this):this.empty().each(function(){(this.nodeType===1||this.nodeType===11||this.nodeType===9)&&(this.textContent=n)})},null,n,arguments.length)},append:function(){return this.domManip(arguments,function(n){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=vr(this,n);t.appendChild(n)}})},prepend:function(){return this.domManip(arguments,function(n){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=vr(this,n);t.insertBefore(n,t.firstChild)}})},before:function(){return this.domManip(arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this)})},after:function(){return this.domManip(arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling)})},remove:function(n,t){for(var r,f=n?i.filter(n,this):this,u=0;(r=f[u])!=null;u++)t||r.nodeType!==1||i.cleanData(o(r)),r.parentNode&&(t&&i.contains(r.ownerDocument,r)&&ei(o(r,"script")),r.parentNode.removeChild(r));return this},empty:function(){for(var n,t=0;(n=this[t])!=null;t++)n.nodeType===1&&(i.cleanData(o(n,!1)),n.textContent="");return this},clone:function(n,t){return n=n==null?!1:n,t=t==null?n:t,this.map(function(){return i.clone(this,n,t)})},html:function(n){return l(this,function(n){var t=this[0]||{},r=0,u=this.length;if(n===undefined&&t.nodeType===1)return t.innerHTML;if(typeof n=="string"&&!vf.test(n)&&!h[(lr.exec(n)||["",""])[1].toLowerCase()]){n=n.replace(cr,"<$1><\/$2>");try{for(;r<u;r++)t=this[r]||{},t.nodeType===1&&(i.cleanData(o(t,!1)),t.innerHTML=n);t=0}catch(f){}}t&&this.empty().append(n)},null,n,arguments.length)},replaceWith:function(){var n=arguments[0];return this.domManip(arguments,function(t){n=this.parentNode;i.cleanData(o(this));n&&n.replaceChild(t,this)}),n&&(n.length||n.nodeType)?this:this.remove()},detach:function(n){return this.remove(n,!0)},domManip:function(n,t){n=bi.apply([],n);var h,v,s,c,u,y,e=0,l=this.length,w=this,b=l-1,a=n[0],p=i.isFunction(a);if(p||l>1&&typeof a=="string"&&!f.checkClone&&yf.test(a))return this.each(function(i){var r=w.eq(i);p&&(n[0]=a.call(this,i,r.html()));r.domManip(n,t)});if(l&&(h=i.buildFragment(n,this[0].ownerDocument,!1,this),v=h.firstChild,h.childNodes.length===1&&(h=v),v)){for(s=i.map(o(h,"script"),bf),c=s.length;e<l;e++)u=h,e!==b&&(u=i.clone(u,!0,!0),c&&i.merge(s,o(u,"script"))),t.call(this[e],u,e);if(c)for(y=s[s.length-1].ownerDocument,i.map(s,kf),e=0;e<c;e++)u=s[e],ar.test(u.type||"")&&!r.access(u,"globalEval")&&i.contains(y,u)&&(u.src?i._evalUrl&&i._evalUrl(u.src):i.globalEval(u.textContent.replace(wf,"")))}return this}});i.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,t){i.fn[n]=function(n){for(var u,f=[],e=i(n),o=e.length-1,r=0;r<=o;r++)u=r===o?this:this.clone(!0),i(e[r])[t](u),ti.apply(f,u.get());return this.pushStack(f)}});oi={};var wr=/^margin/,hi=new RegExp("^("+ct+")(?!px)[a-z%]+$","i"),vt=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):n.getComputedStyle(t,null)};(function(){function h(){t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute";t.innerHTML="";e.appendChild(r);var i=n.getComputedStyle(t,null);s=i.top!=="1%";o=i.width==="4px";e.removeChild(r)}var s,o,e=u.documentElement,r=u.createElement("div"),t=u.createElement("div");t.style&&(t.style.backgroundClip="content-box",t.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle=t.style.backgroundClip==="content-box",r.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",r.appendChild(t),n.getComputedStyle&&i.extend(f,{pixelPosition:function(){return h(),s},boxSizingReliable:function(){return o==null&&h(),o},reliableMarginRight:function(){var f,i=t.appendChild(u.createElement("div"));return i.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",t.style.width="1px",e.appendChild(r),f=!parseFloat(n.getComputedStyle(i,null).marginRight),e.removeChild(r),t.removeChild(i),f}}))})();i.swap=function(n,t,i,r){var f,u,e={};for(u in t)e[u]=n.style[u],n.style[u]=t[u];f=i.apply(n,r||[]);for(u in t)n.style[u]=e[u];return f};var gf=/^(none|table(?!-c[ea]).+)/,ne=new RegExp("^("+ct+")(.*)$","i"),te=new RegExp("^([+-])=("+ct+")","i"),ie={position:"absolute",visibility:"hidden",display:"block"},kr={letterSpacing:"0",fontWeight:"400"},dr=["Webkit","O","Moz","ms"];i.extend({cssHooks:{opacity:{get:function(n,t){if(t){var i=it(n,"opacity");return i===""?"1":i}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(n,t,r,u){if(n&&n.nodeType!==3&&n.nodeType!==8&&n.style){var o,h,e,s=i.camelCase(t),c=n.style;if(t=i.cssProps[s]||(i.cssProps[s]=gr(c,s)),e=i.cssHooks[t]||i.cssHooks[s],r!==undefined){if(h=typeof r,h==="string"&&(o=te.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(i.css(n,t)),h="number"),r==null||r!==r)return;h!=="number"||i.cssNumber[s]||(r+="px");f.clearCloneStyle||r!==""||t.indexOf("background")!==0||(c[t]="inherit");e&&"set"in e&&(r=e.set(n,r,u))===undefined||(c[t]=r)}else return e&&"get"in e&&(o=e.get(n,!1,u))!==undefined?o:c[t]}},css:function(n,t,r,u){var f,s,e,o=i.camelCase(t);return(t=i.cssProps[o]||(i.cssProps[o]=gr(n.style,o)),e=i.cssHooks[t]||i.cssHooks[o],e&&"get"in e&&(f=e.get(n,!0,r)),f===undefined&&(f=it(n,t,u)),f==="normal"&&t in kr&&(f=kr[t]),r===""||r)?(s=parseFloat(f),r===!0||i.isNumeric(s)?s||0:f):f}});i.each(["height","width"],function(n,t){i.cssHooks[t]={get:function(n,r,u){if(r)return gf.test(i.css(n,"display"))&&n.offsetWidth===0?i.swap(n,ie,function(){return iu(n,t,u)}):iu(n,t,u)},set:function(n,r,u){var f=u&&vt(n);return nu(n,r,u?tu(n,t,u,i.css(n,"boxSizing",!1,f)==="border-box",f):0)}}});i.cssHooks.marginRight=br(f.reliableMarginRight,function(n,t){if(t)return i.swap(n,{display:"inline-block"},it,[n,"marginRight"])});i.each({margin:"",padding:"",border:"Width"},function(n,t){i.cssHooks[n+t]={expand:function(i){for(var r=0,f={},u=typeof i=="string"?i.split(" "):[i];r<4;r++)f[n+p[r]+t]=u[r]||u[r-2]||u[0];return f}};wr.test(n)||(i.cssHooks[n+t].set=nu)});i.fn.extend({css:function(n,t){return l(this,function(n,t,r){var f,e,o={},u=0;if(i.isArray(t)){for(f=vt(n),e=t.length;u<e;u++)o[t[u]]=i.css(n,t[u],!1,f);return o}return r!==undefined?i.style(n,t,r):i.css(n,t)},n,t,arguments.length>1)},show:function(){return ru(this,!0)},hide:function(){return ru(this)},toggle:function(n){return typeof n=="boolean"?n?this.show():this.hide():this.each(function(){tt(this)?i(this).show():i(this).hide()})}});i.Tween=s;s.prototype={constructor:s,init:function(n,t,r,u,f,e){this.elem=n;this.prop=r;this.easing=f||"swing";this.options=t;this.start=this.now=this.cur();this.end=u;this.unit=e||(i.cssNumber[r]?"":"px")},cur:function(){var n=s.propHooks[this.prop];return n&&n.get?n.get(this):s.propHooks._default.get(this)},run:function(n){var t,r=s.propHooks[this.prop];return this.pos=this.options.duration?t=i.easing[this.easing](n,this.options.duration*n,0,1,this.options.duration):t=n,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):s.propHooks._default.set(this),this}};s.prototype.init.prototype=s.prototype;s.propHooks={_default:{get:function(n){var t;return n.elem[n.prop]!=null&&(!n.elem.style||n.elem.style[n.prop]==null)?n.elem[n.prop]:(t=i.css(n.elem,n.prop,""),!t||t==="auto"?0:t)},set:function(n){i.fx.step[n.prop]?i.fx.step[n.prop](n):n.elem.style&&(n.elem.style[i.cssProps[n.prop]]!=null||i.cssHooks[n.prop])?i.style(n.elem,n.prop,n.now+n.unit):n.elem[n.prop]=n.now}}};s.propHooks.scrollTop=s.propHooks.scrollLeft={set:function(n){n.elem.nodeType&&n.elem.parentNode&&(n.elem[n.prop]=n.now)}};i.easing={linear:function(n){return n},swing:function(n){return.5-Math.cos(n*Math.PI)/2}};i.fx=s.prototype.init;i.fx.step={};var d,yt,re=/^(?:toggle|show|hide)$/,uu=new RegExp("^(?:([+-])=|)("+ct+")([a-z%]*)$","i"),ue=/queueHooks$/,pt=[fe],rt={"*":[function(n,t){var f=this.createTween(n,t),s=f.cur(),u=uu.exec(t),e=u&&u[3]||(i.cssNumber[n]?"":"px"),r=(i.cssNumber[n]||e!=="px"&&+s)&&uu.exec(i.css(f.elem,n)),o=1,h=20;if(r&&r[3]!==e){e=e||r[3];u=u||[];r=+s||1;do o=o||".5",r=r/o,i.style(f.elem,n,r+e);while(o!==(o=f.cur()/s)&&o!==1&&--h)}return u&&(r=f.start=+r||+s||0,f.unit=e,f.end=u[1]?r+(u[1]+1)*u[2]:+u[2]),f}]};i.Animation=i.extend(ou,{tweener:function(n,t){i.isFunction(n)?(t=n,n=["*"]):n=n.split(" ");for(var r,u=0,f=n.length;u<f;u++)r=n[u],rt[r]=rt[r]||[],rt[r].unshift(t)},prefilter:function(n,t){t?pt.unshift(n):pt.push(n)}});i.speed=function(n,t,r){var u=n&&typeof n=="object"?i.extend({},n):{complete:r||!r&&t||i.isFunction(n)&&n,duration:n,easing:r&&t||t&&!i.isFunction(t)&&t};return u.duration=i.fx.off?0:typeof u.duration=="number"?u.duration:u.duration in i.fx.speeds?i.fx.speeds[u.duration]:i.fx.speeds._default,(u.queue==null||u.queue===!0)&&(u.queue="fx"),u.old=u.complete,u.complete=function(){i.isFunction(u.old)&&u.old.call(this);u.queue&&i.dequeue(this,u.queue)},u};i.fn.extend({fadeTo:function(n,t,i,r){return this.filter(tt).css("opacity",0).show().end().animate({opacity:t},n,i,r)},animate:function(n,t,u,f){var s=i.isEmptyObject(n),o=i.speed(t,u,f),e=function(){var t=ou(this,i.extend({},n),o);(s||r.get(this,"finish"))&&t.stop(!0)};return e.finish=e,s||o.queue===!1?this.each(e):this.queue(o.queue,e)},stop:function(n,t,u){var f=function(n){var t=n.stop;delete n.stop;t(u)};return typeof n!="string"&&(u=t,t=n,n=undefined),t&&n!==!1&&this.queue(n||"fx",[]),this.each(function(){var s=!0,t=n!=null&&n+"queueHooks",o=i.timers,e=r.get(this);if(t)e[t]&&e[t].stop&&f(e[t]);else for(t in e)e[t]&&e[t].stop&&ue.test(t)&&f(e[t]);for(t=o.length;t--;)o[t].elem===this&&(n==null||o[t].queue===n)&&(o[t].anim.stop(u),s=!1,o.splice(t,1));(s||!u)&&i.dequeue(this,n)})},finish:function(n){return n!==!1&&(n=n||"fx"),this.each(function(){var t,e=r.get(this),u=e[n+"queue"],o=e[n+"queueHooks"],f=i.timers,s=u?u.length:0;for(e.finish=!0,i.queue(this,n,[]),o&&o.stop&&o.stop.call(this,!0),t=f.length;t--;)f[t].elem===this&&f[t].queue===n&&(f[t].anim.stop(!0),f.splice(t,1));for(t=0;t<s;t++)u[t]&&u[t].finish&&u[t].finish.call(this);delete e.finish})}});i.each(["toggle","show","hide"],function(n,t){var r=i.fn[t];i.fn[t]=function(n,i,u){return n==null||typeof n=="boolean"?r.apply(this,arguments):this.animate(wt(t,!0),n,i,u)}});i.each({slideDown:wt("show"),slideUp:wt("hide"),slideToggle:wt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(n,t){i.fn[n]=function(n,i,r){return this.animate(t,n,i,r)}});i.timers=[];i.fx.tick=function(){var r,n=0,t=i.timers;for(d=i.now();n<t.length;n++)r=t[n],r()||t[n]!==r||t.splice(n--,1);t.length||i.fx.stop();d=undefined};i.fx.timer=function(n){i.timers.push(n);n()?i.fx.start():i.timers.pop()};i.fx.interval=13;i.fx.start=function(){yt||(yt=setInterval(i.fx.tick,i.fx.interval))};i.fx.stop=function(){clearInterval(yt);yt=null};i.fx.speeds={slow:600,fast:200,_default:400};i.fn.delay=function(n,t){return n=i.fx?i.fx.speeds[n]||n:n,t=t||"fx",this.queue(t,function(t,i){var r=setTimeout(t,n);i.stop=function(){clearTimeout(r)}})},function(){var n=u.createElement("input"),t=u.createElement("select"),i=t.appendChild(u.createElement("option"));n.type="checkbox";f.checkOn=n.value!=="";f.optSelected=i.selected;t.disabled=!0;f.optDisabled=!i.disabled;n=u.createElement("input");n.value="t";n.type="radio";f.radioValue=n.value==="t"}();g=i.expr.attrHandle;i.fn.extend({attr:function(n,t){return l(this,i.attr,n,t,arguments.length>1)},removeAttr:function(n){return this.each(function(){i.removeAttr(this,n)})}});i.extend({attr:function(n,t,r){var u,f,e=n.nodeType;if(n&&e!==3&&e!==8&&e!==2){if(typeof n.getAttribute===b)return i.prop(n,t,r);if(e===1&&i.isXMLDoc(n)||(t=t.toLowerCase(),u=i.attrHooks[t]||(i.expr.match.bool.test(t)?su:oe)),r!==undefined)if(r===null)i.removeAttr(n,t);else return u&&"set"in u&&(f=u.set(n,r,t))!==undefined?f:(n.setAttribute(t,r+""),r);else return u&&"get"in u&&(f=u.get(n,t))!==null?f:(f=i.find.attr(n,t),f==null?undefined:f)}},removeAttr:function(n,t){var r,u,e=0,f=t&&t.match(c);if(f&&n.nodeType===1)while(r=f[e++])u=i.propFix[r]||r,i.expr.match.bool.test(r)&&(n[u]=!1),n.removeAttribute(r)},attrHooks:{type:{set:function(n,t){if(!f.radioValue&&t==="radio"&&i.nodeName(n,"input")){var r=n.value;return n.setAttribute("type",t),r&&(n.value=r),t}}}}});su={set:function(n,t,r){return t===!1?i.removeAttr(n,r):n.setAttribute(r,r),r}};i.each(i.expr.match.bool.source.match(/\w+/g),function(n,t){var r=g[t]||i.find.attr;g[t]=function(n,t,i){var u,f;return i||(f=g[t],g[t]=u,u=r(n,t,i)!=null?t.toLowerCase():null,g[t]=f),u}});hu=/^(?:input|select|textarea|button)$/i;i.fn.extend({prop:function(n,t){return l(this,i.prop,n,t,arguments.length>1)},removeProp:function(n){return this.each(function(){delete this[i.propFix[n]||n]})}});i.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(n,t,r){var f,u,o,e=n.nodeType;if(n&&e!==3&&e!==8&&e!==2)return o=e!==1||!i.isXMLDoc(n),o&&(t=i.propFix[t]||t,u=i.propHooks[t]),r!==undefined?u&&"set"in u&&(f=u.set(n,r,t))!==undefined?f:n[t]=r:u&&"get"in u&&(f=u.get(n,t))!==null?f:n[t]},propHooks:{tabIndex:{get:function(n){return n.hasAttribute("tabindex")||hu.test(n.nodeName)||n.href?n.tabIndex:-1}}}});f.optSelected||(i.propHooks.selected={get:function(n){var t=n.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}});i.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){i.propFix[this.toLowerCase()]=this});bt=/[\t\r\n\f]/g;i.fn.extend({addClass:function(n){var o,t,r,u,s,f,h=typeof n=="string"&&n,e=0,l=this.length;if(i.isFunction(n))return this.each(function(t){i(this).addClass(n.call(this,t,this.className))});if(h)for(o=(n||"").match(c)||[];e<l;e++)if(t=this[e],r=t.nodeType===1&&(t.className?(" "+t.className+" ").replace(bt," "):" "),r){for(s=0;u=o[s++];)r.indexOf(" "+u+" ")<0&&(r+=u+" ");f=i.trim(r);t.className!==f&&(t.className=f)}return this},removeClass:function(n){var o,t,r,u,s,f,h=arguments.length===0||typeof n=="string"&&n,e=0,l=this.length;if(i.isFunction(n))return this.each(function(t){i(this).removeClass(n.call(this,t,this.className))});if(h)for(o=(n||"").match(c)||[];e<l;e++)if(t=this[e],r=t.nodeType===1&&(t.className?(" "+t.className+" ").replace(bt," "):""),r){for(s=0;u=o[s++];)while(r.indexOf(" "+u+" ")>=0)r=r.replace(" "+u+" "," ");f=n?i.trim(r):"";t.className!==f&&(t.className=f)}return this},toggleClass:function(n,t){var u=typeof n;return typeof t=="boolean"&&u==="string"?t?this.addClass(n):this.removeClass(n):i.isFunction(n)?this.each(function(r){i(this).toggleClass(n.call(this,r,this.className,t),t)}):this.each(function(){if(u==="string")for(var t,e=0,f=i(this),o=n.match(c)||[];t=o[e++];)f.hasClass(t)?f.removeClass(t):f.addClass(t);else(u===b||u==="boolean")&&(this.className&&r.set(this,"__className__",this.className),this.className=this.className||n===!1?"":r.get(this,"__className__")||"")})},hasClass:function(n){for(var i=" "+n+" ",t=0,r=this.length;t<r;t++)if(this[t].nodeType===1&&(" "+this[t].className+" ").replace(bt," ").indexOf(i)>=0)return!0;return!1}});cu=/\r/g;i.fn.extend({val:function(n){var t,r,f,u=this[0];return arguments.length?(f=i.isFunction(n),this.each(function(r){var u;this.nodeType===1&&(u=f?n.call(this,r,i(this).val()):n,u==null?u="":typeof u=="number"?u+="":i.isArray(u)&&(u=i.map(u,function(n){return n==null?"":n+""})),t=i.valHooks[this.type]||i.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,u,"value")!==undefined||(this.value=u))})):u?(t=i.valHooks[u.type]||i.valHooks[u.nodeName.toLowerCase()],t&&"get"in t&&(r=t.get(u,"value"))!==undefined)?r:(r=u.value,typeof r=="string"?r.replace(cu,""):r==null?"":r):void 0}});i.extend({valHooks:{option:{get:function(n){var t=i.find.attr(n,"value");return t!=null?t:i.trim(i.text(n))}},select:{get:function(n){for(var o,t,s=n.options,r=n.selectedIndex,u=n.type==="select-one"||r<0,h=u?null:[],c=u?r+1:s.length,e=r<0?c:u?r:0;e<c;e++)if(t=s[e],(t.selected||e===r)&&(f.optDisabled?!t.disabled:t.getAttribute("disabled")===null)&&(!t.parentNode.disabled||!i.nodeName(t.parentNode,"optgroup"))){if(o=i(t).val(),u)return o;h.push(o)}return h},set:function(n,t){for(var u,r,f=n.options,e=i.makeArray(t),o=f.length;o--;)r=f[o],(r.selected=i.inArray(r.value,e)>=0)&&(u=!0);return u||(n.selectedIndex=-1),e}}}});i.each(["radio","checkbox"],function(){i.valHooks[this]={set:function(n,t){if(i.isArray(t))return n.checked=i.inArray(i(n).val(),t)>=0}};f.checkOn||(i.valHooks[this].get=function(n){return n.getAttribute("value")===null?"on":n.value})});i.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(n,t){i.fn[t]=function(n,i){return arguments.length>0?this.on(t,null,n,i):this.trigger(t)}});i.fn.extend({hover:function(n,t){return this.mouseenter(n).mouseleave(t||n)},bind:function(n,t,i){return this.on(n,null,t,i)},unbind:function(n,t){return this.off(n,null,t)},delegate:function(n,t,i,r){return this.on(t,n,i,r)},undelegate:function(n,t,i){return arguments.length===1?this.off(n,"**"):this.off(t,n||"**",i)}});kt=i.now();dt=/\?/;i.parseJSON=function(n){return JSON.parse(n+"")};i.parseXML=function(n){var t,r;if(!n||typeof n!="string")return null;try{r=new DOMParser;t=r.parseFromString(n,"text/xml")}catch(u){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&i.error("Invalid XML: "+n),t};var se=/#.*$/,lu=/([?&])_=[^&]*/,he=/^(.*?):[ \t]*([^\r\n]*)$/mg,ce=/^(?:GET|HEAD)$/,le=/^\/\//,au=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,vu={},ci={},yu="*/".concat("*"),li=n.location.href,nt=au.exec(li.toLowerCase())||[];i.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:li,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(nt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":yu,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":i.parseJSON,"text xml":i.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(n,t){return t?ai(ai(n,i.ajaxSettings),t):ai(i.ajaxSettings,n)},ajaxPrefilter:pu(vu),ajaxTransport:pu(ci),ajax:function(n,t){function p(n,t,h,c){var v,it,tt,p,nt,l=t;e!==2&&(e=2,b&&clearTimeout(b),s=undefined,w=c||"",u.readyState=n>0?4:0,v=n>=200&&n<300||n===304,h&&(p=ae(r,u,h)),p=ve(r,p,u,v),v?(r.ifModified&&(nt=u.getResponseHeader("Last-Modified"),nt&&(i.lastModified[f]=nt),nt=u.getResponseHeader("etag"),nt&&(i.etag[f]=nt)),n===204||r.type==="HEAD"?l="nocontent":n===304?l="notmodified":(l=p.state,it=p.data,tt=p.error,v=!tt)):(tt=l,(n||!l)&&(l="error",n<0&&(n=0))),u.status=n,u.statusText=(t||l)+"",v?d.resolveWith(o,[it,l,u]):d.rejectWith(o,[u,l,tt]),u.statusCode(y),y=undefined,a&&k.trigger(v?"ajaxSuccess":"ajaxError",[u,r,v?it:tt]),g.fireWith(o,[u,l]),a&&(k.trigger("ajaxComplete",[u,r]),--i.active||i.event.trigger("ajaxStop")))}typeof n=="object"&&(t=n,n=undefined);t=t||{};var s,f,w,v,b,h,a,l,r=i.ajaxSetup({},t),o=r.context||r,k=r.context&&(o.nodeType||o.jquery)?i(o):i.event,d=i.Deferred(),g=i.Callbacks("once memory"),y=r.statusCode||{},tt={},it={},e=0,rt="canceled",u={readyState:0,getResponseHeader:function(n){var t;if(e===2){if(!v)for(v={};t=he.exec(w);)v[t[1].toLowerCase()]=t[2];t=v[n.toLowerCase()]}return t==null?null:t},getAllResponseHeaders:function(){return e===2?w:null},setRequestHeader:function(n,t){var i=n.toLowerCase();return e||(n=it[i]=it[i]||n,tt[n]=t),this},overrideMimeType:function(n){return e||(r.mimeType=n),this},statusCode:function(n){var t;if(n)if(e<2)for(t in n)y[t]=[y[t],n[t]];else u.always(n[u.status]);return this},abort:function(n){var t=n||rt;return s&&s.abort(t),p(0,t),this}};if(d.promise(u).complete=g.add,u.success=u.done,u.error=u.fail,r.url=((n||r.url||li)+"").replace(se,"").replace(le,nt[1]+"//"),r.type=t.method||t.type||r.method||r.type,r.dataTypes=i.trim(r.dataType||"*").toLowerCase().match(c)||[""],r.crossDomain==null&&(h=au.exec(r.url.toLowerCase()),r.crossDomain=!!(h&&(h[1]!==nt[1]||h[2]!==nt[2]||(h[3]||(h[1]==="http:"?"80":"443"))!==(nt[3]||(nt[1]==="http:"?"80":"443"))))),r.data&&r.processData&&typeof r.data!="string"&&(r.data=i.param(r.data,r.traditional)),wu(vu,r,t,u),e===2)return u;a=i.event&&r.global;a&&i.active++==0&&i.event.trigger("ajaxStart");r.type=r.type.toUpperCase();r.hasContent=!ce.test(r.type);f=r.url;r.hasContent||(r.data&&(f=r.url+=(dt.test(f)?"&":"?")+r.data,delete r.data),r.cache===!1&&(r.url=lu.test(f)?f.replace(lu,"$1_="+kt++):f+(dt.test(f)?"&":"?")+"_="+kt++));r.ifModified&&(i.lastModified[f]&&u.setRequestHeader("If-Modified-Since",i.lastModified[f]),i.etag[f]&&u.setRequestHeader("If-None-Match",i.etag[f]));(r.data&&r.hasContent&&r.contentType!==!1||t.contentType)&&u.setRequestHeader("Content-Type",r.contentType);u.setRequestHeader("Accept",r.dataTypes[0]&&r.accepts[r.dataTypes[0]]?r.accepts[r.dataTypes[0]]+(r.dataTypes[0]!=="*"?", "+yu+"; q=0.01":""):r.accepts["*"]);for(l in r.headers)u.setRequestHeader(l,r.headers[l]);if(r.beforeSend&&(r.beforeSend.call(o,u,r)===!1||e===2))return u.abort();rt="abort";for(l in{success:1,error:1,complete:1})u[l](r[l]);if(s=wu(ci,r,t,u),s){u.readyState=1;a&&k.trigger("ajaxSend",[u,r]);r.async&&r.timeout>0&&(b=setTimeout(function(){u.abort("timeout")},r.timeout));try{e=1;s.send(tt,p)}catch(ut){if(e<2)p(-1,ut);else throw ut;}}else p(-1,"No Transport");return u},getJSON:function(n,t,r){return i.get(n,t,r,"json")},getScript:function(n,t){return i.get(n,undefined,t,"script")}});i.each(["get","post"],function(n,t){i[t]=function(n,r,u,f){return i.isFunction(r)&&(f=f||u,u=r,r=undefined),i.ajax({url:n,type:t,dataType:f,data:r,success:u})}});i._evalUrl=function(n){return i.ajax({url:n,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})};i.fn.extend({wrapAll:function(n){var t;return i.isFunction(n)?this.each(function(t){i(this).wrapAll(n.call(this,t))}):(this[0]&&(t=i(n,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var n=this;n.firstElementChild;)n=n.firstElementChild;return n}).append(this)),this)},wrapInner:function(n){return i.isFunction(n)?this.each(function(t){i(this).wrapInner(n.call(this,t))}):this.each(function(){var t=i(this),r=t.contents();r.length?r.wrapAll(n):t.append(n)})},wrap:function(n){var t=i.isFunction(n);return this.each(function(r){i(this).wrapAll(t?n.call(this,r):n)})},unwrap:function(){return this.parent().each(function(){i.nodeName(this,"body")||i(this).replaceWith(this.childNodes)}).end()}});i.expr.filters.hidden=function(n){return n.offsetWidth<=0&&n.offsetHeight<=0};i.expr.filters.visible=function(n){return!i.expr.filters.hidden(n)};var ye=/%20/g,pe=/\[\]$/,bu=/\r?\n/g,we=/^(?:submit|button|image|reset|file)$/i,be=/^(?:input|select|textarea|keygen)/i;i.param=function(n,t){var r,u=[],f=function(n,t){t=i.isFunction(t)?t():t==null?"":t;u[u.length]=encodeURIComponent(n)+"="+encodeURIComponent(t)};if(t===undefined&&(t=i.ajaxSettings&&i.ajaxSettings.traditional),i.isArray(n)||n.jquery&&!i.isPlainObject(n))i.each(n,function(){f(this.name,this.value)});else for(r in n)vi(r,n[r],t,f);return u.join("&").replace(ye,"+")};i.fn.extend({serialize:function(){return i.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var n=i.prop(this,"elements");return n?i.makeArray(n):this}).filter(function(){var n=this.type;return this.name&&!i(this).is(":disabled")&&be.test(this.nodeName)&&!we.test(n)&&(this.checked||!er.test(n))}).map(function(n,t){var r=i(this).val();return r==null?null:i.isArray(r)?i.map(r,function(n){return{name:t.name,value:n.replace(bu,"\r\n")}}):{name:t.name,value:r.replace(bu,"\r\n")}}).get()}});i.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(n){}};var ke=0,gt={},de={0:200,1223:204},ut=i.ajaxSettings.xhr();return n.attachEvent&&n.attachEvent("onunload",function(){for(var n in gt)gt[n]()}),f.cors=!!ut&&"withCredentials"in ut,f.ajax=ut=!!ut,i.ajaxTransport(function(n){var t;if(f.cors||ut&&!n.crossDomain)return{send:function(i,r){var f,u=n.xhr(),e=++ke;if(u.open(n.type,n.url,n.async,n.username,n.password),n.xhrFields)for(f in n.xhrFields)u[f]=n.xhrFields[f];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType);n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(f in i)u.setRequestHeader(f,i[f]);t=function(n){return function(){t&&(delete gt[e],t=u.onload=u.onerror=null,n==="abort"?u.abort():n==="error"?r(u.status,u.statusText):r(de[u.status]||u.status,u.statusText,typeof u.responseText=="string"?{text:u.responseText}:undefined,u.getAllResponseHeaders()))}};u.onload=t();u.onerror=t("error");t=gt[e]=t("abort");try{u.send(n.hasContent&&n.data||null)}catch(o){if(t)throw o;}},abort:function(){t&&t()}}}),i.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(n){return i.globalEval(n),n}}}),i.ajaxPrefilter("script",function(n){n.cache===undefined&&(n.cache=!1);n.crossDomain&&(n.type="GET")}),i.ajaxTransport("script",function(n){if(n.crossDomain){var r,t;return{send:function(f,e){r=i("<script>").prop({async:!0,charset:n.scriptCharset,src:n.url}).on("load error",t=function(n){r.remove();t=null;n&&e(n.type==="error"?404:200,n.type)});u.head.appendChild(r[0])},abort:function(){t&&t()}}}}),yi=[],ni=/(=)\?(?=&|$)|\?\?/,i.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var n=yi.pop()||i.expando+"_"+kt++;return this[n]=!0,n}}),i.ajaxPrefilter("json jsonp",function(t,r,u){var f,o,e,s=t.jsonp!==!1&&(ni.test(t.url)?"url":typeof t.data=="string"&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&ni.test(t.data)&&"data");if(s||t.dataTypes[0]==="jsonp")return f=t.jsonpCallback=i.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(ni,"$1"+f):t.jsonp!==!1&&(t.url+=(dt.test(t.url)?"&":"?")+t.jsonp+"="+f),t.converters["script json"]=function(){return e||i.error(f+" was not called"),e[0]},t.dataTypes[0]="json",o=n[f],n[f]=function(){e=arguments},u.always(function(){n[f]=o;t[f]&&(t.jsonpCallback=r.jsonpCallback,yi.push(f));e&&i.isFunction(o)&&o(e[0]);e=o=undefined}),"script"}),i.parseHTML=function(n,t,r){if(!n||typeof n!="string")return null;typeof t=="boolean"&&(r=t,t=!1);t=t||u;var f=gi.exec(n),e=!r&&[];return f?[t.createElement(f[1])]:(f=i.buildFragment([n],t,e),e&&e.length&&i(e).remove(),i.merge([],f.childNodes))},pi=i.fn.load,i.fn.load=function(n,t,r){if(typeof n!="string"&&pi)return pi.apply(this,arguments);var u,o,s,f=this,e=n.indexOf(" ");return e>=0&&(u=i.trim(n.slice(e)),n=n.slice(0,e)),i.isFunction(t)?(r=t,t=undefined):t&&typeof t=="object"&&(o="POST"),f.length>0&&i.ajax({url:n,type:o,dataType:"html",data:t}).done(function(n){s=arguments;f.html(u?i("<div>").append(i.parseHTML(n)).find(u):n)}).complete(r&&function(n,t){f.each(r,s||[n.responseText,t,n])}),this},i.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(n,t){i.fn[t]=function(n){return this.on(t,n)}}),i.expr.filters.animated=function(n){return i.grep(i.timers,function(t){return n===t.elem}).length},wi=n.document.documentElement,i.offset={setOffset:function(n,t,r){var e,o,s,h,u,c,v,l=i.css(n,"position"),a=i(n),f={};l==="static"&&(n.style.position="relative");u=a.offset();s=i.css(n,"top");c=i.css(n,"left");v=(l==="absolute"||l==="fixed")&&(s+c).indexOf("auto")>-1;v?(e=a.position(),h=e.top,o=e.left):(h=parseFloat(s)||0,o=parseFloat(c)||0);i.isFunction(t)&&(t=t.call(n,r,u));t.top!=null&&(f.top=t.top-u.top+h);t.left!=null&&(f.left=t.left-u.left+o);"using"in t?t.using.call(n,f):a.css(f)}},i.fn.extend({offset:function(n){if(arguments.length)return n===undefined?this:this.each(function(t){i.offset.setOffset(this,n,t)});var r,f,t=this[0],u={top:0,left:0},e=t&&t.ownerDocument;if(e)return(r=e.documentElement,!i.contains(r,t))?u:(typeof t.getBoundingClientRect!==b&&(u=t.getBoundingClientRect()),f=ku(e),{top:u.top+f.pageYOffset-r.clientTop,left:u.left+f.pageXOffset-r.clientLeft})},position:function(){if(this[0]){var n,r,u=this[0],t={top:0,left:0};return i.css(u,"position")==="fixed"?r=u.getBoundingClientRect():(n=this.offsetParent(),r=this.offset(),i.nodeName(n[0],"html")||(t=n.offset()),t.top+=i.css(n[0],"borderTopWidth",!0),t.left+=i.css(n[0],"borderLeftWidth",!0)),{top:r.top-t.top-i.css(u,"marginTop",!0),left:r.left-t.left-i.css(u,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var n=this.offsetParent||wi;n&&!i.nodeName(n,"html")&&i.css(n,"position")==="static";)n=n.offsetParent;return n||wi})}}),i.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,r){var u="pageYOffset"===r;i.fn[t]=function(i){return l(this,function(t,i,f){var e=ku(t);if(f===undefined)return e?e[r]:t[i];e?e.scrollTo(u?n.pageXOffset:f,u?f:n.pageYOffset):t[i]=f},t,i,arguments.length,null)}}),i.each(["top","left"],function(n,t){i.cssHooks[t]=br(f.pixelPosition,function(n,r){if(r)return r=it(n,t),hi.test(r)?i(n).position()[t]+"px":r})}),i.each({Height:"height",Width:"width"},function(n,t){i.each({padding:"inner"+n,content:t,"":"outer"+n},function(r,u){i.fn[u]=function(u,f){var e=arguments.length&&(r||typeof u!="boolean"),o=r||(u===!0||f===!0?"margin":"border");return l(this,function(t,r,u){var f;return i.isWindow(t)?t.document.documentElement["client"+n]:t.nodeType===9?(f=t.documentElement,Math.max(t.body["scroll"+n],f["scroll"+n],t.body["offset"+n],f["offset"+n],f["client"+n])):u===undefined?i.css(t,r,o):i.style(t,r,u,o)},t,e?u:undefined,e,null)}})}),i.fn.size=function(){return this.length},i.fn.andSelf=i.fn.addBack,typeof define=="function"&&define.amd&&define("jquery",[],function(){return i}),du=n.jQuery,gu=n.$,i.noConflict=function(t){return n.$===i&&(n.$=gu),t&&n.jQuery===i&&(n.jQuery=du),i},typeof t===b&&(n.jQuery=n.$=i),i});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.moment=t()}(this,function(){"use strict";function i(){return kf.apply(null,arguments)}function pe(n){kf=n}function ui(n){return"[object Array]"===Object.prototype.toString.call(n)}function fi(n){return n instanceof Date||"[object Date]"===Object.prototype.toString.call(n)}function we(n,t){for(var r=[],i=0;i<n.length;++i)r.push(t(n[i],i));return r}function ft(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function ei(n,t){for(var i in t)ft(t,i)&&(n[i]=t[i]);return ft(t,"toString")&&(n.toString=t.toString),ft(t,"valueOf")&&(n.valueOf=t.valueOf),n}function kt(n,t,i,r){return gu(n,t,i,r,!0).utc()}function be(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(n){return null==n._pf&&(n._pf=be()),n._pf}function iu(n){if(null==n._isValid){var t=e(n);n._isValid=!(isNaN(n._d.getTime())||!(t.overflow<0)||t.empty||t.invalidMonth||t.invalidWeekday||t.nullInput||t.invalidFormat||t.userInvalidated);n._strict&&(n._isValid=n._isValid&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour)}return n._isValid}function ru(n){var t=kt(NaN);return null!=n?ei(e(t),n):e(t).userInvalidated=!0,t}function ki(n,t){var u,i,r;if("undefined"!=typeof t._isAMomentObject&&(n._isAMomentObject=t._isAMomentObject),"undefined"!=typeof t._i&&(n._i=t._i),"undefined"!=typeof t._f&&(n._f=t._f),"undefined"!=typeof t._l&&(n._l=t._l),"undefined"!=typeof t._strict&&(n._strict=t._strict),"undefined"!=typeof t._tzm&&(n._tzm=t._tzm),"undefined"!=typeof t._isUTC&&(n._isUTC=t._isUTC),"undefined"!=typeof t._offset&&(n._offset=t._offset),"undefined"!=typeof t._pf&&(n._pf=e(t)),"undefined"!=typeof t._locale&&(n._locale=t._locale),cr.length>0)for(u in cr)i=cr[u],r=t[i],"undefined"!=typeof r&&(n[i]=r);return n}function dt(n){ki(this,n);this._d=new Date(null!=n._d?n._d.getTime():NaN);lr===!1&&(lr=!0,i.updateOffset(this),lr=!1)}function nt(n){return n instanceof dt||null!=n&&null!=n._isAMomentObject}function v(n){return 0>n?Math.ceil(n):Math.floor(n)}function s(n){var t=+n,i=0;return 0!==t&&isFinite(t)&&(i=v(t)),i}function uu(n,t,i){for(var f=Math.min(n.length,t.length),e=Math.abs(n.length-t.length),u=0,r=0;f>r;r++)(i&&n[r]!==t[r]||!i&&s(n[r])!==s(t[r]))&&u++;return u+e}function fu(){}function eu(n){return n?n.toLowerCase().replace("_","-"):n}function ke(n){for(var i,t,f,r,u=0;u<n.length;){for(r=eu(n[u]).split("-"),i=r.length,t=eu(n[u+1]),t=t?t.split("-"):null;i>0;){if(f=ou(r.slice(0,i).join("-")))return f;if(t&&t.length>=i&&uu(r,t,!0)>=i-1)break;i--}u++}return null}function ou(n){var t=null;if(!ct[n]&&"undefined"!=typeof module&&module&&module.exports)try{t=li._abbr;require("./locale/"+n);gt(t)}catch(i){}return ct[n]}function gt(n,t){var i;return n&&(i="undefined"==typeof t?et(n):su(n,t),i&&(li=i)),li._abbr}function su(n,t){return null!==t?(t.abbr=n,ct[n]=ct[n]||new fu,ct[n].set(t),gt(n),ct[n]):(delete ct[n],null)}function et(n){var t;if(n&&n._locale&&n._locale._abbr&&(n=n._locale._abbr),!n)return li;if(!ui(n)){if(t=ou(n))return t;n=[n]}return ke(n)}function l(n,t){var i=n.toLowerCase();ii[i]=ii[i+"s"]=ii[t]=n}function p(n){if("string"==typeof n)return ii[n]||ii[n.toLowerCase()]}function hu(n){var i,t,r={};for(t in n)ft(n,t)&&(i=p(t),i&&(r[i]=n[t]));return r}function yt(n,t){return function(r){return null!=r?(cu(this,n,r),i.updateOffset(this,t),this):oi(this,n)}}function oi(n,t){return n._d["get"+(n._isUTC?"UTC":"")+t]()}function cu(n,t,i){return n._d["set"+(n._isUTC?"UTC":"")+t](i)}function lu(n,t){var i;if("object"==typeof n)for(i in n)this.set(i,n[i]);else if(n=p(n),"function"==typeof this[n])return this[n](t);return this}function di(n,t,i){var r=""+Math.abs(n),u=t-r.length,f=n>=0;return(f?i?"+":"":"-")+Math.pow(10,Math.max(0,u)).toString().substr(1)+r}function r(n,t,i,r){var u=r;"string"==typeof r&&(u=function(){return this[r]()});n&&(wt[n]=u);t&&(wt[t[0]]=function(){return di(u.apply(this,arguments),t[1],t[2])});i&&(wt[i]=function(){return this.localeData().ordinal(u.apply(this,arguments),n)})}function de(n){return n.match(/\[[\s\S]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"")}function ge(n){for(var i=n.match(df),t=0,r=i.length;r>t;t++)i[t]=wt[i[t]]?wt[i[t]]:de(i[t]);return function(u){var f="";for(t=0;r>t;t++)f+=i[t]instanceof Function?i[t].call(u,n):i[t];return f}}function gi(n,t){return n.isValid()?(t=au(t,n.localeData()),ar[t]=ar[t]||ge(t),ar[t](n)):n.localeData().invalidDate()}function au(n,t){function r(n){return t.longDateFormat(n)||n}var i=5;for(ai.lastIndex=0;i>=0&&ai.test(n);)n=n.replace(ai,r),ai.lastIndex=0,i-=1;return n}function no(n){return"function"==typeof n&&"[object Function]"===Object.prototype.toString.call(n)}function t(n,t,i){pr[n]=no(t)?t:function(n){return n&&i?i:t}}function to(n,t){return ft(pr,n)?pr[n](t._strict,t._locale):new RegExp(io(n))}function io(n){return n.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(n,t,i,r,u){return t||i||r||u}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function c(n,t){var i,r=t;for("string"==typeof n&&(n=[n]),"number"==typeof t&&(r=function(n,i){i[t]=s(n)}),i=0;i<n.length;i++)wr[n[i]]=r}function ni(n,t){c(n,function(n,i,r,u){r._w=r._w||{};t(n,r._w,r,u)})}function ro(n,t,i){null!=t&&ft(wr,n)&&wr[n](t,i._a,i,n)}function nr(n,t){return new Date(Date.UTC(n,t+1,0)).getUTCDate()}function uo(n){return this._months[n.month()]}function fo(n){return this._monthsShort[n.month()]}function eo(n,t,i){var r,u,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;12>r;r++)if((u=kt([2e3,r]),i&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(u,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(u,"").replace(".","")+"$","i")),i||this._monthsParse[r]||(f="^"+this.months(u,"")+"|^"+this.monthsShort(u,""),this._monthsParse[r]=new RegExp(f.replace(".",""),"i")),i&&"MMMM"===t&&this._longMonthsParse[r].test(n))||i&&"MMM"===t&&this._shortMonthsParse[r].test(n)||!i&&this._monthsParse[r].test(n))return r}function vu(n,t){var i;return"string"==typeof t&&(t=n.localeData().monthsParse(t),"number"!=typeof t)?n:(i=Math.min(n.date(),nr(n.year(),t)),n._d["set"+(n._isUTC?"UTC":"")+"Month"](t,i),n)}function yu(n){return null!=n?(vu(this,n),i.updateOffset(this,!0),this):oi(this,"Month")}function oo(){return nr(this.year(),this.month())}function tr(n){var i,t=n._a;return t&&-2===e(n).overflow&&(i=t[d]<0||t[d]>11?d:t[k]<1||t[k]>nr(t[b],t[d])?k:t[a]<0||t[a]>24||24===t[a]&&(0!==t[lt]||0!==t[at]||0!==t[vt])?a:t[lt]<0||t[lt]>59?lt:t[at]<0||t[at]>59?at:t[vt]<0||t[vt]>999?vt:-1,e(n)._overflowDayOfYear&&(b>i||i>k)&&(i=k),e(n).overflow=i),n}function pu(n){i.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+n)}function w(n,t){var i=!0;return ei(function(){return i&&(pu(n+"\n"+(new Error).stack),i=!1),t.apply(this,arguments)},t)}function so(n,t){te[n]||(pu(t),te[n]=!0)}function wu(n){var t,i,r=n._i,u=fa.exec(r);if(u){for(e(n).iso=!0,t=0,i=br.length;i>t;t++)if(br[t][1].exec(r)){n._f=br[t][0];break}for(t=0,i=kr.length;i>t;t++)if(kr[t][1].exec(r)){n._f+=(u[6]||" ")+kr[t][0];break}r.match(bi)&&(n._f+="Z");ur(n)}else n._isValid=!1}function ho(n){var t=ea.exec(n._i);return null!==t?void(n._d=new Date(+t[1])):(wu(n),void(n._isValid===!1&&(delete n._isValid,i.createFromInputFallback(n))))}function co(n,t,i,r,u,f,e){var o=new Date(n,t,i,r,u,f,e);return 1970>n&&o.setFullYear(n),o}function ir(n){var t=new Date(Date.UTC.apply(null,arguments));return 1970>n&&t.setUTCFullYear(n),t}function bu(n){return ku(n)?366:365}function ku(n){return n%4==0&&n%100!=0||n%400==0}function lo(){return ku(this.year())}function ot(n,t,i){var u,f=i-t,r=i-n.day();return r>f&&(r-=7),f-7>r&&(r+=7),u=o(n).add(r,"d"),{week:Math.ceil(u.dayOfYear()/7),year:u.year()}}function ao(n){return ot(n,this._week.dow,this._week.doy).week}function vo(){return this._week.dow}function yo(){return this._week.doy}function po(n){var t=this.localeData().week(this);return null==n?t:this.add(7*(n-t),"d")}function wo(n){var t=ot(this,1,4).week;return null==n?t:this.add(7*(n-t),"d")}function bo(n,t,i,r,u){var f,o=6+u-r,s=ir(n,0,1+o),e=s.getUTCDay();return u>e&&(e+=7),i=null!=i?1*i:u,f=1+o+7*(t-1)-e+i,{year:f>0?n:n-1,dayOfYear:f>0?f:bu(n-1)+f}}function ko(n){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==n?t:this.add(n-t,"d")}function pt(n,t,i){return null!=n?n:null!=t?t:i}function go(n){var t=new Date;return n._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function rr(n){var t,i,r,u,f=[];if(!n._d){for(r=go(n),n._w&&null==n._a[k]&&null==n._a[d]&&ns(n),n._dayOfYear&&(u=pt(n._a[b],r[b]),n._dayOfYear>bu(u)&&(e(n)._overflowDayOfYear=!0),i=ir(u,0,n._dayOfYear),n._a[d]=i.getUTCMonth(),n._a[k]=i.getUTCDate()),t=0;3>t&&null==n._a[t];++t)n._a[t]=f[t]=r[t];for(;7>t;t++)n._a[t]=f[t]=null==n._a[t]?2===t?1:0:n._a[t];24===n._a[a]&&0===n._a[lt]&&0===n._a[at]&&0===n._a[vt]&&(n._nextDay=!0,n._a[a]=0);n._d=(n._useUTC?ir:co).apply(null,f);null!=n._tzm&&n._d.setUTCMinutes(n._d.getUTCMinutes()-n._tzm);n._nextDay&&(n._a[a]=24)}}function ns(n){var t,e,u,r,i,f,s;t=n._w;null!=t.GG||null!=t.W||null!=t.E?(i=1,f=4,e=pt(t.GG,n._a[b],ot(o(),1,4).year),u=pt(t.W,1),r=pt(t.E,1)):(i=n._locale._week.dow,f=n._locale._week.doy,e=pt(t.gg,n._a[b],ot(o(),i,f).year),u=pt(t.w,1),null!=t.d?(r=t.d,i>r&&++u):r=null!=t.e?t.e+i:i);s=bo(e,u,r,f,i);n._a[b]=s.year;n._dayOfYear=s.dayOfYear}function ur(n){if(n._f===i.ISO_8601)return void wu(n);n._a=[];e(n).empty=!0;for(var t,u,s,r=""+n._i,c=r.length,h=0,o=au(n._f,n._locale).match(df)||[],f=0;f<o.length;f++)u=o[f],t=(r.match(to(u,n))||[])[0],t&&(s=r.substr(0,r.indexOf(t)),s.length>0&&e(n).unusedInput.push(s),r=r.slice(r.indexOf(t)+t.length),h+=t.length),wt[u]?(t?e(n).empty=!1:e(n).unusedTokens.push(u),ro(u,t,n)):n._strict&&!t&&e(n).unusedTokens.push(u);e(n).charsLeftOver=c-h;r.length>0&&e(n).unusedInput.push(r);e(n).bigHour===!0&&n._a[a]<=12&&n._a[a]>0&&(e(n).bigHour=void 0);n._a[a]=ts(n._locale,n._a[a],n._meridiem);rr(n);tr(n)}function ts(n,t,i){var r;return null==i?t:null!=n.meridiemHour?n.meridiemHour(t,i):null!=n.isPM?(r=n.isPM(i),r&&12>t&&(t+=12),r||12!==t||(t=0),t):t}function is(n){var t,f,u,r,i;if(0===n._f.length)return e(n).invalidFormat=!0,void(n._d=new Date(NaN));for(r=0;r<n._f.length;r++)i=0,t=ki({},n),null!=n._useUTC&&(t._useUTC=n._useUTC),t._f=n._f[r],ur(t),iu(t)&&(i+=e(t).charsLeftOver,i+=10*e(t).unusedTokens.length,e(t).score=i,(null==u||u>i)&&(u=i,f=t));ei(n,f||t)}function rs(n){if(!n._d){var t=hu(n._i);n._a=[t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond];rr(n)}}function us(n){var t=new dt(tr(du(n)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function du(n){var t=n._i,i=n._f;return n._locale=n._locale||et(n._l),null===t||void 0===i&&""===t?ru({nullInput:!0}):("string"==typeof t&&(n._i=t=n._locale.preparse(t)),nt(t)?new dt(tr(t)):(ui(i)?is(n):i?ur(n):fi(t)?n._d=t:fs(n),n))}function fs(n){var t=n._i;void 0===t?n._d=new Date:fi(t)?n._d=new Date(+t):"string"==typeof t?ho(n):ui(t)?(n._a=we(t.slice(0),function(n){return parseInt(n,10)}),rr(n)):"object"==typeof t?rs(n):"number"==typeof t?n._d=new Date(t):i.createFromInputFallback(n)}function gu(n,t,i,r,u){var f={};return"boolean"==typeof i&&(r=i,i=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=u,f._l=i,f._i=n,f._f=t,f._strict=r,us(f)}function o(n,t,i,r){return gu(n,t,i,r,!1)}function nf(n,t){var r,i;if(1===t.length&&ui(t[0])&&(t=t[0]),!t.length)return o();for(r=t[0],i=1;i<t.length;++i)(!t[i].isValid()||t[i][n](r))&&(r=t[i]);return r}function es(){var n=[].slice.call(arguments,0);return nf("isBefore",n)}function os(){var n=[].slice.call(arguments,0);return nf("isAfter",n)}function si(n){var t=hu(n),i=t.year||0,r=t.quarter||0,u=t.month||0,f=t.week||0,e=t.day||0,o=t.hour||0,s=t.minute||0,h=t.second||0,c=t.millisecond||0;this._milliseconds=+c+1e3*h+6e4*s+36e5*o;this._days=+e+7*f;this._months=+u+3*r+12*i;this._data={};this._locale=et();this._bubble()}function fr(n){return n instanceof si}function tf(n,t){r(n,0,0,function(){var n=this.utcOffset(),i="+";return 0>n&&(n=-n,i="-"),i+di(~~(n/60),2)+t+di(~~n%60,2)})}function er(n){var i=(n||"").match(bi)||[],u=i[i.length-1]||[],t=(u+"").match(fe)||["-",0,0],r=+(60*t[1])+s(t[2]);return"+"===t[0]?r:-r}function or(n,t){var r,u;return t._isUTC?(r=t.clone(),u=(nt(n)||fi(n)?+n:+o(n))-+r,r._d.setTime(+r._d+u),i.updateOffset(r,!1),r):o(n).local()}function sr(n){return 15*-Math.round(n._d.getTimezoneOffset()/15)}function ss(n,t){var r,u=this._offset||0;return null!=n?("string"==typeof n&&(n=er(n)),Math.abs(n)<16&&(n=60*n),!this._isUTC&&t&&(r=sr(this)),this._offset=n,this._isUTC=!0,null!=r&&this.add(r,"m"),u!==n&&(!t||this._changeInProgress?ef(this,tt(n-u,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?u:sr(this)}function hs(n,t){return null!=n?("string"!=typeof n&&(n=-n),this.utcOffset(n,t),this):-this.utcOffset()}function cs(n){return this.utcOffset(0,n)}function ls(n){return this._isUTC&&(this.utcOffset(0,n),this._isUTC=!1,n&&this.subtract(sr(this),"m")),this}function as(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(er(this._i)),this}function vs(n){return n=n?o(n).utcOffset():0,(this.utcOffset()-n)%60==0}function ys(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function ps(){var n,t;return"undefined"!=typeof this._isDSTShifted?this._isDSTShifted:(n={},(ki(n,this),n=du(n),n._a)?(t=n._isUTC?kt(n._a):o(n._a),this._isDSTShifted=this.isValid()&&uu(n._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted)}function ws(){return!this._isUTC}function bs(){return this._isUTC}function rf(){return this._isUTC&&0===this._offset}function tt(n,t){var u,f,e,i=n,r=null;return fr(n)?i={ms:n._milliseconds,d:n._days,M:n._months}:"number"==typeof n?(i={},t?i[t]=n:i.milliseconds=n):(r=ee.exec(n))?(u="-"===r[1]?-1:1,i={y:0,d:s(r[k])*u,h:s(r[a])*u,m:s(r[lt])*u,s:s(r[at])*u,ms:s(r[vt])*u}):(r=oe.exec(n))?(u="-"===r[1]?-1:1,i={y:st(r[2],u),M:st(r[3],u),d:st(r[4],u),h:st(r[5],u),m:st(r[6],u),s:st(r[7],u),w:st(r[8],u)}):null==i?i={}:"object"==typeof i&&("from"in i||"to"in i)&&(e=ks(o(i.from),o(i.to)),i={},i.ms=e.milliseconds,i.M=e.months),f=new si(i),fr(n)&&ft(n,"_locale")&&(f._locale=n._locale),f}function st(n,t){var i=n&&parseFloat(n.replace(",","."));return(isNaN(i)?0:i)*t}function uf(n,t){var i={milliseconds:0,months:0};return i.months=t.month()-n.month()+12*(t.year()-n.year()),n.clone().add(i.months,"M").isAfter(t)&&--i.months,i.milliseconds=+t-+n.clone().add(i.months,"M"),i}function ks(n,t){var i;return t=or(t,n),n.isBefore(t)?i=uf(n,t):(i=uf(t,n),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function ff(n,t){return function(i,r){var u,f;return null===r||isNaN(+r)||(so(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),f=i,i=r,r=f),i="string"==typeof i?+i:i,u=tt(i,r),ef(this,u,n),this}}function ef(n,t,r,u){var o=t._milliseconds,f=t._days,e=t._months;u=null==u?!0:u;o&&n._d.setTime(+n._d+o*r);f&&cu(n,"Date",oi(n,"Date")+f*r);e&&vu(n,oi(n,"Month")+e*r);u&&i.updateOffset(n,f||e)}function ds(n,t){var r=n||o(),f=or(r,this).startOf("day"),i=this.diff(f,"days",!0),u=-6>i?"sameElse":-1>i?"lastWeek":0>i?"lastDay":1>i?"sameDay":2>i?"nextDay":7>i?"nextWeek":"sameElse";return this.format(t&&t[u]||this.localeData().calendar(u,this,o(r)))}function gs(){return new dt(this)}function nh(n,t){var i;return t=p("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(n=nt(n)?n:o(n),+this>+n):(i=nt(n)?+n:+o(n),i<+this.clone().startOf(t))}function th(n,t){var i;return t=p("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(n=nt(n)?n:o(n),+n>+this):(i=nt(n)?+n:+o(n),+this.clone().endOf(t)<i)}function ih(n,t,i){return this.isAfter(n,i)&&this.isBefore(t,i)}function rh(n,t){var i;return t=p(t||"millisecond"),"millisecond"===t?(n=nt(n)?n:o(n),+this==+n):(i=+o(n),+this.clone().startOf(t)<=i&&i<=+this.clone().endOf(t))}function uh(n,t,i){var r,u,f=or(n,this),e=6e4*(f.utcOffset()-this.utcOffset());return t=p(t),"year"===t||"month"===t||"quarter"===t?(u=fh(this,f),"quarter"===t?u/=3:"year"===t&&(u/=12)):(r=this-f,u="second"===t?r/1e3:"minute"===t?r/6e4:"hour"===t?r/36e5:"day"===t?(r-e)/864e5:"week"===t?(r-e)/6048e5:r),i?u:v(u)}function fh(n,t){var r,f,u=12*(t.year()-n.year())+(t.month()-n.month()),i=n.clone().add(u,"months");return 0>t-i?(r=n.clone().add(u-1,"months"),f=(t-i)/(i-r)):(r=n.clone().add(u+1,"months"),f=(t-i)/(r-i)),-(u+f)}function eh(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function of(){var n=this.clone().utc();return 0<n.year()&&n.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():gi(n,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):gi(n,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function oh(n){var t=gi(this,n||i.defaultFormat);return this.localeData().postformat(t)}function sh(n,t){return this.isValid()?tt({to:this,from:n}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function hh(n){return this.from(o(),n)}function ch(n,t){return this.isValid()?tt({from:this,to:n}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function lh(n){return this.to(o(),n)}function sf(n){var t;return void 0===n?this._locale._abbr:(t=et(n),null!=t&&(this._locale=t),this)}function hf(){return this._locale}function ah(n){switch(n=p(n)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===n&&this.weekday(0),"isoWeek"===n&&this.isoWeekday(1),"quarter"===n&&this.month(3*Math.floor(this.month()/3)),this}function vh(n){return n=p(n),void 0===n||"millisecond"===n?this:this.startOf(n).add(1,"isoWeek"===n?"week":n).subtract(1,"ms")}function yh(){return+this._d-6e4*(this._offset||0)}function ph(){return Math.floor(+this/1e3)}function wh(){return this._offset?new Date(+this):this._d}function bh(){var n=this;return[n.year(),n.month(),n.date(),n.hour(),n.minute(),n.second(),n.millisecond()]}function kh(){var n=this;return{years:n.year(),months:n.month(),date:n.date(),hours:n.hours(),minutes:n.minutes(),seconds:n.seconds(),milliseconds:n.milliseconds()}}function dh(){return iu(this)}function gh(){return ei({},e(this))}function nc(){return e(this).overflow}function hi(n,t){r(0,[n,n.length],0,t)}function cf(n,t,i){return ot(o([n,11,31+t-i]),t,i).week}function tc(n){var t=ot(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==n?t:this.add(n-t,"y")}function ic(n){var t=ot(this,1,4).year;return null==n?t:this.add(n-t,"y")}function rc(){return cf(this.year(),1,4)}function uc(){var n=this.localeData()._week;return cf(this.year(),n.dow,n.doy)}function fc(n){return null==n?Math.ceil((this.month()+1)/3):this.month(3*(n-1)+this.month()%3)}function ec(n,t){return"string"!=typeof n?n:isNaN(n)?(n=t.weekdaysParse(n),"number"==typeof n?n:null):parseInt(n,10)}function oc(n){return this._weekdays[n.day()]}function sc(n){return this._weekdaysShort[n.day()]}function hc(n){return this._weekdaysMin[n.day()]}function cc(n){var t,i,r;for(this._weekdaysParse=this._weekdaysParse||[],t=0;7>t;t++)if(this._weekdaysParse[t]||(i=o([2e3,1]).day(t),r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[t]=new RegExp(r.replace(".",""),"i")),this._weekdaysParse[t].test(n))return t}function lc(n){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=n?(n=ec(n,this.localeData()),this.add(n-t,"d")):t}function ac(n){var t=(this.day()+7-this.localeData()._week.dow)%7;return null==n?t:this.add(n-t,"d")}function vc(n){return null==n?this.day()||7:this.day(this.day()%7?n:n-7)}function lf(n,t){r(n,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function af(n,t){return t._meridiemParse}function yc(n){return"p"===(n+"").toLowerCase().charAt(0)}function pc(n,t,i){return n>11?i?"pm":"PM":i?"am":"AM"}function wc(n,t){t[vt]=s(1e3*("0."+n))}function bc(){return this._isUTC?"UTC":""}function kc(){return this._isUTC?"Coordinated Universal Time":""}function dc(n){return o(1e3*n)}function gc(){return o.apply(null,arguments).parseZone()}function nl(n,t,i){var r=this._calendar[n];return"function"==typeof r?r.call(t,i):r}function tl(n){var t=this._longDateFormat[n],i=this._longDateFormat[n.toUpperCase()];return t||!i?t:(this._longDateFormat[n]=i.replace(/MMMM|MM|DD|dddd/g,function(n){return n.slice(1)}),this._longDateFormat[n])}function il(){return this._invalidDate}function rl(n){return this._ordinal.replace("%d",n)}function vf(n){return n}function ul(n,t,i,r){var u=this._relativeTime[i];return"function"==typeof u?u(n,t,i,r):u.replace(/%d/i,n)}function fl(n,t){var i=this._relativeTime[n>0?"future":"past"];return"function"==typeof i?i(t):i.replace(/%s/i,t)}function el(n){var t;for(var i in n)t=n[i],"function"==typeof t?this[i]=t:this["_"+i]=t;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function yf(n,t,i,r){var u=et(),f=kt().set(r,t);return u[i](f,n)}function ti(n,t,i,r,u){if("number"==typeof n&&(t=n,n=void 0),n=n||"",null!=t)return yf(n,t,i,u);for(var e=[],f=0;r>f;f++)e[f]=yf(n,f,i,u);return e}function ol(n,t){return ti(n,t,"months",12,"month")}function sl(n,t){return ti(n,t,"monthsShort",12,"month")}function hl(n,t){return ti(n,t,"weekdays",7,"day")}function cl(n,t){return ti(n,t,"weekdaysShort",7,"day")}function ll(n,t){return ti(n,t,"weekdaysMin",7,"day")}function al(){var n=this._data;return this._milliseconds=g(this._milliseconds),this._days=g(this._days),this._months=g(this._months),n.milliseconds=g(n.milliseconds),n.seconds=g(n.seconds),n.minutes=g(n.minutes),n.hours=g(n.hours),n.months=g(n.months),n.years=g(n.years),this}function pf(n,t,i,r){var u=tt(t,i);return n._milliseconds+=r*u._milliseconds,n._days+=r*u._days,n._months+=r*u._months,n._bubble()}function vl(n,t){return pf(this,n,t,1)}function yl(n,t){return pf(this,n,t,-1)}function wf(n){return 0>n?Math.floor(n):Math.ceil(n)}function pl(){var u,f,e,s,o,r=this._milliseconds,n=this._days,t=this._months,i=this._data;return r>=0&&n>=0&&t>=0||0>=r&&0>=n&&0>=t||(r+=864e5*wf(hr(t)+n),n=0,t=0),i.milliseconds=r%1e3,u=v(r/1e3),i.seconds=u%60,f=v(u/60),i.minutes=f%60,e=v(f/60),i.hours=e%24,n+=v(e/24),o=v(bf(n)),t+=o,n-=wf(hr(o)),s=v(t/12),t%=12,i.days=n,i.months=t,i.years=s,this}function bf(n){return 4800*n/146097}function hr(n){return 146097*n/4800}function wl(n){var t,r,i=this._milliseconds;if(n=p(n),"month"===n||"year"===n)return t=this._days+i/864e5,r=this._months+bf(t),"month"===n?r:r/12;switch(t=this._days+Math.round(hr(this._months)),n){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+n);}}function bl(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*s(this._months/12)}function it(n){return function(){return this.as(n)}}function kl(n){return n=p(n),this[n+"s"]()}function ht(n){return function(){return this._data[n]}}function dl(){return v(this.days()/7)}function gl(n,t,i,r,u){return u.relativeTime(t||1,!!i,n,r)}function na(n,t,i){var r=tt(n).abs(),h=bt(r.as("s")),f=bt(r.as("m")),e=bt(r.as("h")),o=bt(r.as("d")),s=bt(r.as("M")),c=bt(r.as("y")),u=h<ut.s&&["s",h]||1===f&&["m"]||f<ut.m&&["mm",f]||1===e&&["h"]||e<ut.h&&["hh",e]||1===o&&["d"]||o<ut.d&&["dd",o]||1===s&&["M"]||s<ut.M&&["MM",s]||1===c&&["y"]||["yy",c];return u[2]=t,u[3]=+n>0,u[4]=i,gl.apply(null,u)}function ta(n,t){return void 0===ut[n]?!1:void 0===t?ut[n]:(ut[n]=t,!0)}function ia(n){var t=this.localeData(),i=na(this,!n,t);return n&&(i=t.pastFuture(+this,i)),t.postformat(i)}function ci(){var n,e,o,t=tu(this._milliseconds)/1e3,a=tu(this._days),i=tu(this._months);n=v(t/60);e=v(n/60);t%=60;n%=60;o=v(i/12);i%=12;var s=o,h=i,c=a,r=e,u=n,f=t,l=this.asSeconds();return l?(0>l?"-":"")+"P"+(s?s+"Y":"")+(h?h+"M":"")+(c?c+"D":"")+(r||u||f?"T":"")+(r?r+"H":"")+(u?u+"M":"")+(f?f+"S":""):"P0D"}var kf,li,cr=i.momentProperties=[],lr=!1,ct={},ii={},df=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ai=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ar={},wt={},gf=/\d/,y=/\d\d/,ne=/\d{3}/,vr=/\d{4}/,vi=/[+-]?\d{6}/,h=/\d\d?/,yi=/\d{1,3}/,yr=/\d{1,4}/,pi=/[+-]?\d{1,6}/,wi=/[+-]?\d+/,bi=/Z|[+-]\d\d:?\d\d/gi,ri=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,pr={},wr={},b=0,d=1,k=2,a=3,lt=4,at=5,vt=6,dr,ie,re,ue,fe,ee,oe,se,he,gr,nu,ce,le,ae,ve,rt,ye,n;r("M",["MM",2],"Mo",function(){return this.month()+1});r("MMM",0,0,function(n){return this.localeData().monthsShort(this,n)});r("MMMM",0,0,function(n){return this.localeData().months(this,n)});l("month","M");t("M",h);t("MM",h,y);t("MMM",ri);t("MMMM",ri);c(["M","MM"],function(n,t){t[d]=s(n)-1});c(["MMM","MMMM"],function(n,t,i,r){var u=i._locale.monthsParse(n,r,i._strict);null!=u?t[d]=u:e(i).invalidMonth=n});var ra="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ua="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),te={};i.suppressDeprecationWarnings=!1;var fa=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,br=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],kr=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ea=/^\/?Date\((\-?\d+)/i;i.createFromInputFallback=w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(n){n._d=new Date(n._i+(n._useUTC?" UTC":""))});r(0,["YY",2],0,function(){return this.year()%100});r(0,["YYYY",4],0,"year");r(0,["YYYYY",5],0,"year");r(0,["YYYYYY",6,!0],0,"year");l("year","y");t("Y",wi);t("YY",h,y);t("YYYY",yr,vr);t("YYYYY",pi,vi);t("YYYYYY",pi,vi);c(["YYYYY","YYYYYY"],b);c("YYYY",function(n,t){t[b]=2===n.length?i.parseTwoDigitYear(n):s(n)});c("YY",function(n,t){t[b]=i.parseTwoDigitYear(n)});i.parseTwoDigitYear=function(n){return s(n)+(s(n)>68?1900:2e3)};dr=yt("FullYear",!1);r("w",["ww",2],"wo","week");r("W",["WW",2],"Wo","isoWeek");l("week","w");l("isoWeek","W");t("w",h);t("ww",h,y);t("W",h);t("WW",h,y);ni(["w","ww","W","WW"],function(n,t,i,r){t[r.substr(0,1)]=s(n)});ie={dow:0,doy:6};r("DDD",["DDDD",3],"DDDo","dayOfYear");l("dayOfYear","DDD");t("DDD",yi);t("DDDD",ne);c(["DDD","DDDD"],function(n,t,i){i._dayOfYear=s(n)});i.ISO_8601=function(){};re=w("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var n=o.apply(null,arguments);return this>n?this:n});ue=w("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var n=o.apply(null,arguments);return n>this?this:n});tf("Z",":");tf("ZZ","");t("Z",bi);t("ZZ",bi);c(["Z","ZZ"],function(n,t,i){i._useUTC=!0;i._tzm=er(n)});fe=/([\+\-]|\d\d)/gi;i.updateOffset=function(){};ee=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/;oe=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;tt.fn=si.prototype;se=ff(1,"add");he=ff(-1,"subtract");i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";gr=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(n){return void 0===n?this.localeData():this.locale(n)});r(0,["gg",2],0,function(){return this.weekYear()%100});r(0,["GG",2],0,function(){return this.isoWeekYear()%100});hi("gggg","weekYear");hi("ggggg","weekYear");hi("GGGG","isoWeekYear");hi("GGGGG","isoWeekYear");l("weekYear","gg");l("isoWeekYear","GG");t("G",wi);t("g",wi);t("GG",h,y);t("gg",h,y);t("GGGG",yr,vr);t("gggg",yr,vr);t("GGGGG",pi,vi);t("ggggg",pi,vi);ni(["gggg","ggggg","GGGG","GGGGG"],function(n,t,i,r){t[r.substr(0,2)]=s(n)});ni(["gg","GG"],function(n,t,r,u){t[u]=i.parseTwoDigitYear(n)});r("Q",0,0,"quarter");l("quarter","Q");t("Q",gf);c("Q",function(n,t){t[d]=3*(s(n)-1)});r("D",["DD",2],"Do","date");l("date","D");t("D",h);t("DD",h,y);t("Do",function(n,t){return n?t._ordinalParse:t._ordinalParseLenient});c(["D","DD"],k);c("Do",function(n,t){t[k]=s(n.match(h)[0],10)});nu=yt("Date",!0);r("d",0,"do","day");r("dd",0,0,function(n){return this.localeData().weekdaysMin(this,n)});r("ddd",0,0,function(n){return this.localeData().weekdaysShort(this,n)});r("dddd",0,0,function(n){return this.localeData().weekdays(this,n)});r("e",0,0,"weekday");r("E",0,0,"isoWeekday");l("day","d");l("weekday","e");l("isoWeekday","E");t("d",h);t("e",h);t("E",h);t("dd",ri);t("ddd",ri);t("dddd",ri);ni(["dd","ddd","dddd"],function(n,t,i){var r=i._locale.weekdaysParse(n);null!=r?t.d=r:e(i).invalidWeekday=n});ni(["d","e","E"],function(n,t,i,r){t[r]=s(n)});var oa="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),sa="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ha="Su_Mo_Tu_We_Th_Fr_Sa".split("_");for(r("H",["HH",2],0,"hour"),r("h",["hh",2],0,function(){return this.hours()%12||12}),lf("a",!0),lf("A",!1),l("hour","h"),t("a",af),t("A",af),t("H",h),t("h",h),t("HH",h,y),t("hh",h,y),c(["H","HH"],a),c(["a","A"],function(n,t,i){i._isPm=i._locale.isPM(n);i._meridiem=n}),c(["h","hh"],function(n,t,i){t[a]=s(n);e(i).bigHour=!0}),ce=/[ap]\.?m?\.?/i,le=yt("Hours",!0),r("m",["mm",2],0,"minute"),l("minute","m"),t("m",h),t("mm",h,y),c(["m","mm"],lt),ae=yt("Minutes",!1),r("s",["ss",2],0,"second"),l("second","s"),t("s",h),t("ss",h,y),c(["s","ss"],at),ve=yt("Seconds",!1),r("S",0,0,function(){return~~(this.millisecond()/100)}),r(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),r(0,["SSS",3],0,"millisecond"),r(0,["SSSS",4],0,function(){return 10*this.millisecond()}),r(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),r(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),r(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),r(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),r(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),l("millisecond","ms"),t("S",yi,gf),t("SS",yi,y),t("SSS",yi,ne),rt="SSSS";rt.length<=9;rt+="S")t(rt,/\d+/);for(rt="S";rt.length<=9;rt+="S")c(rt,wc);ye=yt("Milliseconds",!1);r("z",0,0,"zoneAbbr");r("zz",0,0,"zoneName");n=dt.prototype;n.add=se;n.calendar=ds;n.clone=gs;n.diff=uh;n.endOf=vh;n.format=oh;n.from=sh;n.fromNow=hh;n.to=ch;n.toNow=lh;n.get=lu;n.invalidAt=nc;n.isAfter=nh;n.isBefore=th;n.isBetween=ih;n.isSame=rh;n.isValid=dh;n.lang=gr;n.locale=sf;n.localeData=hf;n.max=ue;n.min=re;n.parsingFlags=gh;n.set=lu;n.startOf=ah;n.subtract=he;n.toArray=bh;n.toObject=kh;n.toDate=wh;n.toISOString=of;n.toJSON=of;n.toString=eh;n.unix=ph;n.valueOf=yh;n.year=dr;n.isLeapYear=lo;n.weekYear=tc;n.isoWeekYear=ic;n.quarter=n.quarters=fc;n.month=yu;n.daysInMonth=oo;n.week=n.weeks=po;n.isoWeek=n.isoWeeks=wo;n.weeksInYear=uc;n.isoWeeksInYear=rc;n.date=nu;n.day=n.days=lc;n.weekday=ac;n.isoWeekday=vc;n.dayOfYear=ko;n.hour=n.hours=le;n.minute=n.minutes=ae;n.second=n.seconds=ve;n.millisecond=n.milliseconds=ye;n.utcOffset=ss;n.utc=cs;n.local=ls;n.parseZone=as;n.hasAlignedHourOffset=vs;n.isDST=ys;n.isDSTShifted=ps;n.isLocal=ws;n.isUtcOffset=bs;n.isUtc=rf;n.isUTC=rf;n.zoneAbbr=bc;n.zoneName=kc;n.dates=w("dates accessor is deprecated. Use date instead.",nu);n.months=w("months accessor is deprecated. Use month instead",yu);n.years=w("years accessor is deprecated. Use year instead",dr);n.zone=w("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",hs);var ca=n,u=fu.prototype;u._calendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};u.calendar=nl;u._longDateFormat={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};u.longDateFormat=tl;u._invalidDate="Invalid date";u.invalidDate=il;u._ordinal="%d";u.ordinal=rl;u._ordinalParse=/\d{1,2}/;u.preparse=vf;u.postformat=vf;u._relativeTime={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};u.relativeTime=ul;u.pastFuture=fl;u.set=el;u.months=uo;u._months=ra;u.monthsShort=fo;u._monthsShort=ua;u.monthsParse=eo;u.week=ao;u._week=ie;u.firstDayOfYear=yo;u.firstDayOfWeek=vo;u.weekdays=oc;u._weekdays=oa;u.weekdaysMin=hc;u._weekdaysMin=ha;u.weekdaysShort=sc;u._weekdaysShort=sa;u.weekdaysParse=cc;u.isPM=yc;u._meridiemParse=ce;u.meridiem=pc;gt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(n){var t=n%10,i=1===s(n%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return n+i}});i.lang=w("moment.lang is deprecated. Use moment.locale instead.",gt);i.langData=w("moment.langData is deprecated. Use moment.localeData instead.",et);var g=Math.abs,la=it("ms"),aa=it("s"),va=it("m"),ya=it("h"),pa=it("d"),wa=it("w"),ba=it("M"),ka=it("y"),da=ht("milliseconds"),ga=ht("seconds"),nv=ht("minutes"),tv=ht("hours"),iv=ht("days"),rv=ht("months"),uv=ht("years"),bt=Math.round,ut={s:45,m:45,h:22,d:26,M:11},tu=Math.abs,f=si.prototype;return f.abs=al,f.add=vl,f.subtract=yl,f.as=wl,f.asMilliseconds=la,f.asSeconds=aa,f.asMinutes=va,f.asHours=ya,f.asDays=pa,f.asWeeks=wa,f.asMonths=ba,f.asYears=ka,f.valueOf=bl,f._bubble=pl,f.get=kl,f.milliseconds=da,f.seconds=ga,f.minutes=nv,f.hours=tv,f.days=iv,f.weeks=dl,f.months=rv,f.years=uv,f.humanize=ia,f.toISOString=ci,f.toString=ci,f.toJSON=ci,f.locale=sf,f.localeData=hf,f.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ci),f.lang=gr,r("X",0,0,"unix"),r("x",0,0,"valueOf"),t("x",wi),t("X",/[+-]?\d+(\.\d{1,3})?/),c("X",function(n,t,i){i._d=new Date(1e3*parseFloat(n,10))}),c("x",function(n,t,i){i._d=new Date(s(n))}),i.version="2.10.6",pe(o),i.fn=ca,i.min=es,i.max=os,i.utc=kt,i.unix=dc,i.months=ol,i.isDate=fi,i.locale=gt,i.invalid=ru,i.duration=tt,i.isMoment=nt,i.weekdays=hl,i.parseZone=gc,i.localeData=et,i.isDuration=fr,i.monthsShort=sl,i.weekdaysMin=ll,i.defineLocale=su,i.weekdaysShort=cl,i.normalizeUnits=p,i.relativeTimeThreshold=ta,i});console.log("Loading fincwsapi.js");$fincwsapi=function(){function r(){s=new Date}function l(){return s?(new Date-s)/1e3:-1}function e(){return window.$Runtime?{"X-is-web-id":$Runtime.WebId(),"X-is-time-zone-id":$Runtime.TzId(),"X-is-time-zone-id-local":window.localStorage.getItem($Runtime.WebRoot()+"._TzId")}:null}function a(o,s,h){var a,l,c;a=!0;c=$.extend({},f,h);s||(s={});!t||h&&h.fail||(c.fail=t);h&&h.error&&console.warn("  options.error is specified. This is deprecated. Specify options.fail instead.");h&&h.success&&console.warn("  options.success is specified. This is deprecated. Specify options.done instead.");r();l=i+"/"+o;$.ajax({method:"GET",headers:e(),url:l,cache:!1,data:s,timeout:u}).fail(function(t,i,r){c.fail(t,i,r);n&&t.status==401&&n(t)}).done(function(n,t,i){c.done(n,t,i)}).always(function(){c.always&&c.always()})}function v(o,s,h,c){var v,a,l;v=!0;l=$.extend({},f,c);h||(h={});!t||c&&c.fail||(l.fail=t);c&&c.error&&console.warn("  options.error is specified. This is deprecated. Specify options.fail instead.");c&&c.success&&console.warn("  options.success is specified. This is deprecated. Specify options.done instead.");r();a=i+"/"+s;$.ajax({method:"GET",headers:e(),url:a,data:h,timeout:u}).fail(function(t,i,r){l.fail(t,i,r);n&&t.status==401&&n(t)}).done(function(n,t,i){l.done(n,t,i)}).always(function(){l.always&&l.always()})}function y(t,i,o){var h,s;h=!0;s=$.extend({},f,o);i||(i={});o&&o.error&&console.warn("  options.error is specified. This is deprecated. Specify options.fail instead.");o&&o.success&&console.warn("  options.success is specified. This is deprecated. Specify options.done instead.");r();$.ajax({method:"GET",headers:e(),url:t,cache:!1,data:i,timeout:u}).fail(function(t,i,r){s.fail?s.fail(t,i,r):window.alert("No fail handler supplied for fincwapi.GetDirect. The 'Global' handlers are NOT used for 'direct' requests.");n&&t.status==401&&n(t)}).done(function(n,t,i){s.done(n,t,i)}).always(function(){s.always&&s.always()})}function p(n,t,i){var e,u,f;if(console.log("fincwapi.GetDirectDownload - Begin"),e=!0,t||(t={}),Object.keys(t).length!=0){u="";for(f in t)u&&(u+="&"),u+=f+"="+encodeURIComponent(t[f]);t&&(n+="?"+u)}r();i?i.location.href=n:window.open(n);console.log("fincwapi.GetDirectDownload - End")}function w(o,s,h,c){var v,a,l;v=!0;l=$.extend({},f,c);s||(s={});h||(h={});!t||c&&c.fail||(l.fail=t);c&&c.error&&console.warn("  options.error is specified. This is deprecated. Specify options.fail instead.");c&&c.success&&console.warn("  options.success is specified. This is deprecated. Specify options.done instead.");a=i+"/"+o;Object.keys(s).length!=0&&window.alert("WARNING: Passing parameters to a POST-based Web Service is not yet implemented in fincwsapi.js.");r();$.ajax({method:"POST",headers:e(),url:a,cache:!1,contentType:"application/json;charset=utf-8",data:JSON.stringify(h),timeout:u}).fail(function(t,i,r){l.fail(t,i,r);n&&t.status==401&&n(t)}).done(function(n,t,i){l.done(n,t,i)}).always(function(){l.always&&l.always()})}function b(i,o,s,h){var v,c,l,a;if(v=!0,c=$.extend({},f,h),o||(o={}),s||(s={}),!t||h&&h.fail||(c.fail=t),h&&h.error&&console.warn("  options.error is specified. This is deprecated. Specify options.fail instead."),h&&h.success&&console.warn("  options.success is specified. This is deprecated. Specify options.done instead."),Object.keys(o).length!=0){l="";for(a in o)l&&(l+="&"),l+=a+"="+encodeURIComponent(o[a]);o&&(i+="?"+l)}r();$.ajax({method:"POST",headers:e(),url:i,cache:!1,contentType:c.contentType,data:JSON.stringify(s),timeout:u}).fail(function(t,i,r){c.fail(t,i,r);n&&t.status===401&&n(t)}).done(function(n,t,i){c.done(n,t,i)}).always(function(){c.always&&c.always()})}function k(n,t,i,r){t||(t=16);i||(i="");var u=n.indexOf("|");return u!=-1&&(i=n.substr(u+1),n=n.substr(0,u)),r==undefined&&(r=!0),r&&window.devicePixelRatio>1.25&&(t*=2),o+encodeURI("Icon/GetIcon?icon="+n+"&size="+t+"&overlay="+i)}function d(n,t){var i="",r=16;t==undefined&&(t=!0);t&&window.devicePixelRatio>1.25&&(r*=2);switch(n){case 0:i="Account";break;case 1:i="Client";break;case 2:i="SecurityStmt";break;case 3:i="SecurityStmt";break;case 4:i="User";break;case 5:i="AccountApp"}return o+encodeURI("Icon/GetIcon?icon="+i+"&size="+r)}function g(n){return i+n}var u=12e4,i=null,o=null,h={},t=null,n=null,s=null,c=function(r){var u;return console.log("fincwapi.Initialise - Begin"),u=!0,r?r.BaseUrl||(u=!1,window.alert("No configuration BaseUrl supplied.")):(u=!1,window.alert("No configuration object supplied.")),u&&(h=r,i=r.BaseUrl,o=r.BaseUrlIcon?r.BaseUrlIcon:i,t=r.GlobalAjaxFail?r.GlobalAjaxFail:null,n=r.GlobalAjaxFail401?r.GlobalAjaxFail401:null),console.log("fincwapi.Initialise - End"),u},f={always:function(){},done:function(n){window.alert("done: "+n+"\n\nNOTE: To handle this event, pass a 'done' function callback as part of the options object supplied to all Web Service calls.")},fail:function(n){window.alert("status: "+n.status+"\nerror: "+n.responseText+"\n\nNOTE: To handle this event, pass a 'fail' function callback as part of the options object supplied to all Web Service calls.\n\nAlternatively, you can define a global handler when configuring the Web Services API by specifying a 'GlobalAjaxFail' entry in the configuration supplied to the Initialise method.")},contentType:"application/json;charset=utf-8"};return{Version:"1.01",Initialise:c,ResolveUrl:g,CACHE_SHORT:30,CACHE_MEDIUM:300,CACHE_LONG:1200,CACHE_INDEFINITE:-1,Get:a,GetCached:v,GetDirect:y,GetDirectDownload:p,GetIconUrl:k,GetLogClassIconUrl:d,Post:w,PostDirect:b,LastRequestSeconds:l}}();console.log("  $fincwsapi: "+typeof $fincwsapi);console.log("    .Version: "+$fincwsapi.Version);console.log("Loading lib/isruntime.js");$Runtime=function(){function at(n){n.currencyDecimals&&(r=n.currencyDecimals);n.currencySymbol&&(s=n.currencySymbol);n.dateFormat&&(u=n.dateFormat);n.timeFormat&&(g=n.timeFormat);n.dateFormatGrids&&(f=n.dateFormatGrids);n.timeFormatGrids&&(ut=n.timeFormatGrids);n.dayMonthYearOrder&&(i=n.dayMonthYearOrder);n.webRoot&&(ot=n.webRoot);n.webId&&(et=n.webId);n.tzId&&(ft=n.tzId);n.themeContrastColourBackground&&(nt=n.themeContrastColourBackground);n.themeMainColourForeground&&(tt=n.themeMainColourForeground);n.themeMainColourBackground&&(it=n.themeMainColourBackground);n.themeMainColourForeground&&(rt=n.themeMainColourForeground);$(window).mousemove(function(n){w=n.clientX;b=n.clientY});$(document.body).bind("keydown keyup",function(n){k=n.shiftKey});String.prototype.endsWith||(String.prototype.endsWith=function(n,t){var i=this.toString(),r;return(typeof t!="number"||!isFinite(t)||Math.floor(t)!==t||t>i.length)&&(t=i.length),t-=n.length,r=i.indexOf(n,t),r!==-1&&r===t},String.prototype.startsWith||(String.prototype.startsWith=function(n,t){return t=t||0,this.substr(t,n.length)===n}))}function vt(n,t){var r,u,i,e,f=[];if(n=""+n,t||(t=","),n.length==0)return[];for(u=0,r=0;r<n.length;r++)switch(n.substr(r,1)){case t:e||(i=n.substr(u,r-u),i.length>2&&i.charAt(0)=='"'&&i.charAt(i.length-1)=='"'&&(i=i.substr(1,i.length-2)),i=i.replace(/\"\"/g,'"'),f.push(i),u=r+1);break;case'"':e=!e}return u<=n.length?(i=n.substr(u),i.length>2&&i.charAt(0)=='"'&&i.charAt(i.length-1)=='"'&&(i=i.substr(1,i.length-2)),i=i.replace(/\"\"/g,'"'),f.push(i)):n.charAt(n.length-1)==t&&f.push(""),f}function yt(n){for(var i,t="",r=0;r<n.length;r++)i=n[r],t&&(t+=","),t+=i.indexOf(",")!=-1?'"'+i+'"':i;return t}function pt(n){return"xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=Math.random()*16|0,u=t==="x"?r:r&3|8,i=u.toString(16);return n&&(i=i.replace(/-/g,"")),i})}function wt(n){return new ISRanges(this,n)}function bt(n){return new ISUrlFragments(this,n)}function kt(){return new ISKeyValueList(this)}function dt(n,t){return n?t?new Date(n.getFullYear(),n.getMonth(),n.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()):new Date(n.getFullYear(),n.getMonth(),n.getDate()):null}function gt(n,t){return n?t?new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())):new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate())):null}function ni(){return s}function ti(){return i}function ii(n){return n?new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate())):null}function h(n){return window.alert("$ISRuntime.ConvertUtcToLocal: Not yet implemented!"),n}function ri(n){return window.alert("$ISRuntime.ConvertLocalToUtc: Not yet implemented!"),n}function c(t,i,r,f){return t?(r&&(t=h(t)),i?n(t,u+" "+g,f):n(t,u,f)):""}function ui(t,i,r,u,e){return t?(r&&(t=h(t)),i?(e||(e=!1),e?n(t,f+" HH:mm:ss",u):n(t,f+" "+ut,u)):n(t,f,u)):""}function n(n,t,i){var r,u,o,s,f,e;return n?(typeof n=="string"&&(n=new Date(n)),r=t,i?(r=r.replace("dd",("0"+n.getUTCDate()).slice(-2)),r=r.replace("d",n.getUTCDate()),r=r.replace("MM",("0"+(n.getUTCMonth()+1)).slice(-2)),r=r.replace("M",n.getUTCMonth()+1),u=n.getUTCFullYear(),r=r.replace("yyyy",u),r=r.replace("yy",(u+"").substr(2))):(r=r.replace("dd",("0"+n.getDate()).slice(-2)),r=r.replace("d",n.getDate()),r=r.replace("MM",("0"+(n.getMonth()+1)).slice(-2)),r=r.replace("M",n.getMonth()+1),u=n.getFullYear(),r=r.replace("yyyy",u),r=r.replace("yy",(u+"").substr(2))),i?(o=n.getUTCSeconds(),s=n.getUTCMinutes(),f=n.getUTCHours()):(o=n.getSeconds(),s=n.getMinutes(),f=n.getHours()),e=f,e>12&&(e-=12),r=r.replace("HH",("0"+f).slice(-2)),r=r.replace("H",f),r=r.replace("hh",("0"+e).slice(-2)),r=r.replace("h",e),r=r.replace("mm",("0"+s).slice(-2)),r=r.replace("m",s),r=r.replace("ss",("0"+o).slice(-2)),r=r.replace("s",o),f<12?(r=r.replace("tt","a.m."),r=r.replace("t","a")):(r=r.replace("tt","p.m."),r=r.replace("t","p")),r):""}function st(t,i,r){return t?r?i&&t.getUTCHours()==0&&t.getUTCMinutes()==0&&t.getUTCSeconds()==0?"":n(t,"HH:mm:ss",r):i&&t.getHours()==0&&t.getMinutes()==0&&t.getSeconds()==0?"":n(t,"HH:mm:ss"):""}function fi(){var n=new Date;return new Date(n.getFullYear(),n.getMonth(),n.getDate())}function ei(){var n=new Date;return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()))}function oi(){var n=new Date;return new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds())}function si(){var n=new Date;return new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()))}function hi(n,t){var i=function(n,t){var i=(""+n).split("e");return+(i[0]+"e"+(i[1]?+i[1]+t:t))};return i(Math.round(i(n,+t)),-t)}function ci(n){return n&&(n.GetPage=function(t){var i,r;if(n.Pages)for(t=t.toUpperCase(),i=0;i<n.Pages.length;i++)if(r=n.Pages[i],r.PageId.toUpperCase()===t)return r;return null},n.ClearPage=function(t){var i,r;if(n.Pages)for(t=t.toUpperCase(),i=0;i<n.Pages.length;i++)if(r=n.Pages[i],r.PageId.toUpperCase()==t){r.ContentLoaded=!1;break}return null}),n}function li(n,t,i){if(n==0&&i)return"";var r=l(n,-1,!0,!1);return n<0&&(r=r.substr(1)),t&&(r=s+r),n<0&&(r="("+r+")"),r}function l(n,t,i,u){var h=!1,f;if(n==0&&u)return"";if(t==-1&&(t=r,h=!0),(n==null||n==""||isNaN(n))&&(n=0),n=parseFloat(n),f=n.toFixed(t)+"",i){f+="";for(var o=f.split("."),e=o[0],c=o.length>1?"."+o[1]:"",s=/(\d+)(\d{3})/;s.test(e);)e=e.replace(s,"$1,$2");f=e+c}return f==0&&u?"":f}function ai(n,t){var i=t?["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];try{return i[n]}catch(r){return t?"Un":"Unknown"}}function ht(n,t){var i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][n%7];return t?i.substring(0,3):i}function vi(n,t){return!n||!n.getDay?"":ht(n.getDay(),t)}function yi(n,t){var i=t?["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]:["January","February","March","April","May","June","July","August","September","October","November","December"];try{return i[n]}catch(r){return t?"Un":"Unknown"}}function pi(n,t,i){n=$.extend({},{},n);t=t.toUpperCase();for(var r in n)if(r.toUpperCase()==t)return n[r];return i}function wi(n,t){for(var r,u,f=[],e=0,i=0;i<n.length;i++)r=new FileReader,u=n[i],r.readAsDataURL(u),r.onload=function(i){return function(r){e+=1;f.push({name:i.name,data:r.target.result});e==n.length&&t(f)}}(u)}function bi(n){var i="",t;if(n&&n.statusText==="timeout")return{Code:"timeout",Message:"The call to Web Services timed out indicating that the server-side process has taken more than 120 seconds and may still be running.",InternalMessage:""};typeof n=="string"?i=n:n&&n.responseText&&(i=n.responseText);t={};try{t=$.parseJSON(i);dat.statusText==="timeout"&&window.alert("timeout")}catch(r){}return t.Code||(t.Code=""),t.Message||(t.Message="An unknown error occurred."),t.InternalMessage||(t.InternalMessage=""),t}function ki(n,t){return n+="",n=n.replace(/\n/g,"~br~"),n=$("<div/>").text(n).html(),t&&(n=n.replace(/ /g,"&nbsp;")),n.replace(/~br~/g,"<br/>")}function di(){return window.devicePixelRatio>1.25}function gi(){return e}function nr(){return v}function tr(){return y}function ir(){return p}function rr(){return o}function ur(){return d}function fr(n){var t=window.document,i=t.documentElement,r=i.requestFullscreen||i.mozRequestFullScreen||i.webkitRequestFullScreen||i.msRequestFullscreen,u=t.exitFullscreen||t.mozCancelFullScreen||t.webkitExitFullscreen||t.msExitFullscreen;if(n===undefined)return!t.fullscreenElement&&!t.mozFullScreenElement&&!t.webkitFullscreenElement&&!t.msFullscreenElement;n?r.call(i):u.call(t)}function er(n){var i=0,t=n.split(".");return t.length>=0&&(i+=parseInt(t[0])*1e7),t.length>=1&&(i+=parseInt(t[1])*1e4),t.length>=2&&(i+=parseInt(t[2])*100),t.length>=3&&(i+=parseInt(t[3])*1),i}function or(n){if(typeof n=="string"&&(n=$("#"+n)),n)try{return n.prop("checked")}catch(n){return!1}else return!1}function sr(n,t){var i,r;typeof n=="string"?(i=n,n=$("#"+n)):i=$(n).attr("id");r=$(n);r.length===0?console.warn("runtime.SetBoolean: Element '"+i+"' not found."):(t=t===!0||t==="True"||t==="true",r.prop("checked",t))}function hr(n){if(typeof n=="string"&&(n=$("#"+n)),n)try{var t=ct(n.val(),0);return isNaN(t)?0:t}catch(n){return 0}else return 0}function cr(n,t){var r,i,u,f;typeof n=="string"?(r=n,n=$("#"+n)):r=$(n).attr("id");i=$(n);i.length===0?console.warn("runtime.SetInteger: Element '"+r+"' not found."):(u=i[0].getAttribute("is:blank-if-zero")=="true"?!0:!1,f=i[0].getAttribute("is:show-separators")=="false"?!1:!0,i.val(l(t,0,f,u)))}function lr(n,t){if(typeof t=="undefined"&&(t=!0),typeof n=="string"&&(n=$("#"+n)),n)try{var i=$(n).val();return t&&(i=a(i)),i}catch(n){return""}else return""}function ar(n,t){var i,r;typeof n=="string"?(i=n,n=$("#"+n)):i=$(n).attr("id");t===null&&(t="");r=$(n);r.length==0?console.warn("runtime.SetString: Element '"+i+"' not found."):r.val(t)}function vr(n,t,i){var f="",r,o,e,u;if(t==undefined&&(t=!0),i==undefined&&(i=!0),n)n=a(n);else return"";for(r=!0,o="",e=0;e<n.length;e++){u=n[e];switch(u){case" ":r=!0;break;default:i&&"0123456789".indexOf(u)!=-1&&!"0123456789".indexOf(o)==-1?(r||(f+=" "),r=!0):u==u.toUpperCase()?(r||(f+=" "),r=!0):r=!1}t?(t=!1,f+=u.toUpperCase()):f+=u}return f}function yr(n,t){var u,r,i;for(t?t+="":t="",u=t.toUpperCase(),r=!1,i=0;i<n.length;i++)if(n[i].toUpperCase()==u){r=!0;break}r||n.push(t)}function pr(n,t){var i=n.indexOf(t);i!=-1&&n.splice(i,1)}function ct(n,t){t==-1&&(t=r);n+="";n=n.replace(/\,/g,"");n.startsWith("(")&&n.endsWith(")")&&(n=n.substr(1,n.length-2),n="-"+n);var i=parseFloat(parseFloat(n).toFixed(t));return i?i:0}function wr(n,t){var e,o,r;if(n){var i=0,u=0,f=0;n=n.toUpperCase();e=n.indexOf("A")!=-1;o=n.indexOf("P")!=-1;(n=="NOW"||n=="TODAY")&&(n=st(new Date,!1,!1));r=n.split(":");r.length>0&&(i=parseFloat(r[0]));r.length>1&&(u=parseFloat(r[1]));r.length>2&&(f=parseFloat(r[2]));o&&i<12?i+=12:e&&i==12&&(i-=12);try{return isNaN(i)||isNaN(u)||isNaN(f)?null:t?new Date(Date.UTC(2e3,0,1,i,u,f)):new Date(2e3,0,1,i,u,f)}catch(s){return null}}else return null}function lt(n){return n.replace(/^\s+|\s+$/g,"")}function a(n){return n.replace(/\s+$/,"")}function br(){return ft}function kr(){return et}function dr(){return ot}var e=!1,v=!1,y=!1,p=!1,o=!1,w=0,b=0,k=!1,d=!1,r=2,s="$",i="DMY",u="dd/MM/yyyy",g="hh:mmtt",nt="pink",tt="yellow",it="darkcyan",rt="purple",f="dd/MM/yyyy",ut="HH:mm",ft,et,ot;return screen.width<=640?(e=!0,v=!0):/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),y=navigator.userAgent.toLocaleLowerCase().indexOf("android")>-1,p=/iPad|iPhone|iPod/.test(navigator.userAgent),o=/Windows/.test(navigator.userAgent),d=o,ParseAjaxError=function(n){var t,i="",u="",r="";try{t=$.parseJSON(n.responseText);t.Message&&(u=t.Message);t.InternalMessage&&(r=t.InternalMessage);i=u;r&&(i+="\n\n"+r)}catch(f){}return i||t||(i="An error occurred communicating with the server.\n\nStatus: "+n.status+"\n\nResponse: "+n.responseText),i},ParseDate=function(n,t,r){var s,f=0,u=0,e=0,v,h,a,o,l,y;if(n&&(n=n.toUpperCase()),!n)return null;if((n=="NOW"||n=="TODAY")&&(n=c(new Date,!1,!1,!1)),n.match(/[a-zA-Z]/)!=null)if("0123456789".indexOf(n.substr(n.length-1,1))==-1&&(n+=" "+(new Date).getFullYear()),f=Date.parse(n),f)n=c(new Date(f),!1,!1,!1);else return null;if(/^\d+$/.test(n)){if(h=new Date,o=parseFloat(n),a=h.getFullYear(),a-=Math.floor(a/100)*100,o==0)f=0,u=0,e=0;else if(o<100)f=o,u=h.getMonth()+1,e=h.getFullYear();else if(o<1e4)i.indexOf("D")<i.indexOf("M")?(f=Math.floor(o/100),u=Math.floor(o-f*100)):(u=Math.floor(o/100),f=Math.floor(o-u*100)),e=h.getFullYear(),h.getMonth()<2&&u>10?e-=1:h.getMonth()>9&&u<3&&(e+=1);else if(o<1e5)switch(i){case"DMY":u=Math.floor(o/100);e=Math.floor(o-u*100);e<100&&(l=Math.floor(h.getFullYear()/100)*100,t&&e>a&&(l-=100),e+=l);f=Math.floor(u/100);u-=f*100;break;case"MDY":f=Math.floor(o/100);e=Math.floor(o-f*100);e<100&&(l=Math.floor(h.getFullYear()/100)*100,t&&e>a&&(l-=100),e+=l);u=Math.floor(f/100);f-=u*100;break;case"YMD":window.alert("YMD date order not implemented")}else if(o<1e8)switch(i){case"DMY":u=Math.floor(o/1e4);e=Math.floor(o-u*1e4);f=Math.floor(u/100);u-=f*100;break;case"MDY":f=Math.floor(o/1e4);e=Math.floor(o-f*1e4);u=Math.floor(f/100);f-=u*100;break;case"YMD":window.alert("YMD date order not implemented")}else f=0,u=0,e=0;return(f>31||u>12)&&(f=0,u=0,e=0),f==0&&u==0&&e==0?null:r?new Date(Date.UTC(e,u-1,f)):new Date(e,u-1,f)}s=n.indexOf("/")!=-1?n.split("/"):n.indexOf("-")!=-1?n.split("-"):n.split(" ");i=="DMY"?(s.length>0&&(f=parseFloat(s[0])),s.length>1&&(u=parseFloat(s[1])),s.length>2&&(e=parseFloat(s[2]))):(s.length>0&&(u=parseFloat(s[0])),s.length>1&&(f=parseFloat(s[1])),s.length>2&&(e=parseFloat(s[2])));u==0&&(u=(new Date).getMonth()+1);u>12&&f<13&&(v=u,u=f,f=v);e==0&&(e=(new Date).getFullYear());e<100&&(t?(y=parseFloat(((new Date).getFullYear()+"").substr(2,2)),e+=e<y?2e3:1900):e+=2e3);e>9999&&(e=9999);try{return isNaN(e)||isNaN(u)||isNaN(f)?null:r?new Date(Date.UTC(e,u-1,f)):new Date(e,u-1,f)}catch(p){return null}},ParseJsonDate=function(n){return n?moment(n).toDate():null},{ArrayFromCsvString:vt,ArrayToCsvString:yt,CombineDateTime:dt,CombineDateTimeUtc:gt,ConvertUtcToLocal:h,ConvertLocalToUtc:ri,GetDateUtc:ii,CreateRanges:wt,CreateGuid:pt,CreateUrlFragments:bt,CreateKeyValueList:kt,CurrencySymbol:ni,DayMonthYearOrder:ti,FormHeaderInfoExtend:ci,FormatCurrency:li,FormatDate:c,FormatDateForGrid:ui,FormatNumber:l,FormatTime:st,CurrencyDecimals:function(){return r},Round:hi,GetDayOfWeekName:ai,GetMonthName:yi,GetWeekDayName:ht,GetWeekDayNameFromDate:vi,GetBoolean:or,GetInteger:hr,GetString:lr,GetCurrentDate:fi,GetCurrentDateUtc:ei,GetCurrentDateTime:oi,GetCurrentDateTimeUtc:si,GetFileData:wi,GetProperty:pi,GetWsError:bi,HtmlEncode:ki,IsShiftPressed:function(){return k},MouseX:function(){return w},MouseY:function(){return b},SetBoolean:sr,SetInteger:cr,SetString:ar,SplitWordsAtCapitals:vr,StringArrayAddUnique:yr,ArrayRemove:pr,Initialise:at,IsHighDpi:di,IsMobileBrowser:gi,IsSmallMobileBrowser:nr,IsPlatformAndroid:tr,IsPlatformIOS:ir,IsPlatformWindows:rr,SupportsDragDrop:ur,FullScreen:fr,VersionToInt:er,WebId:kr,WebRoot:dr,TzId:br,ParseAjaxError:ParseAjaxError,ParseDate:ParseDate,ParseJsonDate:ParseJsonDate,ParseNumber:ct,ParseTime:wr,LTrim:lt,RTrim:a,Trim:lt,ThemeContrastColourBackground:function(){return nt},ThemeContrastColourForeground:function(){return tt},ThemeMainColourBackground:function(){return it},ThemeMainColourForeground:function(){return rt},FormatDateInternal:n,DateFormat:function(){return u}}}();console.log("  $Runtime: "+typeof $Runtime);console.log("    .IsMobileBrowser: "+$Runtime.IsMobileBrowser());Date.prototype.Date=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate())};String.prototype.like=function(n){return typeof n!="string"||this===null?!1:(n=n.replace(new RegExp("([\\.\\\\\\+\\\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:\\-])","g"),"\\$1"),n=n.replace(/\*/g,".*").replace(/\?/g,"."),RegExp("^"+n+"$","gi").test(this))};console.log("Loading lib/isuserinterface.js");$UI=function(){function yt(t){t.iconResolver&&(w=t.iconResolver);ut=$("div#themecolourtester").css("background-color");ct($Runtime.IsMobileBrowser());$(document.body).bind("keydown",function(t){if(t.keyCode==27&&n.length>0){var i=n[n.length-1];i.CloseOnEscape()&&i.Close()}});$(window).bind("resize",function(){y()});window.setInterval(function(){y()},1e3)}function y(n){var i,t,u,r;for(n&&console.log("relaligning layouts"),i=n?$("div.is-grid-container",n):$("div.is-grid-container"),t=0;t<i.length;t++){u=$(i[t]);r=u.prop("is-control");switch(r.TypeName){case"Grid":r.RealignLayout()}}}function nt(n){v=n?n.ModalId():"ADHOC"+$Runtime.CreateGuid()}function tt(){v=""}function pt(n,t){var i,r,f,e,u;if(n.removeClass("is-filtered-out"),t&&(i=t.toUpperCase().split(" "),i.length>0))for(r=0;r<n.length;r++){for(f=$(n[r]),e=!0,u=0;u<i.length;u++){var s=i[u],h=!1,o=f.text();if(s&&o!=" "&&o&&o.toUpperCase().indexOf(s)!=-1&&(h=!0),!h){e=!1;break}}e||f.addClass("is-filtered-out")}}function wt(n){var i=$("label.is-label-heading",n),t,r;for(i.removeClass("first"),t=0;t<i.length;t++)if(r=$(i[t]),r.is(":visible")){r.addClass("first");break}}function bt(n){var t=n.prop("id"),i=t.indexOf("ENDMODAL"),r;if(i==-1)console.warn("userinterface.FindParentModal: Element '"+t+"' does not contain a valid Modal identifier.");else return r=t.substr(0,i+8),et(r);return null}function b(n,t){return ft("#"+n,t)}function r(n,t,i){if(w){if(!i){var r=n.indexOf("|");r==-1&&(r=n.indexOf(","));r!=-1&&(i=n.substr(r+1),n=n.substr(0,r))}return w(n,t,i,!0)}return console.warn("$UI.GetIconUrl: No iconresolver has been configured for isuserinterface. Icons cannot not be displayed."),""}function kt(n,t){if($Runtime.IsPlatformIOS()){n.off("touchstart.contextmenu");var i=null;n.on("touchstart.contextmenu",function(r){r.target===n[0]&&(popped=!1,i=window.setTimeout(function(){popped=!0;var n=r.originalEvent.touches[0],i={clientX:n.pageX,clientY:n.pageY};t(i)},750))});n.on("touchend.contextmenu",function(t){t.target===n[0]&&popped&&(t.preventDefault(),t.stopPropagation());window.clearTimeout(i);i=null})}else n.on("contextmenu",t)}function ft(n,t){return t&&(n=n.replace(/#/g,"#"+t.ModalId())),$(n)}function i(n){return v+n}function dt(t){t=t.toUpperCase();for(var i=0;i<n.length;i++)if(n[i].FormKey().toUpperCase()==t)return n[i];return null}function et(t){for(var i=0;i<u.length;i++)if(u[i].ModalId()==t)return u[i];for(i=0;i<n.length;i++)if(n[i].ModalId()==t)return n[i];return null}function gt(t){t=t.toUpperCase();for(var i=0;i<n.length;i++)if(n[i].FormKey().toUpperCase()==t)return!0;return!1}function ni(){return s,s}function ti(){for(var i=0,t=0;t<n.length;t++)n[t].AllowCloseWithoutWarning()||(i+=1);return i}function ii(n,t){return s>1?($App.NotificationsAddWarning("Cannot minimise form since more than one form is open."),!1):(c===n||($("body").addClass("has-minimised-modal"),c=n,k=t,window.setTimeout(function(){n.ModalElement().bind("click.unminimise",function(){ot()})},10)),!0)}function ot(){return c?($("body").removeClass("has-minimised-modal"),c.ModalElement().unbind("click.unminimise"),c=null,k=null,window.setTimeout(function(){$(window).trigger("resize.modal1")},500),!0):!1}function st(n,t){return c?(n&&$App.NotificationsAddInfo("Cannot perform this action since a minimised form is currently open.","",!0,"",[{text:"Show minimised form",link:"app://WebUI?showMinimisedForm"}]),t?t===k:!0):!1}function ri(t,i){n.length==0?window.alert("Failed to execute action '"+t+"' against the current modal form since no modal form is open."):n[n.length-1].ExecuteAction(t,i)}function ht(t,i){for(var r=0;r<u.length;r++)u[r].ExecuteNotificationAction(t,i);for(r=0;r<n.length;r++)n[r].ExecuteNotificationAction(t,i)}function ct(n){if(n===undefined)return d;d=n;d?$("body").addClass("always-use-pickers"):$("body").removeClass("always-use-pickers")}function h(){return g||(g=new $UI.PickerPanel),g}function ui(n,t,i){ht("BookmarkedStateChanged",{recordType:n,pk:t,bookmarked:i})}function lt(n,t,i){var u,f,w,s,k="",d,e,a,h,b,c,v,y,p,l,o;for(n.children().remove(),e=$("<div class='is-no-select showing' tabindex='-1'><\/div>"),n.append(e),a=$("<div class='caption'>Actions<\/div>"),h=$("<a><span class='is-symbol-close'><\/span><\/a>"),h.click(function(){n.off("click");n.hide()}),a.append(h),e.append(a),b=$("<div><\/div>"),e.append(b),c=$("<ul><\/ul>"),v=0,b.append(c),y=0;y<t.Actions().length;y++)u=t.Actions()[y],p=u.visible,!p&&u.repeatInGroupId&&u.repeatInGroupId.toUpperCase()=="[BUTTONSOTHER]"&&u.contextPageId&&u.enabled&&(p=!0),p&&(v+=1,u.groupId.substr(0,1)!="["&&(u.groupId!=k&&(k=u.groupId,f=$("<li class='heading'><\/li>"),f.text(u.groupId),c.append(f)),f=$("<li class='action'><\/li>"),u.system?f.addClass("system"):f.addClass("custom"),l=$("<button><\/button>"),f.append(l),u.enabled||(f.addClass("disabled"),l.attr("disabled","disabled")),u.icon&&(w=$("<img/>"),l.append(w),d=r(u.icon,16),w.attr("src",d)),s=$("<span><\/span>"),u.caption.indexOf("<small>")!=-1?s.html(u.caption):s.text(u.caption),s.attr("fincc_actionid",u.actionId),l.append(s),c.append(f),u.enabled&&(u.handler?function(t){f.click(function(){n.hide();t.handler()})}(u):function(t){f.click(function(){n.hide();i(t.actionId,t.applicationShortcutUrl?t.applicationShortcutUrl:t.data)})}(u))));v>5&&(o=$("<input type='text' placeholder='Type to filter list'/>"),a.append(o),o.bind("keyup",function(n){switch(n.keyCode){case 27:o.val("")}$UI.FilterElements($("li",c),o.val())}));n.show();n.on("click",function(n){n.target===this&&h.trigger("click")});e.bind("keyup",function(n){n.keyCode==27&&(n.target.tagName=="INPUT"||h.trigger("click"))});e.focus();!$Runtime.IsMobileBrowser()&&v>5&&o.focus();window.setTimeout(function(){e.removeClass("showing")},50)}function fi(n){for(var i=$("a, button, input, select, textarea",n),t=0;t<i.length;t++)n=$(i[t]),n.attr("disabled")||(n.attr("ISFormDisabled",!0),n.attr("disabled",!0))}function ei(n){for(var i=$("a, button, input, select, textarea",n),t=0;t<i.length;t++)n=$(i[t]),n.attr("ISFormDisabled")&&(n.removeAttr("ISFormDisabled"),n.attr("disabled",!1))}function oi(n,t){var u,i,r;for(u in n)i=n[u],i&&i.TypeName&&i.ReadOnly&&(r=!0,i.AutoReadOnly&&!i.AutoReadOnly()&&(r=!1),r&&i.ReadOnly(t))}function p(n,t,i){var u,r;t=$.extend({},MsgBoxDefaults,t);t.title==null&&(t.title="Alert");t.icon==null&&(t.icon="Warning");t.captionOk==null&&(t.captionOk="OK");t.focusActionId||(t.focusActionId="Ok");n.length<100&&n.indexOf("\n")==-1?(t.width||(t.width="50%"),t.height||(t.height="50%"),t.maxWidth==null&&(t.maxWidth=320),t.maxHeight==null&&(t.maxHeight=200)):n.length<200&&n.indexOf("\n")==-1?(t.width="60%",t.height="60%",t.maxWidth==null&&(t.maxWidth=480),t.maxHeight==null&&(t.maxHeight=320)):(t.width="80%",t.height="80%",t.maxWidth==null&&(t.maxWidth=800),t.maxHeight==null&&(t.maxHeight=800));u=$UI.Modal(t);u.Actions().Define([{groupId:"[buttons]",actionId:"Ok",caption:t.captionOk},]);u.OnAction(function(n){switch(n){case"Ok":u.Hide(!0);i&&i()}});r="";r+="<div class='is-msgbox'>";t.icon!=null&&(r+="<img src='"+$UI.GetIconUrl(t.icon,32)+"'/>");t.heading&&(r+="<h1>"+$Runtime.HtmlEncode(t.heading)+"<\/h1>");r+=t.messageIsHtml?"<p>"+n+"<p>":"<p>"+$Runtime.HtmlEncode(n)+"<\/p>";r+="<\/div>";u.Show({content:r})}function at(n,t,i,r){var e,o,u;t=$.extend({},MsgBoxDefaults,t);t.title==null&&(t.title="Confirm");t.icon==null&&(t.icon="Help");t.captionOk==null&&(t.captionOk="OK");t.captionCancel==null&&(t.captionCancel="Cancel");t.focusActionId||(t.focusActionId="Ok");t.closeOnEscape==undefined&&(t.closeOnEscape=!0);t.maxWidth==null&&(t.maxWidth=420);t.maxHeight==null&&(t.maxHeight=320);var h=t.icon=="Trash"?"danger":"",f=$UI.Modal(t),s=[{groupId:"[buttons]",actionId:"Ok",caption:t.captionOk,buttonStyle:h},{groupId:"[buttons]",actionId:"Cancel",caption:t.captionCancel},];if(t.additionalButtons)for(e=0;e<t.additionalButtons.length;e++)o=t.additionalButtons[e],o.groupId="[buttons]",s.unshift(o);f.Actions().Define(s);f.OnAction(function(n){switch(n){case"Cancel":f.Hide(!0);r&&r(n);break;default:f.Hide(!0);i&&i(n)}});u="";u+="<div class='is-msgbox'>";t.icon!=null&&(u+="<img src='"+$UI.GetIconUrl(t.icon,32)+"'/>");t.heading&&(u+="<h1>"+$Runtime.HtmlEncode(t.heading)+"<\/h1>");u+=t.messageIsHtml?"<p>"+n+"<p>":$Runtime.HtmlEncode(n);u+="<\/div>";f.Show({content:u})}function si(n,t,i,r){t=$.extend({},MsgBoxDefaults,t);t.title==null&&(t.title="Confirm");t.heading==null&&(t.heading="Delete");t.icon==null&&(t.icon="Trash");t.captionOk==null&&(t.captionOk="Delete");t.focusActionId="Cancel";at(n,t,i,r)}function hi(n,t,i){t=$.extend({},MsgBoxDefaults,t);t.icon||(t.icon="Information");t.title||(t.title="Information");p(n,t,i)}function ci(n,i,u,f){var s,e,a,l,o,h,v,c;for(u=$.extend({},{closeOnEscape:!1,showClose:!1,width:480,height:"auto"},u),s=new t.Modal(u),nt(s),s.Show({content:""}),s.ModalElement().css("display","block"),e="",a=!1,e+="<div id='divList' class='is-msgbox-list' tabindex='-1'>",n&&(e+="<label id='message'>"+$Runtime.HtmlEncode(n)+"<\/label>"),e+="<ul id='ulList'>",l=0;l<i.length;l++)o=$.extend({},{caption:"",details:"",enabled:!0,icon:"",disabledWarning:""},i[l]),h="",e+="<li key='"+o.key+"' index='"+l+"'",!a&&o.enabled?(a=!0,h+="is-sel "):o.enabled||(h+="disabled "),o.icon&&(h+="icon ",e+=" style=\"background-image:url('"+r(o.icon,32)+"')\""),h&&(e+=" class='"+h+"'"),e+=">",e+="<h1>"+$Runtime.HtmlEncode(o.caption)+"<\/h1>",o.details&&(e+="<div>"+$Runtime.HtmlEncode(o.details)+"<\/div>"),!o.enabled&&o.disabledWarning&&(e+="<div class='warning'>"+$Runtime.HtmlEncode(o.disabledWarning)+"<\/div>"),e+="<\/li>";e+="<\/ul>";e+="<\/div>";s.RenderView(e);v=b("divList",s);c=b("ulList",s);v.focus();v.bind("keyup",function(n){var t=$("li.is-sel",c),r=parseInt(t.attr("index"));switch(n.keyCode){case 13:s.Close();try{if(t.hasClass("disabled"))return;f&&f(t.attr("key"))}catch(e){}return!1;case 27:return u.allowEscape&&s.Close(),!1;case 38:return r>0&&(t.removeClass("is-sel"),$($("li",c)[r-1]).addClass("is-sel")),!1;case 40:return r<i.length-1&&(t.removeClass("is-sel"),$($("li",c)[r+1]).addClass("is-sel")),!1}});$("li",c).click(function(){$("li",c).removeClass("is-sel");var n=$(this);n.addClass("is-sel");s.Close();try{if(n.hasClass("disabled"))return;f&&f(n.attr("key"))}catch(t){}});tt()}function li(n,t,i){var r,u="",f="",e="";try{r=$.parseJSON(n.responseText);r.Message&&(f=r.Message);r.InternalMessage&&(e=r.InternalMessage);u=f;e&&(u+="\n\n"+e)}catch(o){}if(r&&f){if(!i&&n.status==401){$App.NotificationsAddAjaxError(n);return}t?p(u,{}):p(u,{})}else u="An error occurred communicating with the server.\n\nStatus: "+n.status+"\n\nResponse: "+n.responseText,p(u,{})}function ai(n,i,u){var f,e,h,o,s,c;for(typeof n=="string"&&(n=$Runtime.ArrayFromCsvString(n)),f=new t.Modal({title:"Select Flag Colour",height:"80%",maxWidth:"420px",maxHeight:"420px",minWidth:"320px",minHeight:"320px",closeOnEscape:!0}),nt(f),f.Show({content:""}),f.RenderView("<div id='divContainer' tabindex='-1' class='is-select-flag-colour'><\/div>"),e=b("divContainer",f),h=$("<div title='Clear Flag'><img src='"+r("Flag[Gray]",32,"Clear")+"'/><\/div>"),e.append(h),h.click(function(){f.Hide(!0);u("")}),o=0;o<n.length;o++)s=n[o],c=$("<div title='"+s+"'><img src='"+r("Flag["+s+"]",32)+"'/><\/div>"),e.append(c),function(n){c.click(function(){f.Hide(!0);u(n)})}(s);e.focus();tt()}function vi(n){var s,c,i,t,f,r,u,e,h,o;for(r=!0,n.TypeName&&n.TypeName=="Tabs"&&(f=n,n=f.Element()),s=$("input,select,textarea",n),e=0;e<s.length;e++){if(c=s[e],t=$(c),t.css("display")=="none")u=!1;else if(t.attr("readonly")=="readonly")u=!1;else for(u=!0,i=t;i;)if(i=i.parent(),h=i.prop("tagName"),h=="BODY")break;else if(h=="DIV"){if(i.hasClass("is-tab-page"))break}else if(i.css("display")=="none"){u=!1;break}if(u&&!t.attr("id")&&(u=!1),u&&(r&&t.hasClass("is-mandatory")&&(t.val()||(r=!1)),r&&(o=t.prop("is-control"),o&&o.Validate&&(r=o.Validate()))),!r){f&&f.SelectTabFromChildElement(t);t.focus();break}}return r}function yi(n,t,i){if(t=$.extend({},{maxFiles:1},t),!o){var r="cmd"+$Runtime.CreateGuid(!0);o=$("<input id='"+r+"' type='file' multiple='true' style='display:none'/>");$("body").append(o)}t.maxFiles==1?o.removeAttr("multiple"):o.attr("multiple",!0);o.off("change");o.change(function(){pi(t,i)});o.val("");o.click()}function pi(n,t){var i=o[0].files;i.length<=0||t(i)}function wi(n){f||(n||(n=""),f=$("<div class='is-modal-overlay top is-wait-block' style='display:none'><div class='is-wait'><div class='is-wait1'><\/div><div class='is-wait2'><\/div><div class='is-wait3'><\/div><\/div><label>"+$Runtime.HtmlEncode(n)+"<\/label><\/div>"),$("body").append(f),f.fadeIn(100))}function bi(n){f&&($("label",f).text(n),f.show())}function ki(){f&&(f.remove(),f=null)}function di(n,t){function o(){r.text(u.caption);switch(u.style.toUpperCase()){case"HYPERLINK":break;default:u.cssClass=="is-button"&&r.addClass("is-button-styled")}u.cssClass&&r.addClass(u.cssClass);u.style&&r.addClass(u.style);u.icon&&window.$Api&&r.css("background-image","url("+$Api.GetIconUrl(u.icon,16)+")");u.checked?r.addClass("checked"):r.removeClass("checked");r.attr("title",u.tooltipText);u.visible?r.show():r.hide();f?r.removeAttr("disabled"):r.attr("disabled",!0)}function h(n){if(n===undefined)return r.text();r.text(n)}function c(n){if(n===undefined)return u.checked;u.checked=n==!0;o()}function l(){return r}function a(n){if(n===undefined)return f;n!=f&&(f=n==!0,o())}function v(){r.focus();r.select()}function y(n){if(n===undefined)return u.visible;u.visible=n;o()}var r,f=!0,u,e,s;if(ButtonDefaults={caption:"",cssClass:"is-button normal",checked:!1,style:"",icon:"",tooltipText:"",width:"auto",visible:!0,onClick:null},u=$.extend({},ButtonDefaults,t),typeof n=="string"?(e=i(n),n=$("#"+e)):e=$(n).attr("id"),s=$(n),s.length==0){console.warn("userinterface.Button: Element '"+e+"' not found.");return}return r=$(s[0]),r.click(u.onClick),o(),{TypeName:"Button",Caption:h,Checked:c,Element:l,Enabled:a,Focus:v,Visible:y}}function gi(n,t){function w(){r.cssClass&&u.addClass(r.cssClass);r.allowBlank?(u.removeClass("is-mandatory"),o&&o.removeClass("is-mandatory")):(u.addClass("is-mandatory"),o&&o.addClass("is-mandatory"));u.attr("placeholder",r.blankTip);r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly")):(u.removeClass("is-readonly"),u.removeAttr("readonly"));r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");u.attr("maxLength",r.maxLength==0?"":r.maxLength);u.attr("spellcheck","false");r.width!="auto"&&(u.css({width:r.width}),r.width&&r.width.endsWith("%")&&s.css({width:r.width}));r.visible?s.show():s.hide()}function vt(){var i,s=u.val(),n,t,o;for(e.Clear(),i="<ul>",n=0;n<f.length;n++)if(r.onFormatItem){t=f[n];o={value:t,listIndex:n,displayValue:t,displayValueIsHtml:!0};r.onFormatItem(ft,o);t=o.displayValue;o.displayValueIsHtml||(t=widget.UI.HtmlEncode(t));i+="<li class='is-selectable' style='min-height:20px' value='"+$Runtime.HtmlEncode(f[n])+"'>"+t+"<\/li>"}else i+="<li class='is-selectable' style='min-height:20px'>"+$Runtime.HtmlEncode(f[n])+"<\/li>";i+="<\/ul>";v=$(i);$("li",v).bind("click",function(){u.val($(this).attr("value")||$(this).text());r.usePicker||tt(!0);b(!0);r.usePicker&&(a(),h().Hide(!0))});r.usePicker||e.Append(v);d=!1}function a(){var n=it(u.val(),!1),t;$("li.is-sel",v).removeClass("is-sel");n>=0&&n<f.length&&(t=$($("li",v)[n]),t.addClass("is-sel"),t.ScrollElementIntoView(!0))}function ct(){if(d&&vt(),r.usePicker){var n=r.pickerCaption;!n&&o&&(n=o.text(),n&&(n="Select "+n,n.endsWith(":")&&(n=n.substr(0,n.length-1))));n||(n="Select Item");h().Toggle({closeFocusElement:ft,sourceButtonElement:k,caption:n,contentElement:v,onKeyDown:function(n){switch(n.keyCode){case 35:rt(f.length-1);a();break;case 36:rt(0);a();break;case 38:ut(-1);a();break;case 40:ut(1);a()}}})}else e.Show(),u.focus(),u.select();a()}function tt(n){r.usePicker?h().Hide():(e.Hide(),n&&(u.focus(),u.select()))}function et(){return u.val()!=g}function b(n){r.limitToList&&!ot(u.val())&&u.val("");var t={ChangeHandled:!1,TextOriginal:g,ChangedFromPopup:n};if(r.onChange)r.onChange(ft,t);t.ChangeHandled&&(g=u.val())}function yt(n){if(n===undefined)return r.allowBlank;n!=r.allowBlank&&(r.allowBlank=n==!0,w())}function pt(n){if(n===undefined)return r.blankTip;r.blankTip=n;w()}function wt(n){if(n===undefined)return o?o.text():"";o&&o.text(n)}function bt(){return u}function kt(){u.focus();u.select()}function it(n,t){if(t&&n.length==0)return-1;for(var i=0;i<f.length;i++)if(t){if(f[i].substr(0,n.length).toUpperCase()==n.toUpperCase())return i}else if(f[i]==n)return i;return-1}function rt(n){if(n===undefined)return it(u.val(),!1);n<0||n>f.length-1?st(""):st(f[n]);g=u.val()}function ut(n){var t=rt()+n;t<0?t=0:t>f.length-1&&(t=f.length-1);ht(f[t],!1,!0)}function dt(n){n!=r.allowBlank&&(r.limitToList=n==!0)}function ot(n,t){var i;if(t=t?!0:!1,n+="",t){for(n=n.toUpperCase(),i=0;i<f.length;i++)if(f[i].toUpperCase()==n)return!0}else for(i=0;i<f.length;i++)if(f[i]==n)return!0;return!1}function gt(n){f=n;d=!0}function ni(n,t){var r,i;if(f=[],d=!0,n!=undefined&&t)for(r=0;r<n.length;r++)i=n[r][t],(i==null||i==undefined)&&(i=""),f.push(i)}function lt(n){f=$Runtime.ArrayFromCsvString(n);d=!0}function ti(n){if(n===undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,w())}function ii(n){if(n===undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,w())}function st(n){if(n===undefined)return $Runtime.GetString(u);n!=u.val()&&(nt+=1,u.val(n),nt-=1);g=n}function ht(n,t,i){(n!=u.val()||t)&&(nt+=1,u.val(n),nt-=1,b(i))}function ri(n){if(n===undefined)return r.visible;r.visible=n;w()}function ui(n){if(!c&&(c=u.closest("tr"),c.length==0))return console.warn("ComboBox.VisibleRow: no parent row element found."),c=null,!1;if(n===undefined)return c.css("visibility").toUpperCase()=="HIDDEN";n?(c.css("display","table-row"),c.css("visibility","")):(c.css("display","none"),c.css("visibility","hidden"))}function at(n){var f,t,i;s.hide();f=s.parent().innerWidth();s.show();t=r.width;i="";r.maxLength==0||r.maxLength>100||n?t="100%":(i=r.maxLength*.8+"em",t="100%");s.css({width:t,maxWidth:i});u.css({width:t,maxWidth:i})}var k,e,u,c,nt=0,o,f=[],d=!0,v,g="",s,r,y,p,ft;if(ComboBoxDefaults={blankTip:"",captionElement:"auto",cssClass:"is-combobox",allowBlank:!0,limitToList:!1,listCsv:"",maxLength:0,readOnly:!1,autoReadOnly:!0,visible:!0,width:"auto",onChange:null,onFormatItem:null,usePicker:!1,pickerCaption:"",widgetDocument:null},r=$.extend({},ComboBoxDefaults,t),$UI.AlwaysUsePickerControls()&&(r.usePicker=!0),typeof n=="string"?(y=i(n),n=$("#"+y)):y=$(n).attr("id"),p=$(n),p.length==0){console.warn("userinterface.ComboBox: Element '"+y+"' not found.");return}return u=$(p[0]),u.wrap("<span style='display:inline-block; padding:0; position:relative; margin:0' controlType='combobox'/>"),s=$(u.parent()),k=$("<button type='button' tabindex='-1' class='is-combobox-button' style='position:absolute; right:0'/>"),r.usePicker&&k.addClass("is-picker"),s.append(k),e=new l(s,{minWidthElement:u,widgetDocument:r.widgetDocument}),u.attr("autocomplete","off"),u.attr("spellcheck","false"),p=r.widgetDocument?$("label[for='"+y+"']",r.widgetDocument):$("label[for='"+y+"']"),o=p.length==0?null:$(p[0]),r.width=="auto"&&r.maxLength!=0&&at(),w(),lt(r.listCsv),u.bind("blur",function(){!r.readOnly&&r.limitToList&&et()&&(ot(u.val())||u.val(""))}),u.bind("keydown",function(n){switch(n.keyCode){case 13:e.Visible()&&tt(!0);break;case 27:e.Visible()&&tt(!1);break;case 38:e.Visible()&&(ut(-1),e.Visible()&&a());break;case 40:e.Visible()?(ut(1),a()):ct()}}),u.bind("keyup",function(n){var o=0,t,i;switch(n.keyCode){case 46:r.limitToList||(o=-1);break;case 8:o=-1;break;default:if(n.keyCode<48)return}t=it(u.val(),!1);e.Visible()&&a();t==-1&&r.limitToList&&n.keyCode==46?(ht("",!1,!1),b(!1)):t==-1&&(i=u[0].selectionStart+o,i<0&&(i=0),t=it(u.val(),!0),t!=-1?((r.limitToList||n.keyCode!=46&&n.keyCode!=8)&&(u.val(f[t]),u[0].selectionStart=i,u[0].selectionEnd=1e3),b(!1)):r.limitToList?(ht("",!1,!1),b(!1)):et()&&b(!1))}),k.bind("click",function(){r.readOnly||(e.Visible()?tt(!0):ct())}),ft={TypeName:"ComboBox",AllowBlank:yt,AutoReadOnly:ii,BlankTip:pt,Caption:wt,Changed:et,Element:bt,Focus:kt,LimitToList:dt,ListExists:ot,ListFromArray:gt,ListFromCollection:ni,ListFromCsvString:lt,ListIndex:rt,ReadOnly:ti,Text:st,Visible:ri,VisibleRow:ui,WidthResizeFromParent:at,WrapperElement:function(){return s}}}function nr(n,t){function k(){f.cssClass&&o.addClass(f.cssClass);u.attr("readonly","readonly");f.readOnly?o.addClass("is-readonly"):o.removeClass("is-readonly");f.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");f.width!="auto"&&o.css({width:f.width});f.visible?o.show():o.hide()}function c(){var t,h=u.val(),i,n;if(s&&(s.remove(),s=null),e=JSON.parse(JSON.stringify(r)),b&&e.sort(),l.length!=0){for(i=[],n=0;n<e.length;n++)l.indexOf(e[n])==-1&&i.push(e[n]);e=JSON.parse(JSON.stringify(i))}for(t="<ul class='is-no-select'>",n=0;n<e.length;n++)t+="<li class='is-selectable'>"+$Runtime.HtmlEncode(e[n])+"<\/li>";t+="<\/ul>";s=$(t);$("li",s).bind("click",function(){u.val($(this).text());tt(!0);d()});f.onItemDblClick&&$("li",s).bind("dblclick",function(){f.onItemDblClick(nt)});d();o.append(s);mListDirty=!1}function d(){var n=it(u.val(),!1),t;$("li.is-sel",s).removeClass("is-sel");n>=0&&n<r.length&&(t=$($("li",s)[n]),t.addClass("is-sel"),t.ScrollElementIntoView(!0))}function ot(){return u.val()!=y}function tt(n){f.limitToList&&!ft(u.val())&&u.val("");var t={ChangeHandled:!1,TextOriginal:y,ChangedFromPopup:n};if(f.onChange)f.onChange(nt,t);t.ChangeHandled&&(y=u.val())}function st(n){if(n===undefined)return v?v.text():"";v&&v.text(n)}function ht(){return u}function ct(){u.focus();u.select()}function it(n,t){var u,i;if(t&&n.length==0)return-1;for(u=e,u||(u=r),i=0;i<u.length;i++)if(t){if(u[i].substr(0,n.length).toUpperCase()==n.toUpperCase())return i}else if(u[i]==n)return i;return-1}function lt(n){for(var i=!1,t=0;t<r.length;t++)if(r[t]==n){i=!0;break}i||(r.push(n),c())}function at(n){$Runtime.ArrayRemove(r,n);c()}function vt(n){var t=r.indexOf(n),i;t>0&&(i=r[t-1],r[t-1]=r[t],r[t]=i,c())}function yt(n){var t=r.indexOf(n),i;t<r.length-1&&(i=r[t+1],r[t+1]=r[t],r[t]=i,c())}function pt(){return e.length}function wt(n){for(var i=!1,t=0;t<l.length;t++)if(l[t]==n){i=!0;break}i||(l.push(n),c())}function bt(n){$Runtime.ArrayRemove(l,n);c()}function rt(n){if(n===undefined)return it(u.val(),!1);n<0||n>e.length-1?g(""):g(e[n]);y=u.val();d()}function ut(n){var t=rt()+n;t<0?t=0:t>r.length-1&&(t=r.length-1);ii(r[t],!1,!0);d()}function ft(n,t){var i;if(t=t?!0:!1,n+="",t){for(n=n.toUpperCase(),i=0;i<r.length;i++)if(r[i].toUpperCase()==n)return!0}else for(i=0;i<r.length;i++)if(r[i]==n)return!0;return!1}function kt(n){r=n;c()}function et(n){r=$Runtime.ArrayFromCsvString(n);c()}function dt(){return $Runtime.ArrayToCsvString(e)}function gt(n){if(n===undefined)return f.readOnly;n!=f.readOnly&&(f.readOnly=n==!0,k())}function ni(n){if(n===undefined)return b;n!=b&&(b=n==!0,c())}function ti(n){if(n===undefined)return f.autoReadOnly;n!=f.autoReadOnly&&(f.autoReadOnly=n==!0,k())}function g(n){if(n===undefined)return $Runtime.GetString(u);n!=u.val()&&(w+=1,u.val(n),w-=1);y=n}function ii(n,t,i){(n!=u.val()||t)&&(w+=1,u.val(n),w-=1,tt(i))}function ri(n){if(n===undefined)return f.visible;f.visible=n;k()}function ui(n){if(!h&&(h=u.closest("tr"),h.length==0))return console.warn("ComboBox.VisibleRow: no parent row element found."),h=null,!1;if(n===undefined)return h.css("visibility").toUpperCase()=="HIDDEN";n?(h.css("display","table-row"),h.css("visibility","")):(h.css("display","none"),h.css("visibility","hidden"))}function fi(){}function ei(){window.alert("HeightResizeFromParent not implemented!");s&&s.hide();window.setTimeout(function(){var n;n=h?$("td,th",h).innerHeight():o.parent().innerHeight();o.css({height:n+0+"px",overflow:"auto"});f.visible&&s.show()},100)}var u,h,w=0,v,r=[],l=[],e,s,b=!1,y="",o,f,p,a,nt;if(ListBoxDefaults={captionElement:"auto",cssClass:"is-listbox",listCsv:"",readOnly:!1,autoReadOnly:!0,visible:!0,width:"auto",onChange:null,onItemDblClick:null},f=$.extend({},ListBoxDefaults,t),typeof n=="string"?(p=i(n),n=$("#"+p)):p=$(n).attr("id"),a=$(n),a.length==0){console.warn("userinterface.ListBox: Element '"+p+"' not found.");return}return u=$(a[0]),u.wrap("<span style='display:inline-block; padding:0; position:relative; margin:0' controlType='listbox'/>"),o=$(u.parent()),a=$("label[for='"+p+"']"),v=a.length==0?null:$(a[0]),o.attr("tabindex","-1"),k(),et(f.listCsv),o.bind("keydown",function(n){switch(n.keyCode){case 38:ut(-1);break;case 40:ut(1)}}),nt={TypeName:"ListBox",AutoReadOnly:ti,Caption:st,Changed:ot,Element:ht,Focus:ct,HeightResizeFromParent:ei,ListAdd:lt,ListRemove:at,ListMoveUp:vt,ListMoveDown:yt,ListExists:ft,ListFromArray:kt,ListFromCsvString:et,ListToCsvString:dt,ListHiddenAdd:wt,ListHiddenRemove:bt,ListIndex:rt,ListVisibleCount:pt,ReadOnly:gt,Sorted:ni,Text:g,Visible:ri,VisibleRow:ui,WidthResizeFromParent:fi,WrapperElement:function(){return o}}}function tr(n,t){function it(){r.cssClass&&u.addClass(r.cssClass);r.allowBlank?(u.removeClass("is-mandatory"),k&&k.removeClass("is-mandatory")):(u.addClass("is-mandatory"),k&&k.addClass("is-mandatory"));u.attr("placeholder",r.blankTip);ui?(u.addClass("is-readonly"),u.attr("readonly","readonly"),u.addClass("fetchingdata"),w.addClass("fetchingdata")):r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly"),u.removeClass("fetchingdata"),w.removeClass("fetchingdata")):(u.removeClass("is-readonly"),u.removeAttr("readonly"),u.removeClass("fetchingdata"),w.removeClass("fetchingdata"));r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");r.showDropdown?w.show():w.hide();r.showDescripion?f.show():f.hide();u.attr("maxLength",r.maxLength==0?"":r.maxLength);u.css({width:r.width});u.attr("spellcheck","false")}function p(){var n,t;if(f){f.removeClass("is-invalid");switch(ut){case"Array":ai?f.html(ti):f.text(ti);li&&f.addClass("is-invalid");break;case"Unbound":f.text(e);break;default:c?(n=wt(),n!=oi&&(f.text(""),oi="",ei="",n&&(si&&(window.clearTimeout(si),si=null),window.setTimeout(function(){var t={standardRangeName:c,id:n};$App.HtmlWidget_SystemGetString("GetStandardRangeRecordDescription",t,function(t){t&&(t=JSON.parse(t),wt()==n&&(oi=n,ei=t.Description,f.text(ei),t.Id&&n!=t.Id&&(tt+=1,u.val(t.Id),tt-=1)))},function(n){$App.NotificationsAddError(n,"",!0,"Error")})},500)))):(t=pt(u.val()),u.val()==""?f.text(""):t==-1||t>=et.length?et.length==0?f.text(""):(f.text("!"),f.addClass("is-invalid")):f.text(et[t]))}}}function dt(){v.Clear();s=[];et=[];switch(ut){case"":break;case"Array":nr();break;case"Collection":c?rr():ir();break;case"CodeDescriptionList":tr();break;default:window.alert("userinterface.DBCombo.UpdateList: Unsupported Data Source format")}o&&s.length>10&&(fi=$("<caption class='is-table-filter'><input type='search' placeholder='Type to filter list' style='width:100%' autocomplete='off' spellcheck='false'/><\/caption>"),$("tbody",o).before(fi),window.setInterval(function(){var n=$("input",fi);n.val()!=kt&&or(n.val())},200));p();st=!1}function nr(){var n,t,i,f;for(n="<table style='width:100%'>",n+="<tbody>",t=0;t<e.length;t++){if(s[t]=e[t],et[t]="",n+="<tr class='is-selectable'>",e[t]){if(i=e[t],r.onFormatArrayItem){f={value:i,listIndex:t,displayValue:i,displayValueIsHtml:!0};r.onFormatArrayItem(ni,f);i=f.displayValue;f.displayValueIsHtml||(i=$Runtime.HtmlEncode(i))}else i=$Runtime.HtmlEncode(i);n+="<td>"+i+"<\/td>"}else n+="<td>&nbsp;<\/td>";n+="<\/tr>"}n+="<\/tbody>";n+="<\/table>";o=$(n);$("tbody > tr",o).bind("click",function(n){var t=$("tbody > tr",o).index(n.delegateTarget);t>=0&&t<s.length&&(u.val(s[t]),r.usePicker||ft(!0),rt(!0),r.usePicker&&(d(),h().Hide(!0)))});r.usePicker||v.Append(o)}function tr(){var n,t;for(n="<table style='width:100%'>",r.showColumnHeadings&&ii&&(n+="<thead>",n+="<tr><th>"+$Runtime.HtmlEncode(ii)+"<\/th><th>"+$Runtime.HtmlEncode(vi)+"<\/th><\/tr>",n+="<\/thead>"),n+="<tbody>",t=0;t<e.length;t++)s[t]=e[t].Code,et[t]=e[t].Description,n+="<tr class='is-selectable'>",n+="<td>"+$Runtime.HtmlEncode(e[t].Code)+"<\/td>",n+="<td>"+$Runtime.HtmlEncode(e[t].Description)+"<\/td>",n+="<\/tr>";n+="<\/tbody>";n+="<\/table>";o=$(n);$("tbody > tr",o).bind("click",function(n){var t=$("tbody > tr",o).index(n.delegateTarget);t>=0&&t<s.length&&(u.val(s[t]),r.usePicker||ft(!0),ft(!0),rt(!0),r.usePicker&&(d(),h().Hide(!0)))});r.usePicker||v.Append(o)}function ir(){var f,i,l,w,y,t,a,n,c;for(ot?f=ot.split(","):(f=[],console.warn("mDataSourceDisplayColumns not set!")),l=[f.length],n=0;n<f.length;n++)for(l[n]="",c=0;c<e.length;c++)if(w=e[c][f[n]],y="",y=typeof w=="boolean"?"Boolean":"",y!=l[n])if(l[n]=="")l[n]=y;else{l[n]="";break}if(i="<table style='width:100%'>",r.showColumnHeadings&&f.length!=0){for(i+="<thead><tr>",n=0;n<f.length;n++){t=f[n];a="";t==bt&&t!="Value"?t="Code":t.endsWith("Resolved")?(t=t.substr(0,t.length-8),a="+"):t.endsWith("Full")?(t=t.substr(0,t.length-4),a="+"):t.endsWith("TypeText")?t=t.substr(0,t.length-4):t.startsWith("Master")&&t.endsWith("Id")&&(t="Master");switch(l[n]){case"Boolean":i+="<th align='center' style='width:1em'><nobr>"+$Runtime.HtmlEncode($Runtime.SplitWordsAtCapitals(t))+a+"<\/nobr><\/th>";break;default:i+="<th>"+$Runtime.HtmlEncode($Runtime.SplitWordsAtCapitals(t))+a+"<\/th>"}}i+="<\/tr><\/thead>"}for(i+="<tbody>",n=0;n<e.length;n++){for(s[n]=e[n][bt],et[n]=e[n][ri],i+="<tr class='is-selectable'>",c=0;c<f.length;c++)switch(l[c]){case"Boolean":i+=e[n][f[c]]?"<td align='center' class='is-symbol-tick' style='color:green'><\/td>":"<td align='center' class='is-symbol-cross' style='color:red'><\/td>";break;default:i+=e[n][f[c]]?"<td>"+$Runtime.HtmlEncode(e[n][f[c]])+"<\/td>":"<td>&nbsp;<\/td>"}i+="<\/tr>"}i+="<\/tbody>";i+="<\/table>";o=$(i);$("tbody > tr",o).bind("click",function(n){var t=$("tbody > tr",o).index(n.delegateTarget);t>=0&&t<s.length&&(u.val(s[t]),p(),r.usePicker||ft(!0),rt(!0),r.usePicker&&(d(),h().Hide(!0)))});r.usePicker||v.Append(o)}function rr(){var n;o=$("<div style='min-height:120px; min-width:320px'><\/div>");var t=$("<input type='text' style='position:absolute !important; top:0; left:0; width:100%;border:1px solid transparent !important; border-bottom:1px solid rgba(0,0,0,0.2) !important'/>"),i=$("<button class='is-button dbcombo-search' style='min-width:0; width:22px; height:22px; margin:0; position:absolute; right:2px; top:0;'/>"),u=$("<div style='position:absolute; top:22px;left:0;right:0;bottom:0;overflow:auto'><\/div>");switch(c.toUpperCase()){case"CLIENTS":t.attr("placeholder","e.g. code, name, date of birth, email, phone");break;case"SECURITYSTMTS":t.attr("placeholder","e.g. code, name, serial number, registration");break;default:t.attr("placeholder","e.g. code, name")}o.append(t);o.append(i);o.append(u);y=$UI.Grid(u,{showColumnHeaders:!1,stickyHeader:!1,onAfterRowActivate:fr,onRowDrilldown:er,onInitialiseRow:ur});y.AddColumnString("Id",{caption:"Code",width:"6em"});y.AddColumnString("Name",{caption:"Description"});y.AddColumnString("Info",{caption:"Information",align:"right",colour:"gray"});y.Refresh();n=vt(t,{width:"100%",onEnterKey:function(){yi(n.Text())}});n.Element().keydown(function(t){switch(t.which){case 27:return n.Text()?n.Text(""):ft(!0),!1;case 40:return g&&g.Results.length!=0&&(y.Focus(),y.ActiveDataRowIndex()==-1&&y.ActiveDataRowIndex(0)),!1}});y.Element().keydown(function(n){switch(n.which){case 13:return y.ActiveDataRowIndex()!=-1&&y.PerformRowDrilldown(),!1}});i.click(function(){n.Focus();yi(n.Text())});r.usePicker||v.Append(o)}function yi(n){if(n)y.Visible(!0);else{y.Visible(!1);return}var t={standardRangeName:c,query:n,sqlWhere:ct};$App.HtmlWidget_SystemGetString("GetStandardRangeQuickSearchResults",t,function(n){var i,t;if(n){for(g=JSON.parse(n),i=!1,t=0;t<g.Results.length;t++)if(g.Results[t].Info){i=!0;break}y.ColumnVisible("Info",i);y.Refresh();y.VirtualDataRefresh(g.Results)}},function(n){$App.NotificationsAddError(n,"",!0,"Error")})}function ur(n){var t=g.Results[n.row.listIndex];n.row.cells.Id.value=t.Id;n.row.cells.Name.value=t.Name;n.row.cells.Info.value=t.Info}function fr(){if(g&&g.Results){var n=g.Results[y.ActiveDataRowIndex()];n&&u.val(n.Id);p();rt(!0)}}function er(){v.Hide();u.focus()}function or(n){var u,t,v,c,f,s,a,h,r,i;if(kt=n,e&&o&&($("tbody > tr",o).removeClass("is-filtered-out"),kt)){if(u=kt.toUpperCase().split(" "),u.length>0)for(t=$("tbody > tr",o),i=0;i<t.length;i++){for(v=t[i],c=!0,f=0;f<u.length;f++){var l=u[f],y=!1,p=$("td",v);if(l&&l!=" ")for(s=0;s<p.length;s++)if(a=$(p[s]).text(),a&&a.toUpperCase().indexOf(l)!=-1){y=!0;break}if(!y){c=!1;break}}c||$(t[i]).addClass("is-filtered-out")}if(h=yt(),h>=0&&h<t.length&&$(t[h]).hasClass("is-filtered-out")){for(r=-1,i=0;i<t.length;i++)if(!$(t[i]).hasClass("is-filtered-out")){r=i;break}$("tr.is-sel",o).removeClass("is-sel");r>=0&&r<t.length&&$(t[r]).addClass("is-sel")}}}function d(){var n=pt(u.val(),!1),t;$("tr.is-sel",o).removeClass("is-sel");n>=0&&n<s.length&&(t=$($("tbody > tr",o)[n]),t.addClass("is-sel"),t.ScrollElementIntoView(!0))}function pi(){if(st&&dt(),r.usePicker){var n=r.pickerCaption;!n&&k?(n=k.text(),n&&(n="Select "+n,n.endsWith(":")&&(n=n.substr(0,n.length-1)))):c&&(n="Search for Record");n||(n="Select Item");h().Toggle({closeFocusElement:ni,sourceButtonElement:w,caption:n,contentElement:o,onKeyDown:function(n){switch(n.keyCode){case 35:yt(s.length-1);d();break;case 36:yt(0);d();break;case 38:gt(-1);d();break;case 40:gt(1);d()}}});c&&$("input",o).focus()}else c?(v.Show(0,!0),v.WidthResizeFromParent(800)):v.Show(),c?$("input",o).focus():(u.focus(),u.select());d()}function ft(n){v.Hide();n&&(u.focus(),u.select())}function hi(){return u.val()!=ht}function sr(n,t,i){i||(i=!1);ti=n;ai=t;li=i;p()}function rt(n){if(!tt){tt+=1;c||r.limitToList&&!wi(u.val())&&(u.val(""),f&&f.text(""));var t={ChangeHandled:!1,TextOriginal:ht,ChangedFromPopup:n};if(r.onChange)r.onChange(ni,t);t.ChangeHandled&&(ht=u.val());tt-=1}}function hr(n){if(n===undefined)return r.allowBlank;n!=r.allowBlank&&(r.allowBlank=n==!0,it())}function cr(n){if(n===undefined)return r.blankTip;r.blankTip=n;it()}function lr(n){if(n===undefined)return k?k.text():"";k&&k.text(n)}function ar(){return u}function vr(){u.focus();u.select()}function yr(){var n=yt();if(n!=-1&&e&&n<e.length)switch(ut){case"Array":return e[n];case"Collection":return e[n]}return null}function pr(){return f?f.text():""}function pt(n,t){if(t&&n.length==0)return-1;for(var i=0;i<s.length;i++)if(t){if(s[i].substr(0,n.length).toUpperCase()==n.toUpperCase())return i}else if(s[i]==n)return i;return-1}function yt(n){if(n===undefined)return pt(u.val(),!1);n<0||n>s.length-1?wt(""):wt(s[n]);ht=u.val()}function gt(n){var t=yt()+n;t<0?t=0:t>s.length-1&&(t=s.length-1);di(s[t],!1,!0)}function wr(n){if(n===undefined)return r.limitToList;n!=r.limitToList&&(r.limitToList=n==!0)}function wi(n,t){var i;if(t=t?!0:!1,n+="",t){for(n=n.toUpperCase(),i=0;i<s.length;i++)if(s[i].toUpperCase()==n)return!0}else for(i=0;i<s.length;i++)if(s[i]==n)return!0;return!1}function br(n){ut="Array";e=$Runtime.ArrayFromCsvString(n);dt()}function kr(n){if(n===undefined)return r.maxLength;r.maxLength=n;it()}function dr(n){if(n===undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,it())}function gr(n){if(n===undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,it())}function nu(n,t,i){n!=undefined&&(ut="CodeDescriptionList",e=n,t!=undefined&&(ii=t),i!=undefined&&(vi=i),dt())}function bi(n,t,i,r){n!=undefined&&(ut="Collection",e=n,bt=t,ri=i,r?ot=r:(ot=t,i&&(ot+=","+i)),c="",dt())}function tu(n,t,i,u,f,o){var h,s,l,y,w,v,b;if(n){if(ut="Collection",e=null,bt="",ri="",ot="",c="",ct="",h=n.toUpperCase(),h.substr(0,8)=="ACCOUNTS"){c=n;ct=t;st=!0;p();o&&o();return}if(h.substr(0,11)=="ACCOUNTAPPS"){c=n;ct=t;st=!0;p();o&&o();return}if(h.substr(0,7)=="CLIENTS"){c=n;ct=t;st=!0;p();o&&o();return}if(h.substr(0,13)=="SECURITYSTMTS"){c=n;ct=t;st=!0;p();o&&o();return}ci(!0);s={standardRangeName:n};t&&(s.sqlWhere=t);i&&(s.includeInactive=i);u&&(s.alwaysIncludeId=u);f&&(s.displayColumns=f);for(l in a)y=a[l],y&&(new Date-y.time)/1e3>10&&(console.log("DBCombo purging cached data (more than 10 minutes old) for '"+l+"'"),a[l]=null);if(w=JSON.stringify(s).toUpperCase(),v=a[w],v&&r.cacheMinutes&&(b=(new Date-v.time)/6e4,b<r.cacheMinutes)){ki(v.data,f);console.log("DBCombo refreshed from cached data for Standard Range '"+n+"'");o&&o();return}$App.HtmlWidget_SystemGetString("GetStandardRange",s,function(n){n&&(n=JSON.parse(n),ki(n,f),r.cacheMinutes&&(a[w]={data:n,time:new Date}));o&&o()},function(n){$App.NotificationsAddError(n,"",!0,"Error");o&&o()})}}function ki(n,t){for(var f,e,i,o,r=[],u=0;u<n.Rows.length;u++){for(f={},e=n.Rows[u],i=0;i<n.Columns.length;i++)f[n.Columns[i].Name]=e[i];r.push(f)}if(!t&&r.length!=0){t="";for(o in r[0])t&&(t+=","),t+=o}bi(r,n.IdColumn,n.DescriptionColumn,t);ci(!1)}function iu(n,t){t||(t="");ut="Unbound";e=t;u.val(n);p();ht=n}function ci(n){ui=n;it()}function ru(n){if(n===undefined)return r.showDescripion;r.showDescripion=n;it()}function wt(n){if(n===undefined)return $Runtime.GetString(u);n!=u.val()&&(tt+=1,u.val(n),tt-=1,p());ht=n}function di(n,t,i){(n!=u.val()||t)&&(tt+=1,u.val(n),tt-=1,rt(i))}function gi(n){var t=r.width;r.showDescripion?f.show():(b.css("width","100%"),f.hide());n||r.maxLength==0||r.maxLength>=50&&!r.showDescripion?t="100%":t&&t!="auto"||r.maxLength&&(t=r.maxLength<=2?r.maxLength*.8+2+"em":r.maxLength*.8+"em");u.css({width:t});t!="100%"||r.showDescripion?b.css("width",""):b.css("width","100%");f&&r.showDescripion&&r.descriptionElement=="auto"&&(b.css("width","100%"),b.css("position","relative"),b.css("display","flex"),b.css("flex-direction","row"),b.css("white-space",""),u.css("flex-grow","0"),u.css("max-width",t),w.css("flex-grow","0"),f.css("flex-grow","1"),f.css("overflow","hidden"),f.css("position","relative"),f.css("height","22px"),f.css("line-height","22px"))}function uu(n){if(n===undefined)return r.visible;r.visible=n;it()}function fu(n){if(!nt&&(nt=u.closest("tr"),nt.length==0))return console.warn("DbComboBox.VisibleRow: no parent row element found."),nt=null,!1;if(n===undefined)return nt.css("visibility").toUpperCase()=="HIDDEN";n?(nt.css("display","table-row"),nt.css("visibility","")):(nt.css("display","none"),nt.css("visibility","hidden"))}var ti="",li=!1,ai=!1,w,ii="",vi="",e,ut="",bt="",ri="",ot="",f,v,u,nt,ui=!1,fi,kt="",tt=0,k,s=[],et=[],st=!1,o,ht="",b,g=null,y=null,c="",ct="",ei="",oi="",si=null,r,lt,at,ni;if(ComboBoxDefaults={blankTip:"",captionElement:"auto",cssClass:"is-combobox",descriptionElement:"auto",cacheMinutes:10,allowBlank:!0,limitToList:!1,maxLength:10,readOnly:!1,showColumnHeadings:!0,showDescripion:!0,autoReadOnly:!0,changeWhileTyping:!1,showDropdown:!0,width:"auto",onChange:null,onFormatArrayItem:null,usePicker:!1,pickerCaption:"",widgetDocument:null},r=$.extend({},ComboBoxDefaults,t),$UI.AlwaysUsePickerControls()&&(r.usePicker=!0),typeof n=="string"?(lt=i(n),n=$("#"+lt)):lt=$(n).attr("id"),at=$(n),at.length==0){console.warn("userinterface.DBCombo: Element '"+lt+"' not found.");return}if(u=$(at[0]),u.wrap("<span style='white-space:nowrap; display:flex; padding:0; margin:0; position:relative;' controlType='dbcombo'/>"),b=$(u.parent()),w=$("<button type='button' tabindex='-1' class='is-combobox-button'/>"),r.usePicker&&w.addClass("is-picker"),w.insertAfter(u),typeof r.descriptionElement=="string")switch(r.descriptionElement){case"":case"none":break;case"auto":f=$("<label class='is-combobox' style='display:none'><\/label>");f.insertAfter(w);break;default:console.warn("userinterface.DBCombo: optionis.descriptionElement must be a jQuery element or one of the following: '', 'none', 'auto'.")}else f=r.descriptionElement;return v=r.showColumnHeadings?new l(b,{widgetDocument:r.widgetDocument}):new l(b,{minWidthElement:u,widgetDocument:r.widgetDocument}),u.attr("autocomplete","off"),u.attr("spellcheck","false"),at=r.widgetDocument?$("label[for='"+lt+"']",r.widgetDocument):$("label[for='"+lt+"']"),k=at.length==0?null:$(at[0]),r.width=="auto"&&r.maxLength!=0&&gi(),it(),u.bind("keydown",function(n){switch(n.keyCode){case 13:v.Visible()&&ft(!0);break;case 27:v.Visible()&&ft(!1);break;case 38:v.Visible()&&(gt(-1),v.Visible()&&d());break;case 40:v.Visible()?(gt(1),d()):r.readOnly||pi()}c||p()}),u.bind("blur",function(){c&&p()}),u.bind("keyup",function(n){var f=0,t,i;switch(n.keyCode){case 46:r.limitToList||(f=-1);break;case 8:f=-1;break;default:if(n.keyCode<48)return}u.bind("blur",function(){r.readOnly||hi()&&rt(!1)});r.changeWhileTyping&&u.bind("input",function(){r.readOnly||hi()&&rt(!1)});c||(t=pt(u.val(),!1),v.Visible()&&d(),t==-1&&r.limitToList&&n.keyCode==46?(di("",!1,!1),rt(!1)):t==-1&&(i=u[0].selectionStart+f,i<0&&(i=0),t=pt(u.val(),!0),t!=-1?(u.val(s[t]),u[0].selectionStart=i,u[0].selectionEnd=1e3,rt(!1)):r.limitToList),p())}),w.bind("click",function(){r.readOnly||ui||(v.Visible()?ft(!0):pi())}),ni={TypeName:"DBCombo",AllowBlank:hr,AutoReadOnly:gr,BlankTip:cr,Caption:lr,Changed:hi,DescriptionUpdate:sr,Element:ar,Focus:vr,GetCurrentListRecord:yr,GetDescription:pr,LimitToList:wr,ListExists:wi,ListFromCsvString:br,ListIndex:yt,MaxLength:kr,ReadOnly:dr,RefreshFromCodeDescriptionList:nu,RefreshFromCollection:bi,RefreshFromStandardRange:tu,RefreshUnbound:iu,SetFetchingData:ci,ShowDescription:ru,Text:wt,Visible:uu,VisibleRow:fu,WidthResizeFromParent:gi,WrapperElement:function(){return b}}}function ir(n,t){function v(){var e,t,n,i;r.cssClass&&u.addClass(r.cssClass);switch(r.width.toUpperCase()){case"AUTO":e=9999999999;t=-9999999999;r.maxValue!=null&&(e=r.maxValue);r.minValue!=null&&(t=r.minValue);e=$Runtime.FormatNumber(e,r.decimals,!1,!1);t=$Runtime.FormatNumber(t,r.decimals,!1,!1);n=e.length;t.length>n&&(n=t.length);n<2&&(n=2);r.percentage&&(n+=1);u.removeClass("date");u.css("max-width",n*.8+"em");u.css("width","100%");break;case"DATE":u.addClass("date");u.css("width","");break;default:u.removeClass("date");r.width&&u.css({width:r.width})}f&&(r.indentLevel?f.addClass("is-indent-"+r.indentLevel):(f.removeClass("is-indent-1"),f.removeClass("is-indent-2")));r.allowBlank?(u.removeClass("is-mandatory"),f&&f.removeClass("is-mandatory")):(u.addClass("is-mandatory"),f&&f.addClass("is-mandatory"));r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly")):(u.removeClass("is-readonly"),u.removeAttr("readonly"));r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");u.attr("maxLength",r.maxLength==0?"":r.maxLength);r.width!="auto"&&u.css({width:r.width});u.attr("spellcheck","false");k?(h.css({display:"none"}),u.removeClass("is-invalid")):(u.addClass("is-invalid"),y?(nt?h.html(y):h.text(y),h.css({display:"inline-block"})):h.css({display:"none"}));b;i="";(r.maxValue!=null||r.minValue!=null)&&(i=ht(),i&&(i="Valid range "+i));u.attr("title",i)}function ut(text){r.readOnly||(text&&text.startsWith("=")&&(text=""+eval(text.substr(1))),text==""?(o=!0,e=0):(o=!1,e=$Runtime.ParseNumber(text,r.decimals)));w()}function w(){var n,t;o?c&&!r.readOnly?u.val(""):u.val(""):c&&!r.readOnly?e==0?u.val("0"):b||(n=r.decimals,n==-1&&(n=$Runtime.CurrencyDecimals()),u.val($Runtime.FormatNumber(e,n,!1,!1))):r.blankIfZero&&e==0?u.val(""):b||(t=$Runtime.FormatNumber(e,r.decimals,r.showSeparators,r.blankIfZero),r.percentage&&(t+="%"),u.val(t))}function ct(n){n!=r.allowBlank&&(r.allowBlank=n==!0,v())}function lt(n){if(n===undefined)return f?f.text():"";f&&f.text(n)}function ft(){return!(e==d&&o==tt)}function at(){var n={ChangeHandled:!1,ValueOriginal:d};if(r.onChange)r.onChange(g,n);n.ChangeHandled&&(mTextOriginal=u.val());k||st()}function vt(){return u}function yt(){u.focus();u.select()}function pt(n){if(n===undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,v())}function wt(n){if(n===undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,v())}function it(n){if(n===undefined)return c&&ut(u.val()),e;n==null?r.allowBlank?(e=0,o=!0):e=0:(o=!1,n=r.decimals==-1?$Runtime.Round(n,$Runtime.CurrencyDecimals()):$Runtime.Round(n,r.decimals),e=n);d=e;tt=o;w()}function et(n){if(n===undefined)return o;n?(o=!0,e=0):o=!1;w()}function ot(n){var f,t,i;(n||r.width.toUpperCase()!="AUTO")&&(l.hide(),f=l.parent().innerWidth(),l.show(),t=r.width,i="",n?t="100%":(t=r.maxValue!=null&&r.minValue!=null?"6em":"6em",i=f+"px"),l.css({width:t,maxWidth:i}),u.css({width:t,maxWidth:i}))}function bt(){return k?!0:!1}function st(){var n=!0,t;return(r.minValue!=null||r.maxValue!=null)&&(t=it(),n&&r.minValue!=null&&t<r.minValue&&(n=!1),n&&r.maxValue!=null&&t>r.maxValue&&(n=!1)),n?rt(!0,"",!1):rt(!1,"Valid range "+ht(),!1),n}function ht(){var n="";return r.minValue!=null&&(n+=r.minValue==0?"0":$Runtime.FormatNumber(r.minValue,r.decimals,!0,!1)),r.maxValue!=null&&(n&&(n+=" "),n+="to "+$Runtime.FormatNumber(r.maxValue,r.decimals,!0,!1)),n}function rt(n,t,i){k=n;y=t==undefined?"":t;nt=i==undefined?!1:i;v()}function kt(n){r.onChange=n}function dt(n){if(n===undefined)return r.visible;r.visible=n;v()}function gt(n){if(!s&&(s=u.closest("tr"),s.length==0))return console.warn("ComboBox.VisibleRow: no parent row element found."),s=null,!1;if(n===undefined)return s.css("visibility").toUpperCase()=="HIDDEN";n?(s.css("display","table-row"),s.css("visibility","")):(s.css("display","none"),s.css("visibility","hidden"))}var u,s,c=!1,b=!1,k=!0,f,h,y="",nt=!1,e=0,o=!0,d=0,tt=!0,l,r,p,a,g;if(NumberBoxDefaults={captionElement:"auto",cssClass:"is-numberbox",allowBlank:!0,blankIfZero:!1,showSeparators:!0,indentLevel:0,decimals:-1,percentage:!1,maxValue:null,minValue:null,readOnly:!1,autoReadOnly:!0,width:"auto",onChange:null},r=$.extend({},NumberBoxDefaults,t),typeof n=="string"?(p=i(n),n=$("#"+p)):p=$(n).attr("id"),a=$(n),a.length==0){console.warn("userinterface.NumberBox: Element '"+p+"' not found.");return}return u=$(a[0]),u.wrap("<span style='white-space:normal; display:inline; padding:0; margin:0;' controlType='numberbox'/>"),l=$(u.parent()),h=$("<label style='display:none' class='is-validation-tip'><\/label>"),l.append(h),a=$("label[for='"+p+"']"),f=a.length==0?null:$(a[0]),v(),r.width=="auto"&&ot(),b?u.focus(function(){c=!0}):u.focus(function(){c=!0;w();u.select()}),u.blur(function(){c=!1;ut(u.val());ft()&&at();d=it();tt=et();w()}),g={TypeName:"NumberBox",AllowBlank:ct,AutoReadOnly:wt,Caption:lt,Changed:ft,Element:vt,Focus:yt,ReadOnly:pt,Value:it,ValueIsBlank:et,Visible:dt,VisibleRow:gt,WidthResizeFromParent:ot,IsValid:bt,Validate:st,ValidationSet:rt,OnChange:kt},u.prop("is-control",g),g}function rr(n,t){function ut(){f.cssClass&&(s.addClass(f.cssClass),o.addClass(f.cssClass));f.style&&(s.addClass(f.style),o.addClass(f.style));f.width&&s.css({width:f.width});ft()}function nt(){var i=0,n,t;for(o.children().remove(),n=0;n<u.length;n++)t=$("<li class='is-selectable'><a><\/a><\/li>"),o.append(t),u[n].element=t,u[n].cssClass&&t.addClass(u[n].cssClass),u[n].hidden&&(i+=1),function(n){$("a",t).click(function(){var t=st(n),i,r;if(n==e&&t.states){for(t.pageElement.removeClass("hold-animation"),i=0;i<t.states.length;i++)t.pageElement.removeClass(t.states[i]);if(t.stateIndex+=1,t.stateIndex>=t.states.length&&(t.stateIndex=0),t.pageElement.addClass(t.states[t.stateIndex]),t.pageElement){t.pageElement.off("animationend");t.pageElement.on("animationend",function(){y(t.pageElement)})}}r=n==e;w(n);r&&t.pageElement.removeClass("hold-animation")})}(u[n].tabId),f.pageShortcutForm&&function(n){$UI.HandleContextMenuEvent($("a",t),function(t){return ct(n,t),t.preventDefault(),!1})}(u[n].tabId);i&&(t=$("<li class='toggle-hidden'><a>&nbsp;<\/a><\/li>"),o.append(t),t.click(function(){o.toggleClass("hidden-visible")}));p()}function ct(n,t){var r=l(n),i;b||(b=new $UI.MenuPopup(s,{}));b.OnAction(function(t){lt(n,t)});i=[];i.push({ItemId:"CreatePageLink",Caption:"Show this Page in a new Web Browser Tab",IconClass:"is-symbol-open-window"});i.push({ItemId:"CopyPageLink",Caption:"Copy link to Show this Page",IconClass:"is-symbol-copy"});b.Define(i);i.length!=0&&b.Show(t.clientX,t.clientY)}function lt(n,t){switch(t){case"CopyPageLink":case"CreatePageLink":var i="formshow?form="+f.pageShortcutForm;i+="&id="+encodeURI(f.pageShortcutId);i+="&page="+encodeURI(n);t=="CopyPageLink"?window.prompt("Link to show this Page",$App.GetAppShortcutForNewBrowserWindow(i)):$App.RunAppShortcutInNewBrowserWindow(i);break;default:window.alert("Unhandled context menu action: "+t)}}function p(){var c,n,t,i,h,v,y,l,p;for(a=null,s.css("border-color",""),window.setTimeout(function(){o.addClass("added")},10),c=0;c<u.length;c++){if(n=u[c],t=n.element,$(".state",t).remove(),n.pageElement&&$(".is-split-container",n.pageElement).removeClass("has-state"),i=$Runtime.HtmlEncode(n.caption),n.icon){h="";switch(f.style.toUpperCase()){case"BUBBLE":h=r(n.icon,32);i="<div><img src='"+h+"'/><\/div><span>"+i+"<\/span>";break;default:h=r(n.icon,16);i="<img src='"+h+"'/>"+i}}if($("a",t).html(i),n.bulletText&&(v=$("<span class='bullettext'><\/span>"),v.text(n.bulletText),$("a",t).append(v)),n.colour&&t.css("background-color",n.colour),n.visible?t.css({display:""}):t.css({display:"none"}),n.hidden&&t.addClass("hidden"),n.tabId.toUpperCase()==e.toUpperCase()){if(t.addClass("is-sel"),n.colour&&s.css("border-color",n.colour),n.states&&n.states.length>0){for(y=$("<ul class='state' title='Click tab to switch between states'><\/ul>"),l=0;l<n.states.length;l++)p=$("<li><\/li>"),l==n.stateIndex&&(p.addClass("current"),n.pageElement&&n.states[n.stateIndex].toUpperCase()!="NORMAL"&&$(".is-split-container",n.pageElement).addClass("has-state")),y.append(p);t.append(y)}}else t.removeClass("is-sel");n.summaryPage&&n.element.addClass("summarypage");n.noContent&&n.element.addClass("nocontent");n.pageElement&&(n.tabId.toUpperCase()==e.toUpperCase()?(n.pageElement&&(n.pageElement.css({display:""}),a=n.pageElement),n.pageElement.addClass("hold-animation")):n.pageElement.css({display:"none"}))}ft()}function ft(){var t,n;if(f.visible){for(t=0,n=0;n<u.length;n++)u[n].visible&&(t+=1);f.hideTabs?(o.hide(),s.hide()):t<2&&!f.alwaysShowTabs?o.hide():(o.show(),s.show())}else o.hide(),s.hide()}function at(n,t){n.FailedMessage?$UI.MsgBoxAlert(n.FailedMessage,{},function(){n.FailedControlId&&t[n.FailedControlId].Focus()}):n.FailedControlId&&t[n.FailedControlId].Focus()}function vt(n,t,i){var l,a,c,y,h,v;for(t||(t=s),et(),e=i==undefined?"":i,l=$("> div",t),c=0;c<l.length;c++)h=l[c],a=k+"page",h.id.substr(0,a.length)==a&&$(h).hide();if(n&&n.Pages)for(c=0;c<n.Pages.length;c++){var f=n.Pages[c],r=new rt,p=$("<li><\/li>");o.append(p);r.caption=f.Caption;r.tabId=f.PageId;f.SummaryPageScriptId&&(r.summaryPage=!0);f.NoContent&&(r.noContent=!0);f.BulletText&&(r.bulletText=f.BulletText);f.Colour&&(r.colour=f.Colour);f.Icon&&(r.icon=f.Icon);f.Visible==!1&&(r.hidden=!0);f.PageId.startsWith("__")&&(r.cssClass="System_"+f.PageId.substr(2));y=k+"page"+r.tabId;h=$("#"+y);h.length==0?(h=$("<div class='is-tab-page'><\/div>"),t.append(h),f.pageElement=h,r.pageElement=h,r.pageElementDynamic=!0,console.log("userinterface.Tabs: Dynamically created page for tab '"+r.tabId+"'."),r.summaryPage&&h.addClass("summarypage")):(r.pageElement=$(h[0]),r.pageElement.addClass("is-tab-page"),!1&&$Runtime.IsSmallMobileBrowser()||(v=r.pageElement.attr("states"),v&&(r.states=v.split(","),r.states.length>0&&(r.state=r.states[0],r.pageElement.addClass(r.state)))));u.push(r);e||(e=r.tabId)}nt()}function et(){for(var t,n=0;n<u.length;n++)t=u[n],t.pageElementDynamic&&(t.pageElement.remove(),t.pageElement=null);u=[];nt()}function yt(n,t){t=$.extend({},{caption:"",cssClass:null},t);var i=new rt,r=$("<li><\/li>");return o.append(r),i.tabId=n,i.pageElement=t.pageElement,i.caption=t.caption,i.cssClass=t.cssClass,u.push(i),e||(e=i.tabId),nt(),i}function rt(){return{element:null,bulletText:"",caption:"",cssClass:"",noContent:!1,pageElement:null,pageElementDynamic:!1,pageElementDynamicPreviewPane:null,summaryPage:!1,tabId:"",visible:!0,hidden:!1,states:null,stateIndex:0}}function pt(){return s}function wt(){return tt}function bt(n){n.TypeName&&(n=n.Element());for(var t=0;t<u.length;t++)if(u[t].pageElement.find(n).length!=0){w()!=u[t].tabId&&w(u[t].tabId);n.focus();break}}function kt(n){if(n||(n=!1),e){var t=l(e);t&&(!n&&$Runtime.IsMobileBrowser()||$("input:visible, select:visible, textarea:visible, div[tabindex=-1]",t.pageElement).first().focus().select())}}function dt(n){return n>=0&&n<u.length?u[n].tabId:""}function gt(n){var t=s.parent(),i,r;n||(i=t.width(),r=t.height(),s.css({width:Math.floor(i)+"px",height:Math.floor(r)+"px"}));t.hasClass("is-modal-body")&&t.addClass("no-scroll");a&&(i=a.parent().width(),r=a.parent().height(),a.css({width:Math.floor(i)+"px",height:Math.floor(r)+"px",overflow:"auto"}))}function w(n){if(n==undefined)return e;e=n;p();f.onSelectedTabChanged&&f.onSelectedTabChanged()}function ot(n){if(n==undefined){for(var t=0;t<u.length;t++)if(u[t].tabId==e)return t;return-1}e=u[n].tabId;p();f.onSelectedTabChanged&&f.onSelectedTabChanged()}function ni(n){n=n.toUpperCase();for(var t=0;t<u.length;t++)if(u[t].tabId.toUpperCase()==n){ot(t);return}}function ti(n,t,i){var r=l(n),u;if(t.indexOf("ISSectionedBlocks")!=-1&&(t="<div class='is-summarypage-2' style='padding:8px'><div class='is-template-message-error' style='color:darkred'>Summary Page (verson 1) content cannot be reliably viewed from a Web browser.<\/div><\/div>"),i==undefined&&t.indexOf("is-summarypage-column-fixed")!=-1&&(i=!0),r)if(i){if(!r.pageElement.pageElementDynamicPreviewPane)if($UI.PreviewPane)u=$("<div class='is-dock-fill'><\/div>"),r.pageElement.append(u),r.pageElement.pageElementDynamicPreviewPane=$UI.PreviewPane(u,{});else{window.alert("WARNING: Could not set Page IFRAME content since $UI.PreviewPane is unavailable.");return}r.pageElement.pageElementDynamicPreviewPane.SetContent(t,!1,{})}else{if(r.pageElement.pageElementDynamicPreviewPane){window.alert("WARNING: Page already has a dynamic preview pane.");return}r.pageElement.html(t)}else window.alert("userinterface.Tabs.SetPageHtml: tab '"+n+"' does not exist.")}function st(n){return l(n)}function ii(n){return u[n]}function l(n){n=n.toUpperCase();for(var t=0;t<u.length;t++)if(u[t].tabId.toUpperCase()==n)return u[t];return null}function ri(){return o}function ui(n,t){var i=l(n);if(i===null&&console.warn("TabCaption: Cannot find tab '"+n+"'."),t==undefined)return i.caption;i.caption=t;$("a",i.element).text(i.caption)}function fi(){return u.length}function ei(n){return l(n)!=null}function oi(n,t){var i=l(n);if(i==null&&console.warn("TabBulletText: Cannot find tab '"+n+"'."),t==undefined)return i.bulletText;i.bulletText=t;p()}function si(n,t){var i=l(n);if(i==null&&console.warn("TabIcon: Cannot find tab '"+n+"'."),t==undefined)return i.icon;i.icon=t;p()}function hi(n,t){var i=null;if(typeof n=="string"?i=l(n):n>=0&&n<u.length&&(i=u[n]),i==null&&console.warn("TabVisible: Cannot find tab '"+tabId+"'."),t==undefined)return i.visible;i.visible=t;p()}function ci(n){f.onSelectedTabChanged=n}function li(n){for(var t=0;t<u.length;t++)if(u[t].pageElement.find(n).length!=0){w(u[t].tabId);break}}function ai(n){if(n){var t=l(e);return t?$UI.ValidateContainer(t.pageElement):(window.alert("Tabs.Validate: No current tab."),!1)}return $UI.ValidateContainer(ht)}function vi(n){if(n===undefined)return f.visible;f.visible=n;ut()}var s,tt,b,e="",a,u,o,k,f,d,c,g,h,it,ht;if(TabsDefaults={cssClass:"is-tabs",style:"horizontal",alwaysShowTabs:!1,width:"auto",pageShortcutForm:"",pageShortcutId:"",selectedTabId:"",onSelectedTabChanged:null,visible:!0,hideTabs:!1},f=$.extend({},TabsDefaults,t),k=v,typeof n=="string"?(d=i(n),n=$("#"+d)):d=$(n).attr("id"),c=$(n),c.length==0){console.warn("userinterface.Tabs: Element '"+d+"' not found.");return}if(s=$(c[0]),u=[],c=s.children(),c.length!=0&&c[0].nodeName.toLowerCase()=="ul"){for(o=$(c[0]),c=$("li",o),g=0;g<c.length;g++)h=new rt,n=$(c[g]),h.caption=n.text(),h.tabId=n.attr("tabId"),h.cssClass=n.attr("class"),h.icon=n.attr("icon"),n.attr("summaryPage")&&(h.summaryPage=!0),it=$("#"+k+"page"+h.tabId),it.length==0?console.warn("userinterface.Tabs: No related page found for tab '"+h.tabId+"'."):(h.pageElement=$(it[0]),h.pageElement.addClass("is-tab-page"),e||(e=h.tabId)),u.push(h);o.children().remove()}else o=$("<ul><\/ul>"),s.prepend(o);return tt=$("<div class='element-right'><\/div>"),s.append(tt),f.visible||(s.hide(),o.hide()),nt(),ut(),e&&w(e),ht={TypeName:"Tabs",Element:pt,ElementRight:wt,FocusChild:bt,FocusFirst:kt,GetTabIdByIndex:dt,HandleValidatePageFailedResponse:at,OnSelectedTabChanged:ci,RefreshFromFormHeaderInfo:vt,ResizeFromParent:gt,SelectedTabId:w,SelectedTabIndex:ot,SelectTabFromChildElement:li,GotoPage:ni,SetPageHtml:ti,GetTabById:st,GetTabByIndex:ii,TabsAdd:yt,TabsClear:et,TabsElement:ri,TabBulletText:oi,TabExists:ei,TabCaption:ui,TabCount:fi,TabIcon:si,TabVisible:hi,Validate:ai,Visible:vi}}function ur(n,t){function s(){u.cssClass&&(r.addClass(u.cssClass),o.addClass(u.cssClass));u.readOnly?(r.addClass("is-readonly"),r.attr("disabled","disabled")):(r.removeClass("is-readonly"),r.removeAttr("disabled"));u.autoReadOnly?r.attr("autoreadonly","true"):r.removeAttr("autoreadonly")}function a(n){if(n===undefined)return o?o.text():"";o&&o.text(n)}function v(){return r}function y(){return c}function p(){r.focus()}function w(){if(!u.readOnly)if(u.onChange)u.onChange(l,{})}function b(n){if(n===undefined)return u.readOnly;n!=u.readOnly&&(u.readOnly=n==!0,s())}function k(n){if(n===undefined)return u.autoReadOnly;n!=u.autoReadOnly&&(u.autoReadOnly=n==!0,s())}function d(n){if(n===undefined)return $Runtime.GetBoolean(r);$Runtime.SetBoolean(r,n)}function g(n){if(n===undefined)return u.visible;u.visible=n;s()}function nt(n){if(!f&&(f=r.closest("tr"),f.length==0))return console.warn("Checkbox.VisibleRow: no parent row element found."),f=null,!1;if(n===undefined)return f.css("visibility").toUpperCase()=="HIDDEN";n?(f.css("display","table-row"),f.css("visibility","")):(f.css("display","none"),f.css("visibility","hidden"))}var r,f,o,c,u,e,h,l;if(CheckBoxDefaults={caption:"",cssClass:"is-checkbox",readOnly:!1,autoReadOnly:!0,onChange:null},u=$.extend({},CheckBoxDefaults,t),typeof n=="string"?(e=i(n),n=$("#"+e)):(e=$(n).attr("id"),e||(e="chk"+$Runtime.CreateGuid(!0),$(n).attr("id",e))),h=$(n),h.length==0){console.warn("userinterface.CheckBox: Element '"+e+"' not found.");return}return r=$(h[0]),(r.attr("type")+"").toUpperCase()!="CHECKBOX"&&console.warn("userinterface.CheckBox: Element '"+e+"' does not have a type attribute of 'checkbox'."),r.wrap("<span style='white-space:nowrap' class='is-checkbox' controlType='checkbox'/>"),c=$(r.parent()),o=$("<label for='"+e+"'>"+$Runtime.HtmlEncode(u.caption)+"<\/label>").insertAfter(r),s(),r.bind("click",w),l={TypeName:"CheckBox",AutoReadOnly:k,Caption:a,Element:v,Focus:p,ReadOnly:b,Value:d,Visible:g,VisibleRow:nt,WrapperElement:y}}function fr(n,t){function p(){u.cssClass&&f.addClass(u.cssClass);f.addClass("is-no-select");r.attr("readonly","readonly");u.readOnly?f.addClass("is-readonly"):f.removeClass("is-readonly");u.autoReadOnly?r.attr("autoreadonly","true"):r.removeAttr("autoreadonly");u.width!="auto"&&f.css({width:u.width});u.visible?f.show():f.hide()}function w(){var t="",i=r.val(),n;for(o.children().remove(),h=JSON.parse(JSON.stringify(s)),n=0;n<h.length;n++)t+="<li class='is-selectable'>"+$Runtime.HtmlEncode(h[n])+"<\/li>";o.append(t);$("li",o).bind("click",function(){tt($(this).text());d(!0);k()});k();mListDirty=!1}function tt(n){for(var f,i=$Runtime.ArrayFromCsvString(r.val()),e=!1,u=[],t=0;t<i.length;t++)n.toUpperCase()==i[t].toUpperCase()?e=!0:u.push(i[t]);e||u.push(n);f=$Runtime.ArrayToCsvString(u);f!=r.val()&&at(f,!0)}function k(){var u=$("li",o),i,t,f,n,e;for(u.removeClass("checked"),i=$Runtime.ArrayFromCsvString(r.val()),t=0;t<i.length;t++)for(f=i[t].toUpperCase(),n=0;n<h.length;n++)e=h[n].toUpperCase(),f==e&&$(u[n]).addClass("checked")}function it(){return r.val()!=y}function d(){var n={ChangeHandled:!1,TextOriginal:y};if(u.onChange)u.onChange(nt,n);n.ChangeHandled&&(y=r.val())}function rt(n){if(n===undefined)return l?l.text():"";l&&l.text(n)}function ut(){return r}function ft(){r.focus();r.select()}function et(n){s=n;w()}function g(n){s=$Runtime.ArrayFromCsvString(n);w()}function ot(){return $Runtime.ArrayToCsvString(h)}function st(n){if(n===undefined)return u.readOnly;n!=u.readOnly&&(u.readOnly=n==!0,p())}function ht(n){if(n===undefined)return b;n!=b&&(b=n==!0,w())}function ct(n){if(n===undefined)return u.autoReadOnly;n!=u.autoReadOnly&&(u.autoReadOnly=n==!0,p())}function lt(n){if(n===undefined)return $Runtime.GetString(r);n!=r.val()&&(v+=1,r.val(n),v-=1,k());y=n}function at(n,t){(n!=r.val()||t)&&(v+=1,r.val(n),v-=1,d())}function vt(n){if(n===undefined)return u.visible;u.visible=n;p()}function yt(n){if(!e&&(e=r.closest("tr"),e.length==0))return console.warn("CheckList.VisibleRow: no parent row element found."),e=null,!1;if(n===undefined)return e.css("visibility").toUpperCase()=="HIDDEN";n?(e.css("display","table-row"),e.css("visibility","")):(e.css("display","none"),e.css("visibility","hidden"))}function pt(){}function wt(){window.alert("HeightResizeFromParent not implemented!");o&&o.hide();window.setTimeout(function(){var n;n=e?$("td,th",e).innerHeight():f.parent().innerHeight();f.css({height:n+0+"px",overflow:"auto"});u.visible&&o.show()},100)}function bt(n){u.onChange=n}var r,e,v=0,l,s=[],h,o,b=!1,y="",f,u,a,c,nt;if(ListBoxDefaults={captionElement:"auto",cssClass:"is-checklist",listCsv:"",readOnly:!1,autoReadOnly:!0,visible:!0,width:"auto",onChange:null},u=$.extend({},ListBoxDefaults,t),typeof n=="string"?(a=i(n),n=$("#"+a)):a=$(n).attr("id"),c=$(n),c.length==0){console.warn("userinterface.CheckList: Element '"+a+"' not found.");return}return r=$(c[0]),r.wrap("<span style='display:inline-block; padding:0; position:relative; margin:0' controlType='checklist'/>"),f=$(r.parent()),c=$("label[for='"+a+"']"),l=c.length==0?null:$(c[0]),f.attr("tabindex","-1"),o=$("<ul><\/ul>"),f.append(o),p(),g(u.listCsv),w(),f.bind("keydown",function(n){switch(n.keyCode){case 38:ListIndexChange(-1);break;case 40:ListIndexChange(1)}}),nt={TypeName:"CheckList",AutoReadOnly:ct,Caption:rt,Changed:it,Element:ut,Focus:ft,HeightResizeFromParent:wt,ListFromArray:et,ListFromCsvString:g,ListToCsvString:ot,ReadOnly:st,Sorted:ht,Text:lt,Visible:vt,VisibleRow:yt,WidthResizeFromParent:pt,OnChange:bt,WrapperElement:function(){return f}}}function er(n,t){function o(){u.html($Runtime.HtmlEncode(r.text));u.removeClass();switch(r.style.toUpperCase()){case"HEADING":u.addClass("is-label-heading");break;case"HYPERLINK":u.addClass("is-label-hyperlink");break;case"INFORMATION":u.addClass("is-label-information");break;case"NORMAL":u.addClass("is-label-normal");break;case"PAGEHEADING":u.addClass("is-label-pageheading");break;case"WARNING":u.addClass("is-label-warning");break;default:console.warn("userinterface.Label: style '"+r.style+"' not supported.")}r.tooltipHtml||r.tooltipText?u.addClass("is-tooltip"):u.removeClass("is-tooltip");r.readOnly;r.visible?u.show():u.hide()}function v(n){if(n===undefined)return r.tooltipHtml;r.tooltipHtml=n;o()}function y(n){if(n===undefined)return r.tooltipText;r.tooltipText=n;o()}function p(n){if(n===undefined)return r.text;r.text=n;o()}function w(){return u}function b(n){if(n===undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,o())}function c(){e.Hide()}function a(){e.Clear();r.tooltipHtml?e.Append("<span>"+r.tooltipHtml+"<\/span>"):e.Append("<span>"+$Runtime.HtmlEncode(r.tooltipText)+"<\/span>");e.Show()}function k(n){if(n===undefined)return r.visible;r.visible=n;o()}function d(n){if(!f&&(f=u.closest("tr"),f.length==0))return console.warn("DbComboBox.VisibleRow: no parent row element found."),f=null,!1;if(n===undefined)return f.css("visibility").toUpperCase()=="HIDDEN";n?(f.css("display","table-row"),f.css("visibility","")):(f.css("display","none"),f.css("visibility","hidden"))}var e,u,f,r,s,h;if(LabelDefaults={style:"Heading",text:null,readOnly:!1,tooltipText:"",tooltipHtml:"",visible:!0},r=$.extend({},LabelDefaults,t),typeof n=="string"?(s=i(n),n=$("#"+s)):s=$(n).attr("id"),h=$(n),h.length==0){console.warn("userinterface.Label: Element '"+s+"' not found.");return}return u=$(h[0]),r.text==null&&(r.text=u.text()),e=new l(u,{cssClass:"is-tooltip"}),o(),u.bind("click",function(){(r.tooltipHtml||r.tooltipText)&&(e.Visible()?c():a())}),{TypeName:"Label",Element:w,ReadOnly:b,Text:p,TooltipHtml:v,TooltipText:y,TooltipHide:c,TooltipShow:a,Visible:k,VisibleRow:d}}function vt(n,t){function h(){u.cssClass&&f.addClass(u.cssClass);u.multiLine?f.css({minHeight:u.minHeight}):f.css({minHeight:""});u.allowBlank?(f.removeClass("is-mandatory"),s&&s.removeClass("is-mandatory")):(f.addClass("is-mandatory"),s&&s.addClass("is-mandatory"));f.attr("placeholder",u.blankTip);u.readOnly?(f.addClass("is-readonly"),f.attr("readonly","readonly")):(f.removeClass("is-readonly"),f.removeAttr("readonly"));u.autoReadOnly?f.attr("autoreadonly","true"):f.removeAttr("autoreadonly");u.hyperlinkContent?(f.addClass("is-hyperlink"),f.addClass("is-hyperlink")):f.removeClass("is-hyperlink");f.attr("maxLength",u.maxLength==0?"":u.maxLength);u.width!="auto"&&f.css({width:u.width});u.spellCheck?f.attr("spellcheck","true"):f.attr("spellcheck","false");u.multiLine&&u.rows&&f.attr("rows",u.rows);u.actionsButtonVisible?(e.addClass("is-control-actions-button"),c.show()):(e.removeClass("is-control-actions-button"),c.hide());g?(a.css({display:"none"}),f.removeClass("is-invalid")):(f.addClass("is-invalid"),w?(nt?a.html(w):a.text(w),a.css({display:"inline-block"})):a.css({display:"none"}))}function lt(n){n!=u.allowBlank&&(u.allowBlank=n==!0,h())}function at(n){if(n===undefined)return u.blankTip;u.blankTip=n;h()}function vt(n){if(n===undefined)return s?s.text():"";s&&s.text(n)}function ht(){return f.val()!=y}function d(){var n={ChangeHandled:!1,TextOriginal:y};if(u.onChange)u.onChange(et,n);n.ChangeHandled&&(y=f.val())}function yt(){return f}function ct(){f.focus();f.select()}function pt(n){if(n===undefined)return u.hyperlinkContent;n!=u.hyperlinkContent&&(u.hyperlinkContent=n==!0,h())}function wt(n){if(n===undefined)return u.readOnly;n!=u.readOnly&&(u.readOnly=n==!0,h())}function bt(n){if(n===undefined)return u.autoReadOnly;n!=u.autoReadOnly&&(u.autoReadOnly=n==!0,h())}function kt(n){if(n===undefined)return $Runtime.GetString(f,!0);f.val(n);y=n}function ft(n){var r,t,i;e.hide();r=e.parent().innerWidth();e.show();t=u.width;i="";u.maxLength==0||u.maxLength>=100||n?t="100%":(t=u.maxLength*.8+"em",i=r<=0?"100%":r+"px");e.css({width:t,maxWidth:i});f.css({width:t,maxWidth:i})}function dt(){u.multiLine?(e.css({width:"100%",height:"100%",overflow:"visible",display:"inline-block"}),f.css({width:"100%",height:"100%",overflow:"auto"})):ft()}function gt(n){var t,i,u,r;if(k=n,k&&k.length!=0){for(l=$("<div class='is-textbox-tagslist' style='display:none'><\/div>"),e.prepend(l),t=$("<ul><\/ul>"),i=0;i<n.length;i++)u=k[i],r=$("<li><\/li>"),r.text(u.caption),r.attr("value",u.value),t.append(r);l.append(t);$("li",t).click(function(){f.focus();ii($(this).attr("value"))})}else l=null}function ni(){l&&!u.readOnly&&(v?(window.clearTimeout(v),v=null):l.slideDown("fast"))}function ti(){l&&(v&&window.clearTimeout(v),v=window.setTimeout(function(){l.slideUp("fast");v=null},100))}function ii(n){u.readOnly||ri(n)}function ri(n){var i=f[0],t=i.selectionStart,r=i.selectionEnd-t,u=f.val();f.val(u.substring(0,t)+n+u.substring(t+r));r?(i.selectionStart=t,i.selectionEnd=t+n.length):(i.selectionStart=t+n.length,i.selectionEnd=t+n.length);d()}function ui(){return g?!0:!1}function fi(n,t,i){g=n;w=t==undefined?"":t;nt=i==undefined?!1:i;h()}function ei(n){if(n===undefined)return u.actionsButtonVisible;n!=u.actionsButtonVisible&&(u.actionsButtonVisible=n==!0,h())}function oi(){return c}function si(n){if(n===undefined)return u.visible;u.visible=n;h()}function hi(n){if(!o&&(o=f.closest("tr"),o.length==0))return console.warn("DbComboBox.VisibleRow: no parent row element found."),o=null,!1;if(n===undefined)return o.css("visibility").toUpperCase()=="HIDDEN";n?(o.css("display","table-row"),o.css("visibility","")):(o.css("display","none"),o.css("visibility","hidden"))}var c,f,o,ot=!1,g=!0,s,k=[],l,v,y="",a,w="",nt=!1,e,u,b,p,tt,it,st,rt,ut,et;if(TextBoxDefaults={captionElement:"auto",cssClass:"is-textbox",allowBlank:!0,blankTip:"",maxLength:0,multiLine:!1,minHeight:"32px",spellCheck:!1,readOnly:!1,autoReadOnly:!0,width:"auto",rows:1,password:!1,onChange:null,changeWhileTyping:!1,onEnterKey:null,hyperlinkContent:!1,onContentHyperlink:null,actionsButtonIcon:null,actionsButtonVisible:!1,onActionsButtonClick:null},u=$.extend({},TextBoxDefaults,t),typeof n=="string"?(b=i(n),n=$("#"+b)):b=$(n).attr("id"),p=$(n),p.length==0){console.warn("userinterface.TextBox: Element '"+b+"' not found.");return}if(f=$(p[0]),u.blankTip||(u.blankTip=f.attr("placeholder")),u.multiLine?(tt=$("<textarea id='"+f.attr("id")+"' style='resize:none'><\/textarea>"),f.replaceWith(tt),f=tt):u.password&&(it=$("<input type='password' id='"+f.attr("id")+"' autocomplete='new-password' value=''/>"),f.replaceWith(it),f=it),f.wrap("<span style='white-space:normal; display:inline; padding:0; margin:0;' controlType='textbox'/>"),e=$(f.parent()),c=$("<button class='is-control-actions-button' type='button'><\/button>"),u.actionsButtonIcon&&(st=r(u.actionsButtonIcon,16),c.addClass("icon"),c.append("<img src='"+st+"'/>")),e.append(c),c.click(function(){if(u.actionsButtonVisible)if(u.onActionsButtonClick)u.onActionsButtonClick(et);else window.alert("onActionsButtonClick is not handled!")}),a=$("<label style='display:none' class='is-validation-tip'><\/label>"),e.append(a),p=$("label[for='"+b+"']"),s=p.length==0?null:$(p[0]),u.width=="auto"&&u.maxLength!=0&&ft(),f.blur(function(){ht()&&d();y=f.val();ot=!1;ti()}),f.focus(function(){ot=!0;ni()}),u.changeWhileTyping){rt="keyup paste";ut=f.attr("type");ut&&ut.toLowerCase()=="search"&&(rt+=" input");f.on(rt,function(){d();y!=f.val()&&console.warn("userinterface.TextBox: changeWhileTyping is enabled but no onChange handler is setting e.changeHandled to true. Ignore if by design but this may mean code is called multiple times needlessly.")})}if(u.onEnterKey)f.on("keydown",function(n){if(n.keyCode==13)return u.onEnterKey(),!1});if(u.onContentHyperlink)f.on("click",function(){u.readOnly&&u.hyperlinkContent&&u.onContentHyperlink&&u.onContentHyperlink()});return a.click(function(){ct()}),h(),et={TypeName:"TextBox",ActionsButtonElement:oi,ActionsButtonVisible:ei,AllowBlank:lt,AutoReadOnly:bt,BlankTip:at,Caption:vt,Changed:ht,Element:yt,Focus:ct,HyperlinkContent:pt,ReadOnly:wt,ResizeFromParent:dt,TagsListDefine:gt,Text:kt,Visible:si,VisibleRow:hi,WidthResizeFromParent:ft,IsValid:ui,ValidationSet:fi,NotifyChange:d}}function or(n,t){function h(){r.cssClass&&u.addClass(r.cssClass);r.multiLine?u.css({minHeight:r.minHeight}):u.css({minHeight:""});r.allowBlank?(u.removeClass("is-mandatory"),f&&f.removeClass("is-mandatory")):(u.addClass("is-mandatory"),f&&f.addClass("is-mandatory"));u.attr("placeholder",r.blankTip);r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly")):(u.removeClass("is-readonly"),u.removeAttr("readonly"));r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");r.hyperlinkContent?(u.addClass("is-hyperlink"),u.addClass("is-hyperlink")):u.removeClass("is-hyperlink");u.attr("maxLength",r.maxLength==0?"":r.maxLength);r.width!="auto"&&u.css({width:r.width})}function v(n){n!=r.allowBlank&&(r.allowBlank=n==!0,h())}function y(n){if(n===undefined)return f?f.text():"";f&&f.text(n)}function p(){return u.val()!=mTextOriginal}function w(){return u}function b(){u.focus();u.select()}function k(n){if(n===undefined)return r.hyperlinkContent;n!=r.hyperlinkContent&&(r.hyperlinkContent=n==!0,h())}function d(n){if(n===undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,h())}function g(n){if(n===undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,h())}function nt(){return u[0].files}function tt(n){for(var r,f,t=u[0].files,e=[],o=0,i=0;i<t.length;i++)r=new FileReader,f=t[i],r.readAsDataURL(f),r.onload=function(i){return function(r){o+=1;e.push({name:i.name,data:r.target.result});o==t.length&&n(e)}}(f)}function l(n){var f,t,i;e.hide();f=e.parent().innerWidth();e.show();t=r.width;i="";r.maxLength==0||r.maxLength>100||n?t="100%":(t=r.maxLength*.8+"em",i=f+"px");e.css({width:t,maxWidth:i});u.css({width:t,maxWidth:i})}var u,f,e,r,s,o,c,a;if(FileBoxDefaults={captionElement:"auto",cssClass:"is-textbox",allowBlank:!0,blankTip:"",maxFiles:1,readOnly:!1,autoReadOnly:!0,width:"auto",onChange:null,hyperlinkContent:!1,onContentHyperlink:null},r=$.extend({},FileBoxDefaults,t),typeof n=="string"?(s=i(n),n=$("#"+s)):s=$(n).attr("id"),o=$(n),o.length==0){console.warn("userinterface.FileBox: Element '"+s+"' not found.");return}return u=$(o[0]),r.blankTip||(r.blankTip=u.attr("placeholder")),c=$("<input type='file' id='"+u.attr("id")+"' value=''/>"),u.replaceWith(c),u=c,u.wrap("<span style='white-space:normal; display:inline; padding:0; margin:0;' controlType='filebox'/>"),e=$(u.parent()),mValidationElement=$("<label style='display:none' class='is-validation-tip'><\/label>"),e.append(mValidationElement),o=$("label[for='"+s+"']"),f=o.length==0?null:$(o[0]),r.width=="auto"&&r.maxLength!=0&&l(),h(),a={TypeName:"FileBox",AllowBlank:v,AutoReadOnly:g,Caption:y,Changed:p,Element:w,Focus:b,HyperlinkContent:k,ReadOnly:d,Files:nt,WidthResizeFromParent:l,GetFileData:tt}}function sr(t){function gt(){return c}function ni(){return i.allowCloseWithoutWarning}function ft(n){if(i.hideOnClose){ot(!1);return}yt();n?window.setTimeout(function(){et()},100):et()}function yt(){if(h===n[n.length-1]){s>0&&(s-=1);var t=n.pop();n.length>0?n[n.length-1].NotifyChildClosed(t):h.ParentModal()&&h.ParentModal().NotifyChildClosed&&h.ParentModal().NotifyChildClosed(t)}else window.alert("userinterface.Modal.Close: Could not remove modal from stack since it is not the top-most item. Modals should always be closed last to first.")}function et(){f&&(u.remove(),u=null,f.remove(),f=null,$(window).unbind("resize.modal"+b),s<=0&&$("body").removeClass("is-has-modal"));i.onAfterClose&&i.onAfterClose()}function ti(){f;i.onAfterHide&&i.onAfterHide()}function ii(){return d}function ri(n){if(n===undefined)return i.dialogResult;i.dialogResult=n}function ot(n){ut?(ut=!1,f.fadeOut(100),n?(yt(),u.fadeOut(100,function(){et()})):u.fadeOut(100,function(){ti()})):n&&ft()}function st(n,t){var r=!1;if($App&&$App.ExecuteGlobalFormAction&&(r=$App.ExecuteGlobalFormAction(n,t,h)),!r)if(i.onAction)i.onAction(n,t);else console.warn("$UI.Modal.ExecuteAction: No OnAction defined for this Modal object to handle action '"+n+"'.")}function ui(n,t){if(i.onActionNotification)i.onActionNotification(n,t)}function fi(){for(var t=$("a, button, input, select, textarea",u),n=0;n<t.length;n++)e=$(t[n]),e.attr("disabled")||(e.attr("autoreadonly")==undefined||e.attr("autoreadonly")!="false")&&(e.attr("ISFormDisabled",!0),e.attr("disabled",!0))}function ei(){for(var t=$("a, button, input, select, textarea",u),n=0;n<t.length;n++)e=$(t[n]),e.attr("ISFormDisabled")&&(e.removeAttr("ISFormDisabled"),e.attr("disabled",!1))}function si(n){if(n===undefined)return i.formKey;i.formKey=n}function hi(n){if(n===undefined)return i.formType;i.formType=n}function ci(n){if(i.onChildClosed)i.onChildClosed({child:n})}function li(){i.onRefresh?i.onRefresh():i.appShortcutUrl&&$App&&(ft(),$Ash.ExecuteUrl(i.appShortcutUrl))}function ai(n){if(n==undefined)return i.onAction;i.onAction=n}function vi(n){i.onActionNotification=n}function yi(n){i.onChildClosed=n}function pi(n){i.onClose=n}function wi(n){i.onRefresh=n}function bi(n){i.onResize=n}function ki(n){if(n===undefined)return i.parentModal;i.parentModal=modal}function di(n){n=n.replace(/ id=\"/g,' id="'+l);n=n.replace(/ id=\'/g," id='"+l);n=n.replace(/ for=\"/g,' for="'+l);n=n.replace(/ for=\'/g," for='"+l);d.html(n);(i.width=="auto"||i.height=="auto")&&ht()}function gi(n){a?(typeof n=="string"&&(n=$("#"+n)),n.detach(),a.append(n),a.show()):window.alert("userinterface.Modal.SetFooterElement: Cannot set until form has been shown.")}function nr(n){g?(typeof n=="string"&&(n=$("#"+n)),n.detach(),g.append(n),g.show()):window.alert("userinterface.Modal.SetHeaderElement: Cannot set until form has been shown.")}function tr(n){var t=$.extend({},ModalShowDefaults,n);if(t.title!=undefined&&(i.title=t.title),t.titleIcon!=undefined&&(i.titleIcon=t.titleIcon),f||(rt+=1,b=rt,f=$("<div class='is-modal-overlay' style='display:none'><\/div>"),$("#pageBody").hasClass("blur")&&f.css("background-color","rgba(0,0,0,0.6)"),f.css("z-index",2+(b-1)*11),i.allowMinimise&&f.addClass("allows-minimise"),$("body").append(f),u=$("<div id='"+l+"' class='is-modal showing' style='display:none'><div class='is-modal-title-buttons'><div class='is-modal-minimise is-symbol-minimise-window' title='Temporarily minimise this form to view information underneath'><\/div><div class='is-modal-open-window is-symbol-open-window' title='Open in a new Web Browser Tab\n\nThis provides a URL that can be bookmarked in your browser or sent to someone'><\/div><div class='is-modal-close is-symbol-close' title='Close'><\/div><\/div><div class='is-form-actions-menu' style='display:none'><\/div><div class='is-modal-title-icon is-no-select'><\/div><div class='is-modal-title is-no-select'><\/div><div class='is-modal-header' style='display:none'><\/div><div class='is-modal-body'><\/div><div class='is-modal-footer' style='display:none'><ul class='is-modal-dialog-buttons main' style='display:none'><\/ul><ul class='is-modal-dialog-buttons other' style='display:none'><\/ul><\/div><\/div><\/div>"),i.specialCssClass&&u.addClass(i.specialCssClass),i.tool&&u.addClass("tool"),$("body").append(u),u.css("z-index",10+(b-1)*11),nt=$(".is-modal-minimise",u),tt=$(".is-modal-open-window",u),k=$(".is-modal-close",u),p=$(".is-modal-title-icon",u),v=$(".is-modal-title",u),g=$(".is-modal-header",u),d=$(".is-modal-body",u),a=$(".is-modal-footer",u),at=$(".main",u),vt=$(".other",u),ct=$(".is-form-actions-menu",u),nt.click(function(n){n.preventDefault();$UI.ModalMinimise(h,i.parentModal)}),tt.click(function(n){n.preventDefault();$App&&$App.RunAppShortcutInNewBrowserWindow(i.appShortcutUrl)}),k.click(function(n){n.preventDefault();i.onClose?i.onClose():ot(i.deleteOnClose)}),$(window).bind("resize.modal"+b,function(){ht();i.onResize&&i.onResize()})),t.content!=null&&d.html(t.content),dt(i.title),i.allowMinimise?(nt.show(),u.addClass("allows-minimise")):(nt.hide(),u.removeClass("allows-minimise")),i.appShortcutUrl?tt.show():tt.hide(),i.showClose?k.show():k.hide(),ht(),!t.noShow){ut=!0;f.css({display:""});u.show();wt();i.tool||(s+=1);s==1&&$("body").addClass("is-has-modal");i.focusActionId&&window.setTimeout(function(){kt(i.focusActionId)},10);u.off("animationend");u.on("animationend",function(){y(u)})}}function pt(){lt(ct,c,st)}function ht(){var e=parseInt(i.minHeight),o=parseInt(i.minWidth),t,r,f,n;if(e||(e=460),o||(o=620),t=!1,r=!1,(window.innerWidth<=640||window.innerHeight<=480)&&(t=!0),!t){u.removeClass("is-modal-full");f={width:i.width};i.height=="auto"||(f.height=i.height);u.css(f);n=i.width+"";n&&n.substr(n.length-1,1)=="%"&&(i.minWidth&&u.css({minWidth:i.minWidth}),i.maxWidth&&u.css({maxWidth:i.maxWidth}));n=i.height+"";n&&n.substr(n.length-1,1)=="%"&&(i.minHeight&&u.css({minHeight:i.minHeight}),i.maxHeight&&u.css({maxHeight:i.maxHeight}));var s=u.outerHeight(),h=u.outerWidth(),c=Math.max($(window).height()-s,0)/3,l=Math.max($(window).width()-h,0)/2;u.css({top:c,left:l});u.outerWidth()>=window.innerWidth-20?r=!0:u.outerHeight()>=window.innerHeight-20&&(r=!0)}u.removeClass("forced-windowed");t?i.forceWindowed?(u.css({top:8,left:8,bottom:8,right:8,width:"",height:"",minWidth:"",minHeight:"",maxWidth:"",maxHeight:""}),u.addClass("forced-windowed")):(u.addClass("is-modal-full"),u.css({top:0,left:0,width:"100%",height:"100%",minWidth:"",minHeight:"",maxWidth:"",maxHeight:""})):r}function ir(){return l}function rr(){return u}function wt(){var n=!1;f&&(bt("[buttons]",at)>0&&(n=!0),bt("[buttonsOther]",vt)>0&&(n=!0),n?a.show():a.hide())}function bt(n,t){var s=0,h=!1,i,u,f,o,e;for(t.children().remove(),e=0;e<c.Actions().length;e++)if(i=c.Actions()[e],(i.groupId.toUpperCase()==n.toUpperCase()||i.repeatInGroupId&&i.repeatInGroupId.toUpperCase()==n.toUpperCase())&&i.visible){if(s+=1,f=$("<li><button class='is-button'><\/button><\/li>"),t.append(f),u=$("button",f),u.attr("action-id",i.actionId),o=i.caption+"",o=o.replace(/(<([^>]+)>)/ig,""),n=="[buttonsOther]"&&i.icon&&w?(u.addClass("action-other"),iconUrl=iconUrl=r(i.icon,16),u.css("background-image","url("+iconUrl+")"),u.attr("title",i.tooltipText||o)):(u.text(o),u.attr("title",i.tooltipText)),i.enabled||u.attr("disabled","disabled"),i.buttonStyle)u.addClass(i.buttonStyle);else switch(i.actionId.toUpperCase()){case"ADD":u.addClass("positive");break;case"CANCEL":case"CLOSE":u.addClass("cancel");break;case"CUSTOMISE":u.addClass("customise");f.addClass("system");u.attr("title","Customise");break;case"DELETE":u.addClass("danger");break;case"FINISH":case"OK":case"SAVE":u.addClass("ok");break;case"REFRESH":u.addClass("refresh");f.addClass("system");u.attr("title","Refresh");break;default:u.addClass("normal")}i.enabled&&(i.handler?function(n){u.click(function(){n.handler()})}(i):function(n){u.click(function(){st(n.actionId,n.data?n.data:n.applicationShortcutUrl)})}(i))}if(n=="[buttonsOther]"){for(e=0;e<c.Actions().length;e++)if(i=c.Actions()[e],i.groupId.substr(0,1)!="["&&i.visible){h=!0;s+=1;break}h&&(f=$("<li class='system'><button class='is-button actions' title='Actions'><\/button><\/li>"),t.append(f),u=$("button",f),function(){u.click(function(){pt()})}())}return s>0?t.show():t.hide(),s}function kt(n){window.setTimeout(function(){var t=$("button[action-id='"+n+"']",u);t.focus()},10)}function dt(n){if(n===undefined)return i.title;n?(n.startsWith("<HTML>")?v.html(n.substr(6)):v.text(n),v.show()):(v.text(""),v.hide())}function ur(n){if(n===undefined)return i.titleIcon;n?(n.indexOf("<")==-1?p.html("<img src='"+$UI.GetIconUrl(n)+"' style='width:16px; height:16px'/>"):p.html(n),p.show()):(p.text(""),p.hide())}function fr(n){o||(n||(n=""),o=$("<div class='is-modal-overlay top is-wait-block' style='display:none'><div class='is-wait'><div class='is-wait1'><\/div><div class='is-wait2'><\/div><div class='is-wait3'><\/div><\/div><label>"+$Runtime.HtmlEncode(n)+"<\/label><\/div>"),u.append(o),o.show())}function er(n){o&&($("label",o).text(n),o.show())}function or(){o&&(o.remove(),o=null)}var c,ct,k,d,at,a,g,u,b,l,v,p,nt,tt,vt,f,ut=!1,o,i,h;return ModalDefaults={formKey:"",formType:"",dialogResult:"Cancel",content:"",title:"",titleIcon:"",width:"50%",height:"50%",minWidth:620,minHeight:460,maxWidth:"",maxHeight:"",forceWindowed:!0,showClose:!0,deleteOnClose:!0,closeOnEscape:!1,actionCaption:"",onAction:null,onActionNotification:null,onChildClosed:null,onClose:null,onRefresh:null,onResize:null,onAfterClose:null,onAfterHide:null,hideOnClose:!1,appShortcutUrl:"",parentModal:null,allowMinimise:!1,allowCloseWithoutWarning:!1,tool:!1,specialCssClass:""},i=$.extend({},ModalDefaults,t),l="MODAL"+$Runtime.CreateGuid(!0)+"ENDMODAL",c=new it,ModalShowDefaults={content:null,title:null},h={TypeName:"Modal",Actions:gt,AllowCloseWithoutWarning:ni,Close:ft,ContentElement:ii,DialogResult:ri,ExecuteAction:st,ExecuteNotificationAction:ui,FocusActionButton:kt,FormDisable:fi,FormEnable:ei,FormReadOnly:oi,FormKey:si,FormType:hi,Hide:ot,ModalId:ir,ModalElement:rr,ParentModal:ki,Refresh:wt,RenderView:di,SetFooterElement:gi,SetHeaderElement:nr,Show:tr,ShowActions:pt,Title:dt,TitleIcon:ur,HeaderHide:function(){},HeaderShow:function(){},NotifyChildClosed:ci,NotifyRefresh:li,OnAction:ai,OnActionNotification:vi,OnChildClosed:yi,OnClose:pi,OnRefresh:wi,OnResize:bi,WaitShow:fr,WaitUpdate:er,WaitHide:or,CloseOnEscape:function(){return i.closeOnEscape},Tag:{}},n.push(h),h}function hr(n){function ut(){return c}function g(){var r,n;if(a){for(a.children().remove(),r=[],n=0;n<u.length;n++)i===u[n]||r.push(u[n]);u=r}t.onAfterClose&&t.onAfterClose()}function ft(){return v}function y(n,r){if(r&&(r+"").toUpperCase().startsWith("APP:"))window.$Ash?$Ash.ExecuteUrl(r,i,null,null,{rerunApplicationShortcutUrl:"-"}):window.alert("Action cannot handle Application Shortcuts since no handler ($Ash) is available.");else{var u=!1;if($App&&$App.ExecuteGlobalFormAction&&(u=$App.ExecuteGlobalFormAction(n,r,i)),!u)if(t.onAction)t.onAction(n,r);else console.warn("$UI.Modal.ExecuteAction: No OnAction defined for this NonModal object to handle action '"+n+"'.")}}function et(n,i){if(t.onActionNotification)t.onActionNotification(n,i)}function ot(){for(var t=$("a, button, input, select, textarea",f),n=0;n<t.length;n++)e=$(t[n]),e.attr("disabled")||(e.attr("autoreadonly")==undefined||e.attr("autoreadonly")!="false")&&(e.attr("ISFormDisabled",!0),e.attr("disabled",!0))}function st(){for(var t=$("a, button, input, select, textarea",f),n=0;n<t.length;n++)e=$(t[n]),e.attr("ISFormDisabled")&&(e.removeAttr("ISFormDisabled"),e.attr("disabled",!1))}function ht(n,t){var u,i,r;for(u in n)i=n[u],i&&i.TypeName&&i.ReadOnly&&(r=!0,i.AutoReadOnly&&!i.AutoReadOnly()&&(r=!1),r&&i.ReadOnly(t))}function ct(n){if(n===undefined)return t.formKey;t.formKey=n}function at(){g()}function vt(n){if(t.onActivate)t.onActivate(n)}function yt(n){if(t.onChildClosed)t.onChildClosed({child:n})}function pt(n){if(n==undefined)return t.onAction;t.onAction=n}function wt(n){t.onActionNotification=n}function bt(n){t.onActivate=n}function kt(n){t.onChildClosed=n}function dt(n){t.onClose=n}function gt(n){t.onResize=n}function ni(n){n=n.replace(/ id=\"/g,' id="'+l);n=n.replace(/ id=\'/g," id='"+l);n=n.replace(/ for=\"/g,' for="'+l);n=n.replace(/ for=\'/g," for='"+l);v.html(n)}function ti(n){o?(typeof n=="string"&&(n=$("#"+n)),n.detach(),o.append(n),o.show()):window.alert("userinterface.NonModal.SetFooterElement: Cannot set until form has been shown.")}function ii(n){h?(typeof n=="string"&&(n=$("#"+n)),n.detach(),h.append(n),h.show()):window.alert("userinterface.NonModal.SetHeaderElement: Cannot set until form has been shown.")}function ri(){h&&h.hide()}function ui(){h&&h.show()}function fi(n){if(!k){k=!0;var i=$.extend({},NonModalShowDefaults,n);if(!i.parentElement){window.alert("ISUserInterface.NonModal.Show: parentElement not specified.");return}i.title!=undefined&&(t.title=i.title);a=i.parentElement;a.children().remove();f=$("<div id='"+l+"' class='is-nonmodal' style='display:none'><div class='is-form-actions-menu' style='display:none'><\/div><div class='is-nonmodal-header' style='display:none'><\/div><div class='is-nonmodal-body'><\/div><div class='is-nonmodal-footer' style='display:none'><ul class='is-modal-dialog-buttons main' style='display:none'><\/ul><ul class='is-modal-dialog-buttons other' style='display:none'><\/ul><div class='footer-hide' tabindex='-1' title='Collapse'><\/div><\/div><\/div><\/div>");a.append(f);h=$(".is-nonmodal-header",f);v=$(".is-nonmodal-body",f);o=$(".is-nonmodal-footer",f);b=$(".footer-hide",o);b.on("click",function(){o.hasClass("collapsed")?(f.removeClass("actions-collapsed"),o.removeClass("collapsed")):(f.addClass("actions-collapsed"),o.addClass("collapsed"))});w=$(".main",f);d=$(".other",f);p=$(".is-form-actions-menu",f);t.width&&(f.css("width",t.width),t.maxWidth&&f.css("maxWidth",t.maxWidth),t.minWidth&&f.css("minWidth",t.minWidth));i.content!=null&&v.html(i.content)}f.fadeIn(100);tt()}function nt(){lt(p,c,y)}function ei(){return l}function tt(){var n=!1;rt("[buttons]",w)>0&&(n=!0);rt("[buttonsOther]",d)>0&&(n=!0);n?o.show():o.hide()}function rt(n,t){var s=0,l=!1,i,u,f,e,o,a,h;if(t.children().remove(),n=="[buttonsOther]"){for(e=0;e<c.Actions().length;e++)if(i=c.Actions()[e],i.groupId.substr(0,1)!="["&&i.visible){l=!0;s+=1;break}l&&(f=$("<li class='system'><button class='is-button actions' title='Actions'><\/button><\/li>"),t.append(f),u=$("button",f),function(){u.click(function(){nt()})}())}for(e=0;e<c.Actions().length;e++)if(i=c.Actions()[e],(i.groupId.toUpperCase()==n.toUpperCase()||i.repeatInGroupId&&i.repeatInGroupId.toUpperCase()==n.toUpperCase())&&i.visible){if(s+=1,f=$("<li><button class='is-button'><\/button><\/li>"),t.append(f),u=$("button",f),o=i.caption+"",o=o.replace(/(<([^>]+)>)/ig,""),n=="[buttonsOther]"&&i.icon?(u.addClass("action-other"),a=r(i.icon,16),u.css("background-image","url("+a+")"),u.attr("title",i.tooltipText||o),(i.buttonCaption||o&&i.alwaysShowCaption)&&(i.buttonCaption?u.text(i.buttonCaption):u.text(o),u.addClass("icon-and-caption")),i.context&&u.addClass("contextual")):(u.text(i.caption),u.attr("title",i.tooltipText)),i.enabled||u.attr("disabled","disabled"),i.buttonStyle)u.addClass(i.buttonStyle);else{h=i.actionId.toUpperCase();switch(h){case"ADD":u.addClass("positive");break;case"CANCEL":case"CLOSE":u.addClass("cancel");break;case"CUSTOMISE":u.addClass("customise");f.addClass("system");u.attr("title","Customise");break;case"DELETE":u.addClass("danger");break;case"OK":case"SAVE":u.addClass("ok");break;case"REFRESH":u.addClass("refresh");f.addClass("system");u.attr("title","Refresh");break;default:h.substring(0,5)=="EDIT."?u.addClass("normal"):h.substring(0,5)=="ADD."?u.addClass("positive"):u.addClass("normal")}}i.enabled&&(i.handler?function(n){u.click(function(){n.handler()})}(i):function(n){u.click(function(){y(n.actionId,n.data?n.data:n.applicationShortcutUrl)})}(i))}return s>0?t.show():t.hide(),s}function oi(n){s||(n||(n=""),s=$("<div class='is-nonmodal-overlay is-wait-block' style='display:none'><div class='is-wait'><div class='is-wait1'><\/div><div class='is-wait2'><\/div><div class='is-wait3'><\/div><\/div><label>"+$Runtime.HtmlEncode(n)+"<\/label><\/div>"),f.append(s),s.fadeIn(100))}function si(n){s&&($("label",s).text(n),s.show())}function hi(){s&&(s.remove(),s=null)}function ci(n){if(n===undefined)return i._Tabs?i._Tabs.TabCaption(i._Tab.tabId):"";i._Tabs&&i._Tabs.TabCaption(i._Tab.tabId,n)}function li(n){if(n===undefined)return i._Tabs?i._Tabs.TabIcon(i._Tab.tabId):"";i._Tabs&&i._Tabs.TabIcon(i._Tab.tabId,n)}var c,p,v,w,o,b,h,k=!1,f,l,a,d,s,t,i;return NonModalDefaults={formKey:"",content:"",title:"",actionCaption:"",onAction:null,onActionNotification:null,onActivate:null,onChildClosed:null,onClose:null,onAfterClose:null},t=$.extend({},NonModalDefaults,n),l="NONMODAL"+$Runtime.CreateGuid(!0)+"ENDMODAL",c=new it,NonModalShowDefaults={parentElement:null,content:null,title:null},i={TypeName:"NonModal",Actions:ut,Close:g,ContentElement:ft,ExecuteAction:y,ExecuteNotificationAction:et,FormDisable:ot,FormEnable:st,FormKey:ct,FormReadOnly:ht,Hide:at,ModalId:ei,Refresh:tt,RenderView:ni,SetFooterElement:ti,SetHeaderElement:ii,Show:fi,ShowActions:nt,HeaderHide:ri,HeaderShow:ui,OnAction:pt,OnActionNotification:wt,OnActivate:bt,OnChildClosed:kt,OnClose:dt,OnResize:gt,WaitShow:oi,WaitUpdate:si,WaitHide:hi,Tag:{},NotifyActivate:vt,NotifyChildClosed:yt,TabCaption:ci,TabIcon:li},u.push(i),i}function it(n){function u(){return t}function r(n){var r,u;for(t=n,r=0;r<t.length;r++)u=$.extend({},i,t[r]),t[r]=u}function f(n){var f,u,r;if(n&&n.Actions)for(f=0;f<n.Actions.length;f++){if(u=n.Actions[f],r=$.extend({},i,{}),r.actionId=u.ActionId,r.buttonCaption=u.ButtonCaption,r.caption=u.Caption,r.alwaysShowCaption=u.AlwaysShowCaption,r.context=u.ContextPageId?!0:!1,r.contextPageId=u.ContextPageId,r.groupId=u.GroupId,r.icon=u.Icon,r.repeatInGroupId=u.RepeatInGroupId,r.system=u.System,r.applicationShortcutUrl=u.ApplicationShortcutUrl,u.ParametersJson)if(r.applicationShortcutUrl)console.warn("$UI.ActionsCollection.AppendFromFormHeaderInfo: Action '"+r.actionId+"' defined both an Application Shortcut URL and JSON Parameters. JSON Parameters were ignored.");else try{r.data=JSON.parse(u.ParametersJson)}catch(e){window.alert("$UI.ActionsCollection.AppendFromFormHeaderInfo: Action '"+r.actionId+"'\n\nFailed to parse ParametersJson.\n\n"+e)}t.push(r)}}function e(n){var i,r;for(n=n.toUpperCase(),i=0;i<t.length;i++)if(r=t[i],r.actionId&&r.actionId.toUpperCase()==n)return r;return null}function o(n){var i,r;for(n=n.toUpperCase(),r=0;r<t.length;r++)if(i=t[r],i.actionId&&i.actionId.toUpperCase()==n)return i.applicationShortcutUrl;return!1}function s(n,i){var r,u;for(n=n.toUpperCase(),u=0;u<t.length;u++)r=t[u],r.actionId&&r.actionId.toUpperCase()==n&&(r.checked=i)}function h(n,i,r){var u,f;for(n=n.toUpperCase(),f=0;f<t.length;f++)u=t[f],u.actionId&&u.actionId.toUpperCase()==n&&(u.enabled=i,r!=undefined&&(u.tooltipText=r))}function c(n){var i,r;for(n=n.toUpperCase(),r=0;r<t.length;r++)if(i=t[r],i.actionId&&i.actionId.toUpperCase()==n)return i.enabled;return!1}function l(n,i){var r,u;for(n=n.toUpperCase(),u=0;u<t.length;u++)r=t[u],r.actionId&&r.actionId.toUpperCase()==n&&(r.visible=i)}var t=[],i={buttonStyle:"",caption:"",alwaysShowCaption:!1,applicationShortcutUrl:"",data:null,checked:!1,context:!1,contextPageId:"",enabled:!0,icon:"",groupId:"",repeatInGroupId:"",system:!0,tooltipText:"",visible:!0};return n&&r(n),{TypeName:"ActionCollection",Actions:u,Define:r,AppendFromFormHeaderInfo:f,GetAction:e,GetApplicationShortcutUrl:o,GetEnabled:c,SetChecked:s,SetEnabled:h,SetVisible:l}}function l(n,t){function y(n){r.append(n)}function p(){return e}function w(){r.children().remove()}function b(){return r}function k(n,t){var v,l,i,f,c;if(s=!0,v=!1,u.popupTip)l=0,i=0,r.css({left:l,top:i});else{var h=e.offset(),l=h.left,i=h.top+e.outerHeight(),a=0,p=e[0].ownerDocument,y=!0,o=n;o||(o=200);i+=u.offsetTop;a=$(p).innerHeight()-i-4;a>=o?y=!0:h.top>=o?y=!1:(i=$(p).innerHeight()-o-16,i<0&&(i=0),r.css("min-height",o));console.log("maxHeight = "+a);y?r.css({bottom:"",left:l,top:i,"max-height":a,height:""}):(v=!0,f=r.height()+2,n&&n>f&&(f=n),c=h.top-f,c<0&&(f+=c,c=0),console.log("maxHeight 2 = "+f),r.css({left:l,maxHeight:f,height:"100%",bottom:h.top,top:c}));u.minWidthElement&&r.css({minWidth:u.minWidthElement.outerWidth()});t&&(v||r.css("bottom",0));u.widgetDocument||$("body").append(r)}r.removeClass("active");r.show();window.setTimeout(function(){r.addClass("active")},10)}function d(){s&&(s=!1,r.hide(),r.css({"max-height":"",height:"",top:"auto",bottom:"auto"}),u.widgetDocument||e.append(r))}function g(){return s}function nt(){return u.closeOnClickOutside}function tt(n){if(s){n?r.css("max-width",n+"px"):r.css("max-width","");var i=r.offset(),f=i.left,t=0;t=u.widgetDocument?$(u.widgetDocument).innerWidth():$("body").innerWidth();r.css("width",t-f-4+"px")}}var e,r,s=!1,o,f,u,c,a,v,l,h,n;if(DropdownPanelDefaults={animate:!0,cssClass:"is-dropdown",offsetTop:0,minWidthElement:null,popupTip:!1,width:"auto",closeOnClickOutside:!0,widgetDocument:null},u=$.extend({},DropdownPanelDefaults,t),typeof n=="string"?(c=i(n),n=$("#"+c)):c=$(n).attr("id"),a=$(n),a.length==0){console.warn("userinterface.DropdownPanel: Attached Element '"+c+"' not found.");return}if(e=$(a[0]),u.widgetDocument?(o=u.widgetDocument,f=u.widgetDocument.parentWindow||u.widgetDocument.defaultView):(o=document,f=window),u.popupTip?(r=$("<div style='display:none; position:absolute; z-index:999999999999' class='"+u.cssClass+"' controlType='dropdownPanel'><\/div>"),e.append(r)):(r=$("<div style='display:none; position:fixed; z-index:999999999999' class='"+u.cssClass+"' controlType='dropdownPanel'><\/div>"),e.after(r)),v={TypeName:"DropdownPanel",Append:y,AttachedElement:p,Clear:w,Element:b,Hide:d,Show:k,Visible:g,WidthResizeFromParent:tt,CloseOnClickOutside:nt},f.__ISDropdownHandler)for(l=0;l<f.__ISDropdownHandler.length;l++)h=f.__ISDropdownHandler[l],h!=undefined&&(n=h.AttachedElement(),$.contains(o,n[0])||(h.Element().remove(),delete h));return f.__ISDropdownHandler||(f.__ISDropdownHandler=[],$(f).bind("resize scroll",function(){var n,t;if(!$Runtime.IsPlatformIOS())for(n=0;n<f.__ISDropdownHandler.length;n++)t=f.__ISDropdownHandler[n],t!=undefined&&t.CloseOnClickOutside()&&t.Hide()}),$(o).bind("click",function(n){for(var t,i=0;i<f.__ISDropdownHandler.length;i++)t=f.__ISDropdownHandler[i],t!=undefined&&t.CloseOnClickOutside()&&(t.AttachedElement()[0]===n.target||t.AttachedElement().has(n.target).length==0&&t.Element().has(n.target).length==0&&t.Hide())}),$(document).bind("focusout focusin",function(){var t,n;switch(o.activeElement.tagName){case"BUTTON":case"INPUT":for(t=0;t<f.__ISDropdownHandler.length;t++)n=f.__ISDropdownHandler[t],n!=undefined&&n.AttachedElement().has(o.activeElement).length==0&&n.Element().has(o.activeElement).length==0&&n.Hide()}})),f.__ISDropdownHandler.push(v),v}function cr(n,t){function s(){r.html||r.text?f.addClass("is-tooltip"):f.removeClass("is-tooltip")}function h(){u.Hide()}function c(){u.Clear();r.html?u.Append("<span>"+r.html+"<\/span>"):u.Append("<span>"+$Runtime.HtmlEncode(r.text)+"<\/span>");u.Show()}function a(n){if(n===undefined)return r.html;r.html=n;r.text="";s()}function v(n){if(n===undefined)return r.text;r.text=n;r.html="";s()}var f,u,r,e,o;if(PopupTipDefaults={closeOnClickOutside:!1,text:"",html:""},r=$.extend({},PopupTipDefaults,t),typeof n=="string"?(e=i(n),n=$("#"+e)):e=$(n).attr("id"),o=$(n),o.length==0){console.warn("userinterface.PopupTip: Attached Element '"+e+"' not found.");return}return f=$(o[0]),u=new l(f,{cssClass:"is-tooltip"}),s(),f.bind("click",function(){(r.html||r.text)&&(u.Visible()?h():c())}),u.Element().bind("click",function(n){$(n.target).prop("tagName")==="A"&&u.Visible()&&h()}),{TypeName:"PopupTip",Html:a,Text:v,Hide:h,Show:c}}function lr(n){function h(){i.focus()}function c(){var t,n,e;i.children().remove();t=$("<div><\/div>");(r.caption||r.showCloseButton)&&(n=$("<div class='caption is-no-select'><\/div>"),r.captionHtml?n.html(r.captionHtml):n.text(r.caption),r.showCloseButton&&(e=$("<a><span class='is-symbol-close'><\/span><\/a>"),e.click(function(){u(!0)}),n.append(e)),i.append(n),t.addClass("hascaption"));f&&t.append(f);i.append(t)}function l(n){e?u():s(n)}function s(n){e||(n||(n={}),t=n.sourceButtonElement,o=n.closeFocusElement,r.caption=n.caption,f=n.contentElement,r.onKeyDown=n.onKeyDown,t,t&&(t.addClass("active"),!t||!$UI.AlwaysUsePickerControls()||t.prop("ownerDocument")===document||(t.css("background-color",ut),t.css("color","white"),window.setTimeout(function(){$(t.prop("ownerDocument")).on("click.widgetsidepanel",function(){u()})},10))),c(),n.context?i.addClass(n.context):i.removeClass("calendar"),e=!0,i.show(),i.focus())}function u(n){t&&t.removeClass("active");n&&o&&($Runtime.IsMobileBrowser()||o.Focus());f&&(f.detach(),f=null);o=null;!t||!$UI.AlwaysUsePickerControls()||t.prop("ownerDocument")===document||(t.css("background-color",""),t.css("color",""),$(t.prop("ownerDocument")).off("click.widgetsidepanel"));e=!1;i.hide()}var o,f,i,t,e=!1,r;PickerPanelDefaults={caption:"",captionHtml:"",autoClose:!0,autoCloseIgnoreElements:null,showCloseButton:!0,onClose:null,onKeyDown:null};r=$.extend({},PickerPanelDefaults,n);i=$("<div class='is-picker-panel is-no-select'><\/div>");$("body").append(i);i.attr("tabindex","-1");i.on("contextmenu",function(){return!1});if(r.autoClose)i.on("mousedownoutside",function(n){e&&($(n.target).hasClass("active")||u())});return i.bind("keydown",function(n){switch(n.keyCode){case 27:u(!0);break;case 13:u(!0);break;default:if(r.onKeyDown)r.onKeyDown(n)}}),{TypeName:"PickerPanel",Focus:h,Show:s,Hide:u,Toggle:l}}function ar(){function u(n,i,u){var u=$.extend({},GetPasswordDefaults,u),e,o,s,f;console.log("$UI.CommonDialog().GetPassword - Begin");e={};u.reAuthenticate?(e.formKey="_REAUTHENTICATE",e.width=480,e.height="80%",$Runtime.IsMobileBrowser()||(e.maxHeight=400),e.title="",e.specialCssClass="reauthenticate",u.message="",e.allowCloseWithoutWarning=!0,o=new t.Modal(e),o.Actions().Define([{groupId:"[buttons]",actionId:"Cancel",caption:"Return to Sign In Form"},{groupId:"[buttons]",actionId:"Ok",caption:"Sign In Again"},])):(e.formKey=u.formKey,e.width=320,e.height="280px",e.title=n,o=new t.Modal(e),o.Actions().Define([{groupId:"[buttons]",actionId:"Ok",caption:"OK"},{groupId:"[buttons]",actionId:"Cancel",caption:"Cancel"}]));t.CreateContextSet(o);u.reAuthenticate&&$("body > div").addClass("blur");o.Show({content:f});s=$Runtime.CreateGuid(!0);f="";u.reAuthenticate?(f+="<div class='is-form reauthenticate' style='position:absolute; top:0; left:0; right:0; bottom:0; height:100%; width:100%'>",f+="<form action='xxx' autocomplete='off' id='"+s+"' style='padding:0;margin:0'>",f+="<table class='is-form' style='position:absolute; top:0; left:0; right:0; bottom:0; height:100%; width:100%'>",f+="<tr><td style='text-align:center; vertical-align:middle; padding-bottom:40px;'>",f+="<div class='reauthenticate-icon'><img src='"+r("Clock",64)+"'/><\/div>",f+=u.potentialExpiry?"<h1>You have been signed out due to inactivity!<\/h1><p>Please re-enter your password below.<\/p>":"<h1>You have been signed out due to inactivity!<\/h1><p>Alternatively, you may have been attempting to access a resource that you are not authorised for.<\/p><p>Please re-enter your password below.<\/p>",f+="<input type='password' name='a-fake-password-for-chrome' style='display:none'/><input id='txtPassword"+s+"' name='xxx"+s+"' value='' placeholder='Password'/>",f+="<\/td><\/tr>",f+="<\/table>",f+="<\/form>",f+="<\/div>"):(f+="<div class='is-form'>",f+="<form action='xxx' autocomplete='off' id='"+s+"' style='padding:0;margin:0'>",f+="<table class='is-form'>",f+="<tr><td><label id='lblPassword'>Enter Password<\/label><\/td><\/tr>",u.message&&(f+="<tr><td style='padding-bottom:8px'><label id='lblMessage'><\/label><\/td><\/tr>"),f+="<tr>",f+="<td><input type='password' name='a-fake-password-for-chrome' style='display:none'/><input id='txtPassword"+s+"' name='xxx"+s+"' value='' placeholder='Password'/><\/td>",f+="<\/tr>",f+="<\/table>",f+="<\/form>",f+="<\/div>");o.RenderView(f);u.reAuthenticate||(lblPassword=new t.Label("lblPassword",{}));txtPassword=new t.TextBox("txtPassword"+s,{password:!0,allowBlank:!1,maxLength:50,width:u.reAuthenticate?"80%":"100%",onEnterKey:function(){o.ExecuteAction("Ok")}});u.message&&(lblMessage=new t.Label("lblMessage",{text:u.message,style:"normal"}));txtPassword.Focus();t.CreateContextClear();o.OnAction(function(n){switch(n.toUpperCase()){case"CANCEL":u.reAuthenticate?$App.Actions.Execute("SIGNOUT"):o.Hide(!0);break;case"OK":txtPassword.Text()?(o.Close(),i(txtPassword.Text())):txtPassword.Focus()}});console.log("$UI.CommonDialog().GetPassword - End")}function f(n,i,r,u,f){var f=$.extend({},GetPasswordDefaults,f),o,e,h,s;console.log("$UI.CommonDialog().GetInput - Begin");o=new t.Modal({width:480,height:"240px",title:n,formKey:f.formKey});o.Actions().Define([{groupId:"[buttons]",actionId:"Ok",caption:"OK"},{groupId:"[buttons]",actionId:"Cancel",caption:"Cancel"}]);t.CreateContextSet(o);o.Show({content:""});e="";e+="<div class='is-form'>";e+="<table class='is-form'>";e+="<colgroup><col style='width:3em' /><col /><\/colgroup>";e+="<tr><th colspan='2'><label id='lblHeading'>"+$Runtime.HtmlEncode(i)+"<\/label><\/th><\/tr>";e+="<tr>";e+="<th><label for='txtInput'><nobr>"+$Runtime.HtmlEncode(r)+":<\/nobr>&nbsp;<\/label><\/th>";e+="<td><input id='txtInput'/><\/td>";e+="<\/tr>";f.message&&(e+="<tr><th colspan='2'><label id='lblMessage'>"+$Runtime.HtmlEncode(f.message)+"<\/label><\/th><\/tr>");e+="<\/table>";e+="<\/div>";o.RenderView(e);h=new t.Label("lblHeading",{});s=new t.TextBox("txtInput",{allowBlank:!1,maxLength:f.maxLength,width:"100%",onEnterKey:function(){o.ExecuteAction("Ok")}});f.message&&(lblMessage=new t.Label("lblMessage",{style:"Information"}));s.Focus();t.CreateContextClear();o.OnAction(function(n){switch(n.toUpperCase()){case"CANCEL":o.Hide(!0);break;case"OK":s.Text()?(o.Close(),u(s.Text())):s.Focus()}});console.log("$UI.CommonDialog().GetInput - End")}function e(r,u,f){var f,e;if(!st(!0))return f=$.extend({},ShowHtmlDefaults,f),console.log("$UI.CommonDialog().ShowHtml - Begin"),f.height||(f.height=f.popup?"480px":"90%"),f.width||(f.width=f.popup?"480px":"90%"),e=new t.Modal({formType:"HtmlViewer",width:f.width,maxWidth:f.maxWidth,minWidth:f.minWidth,allowMinimise:n.length==0,height:f.height,maxHeight:f.maxHeight,minHeight:f.minHeight,title:r,formKey:f.formKey,appShortcutUrl:f.appShortcutUrl,onAfterClose:f.onAfterClose,parentModal:f.parentModal}),e.Show({content:""}),f.showWait?(e.ContentElement().children().remove(),e.ContentElement().append("<div class='is-wait-block'><div class='is-wait'><div class='is-wait1'><\/div><div class='is-wait2'><\/div><div class='is-wait3'><\/div><\/div><label>Please wait...<\/label><\/div>")):i(u,e,f),e.UpdateHtml=function(n){i(n,e,f)},e}function i(n,t,i){var e=!1,f=!1,o=n.toUpperCase(),u,r;if(o.indexOf("<HTML")==-1)switch(i.popupStyle.toUpperCase()){case"":o.indexOf('<DIV CLASS="IS-SUMMARYPAGE-2"')!=-1||o.indexOf("IS-SUMMARYPAGE-BLOCKS")!=-1||(n="<div class='is-summarypage-2'>"+n+"<\/div>");break;case"NOTE":n="<div style='position:absolute;left:0;top:0;right:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;background-color:#FFF5A1'><div style='padding:8px'>"+n+"<\/div><\/div>"}else e=!0,f=!0;f=f||i.forceIFrame;f?(t.ContentElement().children().remove(),u=$("<iframe style='position:absolute;width:100%;height:100%;border:0'/>"),t.ContentElement().append(u),!0&&n.indexOf("is-summarypage-blocks")!=-1&&u.css({"background-color":"#808080"}),r=u[0].contentDocument,r.open(),e||(r.write("<!doctype html>"),r.write("<html>"),r.write("<head>"),r.write("<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2.css'><\/link>"),r.write("<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2_web.css'><\/link>"),r.write("<\/head>"),r.write("<body style='margin:0;padding:0'>")),r.write(n),e||(r.write("<\/body>"),r.write("<\/html>")),r.close(),window.$Ash?$Ash.HandleIframe(u[0]):window.alert("Show HTML cannot handle Application Shortcuts since no handler ($Ash) is available.")):t.ContentElement().html(n)}return GetPasswordDefaults={formKey:"",message:"",reAuthenticate:!1},GetInputDefaults={formKey:"",message:"",maxLength:0,multiLine:!1},ShowHtmlDefaults={height:"",width:"",maxWidth:"1024px",popup:!1,popupStyle:"",showWait:!1,forceWindowed:!0,appShortcutUrl:"",onAfterClose:null},{GetInput:f,GetPassword:u,ShowHtml:e}}function vr(n,t){function h(){r.visible?i.Visible(!0):i.Visible(!1)}function c(n){o=null;f=n;e="";u&&u.hide();s&&window.clearInterval(s);s=window.setInterval(function(){i.Text()!=e&&l(i.Text())},200);i.ReadOnly(!1)}function a(n){c($("table",n.Element()));o=n}function l(n){var s,t,i,a,v,h,c,y,p,l,w,b;if(e=n,mFilteredOutCount=0,r.restrictToTbody?$("tbody > tr",f).removeClass("is-filtered-out is-filtered-in"):$("tr",f).removeClass("is-filtered-out is-filtered-in"),u&&u.hide(),e){if(s=e.toUpperCase().split(" "),s.length>0)for(t=r.restrictToTbody?$("tbody > tr",f):$("tr",f),i=0;i<t.length;i++){for(a=t[i],v=!0,h=0;h<s.length;h++){if(c=s[h],y=!1,p=r.restrictToTbody?$("td",a):$("td,th",a),c&&c!=" ")for(l=0;l<p.length;l++)if(w=$(p[l]).text(),w&&w.toUpperCase().indexOf(c)!=-1){y=!0;break}if(!y){v=!1;break}}v?r.applyFilteredInClass&&$(t[i]).addClass("is-filtered-in"):(mFilteredOutCount+=1,$(t[i]).addClass("is-filtered-out"))}u&&(b=u.text($Runtime.FormatNumber(t.length-mFilteredOutCount,0)+" of "+$Runtime.FormatNumber(t.length,0)),u.show())}r.onFilterApplied&&r.onFilterApplied();o&&o.NotifyTableFilterApplied()}function v(){return mFilteredOutCount}function y(n){if(n===undefined)return r.visible;r.visible=n;h()}var u,f,e,o,i,s,r;return TableFilterTextBoxDefaults={autoReadOnly:!1,maxLength:20,blankTip:"Type to filter list",restrictToTbody:!0,showFilterCount:!0,applyFilteredInClass:!1,visible:!0,onFilterApplied:null},r=$.extend({},TableFilterTextBoxDefaults,t),r.readOnly=!0,i=$UI.TextBox(n,t),r.showFilterCount&&(u=$("<div class='is-table-filter-count' style='display:none'><\/div>"),u.click(function(){i.Focus();i.Text("");l(i.Text())}),i.Element().after(u),i.Element().addClass("is-has-table-filter-count")),h(),_self={TypeName:"TableFilterTextBox",Initialise:c,InitialiseGrid:a,FilteredOutCount:v,AutoReadOnly:i.AutoReadOnly,BlankTip:i.BlankTip,Element:i.Element,Focus:i.Focus,ReadOnly:i.ReadOnly,Text:i.Text,Visible:y,WidthResizeFromParent:i.WidthResizeFromParent}}var a={},v="",w=null,c=null,k=null,rt=0,s=0,n=[],u=[],d,g,f=null,o=null,ut="green",t;return window.devicePixelRatio&&window.devicePixelRatio>1.25&&$("html").addClass("is-highdpi"),navigator.appVersion.indexOf("MSIE")!=-1||navigator.appVersion.indexOf("Trident/")!=-1?$("html").addClass("browser-ie"):/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream&&$("html").addClass("browser-ios"),MsgBoxDefaults={title:null,maxWidth:null,maxHeight:null,minWidth:null,minHeight:null,heading:null,icon:null,messageIsHtml:!1,captionOk:null,captionCancel:null},t={ActionsCollection:it,CreateContextClear:tt,CreateContextSet:nt,CurrentModalExecuteAction:ri,GetElement:b,jQuerySelect:ft,CommonDialog:ar,DropdownPanel:l,PickerPanel:lr,FormDisable:fi,FormEnable:ei,FilterElements:pt,Initialise:yt,GetFilesForUpload:yi,MsgBoxAlert:p,MsgBoxConfirm:at,MsgBoxConfirmDelete:si,MsgBoxInfo:hi,MsgBoxList:ci,SelectFlagColour:ai,Modal:sr,ModalExists:gt,ModalMinimise:ii,ModalUnminimise:ot,HasMinimisedModal:st,ModalOpenCount:ni,ModalOpenCountUnsavedData:ti,NonModal:hr,FindParentModal:bt,FixSectionHeadingGaps:wt,GetFormByModalId:et,GetModalByFormKey:dt,ExecuteNotificationAction:ht,NotifyBookmarkedStateChanged:ui,Button:di,CheckBox:ur,CheckList:fr,ComboBox:gi,DBCombo:tr,FileBox:or,Label:er,ListBox:nr,NumberBox:ir,PopupTip:cr,Tabs:rr,TextBox:vt,TableFilterTextBox:vr,ShowAjaxError:li,ValidateContainer:vi,WaitShow:wi,WaitHide:ki,WaitUpdate:bi,GetIconUrl:r,HandleContextMenuEvent:kt,AlwaysUsePickerControls:ct,ExtUtils:{TranslateElementId:i},SharedPickerPanel:h,RealignLayouts:y}}();console.log("  $UI: "+typeof $UI),function(n,t,i){function r(r,u){function o(t){n(f).each(function(){var i=n(this);this===t.target||i.has(t.target).length||i.triggerHandler(u,[t.target])})}u=u||r+i;var f=n(),e=r+"."+u+"-special-event";n.event.special[u]={setup:function(){f=f.add(this);f.length===1&&n(t).bind(e,o)},teardown:function(){f=f.not(this);f.length===0&&n(t).unbind(e)},add:function(n){var t=n.handler;n.handler=function(n,i){n.target=i;t.apply(this,arguments)}}}}n.map("click dblclick mousemove mousedown mouseup mouseover mouseout change select submit keydown keypress keyup".split(" "),function(n){r(n)});r("focusin","focus"+i);r("focusout","blur"+i);n.addOutsideEvent=r}(jQuery,document,"outside"),function(n){n.fn.ScrollElementIntoView=function(t,i,r){var u=n.extend({},{instant:!1,duration:null,step:null,inViewAmount:0},r),f;if(t==!0&&(u.instant=!0),u.complete&&window.alert("ScrollElementIntoView: o.complete not yet implemented!"),f=this,f.length==0){console.warn("ScrollElementIntoView has not been passed an element.");return}if(f.length!=1){console.warn("ScrollElementIntoView is designed only to work on a single element.");return}return setTimeout(function(){for(var i=f[0].offsetTop,s=f[0].offsetHeight,t=n(f[0].parentElement),r,e,o;t.length!=0;){if(t[0].tagName=="BODY")break;if(t[0].tagName=="DIV"&&t[0].scrollHeight>n(t[0]).height())break;if(t[0].tagName=="DIV"&&(r=n(t[0]).css("overflow").toUpperCase(),r=="AUTO"||r=="SCROLL"))break;t=n(t[0].parentElement)}t.length==1&&(e=t.height(),o=t[0].scrollTop,u.instant&&t.stop(!0,!0),i-u.inViewAmount<o?t.animate({scrollTop:i-u.inViewAmount},u):i+s+u.inViewAmount>o+e&&t.animate({scrollTop:i-e+s},u))},10),this}}(jQuery);console.log("Loading lib/isuserinterface_dates.js");__UIExtDates=function(n){return n.DateBox=function(t,i){function p(){r.cssClass&&u.addClass(r.cssClass);r.allowBlank?(u.removeClass("is-mandatory"),e&&e.removeClass("is-mandatory")):(u.addClass("is-mandatory"),e&&e.addClass("is-mandatory"));r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly"),o.hide()):(u.removeClass("is-readonly"),u.removeAttr("readonly"),o.show(),o.css("display","inline-block"));r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");u.attr("maxLength",r.maxLength==0?"":r.maxLength);r.width!="auto"&&u.css({width:r.width});u.attr("spellcheck","false");r.showWeekDayName?a.show():a.hide();it?(c.css({display:"none"}),u.removeClass("is-invalid")):(u.addClass("is-invalid"),b?(rt?c.html(b):c.text(b),c.css({display:"inline-block"})):c.css({display:"none"}));r.visible?u.show():u.hide();nt}function lt(){var i,t;h||(i=$("<div><\/div>"),h=new n.Calendar(i,{onChange:function(t,i){var u=i.CloseDropdown||i.CloseDropdown==undefined;h.Value()?tt($Runtime.FormatDate(h.Value(),!1,!1,!1)):tt("");r.usePicker||u&&ot(!0);ft()&&st();r.usePicker&&n.SharedPickerPanel().Hide(!0)}}),r.usePicker||w.Append(h.Element()));r.usePicker?(t=r.pickerCaption,!t&&e&&(t=e.text(),t&&(t="Select "+t,t.endsWith(":")&&(t=t.substr(0,t.length-1)))),t||(t="Select Date"),n.SharedPickerPanel().Toggle({closeFocusElement:d,sourceButtonElement:o,caption:t,contentElement:h.Element(),context:"calendar"})):(w.Show(310,!1),u.focus(),u.select());f==null&&u[0].value&&tt(u[0].value);h.Value(f);h.GotoValue()}function ot(t){r.usePicker?n.SharedPickerPanel().Hide():(w.Hide(),t&&(u.focus(),u.select()))}function tt(n){r.readOnly||(f=n==""?null:$Runtime.ParseDate(n,r.historic,!r.valueIsUtc));ut()}function ut(){nt?u[0].valueAsDate=f:u.val($Runtime.FormatDate(f,!1,!1,!r.valueIsUtc));r.showWeekDayName&&(f?a.text($Runtime.GetWeekDayNameFromDate(f)):a.text(""))}function at(n){n!=r.allowBlank&&(r.allowBlank=n==!0,p())}function vt(n){if(n==undefined)return e?e.text():"";e&&e.text(n)}function ft(){return $Runtime.FormatDate(f)!=$Runtime.FormatDate(k)}function st(){var n={ChangeHandled:!1,ValueOriginal:k};if(r.onChange)r.onChange(d,n);n.ChangeHandled&&(k=f)}function yt(){return u}function pt(){u.focus();u.select()}function wt(n){if(n==undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,p())}function bt(n){if(n==undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,p())}function ht(n){if(n==undefined)return f;f=typeof n=="string"?$Runtime.ParseJsonDate(n):n;k=f;ut()}function kt(){return f?f.toISOString():""}function dt(n){if(n==undefined)return r.maxValue;r.maxValue=n}function gt(n){if(n==undefined)return r.minValue;r.minValue=n}function ni(n){if(n==undefined)return r.visible;r.visible=n;p()}function ti(n){if(!s&&(s=u.closest("tr"),s.length==0))return console.warn("ComboBox.VisibleRow: no parent row element found."),s=null,!1;if(n==undefined)return s.css("visibility").toUpperCase()=="HIDDEN";n?(s.css("display","table-row"),s.css("visibility","")):(s.css("display","none"),s.css("visibility","hidden"))}function ct(n){var i,t,u;l.hide();i=l.parent().innerWidth();l.show();t=r.width;u="";n&&(t="100%")}function ii(){return it?!0:!1}function ri(){var n=!0,t;return typeof r.minValue=="string"&&(r.minValue=$Runtime.ParseJsonDate(r.minValue)),typeof r.maxValue=="string"&&(r.maxValue=$Runtime.ParseJsonDate(r.maxValue)),(r.minValue!=null||r.maxValue!=null)&&(t=ht(),n&&r.minValue!=null&&t<r.minValue&&(n=!1),n&&r.maxValue!=null&&t>r.maxValue&&(n=!1)),n?et(!0,"",!1):et(!1,"Valid range "+ui(),!1),n}function ui(){var n="";return r.minValue!=null&&(n+=$Runtime.FormatDate(r.minValue)),r.maxValue!=null&&(n&&(n+=" "),n+="to "+$Runtime.FormatDate(r.maxValue)),n}function et(n,t,i){it=n;b=t==undefined?"":t;rt=i==undefined?!1:i;p()}function fi(n){r.onChange=n}var o,h,a,w,u,s,g=!1,nt=!1,it=!0,e,r,c,b="",rt=!1,f=null,k=null,l,v,y,d;if(DateBoxDefaults={captionElement:"auto",cssClass:"is-datebox",allowBlank:!0,historic:!1,valueIsUtc:!1,maxValue:null,minValue:null,readOnly:!1,autoReadOnly:!0,showWeekDayName:!1,width:"auto",visible:!0,onChange:null,usePicker:!1,pickerCaption:"",widgetDocument:null},r=$.extend({},DateBoxDefaults,i),n.AlwaysUsePickerControls()&&(r.usePicker=!0),typeof t=="string"?(v=n.ExtUtils.TranslateElementId(t),t=$("#"+v)):v=$(t).attr("id"),y=$(t),y.length==0){console.warn("userinterface.DateBox: Element '"+v+"' not found.");return}return u=$(y[0]),u[0].tagName!="INPUT"&&console.warn("userinterface.DateBox: Element '"+v+"' must be an INPUT type Element."),u.wrap("<span style='display:inline-block; padding:0; position:relative; margin:0' controlType='datebox'/>"),l=$(u.parent()),o=$("<button type='button' tabindex='-1' class='is-combobox-button' style='position:absolute; margin-left:-20px'/>"),r.usePicker&&o.addClass("is-picker"),l.append(o),c=$("<label style='display:none' class='is-validation-tip'><\/label>"),l.append(c),w=new n.DropdownPanel(l,{minWidthElement:u,widgetDocument:r.widgetDocument}),a=$("<label class='is-combobox' style='display:none'><\/label>"),a.insertAfter(o),u.attr("autocomplete","off"),u.attr("spellcheck","false"),y=$("label[for='"+v+"']"),e=y.length==0?null:$(y[0]),p(),r.width=="auto"&&ct(),nt?(u.blur(function(){g=!1}),u.focus(function(){g=!0})):(u.blur(function(){g=!1}),u.focus(function(){g=!0})),u.blur(function(){r.readOnly||(nt?f=u[0].valueAsDate:tt(u.val()));ft()&&st();k=f;ut()}),o.bind("click",function(){r.readOnly||(w.Visible()?ot(!0):lt())}),d={TypeName:"DateBox",AllowBlank:at,AutoReadOnly:bt,Caption:vt,Changed:ft,Element:yt,Focus:pt,MaxValue:dt,MinValue:gt,ReadOnly:wt,Value:ht,ValueAsISOString:kt,Visible:ni,VisibleRow:ti,WidthResizeFromParent:ct,IsValid:ii,Validate:ri,ValidationSet:et,OnChange:fi},u.prop("is-control",d),d},n.TimeBox=function(t,i){function l(){r.cssClass&&u.addClass(r.cssClass);r.allowBlank?(u.removeClass("is-mandatory"),f&&f.removeClass("is-mandatory")):(u.addClass("is-mandatory"),f&&f.addClass("is-mandatory"));r.readOnly?(u.addClass("is-readonly"),u.attr("readonly","readonly"),s.hide()):(u.removeClass("is-readonly"),u.removeAttr("readonly"),s.show());r.autoReadOnly?u.attr("autoreadonly","true"):u.removeAttr("autoreadonly");u.attr("maxLength",r.maxLength==0?"":r.maxLength);r.width!="auto"&&u.css({width:r.width});u.attr("spellcheck","false");k?(h.css({display:"none"}),u.removeClass("is-invalid")):(u.addClass("is-invalid"),y?(d?h.html(y):h.text(y),h.css({display:"inline-block"})):h.css({display:"none"}));r.visible?o.show():o.hide();b}function ot(){var h,i,e,o,t;if(!v){for(h="<ul>",h+=r.usePicker?"<li class='is-selectable' style='text-align:right; font-weight:bold' h='*' m='0'>Current&nbsp;Time<\/li>":"<li class='is-selectable' style='text-align:right; font-weight:bold' h='*' m='0'>Current<\/li>",i=0;i<24;i++)e="",o="",i<13?(e=i,o=i):(e=i-12,o=i-12),e+=":00 ",o+=":30 ",i>=12?(e+=" p.m.",o+=" p.m."):(e+=" a.m.",o+=" a.m."),h+="<li class='is-selectable' style='text-align:right' h='"+i+"' m='0'>"+e+"<\/li>",h+="<li class='is-selectable' style='text-align:right' h='"+i+"' m='30'>"+o+"<\/li>";h+="<\/ul>";v=$(h);$("li",v).bind("click",function(){var i=$(this).attr("h"),u=$(this).attr("m"),t;i=="*"?(t=new Date,tt(new Date(Date.UTC(2e3,1,1,parseInt(t.getHours()),parseInt(t.getMinutes()),0,0)))):tt(new Date(Date.UTC(2e3,1,1,parseInt(i),parseInt(u),0,0)));r.usePicker||rt(!0);ft(!0);r.usePicker&&n.SharedPickerPanel().Hide(!0)});r.usePicker||a.Append(v)}r.usePicker?(t=r.pickerCaption,!t&&f&&(t=f.text(),t&&(t="Select "+t,t.endsWith(":")&&(t=t.substr(0,t.length-1)))),t||(t="Select Time"),n.SharedPickerPanel().Toggle({closeFocusElement:it,sourceButtonElement:s,caption:t,contentElement:v,context:"calendar"})):(a.Show(),u.focus(),u.select())}function rt(t){r.usePicker?n.SharedPickerPanel().Hide():(a.Hide(),t&&(u.focus(),u.select()))}function st(n){r.readOnly||(e=n==""?null:$Runtime.ParseTime(n,!r.valueIsUtc));nt()}function nt(){b?u[0].valueAsDate=e:u.val($Runtime.FormatTime(e,!0,!r.valueIsUtc))}function ht(n){n!=r.allowBlank&&(r.allowBlank=n==!0,l())}function ct(n){if(n==undefined)return f?f.text():"";f&&f.text(n)}function ut(){return!(e==g)}function ft(){var n={ChangeHandled:!1,ValueOriginal:g};if(r.onChange)r.onChange(it,n);n.ChangeHandled&&(mTextOriginal=u.val())}function lt(){return u}function at(){u.focus();u.select()}function vt(n){if(n==undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,l())}function yt(n){if(n==undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,l())}function tt(n){if(n==undefined)return e;e=typeof n=="string"?$Runtime.ParseJsonDate(n):n;nt()}function pt(n){if(n==undefined)return r.visible;r.visible=n;l()}function et(n){var i,t,u;o.hide();i=o.parent().innerWidth();o.show();t=r.width;u="";n&&(t="100%")}function wt(){return k?!0:!1}function bt(n,t,i){k=n;y=t==undefined?"":t;d=i==undefined?!1:i;l()}var s,a,u,w=!1,b=!1,k=!0,f,v,h,y="",d=!1,e=null,g=null,o,r,p,c,it;if(TimeBoxDefaults={captionElement:"auto",cssClass:"is-timebox",allowBlank:!0,historic:!1,valueIsUtc:!1,maxValue:null,minValue:null,readOnly:!1,autoReadOnly:!0,width:"auto",visible:!0,onChange:null,usePicker:!1,pickerCaption:""},r=$.extend({},TimeBoxDefaults,i),n.AlwaysUsePickerControls()&&(r.usePicker=!0),typeof t=="string"?(p=n.ExtUtils.TranslateElementId(t),t=$("#"+p)):p=$(t).attr("id"),c=$(t),c.length==0){console.warn("userinterface.TimeBox: Element '"+p+"' not found.");return}return u=$(c[0]),u.wrap("<span style='display:inline-block; padding:0; position:relative; margin:0' controlType='timebox'/>"),o=$(u.parent()),s=$("<button type='button' tabindex='-1' class='is-combobox-button' style='position:absolute; right:0'/>"),o.append(s),n.AlwaysUsePickerControls()&&s.addClass("always-use-pickers"),a=new n.DropdownPanel(o,{minWidthElement:u}),u.attr("autocomplete","off"),u.attr("spellcheck","false"),h=$("<label style='display:none' class='is-validation-tip'><\/label>"),o.append(h),c=$("label[for='"+p+"']"),f=c.length==0?null:$(c[0]),l(),r.width=="auto"&&et(),b?(u.blur(function(){w=!1}),u.focus(function(){w=!0})):(u.blur(function(){w=!1}),u.focus(function(){w=!0})),u.blur(function(){r.readOnly||(b?e=u[0].valueAsDate:st(u.val()));ut()&&ft();g=e;nt()}),s.bind("click",function(){r.readOnly||(a.Visible()?rt(!0):ot())}),it={TypeName:"TimeBox",AllowBlank:ht,AutoReadOnly:yt,Caption:ct,Changed:ut,Element:lt,Focus:at,ReadOnly:vt,Value:tt,Visible:pt,WidthResizeFromParent:et,IsValid:wt,ValidationSet:bt,WrapperElement:function(){return o}}},n.Calendar=function(t,i){function s(n){var g,rt,at,vt,ft,yt,pt,st,wt,bt,kt,ht,ui,fi,ei,ct,dt,b,gt,ni,ti,ii,ri,i,lt,t,v;if(n){for(ot=!0,u.children().remove(),g=$("<div class='is-calendar-header'><\/div>"),it=$("<div class='dayname'><\/div>"),rt=$("<div><\/div>"),at=$("<div class='left month' title='Back a month'/>"),p=$("<select class='month'><\/select>"),t=0;t<12;t++)p.append("<option>"+$Runtime.GetMonthName(t)+"<\/option>");for(vt=$("<div class='right month' title='Forward a month'/>"),rt.append(at),rt.append(p),rt.append(vt),ft=$("<div><\/div>"),yt=$("<div class='left day' title='Back a day'/>"),y=$("<select class='day'><\/select>"),t=1;t<32;t++)y.append("<option>"+t+"<\/option>");for(pt=$("<div class='right day' title='Forward a day'/>"),ft.append(yt),ft.append(y),ft.append(pt),st=$("<div><\/div>"),wt=$("<div class='left year' title='Back a year'/>"),w=$("<select class='year'><\/select>"),t=0;t<200;t++)w.append("<option>"+(1900+t)+"<\/option>");for(bt=$("<div class='right year' title='Forward a year'/>"),st.append(wt),st.append(w),st.append(bt),g.append(it),g.append(ft),g.append(rt),g.append(st),kt=$("<div class='is-calendar-body'><\/div>"),ht=$("<table style='width:100%'><thead><tr><\/tr><\/thead><tbody><\/tbody><\/table>"),kt.append(ht),ui=$(">thead>tr",ht),b=0;b<7;b++)fi=$("<th>"+$Runtime.GetDayOfWeekName(b).substr(0,3)+"<\/th>"),ui.append(fi);for(ei=$(">tbody",ht),ct=0;ct<6;ct++){for(dt=$("<tr><\/tr>"),b=0;b<7;b++)tt[b+ct*7]=$("<td><\/td>"),dt.append(tt[b+ct*7]);ei.append(dt)}y.bind("change",function(){e=parseInt(y.val());l();u.focus();u.select()});w.bind("change",function(){o=parseInt(w.val());l();u.focus();u.select()});p.bind("change",function(){f=p[0].selectedIndex;l();u.focus();u.select()});wt.bind("click",function(){o-=1;l()});at.bind("click",function(){f-=1;f<0&&(f=11,o-=1);l()});yt.bind("click",function(){e-=1;e<1&&(e=31);l()});vt.bind("click",function(){f+=1;f>11&&(f=0,o+=1);l()});bt.bind("click",function(){o+=1;l()});pt.bind("click",function(){e+=1;e>31&&(e=1);l()});$("td",ht).bind("click",function(n){if(!c.readOnly){var i=parseInt($(n.delegateTarget).attr("dateOffset")),t=new Date(a.getFullYear(),a.getMonth(),a.getDate()+i);(r===null||r.valueOf()!=t.valueOf())&&(r=t,s(!1),k())}});h=$("<div class='is-calendar-footer'><\/div>");gt=$("<button>Clear<\/button>");gt.on("click",function(){nt(null);s(!1);k()});ni=$("<button>Today<\/button>");ni.on("click",function(){nt((new Date).Date());s(!1);d();k()});ti=$("<button>+Week<\/button>");ti.on("click",function(){r||(r=(new Date).Date());r=new Date(r.getFullYear(),r.getMonth(),r.getDate()+7);s(!1);d();u.focus();u.select();k(!1)});ii=$("<button>+Month<\/button>");ii.on("click",function(){r||(r=(new Date).Date());r=new Date(r.getFullYear(),r.getMonth()+1,r.getDate());s(!1);d();u.focus();u.select();k(!1)});ri=$("<button class='ok'>Done<\/button>");ri.on("click",function(){nt(new Date(o,f,e));s(!1);k()});h.append(gt);h.append(ni);h.append(ti);h.append(ii);h.append(ri);u.append(g);u.append(kt);u.append(h)}for(it.text($Runtime.GetDayOfWeekName(new Date(o,f,e).getDay())),w.val(o+""),p.val($Runtime.GetMonthName(f)),y.val(e),c.readOnly?h.hide():h.show(),a=new Date(o,f);a.getDay()!=0;)a.setDate(a.getDate()-1);for(i=new Date(a.valueOf()),lt=new Date,t=0;t<42;t++)v=tt[t],v.text(i.getDate()),v.attr("dateOffset",t),v.removeClass(),v.attr("title",null),c.readOnly||v.addClass("is-selectable"),i.getMonth()!=f&&v.addClass("notcurrent"),i.getFullYear()==lt.getFullYear()&&i.getMonth()==lt.getMonth()&&i.getDate()==lt.getDate()&&(v.addClass("today"),v.attr("title","Today")),r!=null&&i.getFullYear()==r.getFullYear()&&i.getMonth()==r.getMonth()&&i.getDate()==r.getDate()&&v.addClass("is-sel"),et[t]=i,i.setDate(i.getDate()+1);u.addClass("is-calendar");ut(y);ut(p);ut(w)}function ut(n){v||(v=$("<select style='position:fixed; left:-1000px; top:-1000px' tabindex='-1' />"),u.append(v));v.children().remove();v.append("<option>"+$Runtime.HtmlEncode(n.val())+"<\/option>");n.after(v);v.attr("class",n.attr("class"));var t=v.width()+4;t&&n.css("width",t+"px")}function l(){r=new Date(o,f,e);s(!1)}function k(n){var t={ChangeHandled:!1,ValueOriginal:b,CloseDropdown:n};if(c.onChange)c.onChange(ft,t);t.ChangeHandled&&(b=r?new Date(r.valueOf()):null)}function st(){return r!=b}function ht(){return u}function ct(){u.focus();u.select()}function d(){if(r instanceof Date)o=r.getFullYear(),f=r.getMonth(),e=r.getDate();else{var n=new Date;o=n.getFullYear();f=n.getMonth();e=n.getDate()}s()}function lt(n){if(n==undefined)return c.readOnly;n!=c.readOnly&&(c.readOnly=n==!0,s())}function nt(n){if(typeof n=="undefined")return r;n===null?(r=null,b=n):n instanceof Date?(r=n,b=n):console.warn("Attempted to set ISCalendar value to a value that is not a Date or null.");s();r!=null&&d()}var e=(new Date).getDate(),f=(new Date).getMonth(),o=(new Date).getFullYear(),a,et=new Array(42),u,tt=new Array(42),h,y,it,p,v,w,ot=!1,r,b,c,g,rt,ft;if(CalendarDefaults={width:"auto",readOnly:!1,autoReadOnly:!0,onChange:null},c=$.extend({},CalendarDefaults,i),r=$Runtime.ParseDate("Now",!1,!1),b=new Date(r.valueOf()),typeof t=="string"?(g=n.ExtUtils.TranslateElementId(t),t=$("#"+g)):g=$(t).attr("id"),rt=$(t),rt.length==0){console.warn("userinterface.Calendar: Element '"+g+"' not found.");return}return u=$(rt[0]),u.attr("tabindex","-1"),u.addClass("is-no-select"),s(!0),ft={Changed:st,Element:ht,Focus:ct,GotoValue:d,ReadOnly:lt,Value:nt}},n.DateTimeZone=function(t,i){function c(){if(r.allowBlank?f&&f.removeClass("is-mandatory"):f&&f.addClass("is-mandatory"),e.AllowBlank(r.allowBlank),o.AllowBlank(!0),e.ReadOnly(r.readOnly),e.AutoReadOnly(r.autoReadOnly),o.ReadOnly(r.readOnly),o.AutoReadOnly(r.autoReadOnly),u.ReadOnly(r.readOnly),u.AutoReadOnly(r.autoReadOnly),o.Visible(r.timeVisible),r.timeZoneVisible)if($App&&!$App.TimeZoneUse()){var n=tt();n&&$App.TimeZoneId()==n?(u.Visible(!1),v=!1):n?(u.Visible(!0),v=!0):(u.Visible(!1),v=!1)}else u.Visible(!0),v=!0;else u.Visible(!1),v=!1;u.WrapperElement().css("max-width","360px");b?(s.css({display:"none"}),l.removeClass("is-invalid")):(l.addClass("is-invalid"),y?(k?s.html(y):s.text(y),s.css({display:"inline-block"})):s.css({display:"none"}));r.visible?h.show():h.hide()}function et(n){n!=r.allowBlank&&(r.allowBlank=n==!0,c())}function ot(n){if(n==undefined)return f?f.text():"";f&&f.text(n)}function st(){return!(rt==g)}function d(n,t){t&&(t.ChangeHandled=!0);var i={ChangeHandled:!1,ValueOriginal:g};if(r.onChange)r.onChange(it,i);t.ChangeHandled&&(mTextOriginal=l.val())}function ht(){return l}function ct(){e.Focus()}function lt(n){if(n==undefined)return r.readOnly;n!=r.readOnly&&(r.readOnly=n==!0,c())}function at(n){if(n==undefined)return r.autoReadOnly;n!=r.autoReadOnly&&(r.autoReadOnly=n==!0,c())}function tt(n){if(n==undefined){var t=$App.TimeZones().GetTimeZoneIdFromDescription(u.Text());return t||(t=$App.TimeZoneId()),t}n?$App&&$App.TimeZones&&u.Text($App.TimeZones().GetDescription(n)):u.Text("");c()}function vt(n){if(n==undefined)return r.timeVisible?$Runtime.CombineDateTimeUtc(e.Value(),o.Value()):$Runtime.GetDateUtc(e.Value());typeof n=="string"&&(n=$Runtime.ParseJsonDate(n));e.Value($Runtime.ParseDate($Runtime.FormatDate(n,!1,!1,!0),!1,!0));o.Value(n)}function yt(n){if(n==undefined)return r.visible;r.visible=n;c()}function pt(){return b?!0:!1}function wt(n,t,i){b=n;y=t==undefined?"":t;k=i==undefined?!1:i;c()}var e,l,b=!0,f,o,u,v=!1,s,y="",k=!1,rt=null,g=null,h,r,p,a,w,it;if(DateTimeZoneDefaults={allowBlank:!0,historic:!1,maxValue:null,minValue:null,readOnly:!1,autoReadOnly:!0,visible:!0,timeZoneVisible:!0,timeVisible:!0,onChange:null},r=$.extend({},DateTimeZoneDefaults,i),typeof t=="string"?(p=n.ExtUtils.TranslateElementId(t),t=$("#"+p)):p=$(t).attr("id"),a=$(t),a.length==0){console.warn("userinterface.DateTimeZone: Element '"+p+"' not found.");return}l=$(a[0]);h=l;h.css("margin","0");h.css("padding","0");w=$("<table class='is-datetimezone' style='width:100%'><tr><td style='width:1px'><input class='d'/><\/td><td style='width:1px'><input class='t'/><td><input class='tz'/><\/td><\/td><\/tr><\/table>");h.append(w);var ut=$("input.d",w),ft=$("input.t",w),nt=$("input.tz",w);return e=new n.DateBox(ut,{valueIsUtc:!1,onChange:d}),o=new n.TimeBox(ft,{valueIsUtc:!1,onChange:d}),o.WrapperElement().css("margin-right","4px"),o.WrapperElement().css("margin-left","4px"),u=new n.ComboBox(nt,{limitToList:!0,pickerCaption:"Select Time Zone",maxLength:255,onChange:d}),$App&&$App.TimeZones?(u.ListFromArray($App.TimeZones().GetDescriptionsList()),nt.attr("placeholder",$App.TimeZones().DefaultTimeZoneDescription())):console.warn("userinterface.DateTimeZone: $App or $App.TimeZones not available."),s=$("<label style='display:none' class='is-validation-tip'><\/label>"),h.append(s),a=$("label[for='"+p+"']"),f=a.length==0?null:$(a[0]),f.click(function(){e.Focus()}),c(),it={TypeName:"DateTimeZone",AllowBlank:et,AutoReadOnly:at,Caption:ot,Changed:st,Element:ht,Focus:ct,ReadOnly:lt,TimeZoneId:tt,Value:vt,Visible:yt,IsValid:pt,ValidationSet:wt}},n}($UI||{});console.log("  $UI (dates extension)");console.log("Loading lib/isuserinterface_grid.js");__UIExtGrid=function(n){return n.Grid=function(t,i){function ri(t){var ft=0,ti=null,ei="",b,et,ht,ii,ri,i,f,oi,lt,ci,pt,v,h,ut,wt,kt;if(t){hi=!0;o.addClass("is-grid-container");r.autoShiftButtons?o.removeClass("hold-buttons"):o.addClass("hold-buttons");r.stickyHeader?o.addClass("is-sticky-header"):o.removeClass("is-sticky-header");p=null;o.children().remove();y=$("<div class='is-grid'><\/div>");o.append(y);s=$("<table><thead class='is-no-select'><tr><\/tr><\/thead><tbody><\/tbody><\/table>");y.append(s);r.fixedWidth&&s.addClass("fixedwidth");s.addClass("is-grid");w=$("<div class='is-grid-caption'><span><\/span><div class='close is-symbol-close'><\/div><\/div>");dt=$("span",w);dt.text(tt);si=$(".close",w);o.append(w);si.on("click",function(n){w.slideUp("fast");n.stopPropagation()});w.on("click",ir);nt=$("<div class='is-grid-buttons'><\/div>");o.append(nt)}for(b=$(">thead>tr",s),b.children().remove(),at=!1,et=0,(r.rowNumbering||r.allowMultiRowSelect||r.showRowSelectors)&&(ht=$("<th class='rowselector'><\/th>"),b.append(ht),r.rowSelectorColumnIcon&&(ii=n.GetIconUrl(r.rowSelectorColumnIcon,16),ii&&ht.css({backgroundImage:"url("+ii+")"})),k=null,r.allowMultiRowSelect&&(ri=$("<input type='checkbox'/>"),ht.append(ri),k=new n.CheckBox(ri,{onChange:function(){tr(k.Value(),!0)}}))),h=0;h<e.length;h++)i=e[h],i.elementCreatedIndex=-1,i.visible&&(i.doNotCreateBelowScreenWidth==0||screen.width>i.doNotCreateBelowScreenWidth)&&(f=$("<th><\/th>"),i.elementCreatedIndex=et,et+=1,i.caption.substr(0,6).toUpperCase()==="<HTML>"?f.html(i.caption.substr(6)):f.text(i.caption),i.width&&f.css("width",i.width),f.addClass("is-grid-col-"+i.type.toLowerCase()),i.autoHideWidth!=0&&(at=!0),i.align&&f.css("text-align",i.align),i.backgroundColour&&(f.css("background-color",i.backgroundColour),i.backgroundColour!=ei&&(i.verticalSeparatorColour=i.backgroundColour,ei=i.backgroundColour)),i.foregroundColour&&f.css("color",i.foregroundColour),i.sortable&&(f.addClass("sortable"),i.sorterElement=$("<div class='sorter'><\/div>"),f.append(i.sorterElement),function(n){n.sorterElement.click(function(t){return ai(n.key),t.preventDefault(),!1})}(i),r.sortByColumn==i.key&&(f.addClass("sorted"),r.sortByDesc&&f.addClass("sorted-desc"))),b.append(f));if(r.showColumnHeaders||b.css({display:"none",visibility:"hidden"}),d?s.addClass("show-row-actions"):s.removeClass("show-row-actions"),oi=et,c=[],p=null,$("tbody",s).children().remove(),u){for(lt=[],ci=$(">tbody",s),(r.sortByColumn||r.groupByColumns&&r.groupByDesc)&&(r.groupByColumns?(pt=r.groupByColumns,r.groupByDesc&&(pt="-"+pt),v=r.sortByColumn,r.sortByDesc&&(v="-"+v),u.sort(vi([pt,v]))):(v=r.sortByColumn,r.sortByDesc&&(v="-"+v),u.sort(vi([v])))),h=0;h<u.length;h++)if(ut=u[h],ut){if(r.groupByColumns&&(wt=ut.cells[r.groupByColumns].value,ti===null||ti!=wt)){var bt=$("<tr listIndex='-1' class='group-header'><\/tr>"),ui=$("<td><\/td>"),pi=oi;(r.rowNumbering||r.allowMultiRowSelect||r.showRowSelectors)&&(pi+=1);ui.attr("colspan",pi);ui.text(wt);bt.append(ui);lt.push(bt);ti=wt}kt=$("<tr listIndex='"+ut.listIndex+"' class='datarow'><\/tr>");c.push(kt);ur(h,kt);ut.hidden&&!it?ft+=1:bt&&bt.removeClass("hidden");lt.push(kt)}ci.append(lt)}if($(">tbody>tr.datarow",s).bind("click",function(n){for(var t=0;t<c.length;t++)if(c[t][0]===n.delegateTarget){a(t);break}}),r.onRowSelectorClick&&$(">tbody>tr>td.rowselector",s).bind("click",function(n){var t=$(n.delegateTarget).closest("tr").attr("listIndex");u&&t>=0&&t<u.length&&cr(t)}),$("a.is-drilldown, a.is-drilldown-button",s).bind("click",function(n){var t=$(n.delegateTarget).closest("tr").attr("listIndex"),i=e[$(n.delegateTarget).closest("td").index()].key;u&&t>=0&&t<u.length&&ct(t,i)}),$(">tbody>tr.datarow",s).bind("dblclick",function(n){var t=$(n.delegateTarget).attr("listIndex");u&&t>=0&&t<u.length&&ct(t,"");r.onRowDrilldown&&window.getSelection&&window.getSelection().removeAllRanges()}),n.HandleContextMenuEvent($(">tbody>tr.datarow td",s),function(n){var t=$(n.delegateTarget).closest("tr").attr("listIndex"),i;if(st(t),r.onContextMenuShow){i={contextMenuEventArgs:n,row:{listIndex:t}};r.onContextMenuShow(i)}return n.preventDefault(),!1}),ft!=0&&r.showHiddenRowsPopup?(tt=ft==1?"1 row is hidden":ft+" rows are hidden",tt+=". Click to show.",dt.text(tt)):tt="",tt?w.show():w.hide(),g(),r.stripe&&yi(),yt&&(clearInterval(yt),yt=null),at&&($Runtime.IsMobileBrowser()?console.warn("Grid has auto-hide columns but these will not be checked at intervals to avoid potential performance issues."):yt=setInterval(fi,200),gt=-1,fi()),vt&&(rt&&rt.remove(),rt=$("<div class='is-grid-layout-tip' title='Select grid layout'><\/div>"),rt.click(function(n){li("",n)}),o.append(rt),rt.html(vt)),r.stickyHeader){l&&l.remove();l=$("<table class='is-no-select is-sticky-header'><\/table>");y.prepend(l);l.addClass(r.cssClass);l.append($("thead",s).clone(!0));(d||r.alwaysShowRowActions)&&l.addClass("show-row-actions");ni=y.scrollLeft();ot();y.on("scroll",function(){var n=y.scrollLeft();ni!=n&&(ot(),ni=n)});k&&(k.WrapperElement().css({"z-index":"1",position:"fixed","margin-top":"-10px"}),$(".is-checkbox",l).remove());n.HandleContextMenuEvent(l,function(n){return li("",n),n.preventDefault(),!1})}}function li(t,i){var r,u,f,e;if(ft||(ft=new n.MenuPopup(ft,{})),ft.OnAction(function(n){fr(t,n)}),r=[],(et||v&&v.length!=0)&&(r.push({ItemType:"SubMenu",Caption:"Layouts"}),pt==""?r.push({ItemId:"Layout:",Caption:"(default)",IconClass:"is-symbol-tick"}):r.push({ItemId:"Layout:",Caption:"(default)",IconClass:"is-symbol-blank"}),v))for(u=0;u<v.length;u++)f=v[u],e={ItemId:"Layout:"+f.LayoutId,Caption:f.LayoutCaption},e.IconClass=f.LayoutId==pt?"is-symbol-tick":"is-symbol-blank",r.push(e);$App.UserLevel()=="Administrator"&&(r.push({ItemType:"SubMenu",Caption:"Tools"}),r.push({ItemId:"GridInfo",Caption:"Show Grid Information",IconClass:"is-symbol-blank"}));ft.Define(r);r.length!=0&&ft.Show(i.clientX,i.clientY)}function fr(n,t){switch(t){case"GridInfo":sr();break;default:if(t.startsWith("Layout:")){var i=t.substr(7);i!=pt&&(bi(i),rr(h,!1,{}),ri())}else window.alert("Unhandled context menu action: "+t)}}function er(t,i){for(var s,r,o,c,h,f=0;f<u.length;f++)if(u[f].listIndex==t){h=u[f];break}for(ut||(ut=new n.MenuPopup(ut,{})),ut.OnAction(function(n){or(t,n)}),s=!1,r=[],f=0;f<e.length;f++)o=e[f],c=h.cells[o.key],o.type=="Action"&&c.enabled&&(r.push({ItemId:o.key,Caption:o.actionCaption,IconClass:o.iconClass,Icon:o.icon}),(o.iconClass||o.icon)&&(s=!0));if(s)for(f=0;f<r.length;f++)r[f].IconClass||r[f].Icon||(r[f].IconClass="is-glyph-blank");r.length>0&&r[r.length-1].ItemType=="Separator"&&(r[r.length-1].Visible=!1);r.length==0&&r.push({ItemId:"",Caption:"(no actions available for this row)"});ut.Define(r);r.length!=0&&ut.Show(i.clientX,i.clientY)}function or(n,t){switch(t){case"Drilldown":ct(n,t);break;default:pi(n,t)}}function sr(){var t="",i,u;for(t+="<div style='padding:4px'>",t+="<h1>Grid Information<\/h1>",t+=r.layoutCustomisable||ti?"<div class='is-info-text info'>This Grid can be customised via a finPOWER Connect Cloud Actions Script.<\/div>":"<div class='is-info-text info warning'>This Grid CANNOT be customised via a finPOWER Connect Cloud Actions Script.<\/div>",t+="<h3>Columns<\/h3>",t+="<table class='is-table-data'>",t+="<thead>",t+="<th>Key<\/th>",t+="<th>Type<\/th>",t+="<th>Caption<\/th>",t+="<\/thead>",t+="<tbody>",i=0;i<e.length;i++)u=e[i],t+="<tr>",t+="<td>"+$Runtime.HtmlEncode(u.key)+"<\/td>",t+="<td>"+$Runtime.HtmlEncode(u.type)+"<\/td>",t+="<td>"+$Runtime.HtmlEncode(u.caption)+"<\/td>",t+="<\/tr>";t+="<tbody>";t+="<\/table>";t+="<\/div>";n.CommonDialog().ShowHtml("Grid Information",t)}function ot(){var n,r,u,f,i,e,t,h,c;for(ci=y.offset().left,n=y.scrollLeft(),l.css("left",ci-n+"px"),k&&(r=k.WrapperElement(),r.css("margin-left",-n+"px")),u=s.outerWidth(),l.css("width",u+"px"),f=o.innerWidth(),l.css("clip","rect(0,"+(f+n)+"px,999px,"+n+"px)"),i=$("thead > tr > th",s),e=$("thead > tr > th",l),t=0;t<i.length;t++)h=$(i[t]),c=$(e[t]),c.css("width",h.outerWidth()+"px")}function ai(n,t,i){if(u){var f=st();n?t==undefined&&n==r.sortByColumn?r.sortByDesc=!r.sortByDesc:(r.sortByColumn=n,r.sortByDesc=t):(r.sortByColumn="",r.sortByDesc=!1);r.sortByColumn&&r.sortByColumn==r.groupByColumns&&(r.groupByDesc=r.sortByDesc);ri(!1);st(f);!i&&r.onAfterColumnSort&&r.onAfterColumnSort()}}function vi(n){return function(t,i){return n.map(function(n){var f=1,r,u;return(n[0]==="-"&&(f=-1,n=n.substring(1)),r=t.cells[n].value,u=i.cells[n].value,(r==undefined||r==null)&&(r=""),(u==undefined||u==null)&&(u=""),typeof r=="string"&&(r=r.toUpperCase()),typeof u=="string"&&(u=u.toUpperCase()),r>u)?f:r<u?-f:0}).reduce(function(n,t){return n?n:t},0)}}function yi(){for(var n,i,t=!1,u=$("tbody>tr",s),r=0;r<u.length;r++)n=$(u[r]),i=!0,n.removeClass("odd"),n.removeClass("even"),n.hasClass("group-header")&&(i=!1,t=!1),!it&&n.hasClass("hidden")&&(i=!1),i&&(t?n.addClass("even"):n.addClass("odd"),t=!t)}function g(){var f,t,o,y=!1,a=!1,p=!1,c,l,w,h,i,v;if(nt.children().remove(),f=$("<ul><\/ul>"),nt.append(f),f.addClass("group"),u&&u.length!=0)for(c=0;c<e.length;c++)if(e[c].type==="Action")for(h=0;h<u.length;h++)u[h]&&(p=!0);else if(e[c].type==="ActionsList"){y=!0;break}if(p&&!y&&!r.alwaysShowRowActions){a=!0;o=$("<li><button class='is-button normal'><\/button><\/li>");f.append(o);t=$("button",o);d?t.text(r.hideRowActionsCaption):t.text(r.showRowActionsCaption);t.on("click",wi)}for(d||r.alwaysShowRowActions?s.addClass("show-row-actions"):s.removeClass("show-row-actions"),l=null,w=!1,h=0;h<lt.Actions().length;h++)if(i=lt.Actions()[h],i.visible)if(i.actionId){if(o=$("<li><button class='is-button'><\/button><\/li>"),f.append(o),t=$("button",o),l||(l=o),a=!0,i.autoHideCaption!==!1&&t.addClass("auto-hide-caption"),i.caption&&t.text(i.caption),i.tooltipText&&t.attr("title",i.tooltipText),i.enabled||t.attr("disabled","disabled"),i.icon&&(v=n.GetIconUrl(i.icon,16),v&&t.css({backgroundImage:"url("+v+")"}),t.addClass("icon")),i.checked&&t.addClass("checked"),i.buttonStyle)t.addClass(i.buttonStyle);else switch(i.actionId.toUpperCase()){case"ADD":t.addClass("positive");break;case"REFRESH":t.addClass("refresh");o.addClass("system");t.attr("title","Refresh");break;default:t.addClass("normal")}i.handler?function(n){t.click(function(){n.handler()})}(i):function(n){t.click(function(){ar(n.actionId)})}(i)}else l&&(w=!0,l=null,f.addClass("group"),f=$("<ul><\/ul>"),f.addClass("group"),nt.append(f));a?nt.show():nt.hide()}function hr(n,t,i){if(r.onBeforeCellUpdate){var e=u[n],o=e.cells[t],f={row:{listIndex:e.listIndex},columnKey:t,oldValue:o.value,newValue:i,refreshRow:!1,cancel:!1};r.onBeforeCellUpdate(f);f.cancel||(o.value=i);(f.refreshRow||f.cancel)&&ei(e.listIndex)}}function pi(n,t){if(r.onCellAction){var i={row:{listIndex:n},columnKey:t};r.onCellAction(i)}else window.alert("No onCellAction defined to handle cell action '"+t+"' for row "+n+".")}function ct(n,t){if(r.onRowDrilldown){n==undefined&&(n=f);var i={row:{listIndex:n},columnKey:t};r.onRowDrilldown(i)}}function cr(n){if(r.onRowSelectorClick){var t={row:{listIndex:n}};r.onRowSelectorClick(t)}}function lr(){return lt}function ar(n){if(r.onAction)r.onAction(n);else window.alert("$UI.Grid.ExecuteAction: No OnAction defined for this Grid object.")}function vr(){d=!1;g()}function yr(){d=!0;g()}function wi(){d=!d;g()}function pr(n,t){var i=$("tr[listIndex='"+n+"']",s);i.remove();t&&(h[n]=null,u[n]=null);g()}function wr(){if(!(f<1)&&!(f>=h.length)){var n=$("tr[listIndex='"+f+"']",s),t=n.prev();t.before(n);n.attr("listIndex",f-1);t.attr("listIndex",f);n=c[f];t=c[f-1];c[f]=t;c[f-1]=n;n=h[f];t=h[f-1];h[f]=t;h[f-1]=n;n=u[f];t=u[f-1];u[f]=t;u[f-1]=n;a(a()-1);g()}}function br(){if(!(f<0)&&!(f>=h.length-1)){var n=$("tr[listIndex='"+f+"']",s),t=n.next();t.after(n);n.attr("listIndex",f+1);t.attr("listIndex",f);n=c[f];t=c[f+1];c[f]=t;c[f+1]=n;n=h[f];t=h[f+1];h[f]=t;h[f+1]=n;n=u[f];t=u[f+1];u[f]=t;u[f+1]=n;a(a()+1);g()}}function kr(){h=null;ui(!1)}function dr(n){n>=0&&n<c.length&&(c[n].addClass("flash"),window.setTimeout(function(){c[n].removeClass("flash")},500))}function gr(n){f!=-1&&n||a(0)}function nu(n){f!=-1&&n||h&&a(h.length-1)}function a(n){if(n==undefined)return f;n=parseInt(n);p&&(p.removeClass("is-sel"),p=null);n>=0&&n<c.length?(f=n,p=c[f],p.addClass("is-sel"),p.removeClass("hidden")):f=-1;b();r.onAfterRowActivate&&r.onAfterRowActivate()}function st(n){if(n==undefined)return f!=-1&&u?u[f].listIndex:-1;f==-1;for(var t=0;t<u.length;t++)if(u[t].listIndex==n){a(t);break}}function tu(){if(u&&f>0){var t=o.height(),i=o.scrollTop,n=f;n-=10;n<0&&(n=0);a(n);b(!0)}}function iu(){if(u&&f<u.length-1){var t=o.height(),i=o.scrollTop,n=f;n+=10;n>u.length-1&&(n=u.length-1);a(n);b(!0)}}function ru(){var t,n;if(u&&f<u.length-1){for(t=f,n=f+1;n<u.length;n++)if(u[n]!=null&&(it||!u[n].hidden)){t=n;break}a(t);b(!0)}}function uu(){var t,n;if(u&&f>0){for(t=f,n=f-1;n>=0;n--)if(u[n]!=null&&(it||!u[n].hidden)){t=n;break}a(t);b(!0)}}function b(n){if((n==undefined&&(n=!1),r.visible)&&p){var t=0;r.stickyHeader&&(t=32);p.ScrollElementIntoView(n,!1,{inViewAmount:t})}}function fu(n,t){var i,r;if(u)for(i=0;i<u.length;i++)if(r=u[i].cells[n],r&&r.value==t)return a(i),!0;return console.warn("Grid could not locate a row with "+n+" = "+t),!1}function eu(n,t){n||t?(ti=!0,et=n,v=t):(et=null,v=null)}function bi(n){var r,s,u,f,o,i,t;if(et||v){if(!et&&!ht)for(ht={},ht.Columns=[],i=0;i<e.length;i++)t=e[i],(t.visible||t.type=="Action"||t.type=="ActionsList")&&ht.Columns.push({Key:t.key,OriginalAutoHideBelowWidth:t.autoHideBelowWidth});if(n=="")r=et;else if(v)for(i=0;i<v.length;i++)if(v[i].LayoutId==n){r=v[i];break}if(!r&&n){window.alert("Grid Layout '"+n+"' not found.");return}if(pt=n,v&&v.length!=0?(s="(default)",r&&r.LayoutCaption&&(s=r.LayoutCaption),vt="<span>"+$Runtime.HtmlEncode(s)+"<\/span>"):vt="",r||(r=ht),r.Columns.length!=0){for(u=e,e=[],i=0;i<r.Columns.length;i++)for(f=r.Columns[i],o=0;o<u.length;o++)if(t=u[o],t&&f.Key.toUpperCase()==t.key.toUpperCase()){if(e.push(t),t.visible=!0,f.OriginalAutoHideBelowWidth)t.autoHideBelowWidth=f.OriginalAutoHideBelowWidth;else if(f.Priority!=undefined)switch(f.Priority){case 0:t.autoHideBelowWidth=0;break;case 1:t.autoHideBelowWidth=640;break;case 2:t.autoHideBelowWidth=800;break;case 3:t.autoHideBelowWidth=1024}u[o]=null;break}for(i=0;i<u.length;i++)t=u[i],t&&(t.type=="Action"||t.type=="ActionsList"||(t.visible=!1),t.type=="ActionsList"?e.unshift(t):e.push(t))}}}function ou(){e=[]}function su(n,t){var i,r;for(n=n.toUpperCase(),i=0;i<e.length;i++)if(r=e[i],r.key.toUpperCase()==n){r.visible=t;break}}function hu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Action";i.width||(i.width="1em");e.push(i)}function cu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="ActionsList";i.width||(i.width="1em");e.push(i)}function lu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Boolean";i.width||(i.width="1em");e.push(i)}function au(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Currency";i.width||(i.width="4em");e.push(i)}function vu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Date";i.width||(i.width="4em");e.push(i)}function yu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="DateTime";i.width||(i.width="6em");e.push(i)}function pu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Drilldown";i.width="20px";i.allowDrilldown=!0;e.push(i)}function wu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="HTML";e.push(i)}function bu(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Icon";e.push(i)}function ku(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="Integer";i.width||(i.width="4em");e.push(i)}function du(n,t){var i=$.extend({},GridColumnDefaults,t);i.key=n;i.type="String";e.push(i)}function gu(n){if(n==undefined)return r.autoShiftButtons;n!=r.autoShiftButtons&&(r.autoShiftButtons=n,r.autoShiftButtons?o.removeClass("hold-buttons"):o.addClass("hold-buttons"))}function nf(){}function tf(){return o}function rf(){o.focus()}function uf(n){var r,i,t,e;if(n=$.extend({},{retainActiveRow:!0,retainSelectedRows:!0,retainExpiredRows:!0,retainExpiredGenerationsCount:5},n),h){if(!h.GetCacheKey)return window.alert("userinterface.Grid.GetRetainableCacheKeyDetails: mVirtualClass does not support a 'GetCacheKey' method."),{}}else return window.alert("userinterface.Grid.GetRetainableCacheKeyDetails: mVirtualClass does not have a value."),{};if(r={},n.retainActiveRow&&f!=-1&&(r.activeDataRow=h.GetCacheKey(st())),n.retainSelectedRows)for(i=ki(),r.selectedRows=[],t=0;t<i.length;t++)r.selectedRows.push(h.GetCacheKey(i[t]));if(n.retainExpiredRows)for(i=di(),r.expiredRows=[],t=0;t<i.length;t++)r.expiredRows.push(h.GetCacheKey(i[t]));if(n.retainExpiredGenerationsCount)for(i=gi(),r.expiredGenerationRows=[],t=0;t<i.length;t++)e=u[i[t]],r.expiredGenerationRows.push({key:h.GetCacheKey(i[t]),generation:e.expiredGeneration});return r}function ff(n,t){var e,f,u,i,r;if(t=$.extend({},{restoreActiveRow:!0,restoreSelectedRows:!0,restoreExpiredRows:!1,markExpiredRows:!0,markExpiredGenerations:!0,incrementExpiredGenerations:!0},t),h){if(!h.GetCacheKey)return window.alert("userinterface.Grid.GetRetainableCacheKeyDetails: mVirtualClass does not support a 'GetCacheKey' method."),{}}else return window.alert("userinterface.Grid.GetRetainableCacheKeyDetails: mVirtualClass does not have a value."),{};if(t.restoreSelectedRows&&n.selectedRows){for(e=[],i=0;i<n.selectedRows.length;i++)r=bt(n.selectedRows[i]),r&&e.push(r.listIndex);e.length>0&&nr(e)}if(t.restoreExpiredRows|t.markExpiredRows&&n.expiredRows){for(u=[],i=0;i<n.expiredRows.length;i++)r=bt(n.expiredRows[i]),r&&u.push(r.listIndex);u.length>0&&(f=t.restoreExpiredRows?0:1,kt(u,f))}if(t.markExpiredGenerations&&n.expiredGenerationRows)for(f=1;f<10;f++){for(u=[],i=0;i<n.expiredGenerationRows.length;i++){var o=n.expiredGenerationRows[i].key,s=n.expiredGenerationRows[i].generation,r=bt(o);r&&f==s&&u.push(r.listIndex)}u.length>0&&(t.incrementExpiredGenerations?kt(u,f+1):kt(u,f))}t.restoreActiveRow&&n.activeDataRow&&(r=bt(n.activeDataRow),r&&a(r.listIndex))}function bt(n){for(var i,t=0;t<u.length;t++)if(i=h.GetCacheKey(u[t].listIndex),i==n)return u[t];return null}function ki(n,t){var e=[],o,i;if(r.allowMultiRowSelect)for(o=0;o<u.length;o++)i=u[o],i&&i.rowSelectorCheckBox&&i.rowSelectorCheckBox.Value()&&(t&&i.expired||e.push(i.listIndex));return n&&e.length==0&&f>=0&&(t&&u[f].expired||e.push(f)),e}function di(){for(var t,i=[],n=0;n<u.length;n++)t=u[n],t.expired&&i.push(t.listIndex);return i}function gi(n){var r=[],t,i;for(n||(n=5),t=0;t<u.length;t++)i=u[t],i.expiredGeneration&&i.expiredGeneration<=n&&r.push(i.listIndex);return r}function kt(n,t){for(var i,f,r=0;r<n.length;r++)i=u[n[r]],i&&(f=c[i.listIndex],t?(i.expiredGeneration=t,f.addClass("expiredGeneration"+t)):(i.expired=!0,f.addClass("expired")))}function nr(n){for(var t,i=0;i<n.length;i++)t=u[n[i]],t&&t.rowSelectorCheckBox&&(t.rowSelectorCheckBox.Value(!0),c[t.listIndex].addClass("selected"))}function ef(n){$("tr",s).removeClass("related");for(var t=0;t<n.length;t++)$("tr[listIndex='"+n[t]+"']",s).addClass("related")}function tr(n,t){var f,i,e;if(r.allowMultiRowSelect){for(f=0;f<u.length;f++)i=u[f],i&&i.rowSelectorCheckBox&&(e=c[i.listIndex],t&&e.hasClass("is-filtered-out")||(i.rowSelectorCheckBox.Value(n),n?e.addClass("selected"):e.removeClass("selected")));k.Value(n);r.onAfterRowActivate&&r.onAfterRowActivate()}}function of(n){if(n==undefined)return r.groupByColumns;r.groupByColumns=n}function ui(){ri(!0)}function sf(){o.css({width:"100%",height:"100%",overflow:"auto"});fi()}function hf(n,t,i,r){for(var f,o,e=0;e<u.length;e++)if(u[e].listIndex===n){f=u[e];o=e;break}f&&(f.rowSelectorIcon=t,i!==undefined&&(f.details=i),r&&r.rowExpired!==undefined&&(f.expired=r.rowExpired),ei(n,o))}function fi(){var t,i,n;if(at&&o.is(":visible")&&(t=o.outerWidth(),t!=gt)){for(gt=t,$("tr>td,tr>th",s).removeClass("cellhidden"),l&&$("tr>td,tr>th",l).removeClass("cellhidden"),i=0;i<e.length;i++)n=e[i],n.elementCreatedIndex!=-1&&(n.autoHideBelowWidth>0&&t<=n.autoHideBelowWidth||n.autoHideAboveWidth>0&&t>n.autoHideAboveWidth)&&($("tr>td:nth-child("+(n.elementCreatedIndex+1)+"),tr>th:nth-child("+(n.elementCreatedIndex+1)+")",s).addClass("cellhidden"),l&&$("tr>td:nth-child("+(n.elementCreatedIndex+1)+"),tr>th:nth-child("+(n.elementCreatedIndex+1)+")",l).addClass("cellhidden"));l&&ot()}}function ir(){$("tr.hidden",s).removeClass("hidden");w.slideUp("fast");b();it=!0;r.stripe&&yi();r.stickyHeader&&ot()}function rr(n,t){var l,i,s,o,c,v;n&&(h=n);u=[];it=!1;l=f;r.onInitialiseRow||window.alert("userinterface.Grid.VirtualDataRefresh: options.onInitialiseRow handler not specified.");try{for(i=0;i<h.length;i++)if(h[i]!=null){for(s={},o=0;o<e.length;o++)s[e[o].key]={key:e[o].key,value:null,drilldownUrl:"",enabled:!0,hyperlink:"",colour:"",small:!1,strike:!1,tooltipText:""};c={listIndex:i,cells:s,colour:"",bold:!1,inactive:!1,special1:!1,special2:!1,strike:!1,expired:"",rowSelectorIcon:"",details:""};v={row:c};u.push(c);r.onInitialiseRow(v)}}catch(y){window.alert("userinterface.Grid.VirtualDataRefresh: "+y.message)}ui(!hi);t&&a(l)}function ei(n,t){if(t===undefined)for(var i=0;i<u.length;i++)if(u[i].listIndex==n){t=i;break}cf(n,t)}function cf(n,t){var f={row:u[t]},i;r.onInitialiseRow(f);i=$("tr[listindex="+n+"]",y);ur(t,i,!0)}function ur(t,i,f){var b,c,v,k,d,g,y,o,s,h,l,p,a,nt,w;for(f&&(i.children().remove(),i.removeClass("hidden inactive strike special1 special2 expired selected"),i.attr("style","")),c=u[t],(r.rowNumbering||r.allowMultiRowSelect||r.showRowSelectors)&&(v=$("<td class='rowselector is-no-select'><\/td>"),r.allowMultiRowSelect&&(k=c.rowSelectorCheckBox&&c.rowSelectorCheckBox.Value(),d=$("<input type='checkbox'/>"),v.append(d),c.rowSelectorCheckBox=new n.CheckBox(d,{onChange:function(){c.rowSelectorCheckBox.Value()?i.addClass("selected"):i.removeClass("selected")}}),c.rowSelectorCheckBox.Value(k),k&&i.addClass("selected")),r.rowNumbering&&v.append("<span class='rownumber'>"+(t+1)+"<\/span>"),c.rowSelectorIcon&&(g=n.GetIconUrl(c.rowSelectorIcon,16),g&&(v.css({backgroundImage:"url("+g+")"}),v.addClass("icon"))),c.details&&v.attr("title",c.details),i.append(v)),y=0;y<e.length;y++)if(o=e[y],o.elementCreatedIndex!=-1){if(s=$("<td><\/td>"),!r.showColumnHeaders&&o.width&&s.css("width",o.width),o.align&&s.css("text-align",o.align),o.colour?s.css("color",o.colour):s.css("color",""),o.noLineBreak&&s.addClass("nobreak"),h=c.cells[o.key],h){if(h.value!=null||o.type=="Action"||o.type=="ActionsList"||o.type=="Drilldown"||o.allowEdit){s.addClass("is-grid-col-"+o.type.toLowerCase());switch(o.type){case"Action":if(h.enabled){l=$("<button class='is-action-button'/>");l.addClass(o.key);s.append(l);switch(o.key.toUpperCase()){case"DELETE":case"MOVEDOWN":case"MOVEUP":l.attr("title",o.actionCaption);break;default:o.actionIcon?(l.append("<img src='"+$Api.GetIconUrl(o.actionIcon,16)+"'/>"),l.attr("title",o.actionCaption)):(console.warn("No grid action button CSS class defined for action '"+o.key+"'."),l.text(o.actionCaption))}l.attr("actionId",o.key)}break;case"ActionsList":h.enabled&&(l=$("<button class='is-actionslist-button'/>"),l.addClass(o.key),s.append(l));break;case"Boolean":o.allowEdit&&!h.readOnly?(p=$("<input type='checkbox' class='is-grid-checkbox'/>"),p.prop("checked",h.value),function(n,t,i){i.click(function(){hr(n,t,i.prop("checked"))})}(t,o.key,p),s.append(p)):h.value?s.addClass("is-grid-col-boolean-true is-symbol-tick"):(s.addClass("is-grid-col-boolean-false"),o.alwaysShowValue&&s.addClass("is-symbol-cross"));break;case"Currency":h.value===null?s.text(""):s.text($Runtime.FormatCurrency(h.value));break;case"Date":h.value&&s.text($Runtime.FormatDateForGrid(h.value));break;case"DateTime":h.value&&s.text($Runtime.FormatDateForGrid(h.value,!0));break;case"Drilldown":!h.value&&o.drilldownHideIfBlank||h.enabled&&s.html("<a class='is-drilldown-button'><\/a>");break;case"HTML":h.value&&typeof h.value=="string"?s.html(h.value):s.append(h.value);break;case"Icon":h.value&&(a=h.value,a.indexOf("/")==-1&&$fincwsapi&&(nt="",w=a.indexOf("|"),w!=-1&&(nt=a.substr(w+1),a=a.substr(0,w)),a=$fincwsapi.GetIconUrl(a,16,nt)),s.html("<img src='"+a+"'/>"));break;default:o.truncate?(s.html("<div style='display:table;table-layout:fixed;width:100%'><div style='overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap'>"+$Runtime.HtmlEncode(h.value)+"<\/div><\/div>"),s.attr("title",h.value)):s.html($Runtime.HtmlEncode(h.value))}h.hyperlink&&s.wrapInner('<a href="'+h.hyperlink+"\" target='_blank'><\/a>");h.small&&s.css("font-size","0.85em");h.strike&&s.css("text-decoration","line-through");h.colour?s.css("color",h.colour):s.css("color","")}}else{window.alert("Invalid column key '"+o.key+"'");break}o.allowDrilldown&&o.type!="Drilldown"&&s.wrapInner("<a class='is-drilldown'><\/a>");o.verticalSeparatorColour&&b&&b.css("border-right","1px solid "+o.verticalSeparatorColour);h.tooltipText&&s.attr("title",h.tooltipText);i.append(s);b=s}c.bold?i.css({"font-weight":"bold"}):i.css({"font-weight":"normal"});c.colour?i.css("color",c.colour):i.css("color","");c.hidden&&!it&&i.addClass("hidden");c.inactive&&i.addClass("inactive");c.strike&&i.addClass("strike");c.special1&&i.addClass("special1");c.special2&&i.addClass("special2");c.expired&&i.addClass("expired");c.expiredGeneration&&c.expiredGeneration>0&&i.addClass("expiredGeneration"+c.expiredGeneration);$("button.is-action-button",i).bind("click",function(n){var t=$(n.delegateTarget).closest("tr").attr("listIndex"),i=$(n.delegateTarget).attr("actionId");u&&t>=0&&t<u.length&&pi(t,i)});$("button.is-actionslist-button",i).bind("click",function(n){var t=$(n.delegateTarget).closest("tr").attr("listIndex");er(t,n)})}function lf(n){if(n==undefined)return r.visible;r.visible!=n&&(r.visible=n,r.visible?(o.show(),b(!0)):o.hide())}function af(){l&&ot()}function vf(){l&&ot()}function yf(){return s}var lt,f=-1,nt,w,dt,si,tt="",e=[],c=[],o,gt=-1,k,y,ni=0,at=!1,ti=!1,it=!1,hi=!1,vt,rt,yt=null,d=!1,ut,p,l,ci=0,ft,s,h,u,et,v,pt,ht,r,wt,ii,oi;if(GridDefaults={width:"auto",showRowSelectors:!1,stripe:!0,rowNumbering:!1,visible:!0,allowMultiRowSelect:!1,autoShiftButtons:!0,groupByColumns:"",layoutCustomisable:!1,onAction:null,onAfterColumnSort:null,onAfterRowActivate:null,onBeforeCellUpdate:null,onCellAction:null,onContextMenuShow:null,onInitialiseRow:null,onRowDrilldown:null,onRowSelectorClick:null,rowSelectorColumnIcon:"",showColumnHeaders:!0,stickyHeader:!0,sortByColumn:"",sortByDesc:!1,showHiddenRowsPopup:!0,fixedWidth:!1,alwaysShowRowActions:!1,showRowActionsCaption:"Show Row Actions",hideRowActionsCaption:"Hide Row Actions"},r=$.extend({},GridDefaults,i),lt=new n.ActionsCollection,GridColumnDefaults={key:"",actionCaption:"",actionIcon:"",align:"",allowDrilldown:!1,allowEdit:!1,alwaysShowValue:!1,caption:"",colour:"",type:"String",readOnly:!1,sortable:!1,visible:!0,width:"",truncate:!1,noLineBreak:!1,doNotCreateBelowScreenWidth:0,autoHideBelowWidth:0,autoHideAboveWidth:0,drilldownHideIfBlank:!1,elementCreatedIndex:-1},typeof t=="string"?(wt=n.ExtUtils.TranslateElementId(t),t=$("#"+wt)):wt=$(t).attr("id"),ii=$(t),ii.length==0){console.warn("userinterface.Grid: Element '"+wt+"' not found.");return}return o=$(ii[0]),o.attr("tabindex","-1"),$Runtime.IsMobileBrowser()&&(r.stickyHeader=!1),o.bind("keydown",function(n){switch(n.keyCode){case 13:u&&f>=0&&f<u.length&&ct(st(),"");break;case 27:a(-1);break;case 35:return u&&(a(u.length-1),b()),!1;case 36:return u&&(a(0),b()),!1;case 33:return tu(),!1;case 34:return iu(),!1;case 38:return uu(),!1;case 40:return ru(),!1}}),r.visible||o.hide(),oi={TypeName:"Grid",ClearColumns:ou,AddColumnAction:hu,AddColumnActionsList:cu,AddColumnBoolean:lu,AddColumnCurrency:au,AddColumnDate:vu,AddColumnDateTime:yu,AddColumnDrilldown:pu,AddColumnHtml:wu,AddColumnIcon:bu,AddColumnInteger:ku,AddColumnString:du,ColumnVisible:su,Actions:lr,ActivateFirstDataRow:gr,ActivateLastDataRow:nu,ActiveDataRowIndex:a,ActiveDataRowIndexFromProperty:fu,ActiveDataRowListIndex:st,LayoutsDefine:eu,LayoutApply:bi,ShowHiddenRows:ir,RowActionsHide:vr,RowActionsShow:yr,RowActionsToggle:wi,RowDelete:pr,RowMoveUp:wr,RowMoveDown:br,RowsClear:kr,FlashRow:dr,PerformRowDrilldown:ct,AutoShiftButtons:gu,Caption:nf,Element:tf,Focus:rf,GroupByColumns:of,Refresh:ui,RefreshButtons:g,RefreshRow:ei,ResizeFromParent:sf,VirtualDataRefresh:rr,Visible:lf,Sort:ai,GetSelectedRowIndexes:ki,SetSelectedRowIndexes:nr,SetRowSelectorIcon:hf,SelectAllRows:tr,GetExpiredRowIndexes:di,SetExpiredRowIndexes:kt,GetExpiredGenerationsRowIndexes:gi,GetRetainableCacheKeyDetails:uf,RestoreRetainedCacheKeyDetails:ff,SetRelatedRowIndexes:ef,Tag:{},Columns:function(){return e},GetDataRowElements:function(){return c},NotifyTableFilterApplied:af,RealignLayout:vf,VirtualClass:function(){return h},VirtualData:function(){return u},GetTableElement:yf},o.prop("is-control",oi),oi},n.ShowGridRearrange=function(t,i,r){function ft(n){s.WaitHide();n?s.Close():u.focus()}function it(n){window.setTimeout(function(){var f=$("thead > tr > th",u),e=$("tbody > tr:first-child > td",u),i,n;if(e.length!==0)for(i=u.outerWidth(),$("thead",u).css("width",i+"px"),$("tbody",u).css("width",i+"px"),n=0;n<f.length;n++){var t=$(f[n]),o=$(e[n]),r=o.outerWidth(),s=t.outerWidth();t.css("width",r+"px");t.css("min-width",r+"px");t.css("max-width",r+"px")}},n?10:100)}function o(){var t=$("tbody > tr.datarow",u),n,i;for(t.removeClass("is-sel odd even moveDown moveUp"),f!==-1&&$(t[f]).addClass("is-sel"),n=0;n<t.length;n++)i=$(t[n]),n%2==0?i.addClass("odd"):i.addClass("even");f!==-1&&$("tbody > tr.is-sel",u).ScrollElementIntoView(!1,!1,{inViewAmount:0})}function w(n){for(var i=$("tbody > tr.datarow",u),t=0;t<i.length;t++)if(n===i[t]){f=t;break}}function et(n){for(var f,i=$("tbody > tr",u),r=!1,t=0;t<i.length;t++){if(f=$(i[t]),r)return f.hasClass("datarow")?!0:!1;i[t]===n&&(r=!0)}return!1}function ot(n){for(var f,i=$("tbody > tr",u),r=!1,t=i.length-1;t>=0;t--){if(f=$(i[t]),r)return f.hasClass("datarow")?!0:!1;i[t]===n&&(r=!0)}return!1}function b(){if(f>0){var i=$("tbody > tr.datarow",u),n=$(i[f]),t=$(i[f-1]);ot(n[0])&&(t.before(n),f-=1,o(),n.addClass("moveUp"),t.addClass("moveDown"),window.setTimeout(function(){n.removeClass("moveUp");t.removeClass("moveDown")},300))}}function k(){if(f<h-1){var i=$("tbody > tr.datarow",u),n=$(i[f]),t=$(i[f+1]);et(n[0])&&(n.before(t),f+=1,o(),n.addClass("moveDown"),t.addClass("moveUp"),window.setTimeout(function(){n.removeClass("moveDown");t.removeClass("moveUp")},300))}}var e,c,v,d,g,nt,y;ShowGridRearrangeDefaults={title:"Rearrange Items",height:"95%",width:"95%",maxWidth:1e3,maxHeight:2e3,primaryKeyColumn:"Pk",commitMessage:"Committing changes, please wait..."};var l=$.extend({},ShowGridRearrangeDefaults,i),rt=t.GetTableElement(),s=n.Modal(l);s.Actions().Define([{groupId:"[buttons]",actionId:"Cancel",caption:"Cancel"},{groupId:"[buttons]",actionId:"Ok",caption:"Commit"},{groupId:"[buttonsOther]",actionId:"MoveUp",icon:"Move_Up",tooltipText:"Move selected item up (Ctrl+Up)"},{groupId:"[buttonsOther]",actionId:"MoveDown",icon:"Move_Down",tooltipText:"Move selected item down (Ctrl+Down)"}]);s.OnAction(function(n){var i,e,o,f;switch(n){case"MoveDown":k();u.focus();break;case"MoveUp":b();u.focus();break;case"Ok":if(!r){window.alert("No doneCallback parameter specified.");return}if(i={},i.primaryKeyList="",i.commitComplete=ft,e=$("tbody > tr.datarow",u),o=t.VirtualClass(),!o){window.alert("This grid does not hava a Virtual Class that it is bound to.");return}for(f=0;f<e.length;f++){var c=$(e[f]),a=c.attr("listIndex"),v=o[a],h;try{h=v[l.primaryKeyColumn]}catch(y){window.alert("The collection this grid is bound to does not contain a '"+l.primaryKeyColumn+"' property.\n\nUse the intialisation option 'primaryKeyColumn' to specify the property name to use.");return}i.primaryKeyList.length!==0&&(i.primaryKeyList+=",");i.primaryKeyList+=h}s.WaitShow(l.commitMessage);r(i);break;case"Cancel":s.Close()}});s.Show();e=$("<div class='is-grid-rearrange is-no-select'><\/div>");e.append(rt.parent()[0].outerHTML);$("div.is-grid",e).addClass("is-dock-fill");$("span.is-checkbox",e).remove();$("div.sorter",e).remove();$("table.is-sticky-header",e).remove();$(".selected",e).removeClass("selected");$("tr",e).removeClass("hidden");$("td.rowselector",e).css("background-image","");$("a",e).css("cursor","default");$("a",e).removeAttr("href");var a=$("table > tbody > tr.datarow",e),h=a.length,u=$("table",e),f=a.length>0?0:-1;for($("table > thead > tr > th:first-child",e).before("<th class='is-updown'><\/th>"),c=0;c<a.length;c++)v=$(a[c]),d=$("<td class='is-updown'><nobr><a class='is-up'><\/a><a class='is-down'><\/nobr><\/td>"),$("td:first-child",v).before(d),v.hasClass("is-sel")&&(f=c);g=$("tr.group-header > td",u);nt=$("thead > tr > th",u).length;g.attr("colspan",nt);s.ContentElement().append(e);u.bind("keydown",function(n){switch(n.keyCode){case 35:return f=h-1,o(),!1;case 36:return f=0,o(),!1;case 33:return f-=10,f<0&&(f=0),o(),!1;case 34:return f+=10,f>h-1&&(f=h-1),o(),!1;case 38:return f>0&&(n.ctrlKey?b():(f-=1,o())),!1;case 40:return f<h-1&&(n.ctrlKey?k():(f+=1,o())),!1}});$("a.is-up",u).on("click",function(n){n.stopPropagation();var t=$(n.delegateTarget).closest("tr.datarow");w(t[0]);b()});$("a.is-down",u).on("click",function(n){n.stopPropagation();var t=$(n.delegateTarget).closest("tr.datarow");w(t[0]);k()});$("tbody > tr.datarow",u).on("click",function(n){var t=$(n.delegateTarget).closest("tr.datarow");w(t[0]);o()});y=$("<iframe/>");e.append(y);$(y[0].contentWindow).on("resize",function(){it()});o();u.attr("tabindex","-1");window.setTimeout(function(){u.focus();it(!0)},100);var p=u.parent(),tt=p.scrollLeft(),ut=$("thead",u);p.on("scroll",function(){var n=p.scrollLeft();n!==tt&&(tt=n,ut.css("margin-left",-n+"px"))})},n}($UI||{});console.log("  $UI (grid extension)");console.log("Loading lib/isuserinterface_finc.js");__UIExtFinC=function(n){var t={};return n.ContactDetailsComboBox=function(t,i){function u(t,i){for(var u,f="Value,Description",e="",s=!1,h=!1,o=0;o<t.length;o++)u=t[o],u.Current||(s=!0),u.Warning&&(h=!0),u.Current&&!e&&(e=u.Value);s&&(n.AlwaysUsePickerControls()||(f+=",Current"));h&&(n.AlwaysUsePickerControls()||(f+=",Warning"));r.RefreshFromCollection(t,"Value","Description",f);i&&!r.Text()&&r.Text(e)}var r;return i.maxLength=100,i.width="18em",r=n.DBCombo(t,i),_self={TypeName:"ContactDetailsComboBox",AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,Focus:r.Focus,ReadOnly:r.ReadOnly,SetComboFromContactDetailsList:u,Text:r.Text,WidthResizeFromParent:r.WidthResizeFromParent}},n.DateCycleComboBox=function(t,i){function o(){r.ListFromCsvString(i.list)}function s(){var n=r.Text();n?u==n||(r.DescriptionUpdate(""),$App.HtmlWidget_SystemGetString("GetDateCycleDescription",{dateCycle:n,isFrequency:f.isFrequency},function(n){var e;if(n){var o=n.indexOf("|"),t=n,f="";o!=-1&&(f=t.substr(o+1),t=t.substr(0,o),t.toUpperCase()==f.toUpperCase()&&(t=""));r.DescriptionUpdate(t);f&&(r.Text(f),u=f)}else if(i.listOther){var s=$Runtime.ArrayFromCsvString(i.listOther),c=!1,l=h().toUpperCase();for(e=0;e<s.length;e++)if(l==s[e].toUpperCase()){c=!0;break}c?r.DescriptionUpdate(""):r.DescriptionUpdate("Invalid",!1,!0)}else r.DescriptionUpdate("Invalid",!1,!0)},function(n){console.warn("userinterface.DateCycleComboBox: Failed to retrieve Date Cycle Description: "+n)})):r.DescriptionUpdate("")}function c(n){f.list=n;o()}function l(n){f.listOther=n;o()}function h(n){if(n==undefined)return r.Text();n!=u&&(r.Text(n),s());u=n}var r,f=i,u="",e=null;return i.showColumnHeadings=!1,i.showDescription=!0,i.maxLength=20,i.isFrequency=i.isFrequency?!0:!1,i.width==undefined&&(i.width="12em"),i.list==undefined&&(i.list=""),i.listOther==undefined&&(i.listOther=""),e=i.onChange,i.onChange=function(n,t){s();e?e(n,t):t&&(t.ChangeHandled=!0);u=r.Text()},r=n.DBCombo(t,i),r.ListFromCsvString(""),r.WidthResizeFromParent(),_self={TypeName:"DateCycleComboBox",ListFromCsvString:c,ListOtherFromCsvString:l,AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,BlankTip:r.BlankTip,Caption:r.Caption,Element:r.Element,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:h,Visible:r.Visible,VisibleRow:r.VisibleRow,WidthResizeFromParent:r.WidthResizeFromParent}},n.HtmlColourComboBox=function(t,i){function s(){r.ListFromCsvString("Pink,LightPink,HotPink,DeepPink,PaleVioletRed,MediumVioletRed,LightSalmon,Salmon,DarkSalmon,LightCoral,IndianRed,Crimson,FireBrick,DarkRed,Red,OrangeRed,Tomato,Coral,DarkOrange,Orange,Yellow,LightYellow,LemonChiffon,LightGoldenrodYellow,PapayaWhip,Moccasin,PeachPuff,PaleGoldenrod,Khaki,DarkKhaki,Gold,Cornsilk,BlanchedAlmond,Bisque,NavajoWhite,Wheat,BurlyWood,Tan,RosyBrown,SandyBrown,Goldenrod,DarkGoldenrod,Peru,Chocolate,SaddleBrown,Sienna,Brown,Maroon,DarkOliveGreen,Olive,OliveDrab,YellowGreen,LimeGreen,Lime,LawnGreen,Chartreuse,GreenYellow,SpringGreen,MediumSpringGreen,LightGreen,PaleGreen,DarkSeaGreen,MediumSeaGreen,SeaGreen,ForestGreen,Green,DarkGreen,MediumAquamarine,Aqua,Cyan,LightCyan,PaleTurquoise,Aquamarine,Turquoise,MediumTurquoise,DarkTurquoise,LightSeaGreen,CadetBlue,DarkCyan,Teal,LightSteelBlue,PowderBlue,LightBlue,SkyBlue,LightSkyBlue,DeepSkyBlue,DodgerBlue,CornflowerBlue,SteelBlue,RoyalBlue,Blue,MediumBlue,DarkBlue,Navy,MidnightBlue,Lavender,Thistle,Plum,Violet,Orchid,Fuchsia,Magenta,MediumOrchid,MediumPurple,BlueViolet,DarkViolet,DarkOrchid,DarkMagenta,Purple,Indigo,DarkSlateBlue,RebeccaPurple,SlateBlue,MediumSlateBlue,White,Snow,Honeydew,MintCream,Azure,AliceBlue,GhostWhite,WhiteSmoke,Seashell,Beige,OldLace,FloralWhite,Ivory,AntiqueWhite,Linen,LavenderBlush,MistyRose,Gainsboro,LightGrey,Silver,DarkGray,Gray,DimGray,LightSlateGray,SlateGray,DarkSlateGray,Black")}function o(){var n=r.Text(),t;u==n||(n||e.blankTip?(t=n||e.blankTip,r.DescriptionUpdate("<div style='background-color:"+$Runtime.HtmlEncode(t)+";border:1px solid rgba(0,0,0,0.1); width:20px; height:20px; overflow:hidden; position:relative; top:1px'><\/div>",!0)):r.DescriptionUpdate(""))}function h(n){if(n==undefined)return r.Text();n!=u&&(r.Text(n),o());u=n}var r,e=i,u="",f=null;return i.showColumnHeadings=!1,i.showDescription=!0,i.maxLength=50,i.changeWhileTyping=!0,i.width==undefined&&(i.width="16em"),i.list==undefined&&(i.list=""),f=i.onChange,i.onChange=function(n,t){o();f?f(n,t):t&&(t.ChangeHandled=!0);u=r.Text()},i.onFormatArrayItem=function(n,t){t.displayValue="<div style='background-color:"+$Runtime.HtmlEncode(t.displayValue)+";border:1px solid rgba(0,0,0,0.1); width:20px; height:20px; overflow:hidden; display:inline-block; vertical-align:middle'><\/div>&nbsp;"+t.displayValue},r=n.DBCombo(t,i),r.ListFromCsvString(""),r.WidthResizeFromParent(),s(),_self={TypeName:"HtmlColourComboBox",AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,BlankTip:r.BlankTip,Caption:r.Caption,Element:r.Element,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:h,Visible:r.Visible,VisibleRow:r.VisibleRow,WidthResizeFromParent:r.WidthResizeFromParent}},n.InformationListComboBox=function(t,i){function f(n,t,i,f){t==undefined&&(t=!1);n?(r.SetFetchingData(!0),r.ShowDescription(!1),e.width||r.WidthResizeFromParent(),$App.GetInformationList(n,function(n){var s,o;if(n){if(n.ValuesAlt){for(s=[],o=0;o<n.Values.length;o++)s.push({Value:n.Values[o],Description:n.ValuesAlt[o]});r.RefreshFromCollection(s,"Value","Description","Value,Description");r.ShowDescription(!0);r.WidthResizeFromParent(!1)}else{for(s=[],o=0;o<n.Values.length;o++)s.push({Value:n.Values[o]});r.RefreshFromCollection(s,"Value","","Value");r.ShowDescription(!1)}u=n;t&&r.AllowBlank(!u.Mandatory);r.LimitToList(u.LimitToList);r.MaxLength(u.MaxLength);f&&!r.Text()&&u.DefaultValue&&r.Text(u.DefaultValue);i&&i()}else i&&i();r.SetFetchingData(!1);e.width||r.WidthResizeFromParent(n.ValuesAlt?!1:!0)})):(r.LimitToList(!1),r.ListFromCsvString(""),r.ShowDescription(!1),r.WidthResizeFromParent())}function o(n,t,i){var e="",o;if(t){for(o=0;o<t.length;o++)e+=t[o]+"|";e=e.toUpperCase()}f(n,!1,function(){for(var n,c,t,h,o,f=[],s=0;s<u.Values.length;s++)if(n=u.Values[s],e?(c=n.toUpperCase(),c.substr(0,e.length)==e?(n=n.substr(e.length),t=n.indexOf("|"),t!=-1&&(n=n.substr(0,t))):n=null):(t=n.indexOf("|"),t!=-1&&(n=n.substr(0,t))),n){for(h=!1,o=0;o<f.length;o++)if(n.toUpperCase()==f[o].Value.toUpperCase()){h=!0;break}h||f.push({Value:n})}r.RefreshFromCollection(f,"Value","","Value");i&&i()},!1)}function s(n,t,i,e){var o=[],s=[];f(n,!0,function(){var f,h,l,c,n;if(u){for(n=0;n<u.Values.length;n++)f=u.Values[n],h=f.indexOf("|"),h==-1?s.push(f):(l=f.substr(0,h),l.toUpperCase()==t.toUpperCase()&&o.push(f.substr(h+1)));o.length==0&&(o=s);i&&$Runtime.StringArrayAddUnique(o,i);switch(e){case 510:case 500:list.push("Completed");list.push("Deleted")}for(c=[],n=0;n<o.length;n++)c.push({Value:o[n]});r.RefreshFromCollection(c,"Value","","Value")}})}var r,u=null,e=i;return i.showColumnHeadings=!1,i.showDescription=!1,i.maxLength||(i.maxLength=50),r=n.DBCombo(t,i),_self={TypeName:"InformationListComboBox",SetComboFromInformationList:f,SetComboFromSectionedInformationList:o,SetLogOutcomeComboFromSectionedInformationList:s,AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,BlankTip:r.BlankTip,Caption:r.Caption,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:r.Text,Visible:r.Visible,VisibleRow:r.VisibleRow,WidthResizeFromParent:r.WidthResizeFromParent}},n.LogSeveritiesDBCombo=function(t,i){var r;return i.width=FIELD_WIDTH_CODE_5,r=n.DBCombo(t,i),r.RefreshFromCollection($App.LogSeverities(),"LogSeverityId","Description","LogSeverityId,Description"),_self={TypeName:"LogSeveritiesDBCombo",AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:r.Text,WidthResizeFromParent:r.WidthResizeFromParent}},n.UsersDBCombo=function(t,i){var r;if(i.width=FIELD_WIDTH_CODE_20,i.maxLength||(i.maxLength=20),i.filter){i.filter=i.filter.toUpperCase();switch(i.filter){case"":case"ACCOUNTAUTHORISER":break;default:console.warn("UsersDBCombo: Invalid filter '"+i.filter+"'")}}else i.filter="";return r=n.DBCombo(t,i),!$App.UsersLoad(function(){var n,u,t,f;if($App.Users()){n=$App.Users();switch(i.filter){case"ACCOUNTAUTHORISER":for(u=[],t=0;t<n.length;t++)f=n[t],f.IsAccountAuthoriser&&u.push(f);n=u}r.RefreshFromCollection(n,"UserId","Name","UserId,Name,Active")}}),_self={TypeName:"UsersDBCombo",AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:r.Text,Visible:r.Visible,VisibleRow:r.VisibleRow,WidthResizeFromParent:r.WidthResizeFromParent}},n.ExternalPartyEmployeesDBCombo=function(i,r){function o(n,i){if(e="",n){if(f=t[n.toUpperCase()],f){console.info("ExternalPartyEmployeesDBCombo: Employees for '"+n+"' retrieved from cache.");u.RefreshFromCollection(f,"ClientEmploymentId","IndividualName","ClientEmploymentId,IndividualName");i&&i();return}u.SetFetchingData(!0);u.WidthResizeFromParent();$App.HtmlWidget_SystemGetString("GetExternalPartyEmployees",{id:n},function(r){var h,s,c,l,o;for(r=JSON.parse(r),h=[],s=0;s<r.Rows.length;s++){for(c={},l=r.Rows[s],o=0;o<r.Columns.length;o++)c[r.Columns[o].Name]=l[o];h.push(c)}f=h;t[n.toUpperCase()]=f;u.RefreshFromCollection(f,"ClientEmploymentId","IndividualName","ClientEmploymentId,IndividualName");e=n;u.SetFetchingData(!1);u.WidthResizeFromParent();i&&i()},function(n){$App.NotificationsAddError(n,"",!0,"Error");u.SetFetchingData(!1)})}else u.LimitToList(!1),u.RefreshFromCollection([],"ClientEmploymentId","IndividualName","ClientEmploymentId,IndividualName")}var u,f=null,e="";return r.width=FIELD_WIDTH_CODE_20,r.maxLength||(r.maxLength=20),r.LimitToList=!1,u=n.DBCombo(i,r),_self={TypeName:"ExternalPartyEmployeesDBCombo",ExernalPartyId:function(){return e},RefreshForExternalParty:o,AllowBlank:u.AllowBlank,AutoReadOnly:u.AutoReadOnly,Focus:u.Focus,ReadOnly:u.ReadOnly,Text:u.Text,Visible:u.Visible,VisibleRow:u.VisibleRow,WidthResizeFromParent:u.WidthResizeFromParent}},n.AccountWarnings=function(t){function o(){var t,n,r;if(i){for(t=0,n=0;n<i.length;n++)r=i[n],r.Severity=="Error"&&(t+=1);return t}return 0}function s(){var t,n,r;if(i){for(t=0,n=0;n<i.length;n++)r=i[n],r.Severity!="Alert"||r.Accept||(t+=1);return t}return 0}function h(){return f}function c(n){i=n;r.VirtualDataRefresh(i)}function l(n){var t=i[n.row.listIndex];n.row.cells.Accept.value=t.Accept;n.row.cells.ClientId.value=t.ClientId;n.row.cells.ClientName.value=t.ClientName;n.row.cells.Summary.value=t.Summary;switch(t.Severity){case"Alert":n.row.cells.Icon.value="Warning";n.row.cells.Accept.readOnly=!1;break;case"Error":n.row.cells.Icon.value="Error";n.row.cells.Accept.readOnly=!0;break;case"Information":n.row.cells.Icon.value="Information";n.row.cells.Accept.readOnly=!0}t.ClientId&&(n.row.cells.ClientId.hyperlink="app://formshow?form=Client&id="+encodeURI(t.ClientId))}function a(n){var t=i[n.row.listIndex];switch(n.columnKey){case"Accept":t.Accept=n.newValue;break;default:window.alert("Column '"+n.columnKey+"' not handled.")}n.refreshRow=!1}var i,f,r,u,e;if(typeof t=="string"?(u=n.ExtUtils.TranslateElementId(t),t=$("#"+u)):u=$(t).attr("id"),e=$(t),e.length==0){console.warn("userinterface.AccountWarnings: Element '"+u+"' not found.");return}return f=$(e[0]),r=n.Grid(f,{rowNumbering:!0,onBeforeCellUpdate:a,onInitialiseRow:l}),r.AddColumnIcon("Icon",{}),r.AddColumnBoolean("Accept",{caption:"Accept",width:"3em",allowEdit:!0}),r.AddColumnString("ClientId",{caption:"Client",width:"6em"}),r.AddColumnString("ClientName",{caption:"Name",width:"16em",truncate:!0}),r.AddColumnString("Summary",{caption:"Summary"}),_self={TypeName:"AccountWarnings",CountErrors:o,CountToAccept:s,Element:h,Focus:r.Focus,Refresh:c}},n.RangeTextBox=function(t,i){function u(){$App.FormOpen("RangeLookup","",{caption:i.lookupCaption,rangeSource:i.rangeSource,rangeType:i.rangeType,rangeLookupSql:i.RangeLookupSql,idField:i.RangeLookupIdField,fieldList:i.RangeLookupFieldList,sourceControl:r},null)}var r;return i.actionsButtonVisible=!0,i.actionsButtonIcon="Find",i.onActionsButtonClick=u,i.rangeType||(i.rangeType="Standard"),i.lookupCaption||(i.lookupCaption="Lookup"),r=n.TextBox(t,i),_self={TypeName:"RangeTextBox",AllowBlank:r.AllowBlank,AutoReadOnly:r.AutoReadOnly,Focus:r.Focus,ReadOnly:r.ReadOnly,Text:r.Text,Visible:r.Visible,VisibleRow:r.VisibleRow,WidthResizeFromParent:r.WidthResizeFromParent}},n}($UI||{});console.log("  $UI (finPOWER Connect extension)");console.log("Loading lib/isuserinterface_navigation.js");__UIExtNavigation=function(n){function t(n){for(var r,u,i=0;i<n.length;i++)n[i]=$.extend({},MenuItemDefaults,n[i]),r=n[i],r.Action&&r.Action.toUpperCase().substr(0,4)=="APP:"&&(u=$Ash.ParseUrl(r.Action),r.AllowMultiInstance=u.Parameters.GetBoolean("allowMultiInstance")),n[i].MenuItems&&n[i].MenuItems.length!=0&&t(n[i].MenuItems)}return MenuItemDefaults={ItemId:"",ItemType:"Normal",Caption:"",Icon:"",IconUrl:"",IconClass:"",MenuItems:[],Enabled:!0,Visible:!0,AllowMultiInstance:!1,System:!1,Indent:!1},n.MenuItemFind=function(t,i){var r,u;for(i=i.toUpperCase(),r=0;r<t.length;r++){if(t[r].ItemId&&t[r].ItemId.toUpperCase()==i)return t[r];if(t[r].MenuItems&&t[r].MenuItems.length!=0&&(u=n.MenuItemFind(t[r].MenuItems,i),u))return u}return null},n.MenuItemSetEnabled=function(t,i,r){var u=n.MenuItemFind(t,i);u&&(u.Enabled=r)},n.MenuItemSetVisible=function(t,i,r){var u=n.MenuItemFind(t,i);u&&(u.Visible=r)},n.MenuPanel=function(i){function w(){return h}function b(n){o=n;t(o)}function k(){var e,t,i,c,s;u.children().remove();t=$("<div><\/div>");r.collapsibleGroups&&t.addClass("collapsible-groups");(r.caption||r.showCloseButton)&&(i=$("<div class='caption is-no-select'><\/div>"),r.captionHtml?i.html(r.captionHtml):i.text(r.caption),r.showCloseButton&&(c=$("<a><span class='is-symbol-close'><\/span><\/a>"),c.click(function(){y()}),i.append(c)),u.append(i),t.addClass("hascaption"));f=="-"||(f?(s=n.MenuItemFind(o,f),s?(e=l(s.MenuItems,!1,s.Priority==999),t.append(e)):console.warn("$UI.MenuPanel: Could not find sub-menu '"+f+"'.")):(e=l(o,!1,!1),t.append(e)));r.collapsibleGroups&&$("li.collapsible",t).click(function(){var n=$(this);n.hasClass("expanded")?(n.removeClass("expanded"),$("ul.collapsible",t).slideUp("fast")):($("li.expanded",t).removeClass("expanded"),n.addClass("expanded"),$("ul.collapsible",t).slideUp("fast"),$("ul.collapsible",n).slideDown("fast"))});h=$("<div><\/div>");t.append(h);u.append(t);a()}function l(n,t,i){var s=$("<ul class='is-no-select'><\/ul>"),c,u,y,a,f,o,g,b,k;for(t&&r.collapsibleGroups&&(s.addClass("collapsible"),i&&s.addClass("system"),s.css("display","none")),c=0;c<n.length;c++){if(u=n[c],y=!0,e&&e.length>0)for(a=0;a<e.length;a++)if(u.ItemId==e[a]){y=!1;break}if(y){if(f=$("<li itemtype='"+u.ItemType+"' itemId='"+u.ItemId+"'><\/li>"),o=$("<a><\/a>"),f.attr("itemid",u.ItemId),o.text(u.Caption),f.append(o),r.collapsibleGroups&&u.ItemType=="SubMenu"&&(f.addClass("collapsible"),u.Priority==999&&f.addClass("system")),u.Icon&&$Api){var h=u.Icon,d="",w=h.indexOf("|");w!=-1&&(d=h.substr(w+1),h=h.substr(0,w));g="<img src='"+$Api.GetIconUrl(h,16,d,!0)+"' />";o.prepend(g)}u.Visible||f.css("display","none");f.attr("Enabled",""+u.Enabled);u.Enabled&&u.AllowMultiInstance&&(b=$("<a class='multi-instance' title='Open a new instance'><a>"),o.append(b),function(n){b.click(function(t){t.stopPropagation();v(n,!0)})}(u));u.System&&f.addClass("system");u.Indent&&f.addClass("indent");s.append(f);u.MenuItems&&u.MenuItems.length!=0?(k=l(u.MenuItems,!0,u.Priority==999),f.addClass("is-menu-sub"),f.append(k)):function(n){o.click(function(t){t.stopPropagation();r.selectableItems&&p(n.ItemId);v(n,!1)})}(u)}}return s}function a(){r.selectableItems&&($("li",u).removeClass("selected"),$("li[itemId='"+c+"']",u).addClass("selected"))}function v(n,t){if(n.Enabled)if(n.Action)if(r.onAction)r.onAction(n.Action,n.ItemId,t);else window.alert("No onAction handler specified for this menu.");else if(r.selectableItems&&r.onAction)r.onAction(n.Action,n.ItemId,t)}function d(n){if(n==undefined)return s;s=n}function g(n){if(n==undefined)return r.caption;n&&(r.captionHtml="");r.caption=n}function nt(n){if(n==undefined)return r.captionHtml;n&&(r.caption="");r.captionHtml=n}function y(){r.onClose?r.onClose():(u.hide(),s=!1)}function tt(n){if(n==undefined)return r.collapsibleGroups;r.collapsibleGroups=n}function it(n){if(n==undefined)return f;f=n}function rt(n){if(n==undefined)return e;e=n}function p(n){if(n==undefined)return c;c=n;a()}var s=!0,h,u,o=[],f="",c="",e=[],r;MenuPanelDefaults={menuElement:null,onAction:null,selectableItems:!1,caption:"",captionHtml:"",collapsibleGroups:!1,autoClose:!0,autoCloseIgnoreElements:null,showCloseButton:!0,onClose:null};r=$.extend({},MenuPanelDefaults,i);u=r.menuElement;u.on("contextmenu",function(){return!1});if(r.autoClose)u.on("mousedownoutside",function(n){if(s){if(r.autoCloseIgnoreElements)for(var t=0;t<r.autoCloseIgnoreElements.length;t++)if(r.autoCloseIgnoreElements[t]==n.target||$.contains(n.target,r.autoCloseIgnoreElements[t])||$.contains(r.autoCloseIgnoreElements[t],n.target))return!1;y()}});return{TypeName:"MenuPanel",Active:d,Caption:g,CaptionHtml:nt,CollapsibleGroups:tt,Items:o,Define:b,ExcludeSubItemIds:rt,RenderSubItemsId:it,Refresh:k,SelectedItemId:p,AdditionalContentElement:w}},n.MenuPopup=function(n,i){function a(n){s=n;t(s)}function v(n,t){var i,n;if(!h){if(h=!0,n!=undefined?r.css({left:n,top:t}):(i=c.offset(),r.css({left:i.left,top:i.top})),s&&y(r,u,s),u.forceOverlay){if(!f){f=$("<div class='is-modal-overlay top' style='background-color:rgba(0,0,0,0.2)' tabindex='-1'><\/div>");$("body").append(f);$("body").on("keydown.contextmenu",function(n){switch(n.keyCode){case 27:e()}})}f.mousedown(e)}r.removeClass("active");$("body").append(r);r.show();window.setTimeout(function(){r.addClass("active")},10);u.forceOverlay?f.focus():(o&&(window.clearInterval(o),o=null),document.activeElement&&document.activeElement.tagName=="IFRAME"&&(navigator.userAgent.toLowerCase().indexOf("firefox")>-1||(document.activeElement.blur(),r[0].focus(),o=window.setInterval(function(){document.activeElement&&document.activeElement.tagName=="IFRAME"&&e()},250))));var l=$(document).innerWidth(),v=r.offset(),a=r.innerWidth();v.left+a>l-4&&(n=l-a-4,r.css("left",n))}}function e(){r.remove();o&&(window.clearInterval(o),o=null);h&&(h=!1,r.hide());f&&($("body").off("keydown.contextmenu"),f.remove(),f=null);u.onClose&&u.onClose()}function y(){var f,n,t,i;r.children().remove();n=$("<div><\/div>");(u.caption||u.showCloseButton)&&(t=$("<div class='caption is-no-select'><\/div>"),t.text(u.caption),u.showCloseButton&&(i=$("<a><span class='is-symbol-close'><\/span><\/a>"),i.click(function(){u.onClose?u.onClose():e()}),t.append(i)),r.append(t),n.addClass("hascaption"));f=l(u,s,!1);n.append(f);r.append(n)}function l(n,t){for(var i,r,u,s,h,c,o=$("<ul class='is-no-select'><\/ul>"),f=0;f<t.length;f++)i=t[f],r=$("<li itemtype='"+i.ItemType+"'><\/li>"),u=$("<a><\/a>"),r.attr("itemid",i.ItemId),u.text(i.Caption),r.append(u),i.Icon&&$Api&&(i.IconUrl=$Api.GetIconUrl(i.Icon)),i.IconUrl?(h="<img src='"+i.IconUrl+"' />",u.prepend(h)):i.IconClass&&(c="<div class='is-menu-item-glyph "+i.IconClass+"'><\/div>",u.prepend(c)),i.Visible||r.css("display","none"),r.attr("Enabled",""+i.Enabled),o.append(r),i.MenuItems&&i.MenuItems.length!=0?(s=l(n,i.MenuItems,!0),r.addClass("is-menu-sub"),r.append(s)):function(t){u.click(function(){if(t.Action||t.ItemId){if((t.Action||t.ItemId)&&t.Enabled)if(e(),n.onAction)n.onAction(t.Action||t.ItemId,t.ItemId);else window.alert("No onAction handler specified for this menu.")}else e()})}(i);return o}function p(n){if(n==undefined)return u.caption;u.caption=n}function w(n){u.onAction=n}function b(){r.focus()}var r,s=[],f=null,c,h=!1,o=null,u;MenuPopupDefaults={onAction:null,caption:"",autoClose:!0,showCaption:!1,showCloseButton:!1,onClose:null,forceOverlay:!0};u=$.extend({},MenuPopupDefaults,i);$Runtime.IsPlatformIOS()&&(u.forceOverlay=!0);c=n;r=$("<div style='display:none; position:fixed; min-width:200px; top:0; left:0;' class='is-popup-menu'><\/div>");r.on("contextmenu",function(){return!1});if(!u.forceOverlay)r.on("mousedownoutside focusoutside selectoutside keydownoutside",function(){e()});return{TypeName:"MenuPopup",Caption:p,Items:s,Define:a,Show:v,Hide:e,Focus:b,OnAction:w}},n}($UI||{});console.log("  $UI (navigation extension)");console.log("Loading lib/isuserinterface_previewpane.js");__UIExtPreviewPane=function(n){return n.PreviewPane=function(t,i){function g(){f.addClass("is-preview-pane");c.visible?f.show():f.hide()}function rt(){return f}function k(n,t){a[n]=t}function ut(){a={}}function p(n){return a[n]!=undefined}function ft(n){p(n)&&delete a[n]}function v(){r="";var n=e[0].contentDocument;n.open();n.write("");n.close();h=!1}function et(){return h}function ot(){return s}function st(n,t){v();s=!0;u.attr("available",!1);$Api.GetDirect(n,t,{done:function(n){var t=n;l(t,!1,{});h=!0},fail:function(n){w(n)},always:function(){s=!1;u.attr("available",!0)}})}function ht(n,t,i){var r,f;if(t.GetCacheKey){if(!t.GetPreviewFetchParameters){window.alert("Grid.PreviewFromGridCollection: Collection does not provide a GetPreviewFetchParameters method.");return}}else{window.alert("Grid.PreviewFromGridCollection: Collection does not provide a GetCacheKey method.");return}if(r=n.ActiveDataRowListIndex(),r==-1){v();return}if(f=t.GetCacheKey(r),p(f)){d(f,!1,{});return}v();setTimeout(function(){r==n.ActiveDataRowListIndex()&&(s=!0,u.attr("available",!1),$Api.GetDirect(i,t.GetPreviewFetchParameters(r),{done:function(i){var r=i;k(f,r);f==t.GetCacheKey(n.ActiveDataRowListIndex())&&(l(r,!1,{}),h=!0)},fail:function(n){w(n)},always:function(){s=!1;u.attr("available",!0)}}))},150)}function ct(n,t){var i,r;if(n.NodeList().GetCacheKey){if(!n.NodeList().GetPreviewFetchParameters){window.alert("PreviewPane.PreviewFromTreeViewNode: TreeView node list does not provide a GetPreviewFetchParameters method.");return}}else{window.alert("PreviewPane.PreviewFromTreeViewNode: TreeView node list does not provide a GetCacheKey method.");return}if(i=n.SelectedNode(),!i){v();return}if(r=n.NodeList().GetCacheKey(i),p(r)){d(r,!1,{});return}v();setTimeout(function(){i.NodeId==n.SelectedNodeId()&&(s=!0,u.attr("available",!1),$Api.GetDirect(t,n.NodeList().GetPreviewFetchParameters(i),{done:function(t){var u=t,i;k(r,u);i=n.SelectedNode();i&&r==n.NodeList().GetCacheKey(i)&&(l(u,!1,{}),h=!0)},fail:function(n){w(n)},always:function(){s=!1;u.attr("available",!0)}}))},150)}function lt(){f.css({width:"100%",height:"100%",overflow:"visible",display:"block"});e.css({width:"100%",height:"100%",overflow:"auto"})}function l(n,t,i){var l=$.extend({},nt,i),o,a,v,f;h=!0;s=!1;u.attr("available",!0);r="";o="";l.cssSummaryPage2&&(a="",$App&&$App.Version&&(a="?v="+$App.Version()),o+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2.css"+a+"'><\/link>",o+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2_web.css"+a+"'><\/link>");$App&&(n=$App.NormaliseHtmlPreview(n));c.smartBackgroundColour&&n.indexOf("is-summarypage-blocks")!=-1&&e.css({"background-color":"#808080"});v=e[0].contentWindow;t||(r+="<!doctype html>",r+="<html>",r+="<head>",o||console.warn("No Resources!\n\no.cssSummaryPage2="+l.cssSummaryPage2),r+=o,r+="<\/head>",r+="<body style='margin:0;padding:0'>",l.formatAsSummaryPage2&&(r+="<div class='is-summarypage-2'>"));r+=n;t||(l.formatAsSummaryPage2&&(r+="<\/div>"),r+="<\/body>",r+="<\/html>");f=e[0].contentDocument;f&&(f.open(),f.write(r),f.close());f&&c.handleApplicationShortcuts&&(window.$Ash?$Ash.HandleIframe(e[0]):window.alert("Preview Pane cannot handle Application Shortcuts since no handler ($Ash) is available."))}function tt(n,t){var i="";i+="<div class='is-summarypage-2'>";i+="<div class='is-template-message'>";i+="<div class='is-template-message-error'>";i+=$Runtime.HtmlEncode(n);t&&(i+="<p>"+$Runtime.HtmlEncode(t)+"<\/p>");i+="<\/div>";i+="<\/div>";i+="<\/div>";l(i,!1)}function w(n){var t,i="",r="";try{t=$.parseJSON(n.responseText);t.Message&&(i=t.Message);t.InternalMessage&&(r=t.InternalMessage)}catch(u){}tt(i,r)}function d(n,t,i){a[n]==undefined?l("Item '"+n+"' does not exist in the Content Cache.",!1,{}):l(a[n],t,i)}function it(){if(!s&&h&&r){var i=n.CommonDialog().ShowHtml("Preview",r,{forceWindowed:!0,popup:!1}),t=n.FindParentModal(f);t&&t.OnAction()&&i.OnAction(t.OnAction())}}function at(n){if(n==undefined)return c.visible;c.visible=n;g()}function vt(n){if(!o&&(o=f.closest("tr"),o.length==0))return console.warn("PreviewPane.VisibleRow: no parent row element found."),o=null,!1;if(n==undefined)return o.css("visibility").toUpperCase()=="HIDDEN";n?(o.css("display","table-row"),o.css("visibility","")):(o.css("display","none"),o.css("visibility","hidden"))}var a={},r="",e,o,h=!1,s=!1,u,c,y,b,f,nt;if(PreviewPaneDefaults={handleApplicationShortcuts:!0,smartBackgroundColour:!0,collapsedCaption:"Preview row",visible:!0},c=$.extend({},PreviewPaneDefaults,i),typeof t=="string"?(y=n.ExtUtils.TranslateElementId(t),t=$("#"+y)):y=$(t).attr("id"),b=$(t),b.length==0){console.warn("userinterface.PreviewPane: Parent element '"+y+"' not found.");return}return f=$(b[0]),u=$("<div class='collapsed-caption is-no-select' available='false'><\/div>"),u.html("<a>"+$Runtime.HtmlEncode(c.collapsedCaption)+"<\/a>"),f.append(u),$("a",u).click(function(){it()}),e=$("<iframe/>"),f.append(e),$Runtime.IsPlatformIOS()&&e.attr("scrolling","no"),g(),nt={cssSummaryPage2:!0,formatAsSummaryPage2:!1},_self={TypeName:"PreviewPane",CacheAdd:k,CacheClear:ut,CacheExists:p,CacheRemove:ft,Clear:v,Element:rt,Loaded:et,Loading:ot,PreviewFromGridCollection:ht,PreviewFromWebService:st,PreviewFromTreeViewNode:ct,ResizeFromParent:lt,SetContent:l,SetContentError:tt,SetContentErrorAjax:w,SetContentFromCache:d,ShowPreviewInPopup:it,Visible:at,VisibleRow:vt}},n}($UI||{});console.log("  $UI (preview pane extension)");console.log("Loading lib/isuserinterface_recordform.js");__UIExtRecordForm=function(n){return n.FormHeader=function(t,i){function y(){f.addClass("is-form-header");u&&(a?u.attr("bookmarked","true"):u.removeAttr("bookmarked"),e&&!e.NotFound?u.show():u.hide())}function tt(n){if(n==undefined)return a;a=n;y()}function k(){e=null;o("");p("");nt("");l("","");d("","");y()}function it(){return f}function rt(n,t,i,r){k();o(n);p(t);i?l(i,r):l("","")}function ut(n){n?(e=n,n.DisplayCode||n.Code?n.DisplayCode?o(n.DisplayCode+": "+n.Description):o(n.Code+": "+n.Description):o(n.Description),p(n.SummaryText),nt(n.BackgroundColour),l(n.StatusIcon,n.StatusIconTooltipText),d(n.IconOther1,n.IconOther1TooltipText),a=n.Bookmarked,y()):k()}function ft(){return e}function o(n){r.heading=n;w.text(n)}function nt(n){f.css({"background-color":n})}function l(t,i){var f,u,e;r.statusIcon=t;r.statusIconTooltipText=i;t?(f="",u=t.indexOf("|"),u!=-1&&(f=t.substr(u+1),t=t.substring(0,u)),e=n.GetIconUrl(t,16,f),s.css({"background-image":"url("+e+")"}),s.attr("title",r.statusIconTooltipText),s.show()):s.hide()}function d(t,i){var f,u,e;r.IconOther1=t;r.IconOther1TooltipText=i;t?(f="",u=t.indexOf("|"),u!=-1&&(f=t.substr(u+1),t=t.substring(0,u)),e=n.GetIconUrl(t,16,f),h.css({"background-image":"url("+e+")"}),h.attr("title",r.IconOther1TooltipText),h.show()):h.hide()}function p(n){r.summaryText=n;n&&n.toUpperCase().startsWith("<HTML>")?c.html(n.substr(6)):c.text(n)}function g(){if(r.statusIconTooltipText){var t={closeOnEscape:!0};e&&e.StatusIcon&&(t.icon=e.StatusIcon);n.MsgBoxInfo(r.statusIconTooltipText,t)}}var a=!1,u,w,f,e=null,c,s,h,r,v,b;if(FormHeadingDefaults={heading:"",summaryText:"",statusIcon:"",statusIconTooltipText:"",iconOther1:"",iconOther1TooltipText:"",showBookmark:!0,bookmarkEnabled:!0,onBookmarkClick:null},r=$.extend({},FormHeadingDefaults,i),typeof t=="string"?(v=n.ExtUtils.TranslateElementId(t),t=$("#"+v)):v=$(t).attr("id"),b=$(t),b.length==0){console.warn("userinterface.FormHeader: Parent element '"+v+"' not found.");return}if(f=$(b[0]),w=$("<header><\/header>"),s=$("<div class='statusicon'><\/div>"),h=$("<div class='statusicon'><\/div>"),c=$("<div class='summarytext'><\/div>"),f.append(w),f.append(s),f.append(h),f.append(c),r.showBookmark){if(u=$("<div class='bookmark'><\/div>"),r.bookmarkEnabled){if(u.attr("title","Toggle Bookmark"),r.onBookmarkClick)u.on("click",r.onBookmarkClick)}else u.addClass("disabled");f.append(u)}return o(r.heading),o(r.summaryText),s.click(g),h.click(g),c.click(g),y(),_self={TypeName:"FormHeader",Element:it,Bookmarked:tt,Clear:k,RefreshFromFormHeaderInfo:ut,RefreshHeading:rt,FormHeaderInfo:ft,SetHeading:o,SetIconOther1:d,SetStatusIcon:l,SetSummaryText:p}},n}($UI||{});console.log("  $UI (record form extension)");console.log("Loading lib/isuserinterface_recordtabs.js");__UIExtRecordTabs=function(n){return n.RecordTabs=function(t,i){function ui(){c.attr("viewsidebyside",o)}function k(){for(var n,i,t=0;t<r.length;t++)n=r[t],n.pageElement.is(":visible")&&(i=n.pageElement.outerWidth(),i<800?n.pageElement.addClass("is-container-small"):n.pageElement.removeClass("is-container-small"))}function a(t){var i,f;if(e.children().remove(),!ht&&$Runtime.SupportsDragDrop()){e.on("dragover",function(n){n.preventDefault();lt(n,"")});e.on("drop",function(n){at(n)})}for(f=0;f<r.length;f++)i=$("<li class='is-selectable' draggable='"+($Runtime.SupportsDragDrop()?"true":"false")+"'><a><\/a><div class='button hide is-symbol-dash' title='Hide (temporarily until you exit Side by Side View)'><\/div><div class='button pinned is-symbol-pin' title='Pinned'><\/div><\/div><div class='button close is-symbol-close' title='Close'><\/div><\/li>"),e.append(i),r[f].element=i,function(t,r){if($("a",i).click(function(){d(t)}),u.showTabContextMenu&&n.HandleContextMenuEvent($("a",i),function(n){return vt(t,n),n.preventDefault(),!1}),$Runtime.SupportsDragDrop()){r.on("dragstart",function(n){fi(n,t)});r.on("dragover",function(n){lt(n,t)});r.on("drop",function(n){at(n)})}$("div.close",i).click(function(){b(t)});$("div.hide",i).click(function(){kt(t)});$("div.pinned",i).click(function(){dt(t)})}(r[f].tabId,i);t&&(p.children().remove(),u.showRecentButton&&(i=$("<li class='recent' title='Recent'><\/li>"),p.append(i),i.click(function(){if(u.onRecentButtonClick)u.onRecentButtonClick(i);else window.alert("Recent button not handled.")})),u.showBookmarkedButton&&(i=$("<li class='bookmarked' title='Bookmarked'><\/li>"),p.append(i),i.click(function(){if(u.onBookmarkedButtonClick)u.onBookmarkedButtonClick(i);else window.alert("Bookmarked button not handled.")})),u.showSideBySideButton&&(i=$("<li class='sidebyside' title='View Side by Side'><\/li>"),i.attr("checked",o),p.append(i),i.click(function(){yt()})));u.emptyHtml&&r.length===0&&(e.children().remove(),e.append("<div class='emptytext'><span class='is-tooltip'>"+u.emptyHtml+"<\/span><\/div>"),u.emptyTooltipHtml&&(ri=n.PopupTip($("div.emptytext > span",e),{html:u.emptyTooltipHtml})));e.attr("tabcount",r.length);v(!0);ht=!0}function fi(n,t){n.stopPropagation();ut=t;n&&n.originalEvent&&n.originalEvent.dataTransfer&&n.originalEvent.dataTransfer.setData&&n.originalEvent.dataTransfer.setData("text/plain",t);ft=-2}function lt(n){var f,t,i,u;for(n.preventDefault(),n.stopPropagation(),n.originalEvent.dataTransfer.dropEffect="move",f=n.originalEvent.pageX-e.offset().left,t=-1,rt="",i=r.length-1;i>=0;i--){var s=r[i].element.offset(),o=s.left,h=r[i].element.outerWidth(),c=e.offset();o-=c.left;f<o+h&&(t=i,rt=r[i].tabId)}u=y(ut);ft!=t&&(w||(w=$("<li class='drop-tab'><\/li>")),w.detach(),w.removeClass("showing"),u===t||t===u+1||(t===-1?u==r.length-1||w.insertAfter(r[r.length-1].element):w.insertBefore(r[t].element)),window.setTimeout(function(){w.addClass("showing")},5),ft=t)}function ei(n){n.preventDefault();n.stopPropagation()}function at(n){n.preventDefault();n.stopPropagation();bi(ut,rt);ei(n)}function vt(t,i){var e=h(t),u,f;if(g||(g=new n.MenuPopup(c,{})),g.OnAction(function(n){oi(t,n)}),u=[],t&&o&&(u.push({ItemId:"Hide",Caption:"Hide"}),u.push({ItemType:"Separator"})),t&&u.push({ItemId:"Close",Caption:"Close Tab",IconClass:"is-symbol-close"}),t&&r.length>1&&u.push({ItemId:"CloseAllOther",Caption:"Close All Tabs But This",IconClass:"is-glyph-blank"}),(!t&&r.length>0||r.length>1)&&u.push({ItemId:"CloseAll",Caption:"Close All Tabs",IconClass:"is-glyph-blank"}),pt()!==0&&wt()!==0&&u.push({ItemId:"CloseUnpinned",Caption:"Close Unpinned Tabs",IconClass:"is-glyph-blank"}),t&&!e.temp&&(u.push({ItemType:"Separator"}),u.push({ItemId:"TabPin",Caption:"Pin Tab",IconClass:"is-glyph-pin",Enabled:!e.pinned}),u.push({ItemId:"TabUnpin",Caption:"Unpin Tab",IconClass:"is-glyph-unpin",Enabled:e.pinned})),t&&!e.temp&&(u.push({ItemType:"Separator"}),u.push({ItemId:"ShowInNewBrowserWindow",Caption:"Show in a new Web Browser Tab",IconClass:"is-symbol-open-window"}),$Runtime.IsPlatformWindows()&&$App.MessageHandlerPort()&&$App.SettingsDevice().AllowOpenLinksInConnect&&u.push({ItemId:"OpenInDesktop",Caption:"Open in finPOWER Connect (Desktop)",IconClass:"is-glyph-openfincc"})),t&&u.push({ItemType:"Separator"}),t&&u.push({ItemId:"MoveLeft",Caption:"Move Left",Enabled:y(t)>0,IconClass:"is-glyph-moveleft"}),t&&u.push({ItemId:"MoveRight",Caption:"Move Right",Enabled:y(t)<r.length-1,IconClass:"is-glyph-moveright"}),s.length!=0)for(u.length!=0&&u.push({ItemType:"Separator"}),u.push({ItemType:"SubMenu",Caption:"Recently Closed Tabs"}),f=s.length-1;f>=0;f--)u.push({ItemId:"Reopen:"+s[f].tabId,Caption:s[f].caption,IconUrl:s[f].iconUrl});g.Define(u);u.length!==0&&g.Show(i.clientX,i.clientY)}function oi(n,t){switch(t){case"Close":b(n);break;case"CloseAll":bt(n);break;case"CloseAllOther":pi(n);break;case"CloseUnpinned":wi(n);break;case"Hide":kt(n);break;case"MoveLeft":gt(n);break;case"MoveRight":ni(n);break;case"ShowInNewBrowserWindow":var i=n.indexOf("."),r=n.substr(0,i),u=n.substr(i+1);$App.ShowRecordViewInNewBrowserWindow(r,u);break;case"OpenInDesktop":var i=n.indexOf("."),r=n.substr(0,i),u=n.substr(i+1);$App.OpenRecordInConnect(r,u);break;case"TabPin":st(n);break;case"TabUnpin":dt(n);break;default:if(t.substr(0,7)=="Reopen:"){var f=t.substr(7),i=f.indexOf("."),r=f.substr(0,i),u=f.substr(i+1);switch(r.toUpperCase()){case"MENUCOMMAND":$App.ExecuteMenuItem(u);break;default:$App.FormOpen(r,u)}}else window.alert("Unhandled context menu action: "+t)}}function it(n){var t,i;if(n===undefined)return o;if(n!=o){if(o=n,!o)for(t=0;t<r.length;t++)r[t].hidden=!1;i=$("li.sidebyside",p);i.attr("checked",o);v();k();u.onStateChanged&&u.onStateChanged()}}function yt(){it(!o)}function si(n,t){var i=h(n);if(i===null&&console.warn("TabCaption: Cannot find tab '"+n+"'."),t===undefined)return i.caption;i.caption!==t&&(i.caption=t,v())}function hi(){return r.length}function pt(){for(var t=0,n=0;n<r.length;n++)r[n].pinned&&(t+=1);return t}function wt(){for(var t=0,n=0;n<r.length;n++)r[n].pinned||(t+=1);return t}function ci(t,i){var r=h(t),u;if(r===null&&console.warn("TabIcon: Cannot find tab '"+t+"'."),i===undefined)return r.iconUrl;u=n.GetIconUrl(i);r.iconUrl!==u&&(r.iconUrl=u,v())}function v(t){var s,u;for(mSelectedPageElement=null,s=-1,u=r.length-1;u>=0;u--)if(!r[u].hidden){s=u;break}for(u=0;u<r.length;u++){var i=r[u],v=i.element,a=$Runtime.HtmlEncode(i.caption);i.iconUrl&&(a="<img src='"+i.iconUrl+"' />"+a);$("a",v).html(a);i.element.removeClass("lastselected");i.tabId.toUpperCase()===f.toUpperCase()?i.element.addClass("is-sel"):(i.element.removeClass("is-sel"),i.tabId.toUpperCase()==l.toUpperCase()&&i.tabId.toUpperCase()!=f.toUpperCase()&&(t?(i.element.addClass("is-sel"),et&&clearTimeout(et),function(n){et=setTimeout(function(){var t=h(n);n.toUpperCase()!=f.toUpperCase()&&t.element.removeClass("is-sel");n.toUpperCase()==l.toUpperCase()&&($("li",e).removeClass("lastselected"),t.element.addClass("lastselected"))},10)}(i.tabId)):i.element.addClass("lastselected")));o&&u===s?i.element.addClass("lastvisible"):i.element.removeClass("lastvisible");i.pinned?i.element.addClass("pinned"):i.element.removeClass("pinned");i.element.removeClass("hidden");o?i.hidden?(i.element.css({display:"none"}),i.element.addClass("hidden"),i.pageElement.css({display:"none"})):(i.pageElement.css({display:""}),n.RealignLayouts(i.pageElement)):(i.element.css({display:""}),i.tabId.toUpperCase()==f.toUpperCase()?(i.pageElement.css({display:""}),n.RealignLayouts(i.pageElement)):i.pageElement.css({display:"none"}))}r.length==0?nt.show():nt.hide();c.attr("viewsidebyside",o)}function li(){return{element:null,caption:"",iconUrl:"",nonModal:null,pageElement:null,pinned:!1,tabId:"",temp:!1}}function ai(n,t,i,e){var o=h(n),s,v;if(o===null){if(r.length>=u.maxTabs)if(u.autoClose){for(s=0;s<r.length;s++)if(o=r[s],!o.pinned&&(!o.nonModal||o.nonModal.ModalId()!=e)){b(o.tabId,!0);break}}else return null;if(r.length>=u.maxTabs)return null;o=new li;o.caption=t;o.tabId=n;o.iconUrl=i?i:"";yi(n);r.push(o);v=$("<div class='is-record-tab-page' style='display:none;'><\/div>");c.append(v);o.pageElement=v}return f&&f!==n&&(l=f),f=n,a(),k(),o}function b(t,i){var e=h(t),c,v,s;if(e&&e.nonModal&&n.HasMinimisedModal(!1,e.nonModal)){n.MsgBoxAlert("This record cannot be closed since it has a minimised form that is currently open",{heading:"Cannot Close Tab"});return}if(e!=null){for(vi(e),e.pageElement.remove(),r.length===1?c="":(s=r.indexOf(e),c=s==r.length-1?r[s-1].tabId:r[s+1].tabId),v=[],s=0;s<r.length;s++)r[s].tabId!=t&&v.push(r[s]);r=v;!i&&r.length<2&&o&&it(!1);f&&f!==t&&(l=f);f=c;a();e.nonModal&&e.nonModal.Close();u.onStateChanged&&u.onStateChanged();k()}}function vi(n){var i,t;if(s>4){for(i=[],t=1;t<s.length;t++)i.push(s[t]);s=i}n.temp||s.push({tabId:n.tabId,caption:n.caption,iconUrl:n.iconUrl})}function yi(n){for(var i=[],t=0;t<s.length;t++)n.toUpperCase()===s[t].tabId.toUpperCase()||i.push(s[t]);s=i}function bt(){for(var n=r.length-1;n>=0;n--)b(r[n].tabId,!1)}function pi(n){for(var t=r.length-1;t>=0;t--)r[t].tabId===n||b(r[t].tabId,!1);d(n)}function wi(){for(var n=r.length-1;n>=0;n--)r[n].pinned||b(r[n].tabId,!1)}function y(n){for(var t=0;t<r.length;t++)if(n.toUpperCase()==r[t].tabId.toUpperCase())return t;return-1}function kt(n){var t=h(n);t&&o&&(t.hidden=!0,v())}function st(n){var t=h(n);t&&(t.pinned=!0,v(),u.onStateChanged&&u.onStateChanged())}function dt(n){var t=h(n);t&&(t.pinned=!1,v(),u.onStateChanged&&u.onStateChanged())}function gt(n){var t=y(n),i,e,o;t>0&&(i=r[t-1],r[t-1]=r[t],r[t]=i,e=r[t-1].pageElement,o=r[t].pageElement,o.insertAfter(e),f&&f!=n&&(l=f),f=n,a(!1),u.onStateChanged&&u.onStateChanged())}function bi(n,t){var o,e,s,h,c,i;if(!(r.length<2)&&n!==t){for(o=y(n),e=-1,t&&(e=y(t)),console.log("Move "+o+" to before "+e),s=r[o],e===-1?(r.splice(o,1),r.push(s)):(r.splice(o,1),e<o?r.splice(e,0,s):r.splice(e-1,0,s)),h=[],c=$(r[0].pageElement.parent()),i=0;i<r.length;i++)h.push(r[i].pageElement),r[i].pageElement.detach();for(i=0;i<r.length;i++)c.append(h[i]);f&&f!=n&&(l=f);f=n;a(!1);u.onStateChanged&&u.onStateChanged()}}function ni(n){var t=y(n),i,e,o;t>=0&&t<r.length-1&&(i=r[t+1],r[t+1]=r[t],r[t]=i,e=r[t+1].pageElement,o=r[t].pageElement,e.insertAfter(o),f&&f!=n&&(l=f),f=n,a(!1),u.onStateChanged&&u.onStateChanged())}function ki(){return c}function di(){return nt}function ti(){for(var i,n="",t=0;t<r.length;t++)n!=""&&(n+=","),i=r[t],i.temp||(n+=i.tabId);return n}function ii(){for(var n="",t=0;t<r.length;t++)r[t].pinned&&(n!=""&&(n+=","),n+=r[t].tabId);return n}function d(n){if(n==undefined)return f;f&&f!==n&&(l=f);f=n;v();k();u.onStateChanged&&u.onStateChanged()}function gi(n,t){var i=h(n);i?i.pageElement.html(t):window.alert("userinterface.RecordTabs.SetPageHtml: tab '"+n+"' does not exist.")}function h(n){n=n.toUpperCase();for(var t=0;t<r.length;t++)if(r[t].tabId.toUpperCase()===n)return r[t];return null}function nr(){return e}function tr(n){u.onStateChanged=n}function ir(){var n={};return n.list=ti(),n.sel=d(),n.sbs=o?"y":"n",n.p=ii(),n}function rr(n){var i,t,r;if(n.p)for(i=$Runtime.ArrayFromCsvString(n.p),t=0;t<i.length;t++)r=h(i[t]),r&&st(r.tabId);n.sbs&&it(n.sbs=="y");n.sel&&d(n.sel);a(!1)}function ur(n,t,i){for(var e,s=n+"."+t,o=0;o<r.length;o++)if(e=r[o],e.tabId.toUpperCase()==s.toUpperCase()){e.caption=i;e.tabId=n+"."+i;f.toUpperCase()==s.toUpperCase()&&(f=e.tabId);a();k();break}u.onStateChanged&&u.onStateChanged()}var p,rt="",ut="",w,ft=-2,ht=!1,l="",et,g,nt,ri,s=[],f="",r,e,o=!1,u,tt,ot,ct,c;if(TabsDefaults={maxTabs:4,autoClose:!0,emptyHtml:"",emptyTooltipHtml:"",showRecentButton:!0,showBookmarkedButton:!0,showSideBySideButton:!0,showTabContextMenu:!0,onBookmarkedButtonClick:null,onRecentButtonClick:null,onStateChanged:null},u=$.extend({},TabsDefaults,i),typeof t=="string"?(tt=n.ExtUtils.TranslateElementId(t),t=$("#"+tt)):tt=$(t).attr("id"),ot=$(t),ot.length==0){console.warn("userinterface.RecordTabs: Parent element '"+tt+"' not found.");return}ct=$(ot[0]);c=$("<div class='is-record-tabs'><\/div>");ct.append(c);e=$("<ul class='tabs'><\/ul>");c.append(e);p=$("<ul class='buttons'><\/ul>");c.append(p);nt=$("<div class='is-record-tab-page notabs' style='display:none;'><\/div>");c.append(nt);r=[];a(!0);ui();$(window).on("resize",function(){k()});return u.showTabContextMenu&&n.HandleContextMenuEvent(e,function(n){return vt("",n),n.preventDefault(),!1}),f&&d(f),{TypeName:"RecordTabs",Element:ki,NoTabsElement:di,AddTab:ai,CloseTab:b,CloseAllTabs:bt,GetTabIdsList:ti,GetPinnedTabIdsList:ii,IndexOfTab:y,NotifyRecordIdChanged:ur,SelectedTabId:d,SideBySideMode:it,SideBySideModeToggle:yt,TabCaption:si,TabCount:hi,TabCountPinned:pt,TabCountUnpinned:wt,TabIcon:ci,Tabs:h,TabMoveLeft:gt,TabMoveRight:ni,PinTab:st,OnStateChanged:tr,SetPageHtml:gi,TabsElement:nr,StateToObject:ir,StateFromObject:rr}},n}($UI||{});console.log("  $UI (record tabs extension)");console.log("Loading lib/isuserinterface_widget.js");__UIExtWidget=function(n){return n.WidgetsActionNotificiationSend=function(n,t,i){for(var e,u,f=$("div.is-widget"),o=!1,r=0;r<f.length;r++)e=$(f[r]),u=e.data("_widget"),i&&i!=u.WidgetId()||(u.NotifyAction(n,t,i),i&&(o=!0))},n.Widget=function(t,i){function ni(){switch(r.height.toUpperCase()){case"":case"AUTO":u.css("min-height","100%");break;default:u.css("min-height",r.height)}r.standalone&&(o.addClass("standalone"),o.addClass("is-dock-fill"));r.showHeading&&!r.standalone?(h.show(),f.addClass("has-heading")):(h.hide(),f.removeClass("has-heading"))}function ti(){return o}function ii(){document.activeElement==u[0]?ht():ri()}function ht(){r.allowFocus&&(f.addClass("sel"),e&&e.removeClass("dark"),d||$("body").trigger("mousedown"),d=!0)}function ri(){r.allowFocus&&(f.removeClass("sel"),e&&e.addClass("dark"),d,d=!1)}function ui(){u[0].focus();ht()}function fi(n){n?f.addClass("selected"):f.removeClass("selected")}function bt(n,t){s=n;t||(t={});v=typeof t=="string"?t:JSON.stringify(t);var i=n.lastIndexOf("/");i!=-1&&(g=n.substr(i+1));$Api.PostDirect(n,{eventId:"",hostingContext:"WebInternal",startupParametersJson:v,target:"WebInternal",highDpi:$Runtime.IsHighDpi()},{},{done:function(n,t,i){switch(i.status){case 200:r.heading||dt(n.Heading);ut(n.Html,n);break;default:var n=$Runtime.GetWsError(i);window.alert(n.Message+"\n\n"+n.InternalMessage)}},fail:function(n){var t=$Runtime.GetWsError(n);c(t.Message,t.InternalMessage)},always:function(){it="URL";vt=n;yt=v}})}function ut(t,i){var o=$.extend({},kt,i),a,v,h,s,i,y,p,f,e,l;it="SETCONTENT";lt=t;at=i;s=t.toUpperCase();a=s.indexOf("<HTML")!=-1;v=s.indexOf("<HEAD>")!=-1||s.indexOf("<HEAD ")!=-1;h=s.indexOf("<BODY")!=-1;i="";o.cssWidget&&(i+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/widget_controls.css?v="+$App.Version()+"'><\/link>",i+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/widget.css?v="+$App.Version()+"'><\/link>");o.cssSummaryPage2&&(i+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2.css?v="+$App.Version()+"'><\/link>",i+="<link rel='stylesheet' type='text/css' href='"+$Runtime.WebRoot()+"Content/SummaryPage2/summarypage_2_web.css?v="+$App.Version()+"'><\/link>");o.jQuery&&(i+=o.jQueryVersion?"<script src='https://ajax.googleapis.com/ajax/libs/jquery/"+o.jQueryVersion+"/jquery.min.js'><\/script>":"<script src='"+$Runtime.WebRoot()+"Scripts/lib/jquery-"+$.fn.jquery+".js'><\/script>");$App.AppTitle()=="finPOWER Connect Web Services"?(y=$Runtime.WebRoot()+"External/widget.js",p=$Runtime.WebRoot()+"External/widget_ui.js"):(y=$Runtime.WebRoot()+"Scripts/lib/widget.js",p=$Runtime.WebRoot()+"Scripts/lib/widget_ui.js");i+="<script src='"+y+"?v="+$App.Version()+"'><\/script>";i+="<script src='"+p+"?v="+$App.Version()+"'><\/script>";o.useWidgetStyling&&(i+="<script>widget.UI.LoadStyle('*', { includeOtherCss: true });<\/script>");try{f=u[0].contentWindow;f.widget=nt;tt=f}catch(w){console.warn("Failed to get Widget's content window.\n\n"+w.message)}o.app&&(f.$App=$App);e=u[0].contentDocument;e.open();a||(e.write("<!doctype html>"),e.write("<html>"));v?(l=s.indexOf("<HEAD>"),l==-1?c("HTML returned by HTML Widget contains an opening <head> element but not a closing element. Could not inject required resources into HTML."):t=t.substring(0,l-8)+i+t.substr(l+7)):(e.write("<head>"),e.write("<meta http-equiv='X-UA-Compatible' content='IE=edge'/>"),e.write(i));v||e.write("<\/head>");h||e.write("<body style='margin:0;padding:0'>");h||e.write("<div style='margin:0;padding:0;border-bottom:1px solid transparent;position:relative;width:100%;height:100%;'>");try{e.write(t)}catch(w){window.$App&&$App.NotificationsAddError("Failed to write Widget HTML.",w,!0,"Widget Load Error")}h||e.write("<\/div>");h||e.write("<\/body>");a||e.write("<\/html>");e.close();f&&f.widget||(f=u[0].contentWindow,f.widget=nt,tt=f);f&&f.widget&&(f.widget=nt,o.app&&(f.$App=$App,f.$Api=$Api,f.$UI=n));n.AlwaysUsePickerControls()&&(f.__alwaysUsePickerControls=!0);r.handleApplicationShortcuts&&(window.$Ash?$Ash.HandleIframe(u[0]):window.alert("Widget cannot handle Application Shortcuts since no handler ($Ash) is available."))}function ei(n){u.attr("src",n)}function oi(n,t,i,r){var u=t==""?n:t+"/"+n;require(["views/"+u],function(n){ut(n,i)});s=r}function ct(n,t){ft&&ft(n,t)}function si(n){ft=n}function hi(t,i,r){n.WidgetsActionNotificiationSend(t,i,r)}function ci(){return r.standalone&&r.modal?!0:!1}function li(){return r.standalone&&r.modal?(r.modal.Close(!0),!0):(c("Widgets cannot be closed in this context.","Consider using the widget.CanClose() method and resetting the widget instead."),!1)}function ai(){return f}function vi(n,t,i,r){var u;if(!s){window.alert("Only Widgets initialised via 'InitialiseFromUrl' can use the DownloadFile method.");return}t||(t={});u=g;u||(u="URL:"+s);var f={widgetId:u,eventId:n,hostingContext:"WebInternal",startupParametersJson:v,target:"WebInternal",highDpi:$Runtime.IsHighDpi(),parameters:t},e=$App.WebServicesUrl()+"HtmlWidget/DownloadFile?p="+JSON.stringify(f),o=window.open(e);(i||r)&&yi(o,i,r)}function yi(n,t,i){var r=!1,u=0,f=function(){if(!r&&n)var f=window.setInterval(function(){var s,e,o;if(!r){try{n&&n.document&&(n.document.readyState.toUpperCase()=="COMPLETE"||n.document.body&&n.document.body.innerText)&&(r=!0,n.document.body&&(s=(""+n.document.body.innerText).toUpperCase(),s.indexOf("FAILED TO EXECUTE")!=-1?(e=JSON.parse(n.document.body.innerText),o=e.Message,e.InternalMessage&&(o+="\n\n"+e.InternalMessage),i&&i(o,!0)):t&&t()))}catch(h){console.warn("Exception checking for downloaded document: "+h)}r||(u+=1,u>20&&(r=!0,console.warn("Failed to get downloaded state for document. Assuming failure."),i&&i("Failed to get downloaded state for document. Assuming failure.",!0)));r&&window.clearInterval(f)}},500)};f();n.onabort=function(){i&&i("Download aborted by user.")}}function ti(){return o}function pi(){return h}function wi(n){return $Ash?$Ash.ExecuteUrl(n,r.modal):(c("Failed to execute Application Shortcut URL.","No Application Shortcut Handler ($Ash) is available."),!1)}function bi(n,t,i,r){if(!s){window.alert("Only Widgets initialised via 'InitialiseFromUrl' can use the GetString method.");return}t||(t={});b+=1;$Api.PostDirect(s,{eventId:n,hostingContext:"WebInternal",startupParametersJson:v,target:"WebInternal",highDpi:$Runtime.IsHighDpi()},t,{done:function(n,t,u){switch(u.status){case 200:i&&i(""+n);break;default:r&&r(""+n)}},fail:function(n){var t=$Runtime.GetWsError(n);c(t.Message,t.InternalMessage);r&&r(t.Message+"\n\n"+t.InternalMessage)},always:function(){b-=1}})}function ki(n,t){if(!s){window.alert("Only Widgets initialised via 'InitialiseFromUrl' can use the SystemDownloadFile method.");return}t||(t={});var i={eventId:n,hostingContext:"WebInternal",target:"WebInternal",highDpi:$Runtime.IsHighDpi(),parameters:t},r=$App.WebServicesUrl()+"HtmlWidget/SystemDownloadFile?";di(r,{p:JSON.stringify(i)})}function di(n,t){var i=document.createElement("form"),u,r;i.target="_blank";i.method="POST";i.action=n;i.style.display="none";for(u in t)r=document.createElement("input"),r.type="hidden",r.name=u,r.value=t[u],i.appendChild(r);document.body.appendChild(i);i.submit();document.body.removeChild(i)}function gi(n,t,i,r){$App.HtmlWidget_SystemGetString(n,t,i,r)}function nr(n,t,i,r,u,f){$App.NotificationsAddAdHoc(n,i,r,!0,t,u,f)}function tr(n,t){r.refreshParentCallback?r.refreshParentCallback():r.modal?r.modal.ParentModal()?t?(t.recordId=n,r.modal.ParentModal().ExecuteAction("Refresh",t)):r.modal.ParentModal().ExecuteAction("Refresh",n):console.info("Widget.RefreshParent: 'modal' does not have a ParentModal() to refresh."):console.info("Widget.RefreshParent: Widget does not have a 'modal'.")}function c(n,t){l.show();a.length>=20&&(a=a.slice(1,19));a.push({message:n,details:t});$App&&$App.NotificationsAddError&&(n=r.heading?"WIDGET '"+r.heading+"': "+n:"WIDGET: "+n,$App.NotificationsAddError(n,t))}function ir(){for(var n="",t=a.length-1;t>=0;t--)n&&(n+="\n"),n+=a[t].message+"\n",n+=a[t].details+"\n";window.alert(n);l.hide()}function rr(n,t,i,r){if(!s)return window.alert("Only Widgets initialised via 'InitialiseFromUrl' can use the RequestForm method."),!1;if(t||(t={}),$App.WidgetRequestForm)$App.WidgetRequestForm(n,t,i,r);else return window.alert("$App does not support a 'WidgetRequestForm' method."),!1;return!0}function w(){if(y&&(clearTimeout(y),y=null),p&&(clearInterval(p),p=null),ot+=1,et&&ot==1)try{et()}catch(n){c("Widget's Reset handler failed.",n.message)}else{!0&&(u.remove(),u=$("<iframe/>"),k.append(u));switch(it){case"SETCONTENT":ut(lt,at);break;case"URL":bt(vt,yt);break;default:window.alert("Unhandled HTML Widget Reset Type '"+it+"'.")}}ot-=1}function ur(n,t){var i=!1;n||t?$(o).is(":visible")&&(t||(i=!0)):i=!0;y&&(clearTimeout(y),y=null);p&&(clearInterval(p),p=null);i?w():n?p=setInterval(function(){$(o).is(":visible")&&w()},2e3):y=setTimeout(function(){w()},t*1e3)}function fr(n){et=n}function dt(n){r.heading=n;r.tabs?r.tabs.TabCaption(r.tabId,n):r.standalone&&r.modal?r.modal.Title(n):h.text(n)}function er(n){r.headingIcon=n;r.tabs?r.tabs.TabIcon(r.tabId,n):r.standalone&&r.modal}function or(n){h.removeClass();n&&(h.addClass(n.toLowerCase()),n.toUpperCase()=="HIDDEN"?(l&&l.hide(),e&&e.hide()):e&&e.show())}function sr(n){if(r.allowSizeToFit){var t;t=$Runtime.IsPlatformIOS()?$(u[0]).outerHeight():$(u[0].contentWindow.document.body).outerHeight();!n&&n>0&&t>n&&(t=n);r.standalone||($Runtime.IsPlatformIOS()?f.css("min-height",t+"px"):u.css("min-height",t+"px"))}}function hr(n,t,i,r,u){var f,o,h,e,c,l;if(!s){window.alert("Only Widgets initialised via 'InitialiseFromUrl' can use the UploadFile method.");return}if(!window.FileReader){u?u("UploadFiles cannot be used by this Web browser since it does not support 'window.FileReader'."):window.alert("UploadFiles cannot be used by this Web browser since it does not support 'window.FileReader'.");return}if(t||(t={}),i&&(f=i.GetFiles?i.GetFiles():i.files?i.files:i),f&&f.length!==0)for(o=[],h=0,e=0;e<f.length;e++)c=new FileReader,l=f[e],c.readAsDataURL(l),c.onload=function(i){return function(e){h+=1;o.push({name:i.name,data:e.target.result,tag:i.tag});h==f.length&&gt(n,t,o,r,u)}}(l);else gt(n,t,"",r,u)}function gt(n,t,i,r,u){t.__fileDataJson=i;b+=1;$Api.PostDirect(s,{eventId:n,hostingContext:"WebInternal",startupParametersJson:v,target:"WebInternal",highDpi:$Runtime.IsHighDpi()},t,{done:function(n,t,i){switch(i.status){case 200:r&&r(""+n);break;default:u&&u(""+n)}},fail:function(n){var t=$Runtime.GetWsError(n);c(t.Message,t.InternalMessage);u&&u(t.Message+"\n\n"+t.InternalMessage)},always:function(){b-=1}})}function cr(){return g}var ft=null,b=0,f,k,u,l,h,o,d=!1,r,a=[],e,et=null,v="",s="",g="",nt,tt=null,lt="",at=null,vt="",yt,it="",y,p,ot=0,rt,st,pt,wt,kt;if(WidgetDefaults={heading:"",showHeading:!0,showRefreshButton:!0,height:"auto",allowSizeToFit:!0,allowFocus:!0,standalone:!1,modal:null,handleApplicationShortcuts:!0,widgetId:"",widgetOptions:{}},r=$.extend({},WidgetDefaults,i),g=r.widgetId,r.widgetOptions=$App.WidgetOptions(),typeof t=="string"?(rt=n.ExtUtils.TranslateElementId(t),t=$("#"+rt)):rt=$(t).attr("id"),st=$(t),st.length==0){console.warn("userinterface.Widget: Parent element '"+rt+"' not found.");return}return pt=$(st[0]),o=$("<div class='is-widget'><\/div>"),pt.append(o),f=$("<div class='container'><\/div>"),o.append(f),l=$("<div class='error' title='HTML Widget Errors'><\/div>"),r.showRefreshButton&&!r.standalone&&(e=$("<button class='is-button refresh dark' title='Refresh'><\/div>")),h=$("<header class='is-no-select'><\/header>"),r.heading&&h.text(r.heading),k=$("<div class='content'><\/div>"),f.append(l),r.showRefreshButton&&f.append(e),f.append(h),f.append(k),u=$("<iframe/>"),k.append(u),$Runtime.IsPlatformIOS()&&u.attr("scrolling","no"),l.click(ir),f.click(function(){u.focus();ht()}),e&&e.click(w),r.allowFocus&&window.setInterval(function(){ii()},250),ni(),window.IntersectionObserver&&(wt=new IntersectionObserver(function(n){n[0].intersectionRatio?ct("WidgetVisible",{}):ct("WidgetHidden",{})},{root:document.body}),wt.observe(f[0])),kt={cssSummaryPage2:!1,cssWidget:!0,jQuery:!0,jQueryVersion:"",useWidgetStyling:!0,app:!1},_self={TypeName:"Widget",Element:ti,HeadingElement:pi,ActionNotificationHandle:si,ActionNotificationSend:hi,CanClose:ci,Close:li,ContainerElement:ai,DownloadFile:vi,ExecuteApplicationShortcutUrl:wi,Focus:ui,GetString:bi,InitialiseFromUrl:bt,NotificationAdd:nr,NotifyAction:ct,RefreshParent:tr,RegisterError:c,RequestFormInternal:rr,Reset:w,ResetScheduled:ur,ResetHandle:fr,Select:fi,SetContent:ut,SetContentFromUrl:ei,SetContentFromView:oi,SetHeading:dt,SetHeadingIcon:er,SetHeadingStyle:or,SizeToFit:sr,UploadFiles:hr,WidgetId:cr,SystemDownloadFile:ki,SystemGetString:gi,Options:r.widgetOptions,Window:function(){return tt},Generic:function(){return tt.__widgetGeneric},OptionsExtend:function(n){r=$.extend({},i,n)}},nt=new ISWidgetProxy(_self),o.data("_widget",_self),_self},n}($UI||{});console.log("  $UI (widget extension)");console.log("Loading lib/isuserinterface_parametershost.js");__UIExtParametersHost=function(n){return n.ParametersHost=function(t,i){function y(n){n&&(v=!0,f.addClass("is-parametershost-container"),f.children().remove(),r=$("<table class='is-form'><\/table>"),f.append(r))}function ot(n,t){var e,i;if(u=n,o=t,o||(o={}),h=u?JSON.stringify(n):null,y(!v),r.children().remove(),r.append("<colgroup><col style='width:1px'/><col/><\/colgroup>"),n&&n.length!=0)for(e=0;e<n.length;e++)if(i=n[e],i.Visible&&(o.alwaysCreateControls||!i.Control)){switch(i.ParameterType){case"Boolean":p(i);break;case"CheckList":ct(i);break;case"Date":lt(i);break;case"DateRange":at(i);break;case"GroupingList":vt(i);break;case"List":yt(i);break;case"Number":pt(i);break;case"NumberRange":wt(i);break;case"Range":i.RangeSingle?bt(i):gt(i);break;case"PageStart":st(i,n)&&kt(i);break;case"SectionStart":ht(i,n)&&dt(i);break;case"Text":ti(i);break;default:ii(i)}i.Control&&(i.Control.toJSON=function(){return undefined})}if(o.onEnterKey)f.on("keydown",function(n){if(n.keyCode==13)switch(n.target.tagName){case"INPUT":$(n.target).trigger("blur");$(n.target).focus();o.onEnterKey()}})}function st(n,t){for(var r,u=-1,i=0;i<t.length;i++)if(t[i]===n){u=i;break}if(u==-1)window.alert("Parameter not found!");else for(i=u+1;i<t.length;i++)if(r=t[i],r.Visible&&!r.Control)switch(r.ParameterType){case"SectionStart":break;case"PageStart":return!1;default:return!0}return!1}function ht(n,t){for(var r,u=-1,i=0;i<t.length;i++)if(t[i]===n){u=i;break}if(u==-1)window.alert("Parameter not found!");else for(i=u+1;i<t.length;i++)if(r=t[i],r.Visible&&!r.Control)switch(r.ParameterType){case"SectionStart":case"PageStart":return!1;default:return!0}return!1}function p(t){var i,o,f,e,u;t.Name.endsWith("Desc")&&(i=ei(t.Name.substr(0,t.Name.length-4)));i&&i.Control?(o=i.Control.Element().closest("td,th"),f=$("<input type='checkbox'/>"),o.append(f),checkBox=new n.CheckBox(f,{caption:t.Caption,readOnly:t.ReadOnly,onChange:function(n){n.Parameter.Value=n.Value()}})):(e=$("<tr><\/tr>"),u=$("<th colspan='2'><input type='checkbox'/><\/th>"),e.append(u),checkBox=new n.CheckBox($("input",u),{caption:t.Caption,onChange:function(n){n.Parameter.Value=n.Value()}}),t.IndentLevel&&u.css("border-left",t.IndentLevel*32+"px solid transparent"),r.append(e));checkBox.Parameter=t;checkBox.Value(t.Value);t.Control=checkBox}function ct(t){var e=$("<tr><\/tr>"),u="lst"+$Runtime.CreateGuid(!0),f=$("<th><label for='"+u+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+u+"'/><\/th>"),i;e.append(f);r.append(e);i=new n.CheckList($("#"+u,f),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,listCsv:t.List});i.Parameter=t;t.Control=i;t.Value&&i.Text(t.Value);i.OnChange(function(){t.Value=i.Text()});t.IndentLevel&&f.css("border-left",t.IndentLevel*32+"px solid transparent")}function lt(t){var o=$("<tr><\/tr>"),u="date"+$Runtime.CreateGuid(!0),f=$("<th><label for='"+u+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+u+"'/><\/th>"),i;o.append(f);r.append(o);i=new n.DateBox($("#"+u,f),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,widgetDocument:e.widgetDocument});i.Parameter=t;t.Control=i;t.Value&&i.Value($Runtime.ParseJsonDate(t.Value));i.OnChange(function(){t.Value=i.Value()});t.IndentLevel&&f.css("border-left",t.IndentLevel*32+"px solid transparent")}function at(t){var s=rt(t.Value),h=$("<tr><\/tr>"),f="date"+$Runtime.CreateGuid(!0),o=$("<th><label for='"+f+"From'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+f+"From'/> <small style='display:inline-block'>to<\/small> <input id='"+f+"To'/><\/th>"),i,u;h.append(o);r.append(h);i=new n.DateBox($("#"+f+"From",o),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,widgetDocument:e.widgetDocument});i.Parameter=t;i.Value(s.DateFrom);u=new n.DateBox($("#"+f+"To",o),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,widgetDocument:e.widgetDocument});u.Parameter=t;u.Value(s.DateTo);i.OnChange(function(){t.Value=it(i.Value(),u.Value())});u.OnChange(function(){t.Value=it(i.Value(),u.Value())});t.Control=[i,u];t.IndentLevel&&o.css("border-left",t.IndentLevel*32+"px solid transparent")}function vt(n){var a=fi(n.List),f,t,o;if(n.Name=="Groupings")for(f=0;f<u.length;f++)if(t=u[f],t.Name=="GroupingsSummary"&&!t.Control){t.Caption="Summarise Groupings?";p(t);break}var s=$("<tr><\/tr>"),i="list"+$Runtime.CreateGuid(!0),e=$("<th colspan='2'><span id='"+i+"' class='is-groupinglist'><div id='"+i+"Left' class='left'/><div id='"+i+"Right' class='right'/><\/span><\/th>");s.append(e);var h=$("#"+i+"Left",e),c=$("#"+i+"Right",e),l=$("<ul tabindex='-1' class='is-no-select'><\/ul>");h.append(l);o=$("<ul tabindex='-1' class='is-no-select'><\/ul>");c.append(o);n.Control={lstLeft:h,lstRight:c,ulLeft:l,ulRight:o,groupingItems:a,groupedItems:[]};w(n,n.Value);n.IndentLevel&&e.css("border-left",n.IndentLevel*32+"px solid transparent");r.append(s)}function w(n,t){var o=n.Control.groupingItems,c=n.Control.groupedItems,e,r,f,i;if(n.Value=t,t)for(e=t.split("|"),r=0;r<e.length;r++){var u=e[r],s=u.indexOf(";"),h=!1;for(s!=-1&&(h=!0,u=u.substr(0,s)),f=0;f<o.length;f++)i=o[f],u.toUpperCase()==i.name.toUpperCase()&&(i.groupBy=!0,i.pageBreakAfter=h,c.push(i))}b(n);k(n)}function b(n){var t,i,r,u;for(n.Control.ulLeft.children().remove(),t=0;t<n.Control.groupingItems.length;t++)i=n.Control.groupingItems[t],i.groupBy||(r=$("<li index='"+i.index+"'><\/li>"),r.text(i.caption),u=r.append("<button action='add'><\/button>"),n.Control.ulLeft.append(r));g(n,!1)}function k(t,i){var f,r,u,e;for(t.Control.ulRight.children().remove(),f=0;f<t.Control.groupedItems.length;f++)r=t.Control.groupedItems[f],u=$("<li index='"+r.index+"'><span><\/span>"+$Runtime.HtmlEncode(r.caption)+"<\/li>"),u.append("<button action='remove' tabindex='0'><\/button>"),t.GroupingListShowPageBreakButton&&(e=$("<button action='pagebreak' tabindex='0' title='Page break before'><\/button>"),e.css("background-image","url("+n.GetIconUrl("PageBreak",16)+")"),r.pageBreakAfter&&e.addClass("checked"),u.append(e)),i==r.index&&u.addClass("selected"),t.Control.ulRight.append(u);d(t);g(t,!0)}function d(n){for(var r,i=$("li > span",n.Control.ulRight),t=0;t<i.length;t++)r=$(i[t]),n.NoIndent||r.css("padding-left",t*8+"px")}function g(n,t){if(!n.readOnly){var i=t?n.Control.ulRight:n.Control.ulLeft,r=$("li",i);r.click(function(){s(n,i,$(this).attr("index"))});t?($("button",r).click(function(){var i=$(this).parent().attr("index"),t;switch($(this).attr("action")){case"remove":tt(n,i);break;case"pagebreak":t=n.Control.groupingItems[i];t.pageBreakAfter=!t.pageBreakAfter;t.pageBreakAfter?$(this).addClass("checked"):$(this).removeClass("checked");a(n)}}),r.bind("dblclick",function(){tt(n,$(this).attr("index"))})):($("button",r).click(function(){nt(n,$(this).parent().attr("index"))}),r.bind("dblclick",function(){nt(n,$(this).attr("index"))}));i.unbind("keydown.list");i.bind("keydown.list",function(t){for(var l,r,e=$("li",i),o=-1,u=-1,f=-1,h=-1,a=-1,c=0;c<e.length;c++)l=$(e[c]),r=l.attr("index"),o==-1&&(o=r),a=r,f==-1&&u!=-1&&(f=r),u==-1&&l.hasClass("selected")&&(u=r),u==-1&&(h=r);switch(t.keyCode){case 35:return e.length>0&&s(n,i,a),t.preventDefault(),!1;case 36:return s(n,i,o),t.preventDefault(),!1;case 38:return h!=-1&&s(n,i,h),t.preventDefault(),!1;case 40:return f!=-1&&s(n,i,f),t.preventDefault(),!1}})}}function nt(n,t){var r=$("li[index='"+t+"']",n.Control.ulLeft),i;r.remove();i=n.Control.groupingItems[t];i.groupBy=!0;i.pageBreakAfter=!1;n.Control.groupedItems.push(i);k(n,t);a(n)}function tt(n,t){var f=$("li[index='"+t+"']",n.Control.ulRight),u,r,i;for(f.remove(),i=n.Control.groupingItems[t],i.groupBy=!1,u=[],r=0;r<n.Control.groupingItems.length;r++)i=n.Control.groupingItems[r],i.groupBy&&u.push(i);n.Control.groupedItems=u;b(n,t);d(n);a(n);s(n,n.Control.ulLeft,t)}function s(n,t,i){$("li",t).removeClass("selected");var r=$("li[index='"+i+"']",t);r.addClass("selected");r.ScrollElementIntoView(!0)}function a(n){for(var r,t="",i=0;i<n.Control.groupedItems.length;i++)r=n.Control.groupedItems[i],t&&(t+="|"),t+=r.name,r.pageBreakAfter&&(t+=";True");console.log(t);n.Value=t}function yt(t){var f=$("<tr><\/tr>"),o="cbo"+$Runtime.CreateGuid(!0),u=$("<th><label for='"+o+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+o+"'/><\/th>"),i;f.append(u);i=new n.ComboBox($("input",u),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,caption:t.Caption,maxLength:t.MaxLength,listCsv:t.List,onChange:function(n){n.Parameter.Value=n.Text()},widgetDocument:e.widgetDocument});i.Parameter=t;i.Text(t.Value);t.Control=i;t.IndentLevel&&u.css("border-left",t.IndentLevel*32+"px solid transparent");r.append(f)}function pt(t){var e=parseFloat(t.Value),s=isNaN(e)?null:e,o=$("<tr><\/tr>"),u="num"+$Runtime.CreateGuid(!0),f=$("<th><label for='"+u+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+u+"'/><\/th>"),i;o.append(f);r.append(o);i=new n.NumberBox($("#"+u,f),{allowBlank:!0,readOnly:t.ReadOnly,width:"10em",decimals:t.DecimalPlaces});i.Parameter=t;i.Value(s);i.OnChange(function(){t.Value=i.Value()});t.Control=i;t.IndentLevel&&f.css("border-left",t.IndentLevel*32+"px solid transparent")}function wt(t){var o=ft(t.Value),s="10em",h=$("<tr><\/tr>"),f="num"+$Runtime.CreateGuid(!0),e=$("<th><label for='"+f+"From'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+f+"From'/> <small style='display:inline-block'>to<\/small> <input id='"+f+"To'/><\/th>"),i,u;h.append(e);r.append(h);i=new n.NumberBox($("#"+f+"From",e),{allowBlank:!0,readOnly:t.ReadOnly,width:s,decimals:t.DecimalPlaces});i.Parameter=t;i.Value(o.ValueFrom);u=new n.NumberBox($("#"+f+"To",e),{allowBlank:!0,readOnly:t.ReadOnly,width:s,decimals:t.DecimalPlaces});u.Parameter=t;u.Value(o.ValueTo);i.OnChange(function(){t.Value=ut(i.Value(),u.Value())});u.OnChange(function(){t.Value=ut(i.Value(),u.Value())});t.Control=[i,u];t.IndentLevel&&e.css("border-left",t.IndentLevel*32+"px solid transparent")}function bt(t){var u=$("<tr><\/tr>"),f="cbo"+$Runtime.CreateGuid(!0),o=$("<th><label for='"+f+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+f+"'/><\/th>"),i;u.append(o);i=new n.DBCombo($("input",o),{allowBlank:!t.Mandatory,readOnly:t.ReadOnly,caption:t.Caption,maxLength:t.MaxLength,onChange:function(n){n.Parameter.Value=n.Text()},widgetDocument:e.widgetDocument});i.Parameter=t;i.RefreshFromCollection(t.DataSource,t.DataSourceIdField,t.DataSourceDescriptionField,t.DataSourceFieldList);i.Text(t.Value);t.Control=i;r.append(u)}function kt(t){var e=$("<tr><\/tr>"),i=t.Caption,u,o,f;i&&i.endsWith(".")&&(i=i.substring(0,i.length-1));u=$("<th colspan='2'><label>"+$Runtime.HtmlEncode(i)+"<\/label><\/th>");e.append(u);o=new n.Label($("label",u),{style:"PageHeading"});t.TooltipText&&(f=$("<p><\/p>"),f.text(t.TooltipText),o.Element().insertAfter(f));r.append(e)}function dt(t){var f=$("<tr><\/tr>"),i=t.Caption,u,e;i&&i.endsWith(".")&&(i=i.substring(0,i.length-1));u=$("<th colspan='2'><label>"+$Runtime.HtmlEncode(i)+"<\/label><\/th>");f.append(u);e=new n.Label($("label",u),{tooltipText:t.TooltipText});r.append(f)}function gt(t){var e=$("<tr><\/tr>"),o="txt"+$Runtime.CreateGuid(!0),u=$("<th><label for='"+o+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+o+"'/><\/th>"),f,i;e.append(u);f={allowBlank:!t.Mandatory,caption:t.Caption,multiLine:t.Rows&&t.Rows>1,readOnly:t.ReadOnly,rows:t.Rows,onChange:function(n){n.Parameter.Value=n.Text()},actionsButtonIcon:"Find",actionsButtonVisible:!0,onActionsButtonClick:function(){ni(t)}};f.width="100%";i=new n.TextBox($("input",u),f);i.Parameter=t;i.Text(t.Value);t.Control=i;t.IndentLevel&&u.css("border-left",t.IndentLevel*32+"px solid transparent");r.append(e)}function ni(n){$App.FormOpen("RangeLookup","",{caption:"Lookup "+n.Caption,rangeSource:n.RangeLookupSource,rangeType:n.RangeType,rangeLookupSql:n.RangeLookupSql,idField:n.RangeLookupIdField,fieldList:n.RangeLookupFieldList,sourceControl:n.Control},null)}function ti(t){var e=$("<tr><\/tr>"),o="txt"+$Runtime.CreateGuid(!0),f=$("<th><label for='"+o+"'>"+$Runtime.HtmlEncode(t.Caption,!0)+":<\/label><\/th><th><input id='"+o+"'/><\/th>"),i,u;e.append(f);i={allowBlank:!t.Mandatory,caption:t.Caption,maxLength:t.MaxLength,multiLine:t.Rows&&t.Rows>1,readOnly:t.ReadOnly,rows:t.Rows,onChange:function(n){n.Parameter.Value=n.Text()}};i.multiLine&&(i.width="100%");u=new n.TextBox($("input",f),i);u.Parameter=t;u.Text(t.Value);t.Control=u;t.IndentLevel&&f.css("border-left",t.IndentLevel*32+"px solid transparent");r.append(e)}function ii(n){console.warn("$UI.ParametersHost: Parameter Type '"+n.ParameterType+"' not implemented.");var t=$("<tr><\/tr>"),i=$("<th colspan='2' style='color:red;'>'"+n.ParameterType+"' type parameter not implemented.<\/th>");t.append(i);r.append(t)}function it(n,t){var i="";return n&&(i+=$Runtime.FormatDateInternal(n,"yyyy-MM-dd",!0)),i+="|",t&&(i+=$Runtime.FormatDateInternal(t,"yyyy-MM-dd",!0)),i}function rt(n){var u=null,f=null,t,i,r;return n&&(t=n.indexOf("|"),t!=-1&&(i=Date.parse(n.substring(0,t)),i&&(u=new Date(i)),r=Date.parse(n.substring(t+1)),r&&(f=new Date(r)))),{DateFrom:u,DateTo:f}}function ut(n,t){var i="";return(n||n==0)&&(i+=n),i+="|",(t||t==0)&&(i+=t),i}function ft(n){var r=null,u=null,i,t;return n&&(i=n.indexOf("|"),i!=-1&&(t=n.substring(0,i),t&&(r=parseFloat(t)),t=n.substring(i+1),t&&(u=parseFloat(t)))),{ValueFrom:r,ValueTo:u}}function ri(){return f}function ui(){var t,n;if(f.focus(),u&&u.length!=0)for(t=0;t<u.length;t++)if(n=u[t],n.Visible&&n.Control&&n.Control.Focus){n.Control.Focus();break}}function fi(n){for(var u=[],n=$Runtime.ArrayFromCsvString(n),i=0;i<n.length;i++){var t=n[i],r=t.indexOf("["),f=t;r!=-1&&(f=t.substr(0,r),t=t.substr(r+1),t=t.substr(0,t.length-1));u.push({index:i,name:t,caption:f,groupBy:!1,pageBreakAfter:!1,selected:!1})}return u}function ei(n){var t,i;for(n=n.toUpperCase(),t=0;t<u.length;t++)if(i=u[t],n===i.Name.toUpperCase())return i;return null}function oi(){for(var n,i={},t=0;t<u.length;t++)n=u[t],n.ReadOnly||(i[n.Name]=n.Value);return i}function et(n){var i,r,t,f,e;for(i in n)for(r=0;r<u.length;r++)if(t=u[r],t.Name.toUpperCase()===i.toUpperCase())switch(t.ParameterType){case"Boolean":t.Value=n[i]&&(n[i]+"").toLowerCase()=="true";t.Control&&t.Control.Value(t.Value);break;case"Date":t.Value=n[i];t.Control.Value($Runtime.ParseJsonDate(t.Value));break;case"DateRange":t.Value=n[i];f=rt(t.Value);t.Control&&(t.Control[0].Value(f.DateFrom),t.Control[1].Value(f.DateTo));break;case"CheckList":case"List":case"Range":case"Text":t.Value=n[i]?n[i]+"":"";t.Control&&t.Control.Text(t.Value);break;case"GroupingList":w(t,n[i]);break;case"Number":t.Value=n[i];t.Control.Value($Runtime.ParseNumber(t.Value,t.DecimalPlaces));break;case"NumberRange":t.Value=n[i];e=ft(t.Value);t.Control&&(t.Control[0].Value(e.ValueFrom),t.Control[1].Value(e.ValueTo));break;default:console.warn("ParametersHost.UpdateParameterValues: Parameter Type '"+t.ParameterType+"' not handled")}}function si(n,t){var f={},r,i;for(f[n]=t,et(f),n=n.toUpperCase(),r=0;r<u.length;r++)if(i=u[r],i.Name.toUpperCase()===n&&i.Control&&i.Control.Element){i.Control.Element().addClass("is-parameter-highlight");break}}function hi(){y(!0)}function ci(n){var i,t;if(n&&h)for(i=JSON.parse(h),n.splice(0,n.length),t=0;t<i.length;t++)n.push(i[t])}function li(){f.hide();f.css({width:"100%",height:"100%",overflow:"auto"});e.visible&&f.show()}function ai(n){if(n==undefined)return e.visible;n!=e.visible&&(e.visible=n==!0,e.visible?f.show():f.hide())}var f,v=!1,e,u,o,h,r,c,l;if(ParametersHostDefaults={width:"auto",onEnterKey:null,visible:!0,widgetDocument:null},e=$.extend({},ParametersHostDefaults,i),typeof t=="string"?(c=n.ExtUtils.TranslateElementId(t),t=$("#"+c)):c=$(t).attr("id"),l=$(t),l.length==0){console.warn("userinterface.ParametersHost: Element '"+c+"' not found.");return}return f=$(l[0]),e.visible?f.show():f.hide(),{TypeName:"ParametersHost",Element:ri,Focus:ui,Initialise:ot,Refresh:hi,ResizeFromParent:li,RestoreParametersFromSnapshot:ci,Visible:ai,GetParameterValues:oi,UpdateParameterValues:et,SetParameterValueByName:si,Tag:{}}},n}($UI||{});console.log("  $UI (parameters host extension)");console.log("Loading lib/isuserinterface_documentmanager.js");__UIExtDocumentManager=function(n){return n.DocumentManager=function(t,i){function l(t){var i,f;t&&(g=!0,e.addClass("is-documentmanager"),e.children().remove(),h=$("<div class='is-documentmanager-title'><\/title>"),e.append(h),y=$("<div class='is-documentmanager-body is-no-select'><\/title>"),e.append(y),h.hide(),r.allowUpload&&(i="cmd"+$Runtime.CreateGuid(!0),o=$("<input id='"+i+"' type='file' multiple='true' style='display:none'/>"),k=$("<label for='"+i+"' class='is-button is-glyph-upload upload' style='margin-left:8px' title='Upload File(s)'><\/label>"),h.append(o),h.append(k),o.change(function(){pt()})),f=$("<div id='grid"+$Runtime.CreateGuid(!0)+"' class='is-dock-fill'><\/div>"),u=n.Grid(f,{stickyHeader:!0,onCellAction:ot,onInitialiseRow:ft,onRowDrilldown:et}),u.AddColumnActionsList("Actions",{}),u.AddColumnIcon("FileTypeIcon",{}),u.AddColumnString("FileCategory",{caption:"Category",visible:!1}),u.AddColumnDateTime("FileDate",{caption:"Date",sortable:!0}),u.AddColumnString("FileName",{caption:"File Name",sortable:!0}),u.AddColumnString("FileSize",{caption:"Size",width:"5em",align:"right",sortable:!0}),y.append(f),r.allowDownload&&u.AddColumnAction("Action_DownloadFile",{actionCaption:"Download a copy of this file",visible:!1,icon:"Document|Download"}),r.allowDelete&&u.AddColumnAction("Action_DeleteFile",{actionCaption:"Delete file",visible:!1,icon:"Delete"}))}function a(n){var i,r,t;if(f=n,v=!1,n&&s.length>0){for(i=-1,r=s[s.length-1].updatedFileName,t=0;t<f.length;t++)if(f[t].FileName==r){i=t;break}i!=-1&&u.ActiveDataRowListIndex(i);s=[]}it()}function it(){l(!g);v||(v=!0,ut())}function rt(n){var t="";switch(n.toUpperCase()){case"BMP":case"GIF":case"JPG":case"JPEG":case"PNG":case"PSD":case"TIF":case"TIFF":t="Image";break;case"DOC":case"DOCX":case"DOT":case"DOTX":t="DocumentType_Word";break;case"HTM":case"HTML":t="DocumentType_XML";break;case"PDF":t="DocumentType_PDF";break;case"TXT":t="DocumentType_Text";break;case"XLS":case"XLW":case"XLT":case"XLSX":case"XLTX":t="DocumentType_Excel";break;case"XML":t="DocumentType_XML";break;default:t="Document"}return t}function ut(){u.GroupByColumns("");for(var n=0;n<f.length;n++)if(f[n]&&f[n].FileCategory){u.GroupByColumns("FileCategory");break}u.VirtualDataRefresh(f);u.ActivateLastDataRow(!1)}function ft(n){var t=f[n.row.listIndex],i=t.FileName,r="",u=i.lastIndexOf(".");u!=-1&&(r=i.substring(u+1));n.row.cells.FileCategory.value=t.FileCategory?t.FileCategory:"(no category)";n.row.cells.FileTypeIcon.value=rt(r);n.row.cells.FileName.value=i;n.row.cells.FileDate.value=t.FileDate;t.FileSize&&(n.row.cells.FileSize.value=Math.ceil(t.FileSize/1024)+"KB");n.row.inactive=t.Missing;n.row.hidden=t.Missing}function et(n){u.ActiveDataRowListIndex(n.row.listIndex);w(!0)}function ot(n){switch(n.columnKey){case"Action_DeleteFile":at();break;case"Action_DownloadFile":w(!1);break;default:window.alert("Unhandled cell action '"+n.columnKey+"'.")}}function st(n,t,i,u,e){r=$.extend({},DocumentManagerDefaults,{adHoc:!0,itemType:n,itemId:t,itemPk:i,allowDownload:!0});f=[];f.push({Missing:!1,FileName:u});w(e)}function w(t){var e=u?u.ActiveDataRowListIndex():-1,i;if(!r.adHoc){if(e<0||e>f.length-1)return;if(!r.allowDownload)return}if(i=r.adHoc?f[0]:f[e],i.Missing){n.MsgBoxAlert("This file is missing and cannot be downloaded.");return}downloadViaUrl=!0;(!t||window.confirm("Download a copy of this file?"))&&(downloadViaUrl?ct(i):ht(i))}function ht(n){var i=document.createElement("a"),u=$App.WebServicesUrl()+"/DocumentManager/Download"+r.itemType+"File",t;u+="?"+r.itemType.toLowerCase()+"Id="+encodeURI(r.itemId)+"&fileName="+encodeURI(n.FileNameWithCategoryAndExtension);r.itemPk!=-1&&(u+="&"+r.itemType.toLowerCase()+"Pk="+r.itemPk);t=new XMLHttpRequest;t.open("GET",u,!0);t.responseType="arraybuffer";t.onload=function(){var e,o;if(this.status==200){var s=t.getResponseHeader("Content-Type"),f=new Blob([this.response],{type:s}),r=n.FileName,u=r.lastIndexOf("/");if(u==-1&&(u=r.lastIndexOf("\\")),u!=-1&&(r=r.substring(u)),window.navigator.msSaveBlob)window.navigator.msSaveBlob(f,r);else try{e=window.URL||window.webkitURL;o=e.createObjectURL(f);i.href=o;i.download=r;document.body.appendChild(i);i.click();document.body.removeChild(i)}catch(h){window.alert("Failed to save downloaded file.\n\n"+h.message)}}else window.alert("File download failed with a status of "+this.status+".")};t.send()}function ct(t){var f=$App.WebServicesUrl()+"/DocumentManager/GetFileDownloadUrl",i={itemType:r.itemType,itemId:r.itemId,fileName:t.FileNameWithCategoryAndExtension||t.FileName},u;r.itemPk!=-1&&(i.itemPk=r.itemPk);d+=1;u=window.open("","download"+d);$Api.GetDirect(f,i,{done:function(n){lt(n,u)},fail:function(t){n.ShowAjaxError(t)},always:function(){n.WaitHide()}})}function lt(n,t){n=$App.WebServicesUrl()+"/DocumentManager/DownloadFileFromUrl&fileDownloadUrl="+n;t.location=n}function at(){var i=u.ActiveDataRowListIndex(),t;if(!(i<0)&&!(i>f.length-1)&&r.allowDelete){if(t=f[i],!t||t.Missing||t.Deleted){n.MsgBoxAlert("This file is missing or has already been deleted.");return}n.MsgBoxConfirmDelete("PERMANENTLY DELETE file '"+t.FileName+"'?",{},function(){var o=$App.WebServicesUrl()+"/DocumentManager/Delete"+r.itemType+"File",e={fileName:t.FileNameWithCategoryAndExtension};e[r.itemType.toLowerCase()+"Id"]=r.itemId;n.WaitShow("Deleting file ("+t.FileName+")");$Api.GetDirect(o,e,{done:function(){delete f[i];u.ActiveDataRowListIndex(u.ActiveDataRowListIndex()+1);a(f);$App.NotificationsAddInfo("Deleted file "+t.FileName,"",!0,"File Deleted")},fail:function(t){n.ShowAjaxError(t)},always:function(){n.WaitHide()}})})}}function vt(){h||(l(!0),a([]));o.attr("accept","");o.removeAttr("capture");o.val("");o.click()}function yt(){h||(l(!0),a([]));o.attr("accept","audio");o.attr("capture","microphone");o.val("");o.click()}function pt(){var i=o[0].files,t;if(s=[],!(i.length<=0)){switch(i.length){case 1:t="Upload selected file?";r.itemType&&r.itemId&&(t+="\n\nYou can optionally create a Log to link this file to.");break;default:t="Upload "+i.length+" selected files?";r.itemType&&r.itemId&&(t+="\n\nYou can optionally create a Log to link each of these files to.")}n.MsgBoxConfirm(t,{heading:"File Upload",additionalButtons:[{actionId:"OkLog",caption:"Upload & Create Logs",buttonStyle:"ok"}]},function(t){n.WaitShow("");nt(i,0,t=="OkLog",-1)})}}function nt(t,i,r,u){if(i>=t.length){n.WaitHide();b();return}n.WaitUpdate("Uploading file "+(i+1)+" of "+t.length+" ("+t[i].name+")");$Runtime.IsMobileBrowser()?bt(t,i,r,u):wt(t,i,r,u)}function tt(t,i,u,f,e){var h=t[i],o=new XMLHttpRequest,c=$App.WebServicesUrl()+"/DocumentManager/Upload"+r.itemType+"File"+("?"+r.itemType.toLowerCase()+"Id="+encodeURI(r.itemId)+"&fileName="+encodeURI(h.name)+"&overwrite=false&createLog="+f+"&parentLogPk="+e);try{o.open("POST",c,!0);o.onload=function(){if(this.status==200){var r=JSON.parse(o.responseText);s.push({fileName:h.name,updatedFileName:r.UpdatedFileName,logPk:r.LogPk});e&&e!=-1||(e=r.LogPk);nt(t,i+1,f,e)}else $App.NotificationsAddError("An error occurred uploading file '"+h.name+"'.",$Runtime.ParseAjaxError(o)),n.WaitHide(),i>0&&b()};o.send(u)}catch(l){$App.NotificationsAddError("An error occurred uploading file '"+h.name+"'.",$Runtime.ParseAjaxError(o));i>0&&b()}}function wt(n,t,i,r){var u=n[t],f=new FormData;f.append("fileData",u,u.name);tt(n,t,f,i,r)}function bt(t,i,r,u){var e=t[i],f=new FileReader;f.onloadend=function(){kt(t,i,f,r,u)};f.onerror=function(){window.alert("There was an error reading the file.");n.WaitHide()};f.readAsDataURL(e)}function kt(n,t,i,r,u){var e=n[t],f=new FormData;f.append("fileData",i.result);tt(n,t,f,r,u)}function b(){var u="",t,i,n,f;switch(s.length){case 1:u="1 file was uploaded.";break;default:u=s.length+" files were uploaded."}for(t="",i=0;i<s.length;i++)n=s[i],t&&(t+="\n"),t+=n.fileName==n.updatedFileName?n.fileName:n.fileName+" (renamed to "+n.updatedFileName+")";if($App.NotificationsAddInfo(u,t,!0,"Upload Complete"),r.onUploadComplete){f={uploadedFiles:s};r.onUploadComplete(f)}}function dt(){return e}function gt(n){if(n==undefined)return r.itemId;r.itemId=n}function ni(){e.focus()}function ti(){l(!0)}function ii(){e.hide();e.css({width:"100%",height:"100%",overflow:"auto"});r.visible&&e.show()}function ri(n){if(n==undefined)return r.visible;n!=r.visible&&(r.visible=n==!0,r.visible?e.show():e.hide())}var o,k,d=1,e,u,v,g=!1,f,h,y,s=[],r,c,p;if(DocumentManagerDefaults={itemType:"",itemId:"",itemPk:-1,adHoc:!1,allowDelete:!1,allowDownload:!1,allowUpload:!1,visible:!0,onUploadComplete:null},r=$.extend({},DocumentManagerDefaults,i),typeof t=="string"?(c=n.ExtUtils.TranslateElementId(t),t=$("#"+c)):c=$(t).attr("id"),p=$(t),p.length==0){console.warn("userinterface.DocumentManager: Element '"+c+"' not found.");return}return e=$(p[0]),r.visible?e.show():e.hide(),{TypeName:"DocumentManager",Element:dt,Focus:ni,Initialise:a,ItemId:gt,Refresh:ti,ResizeFromParent:ii,Visible:ri,DownloadAdHocFile:st,ShowFileUploadDialog:vt,ShowFileUploadDialogForAudio:yt,Tag:{}}},n}($UI||{});console.log("  $UI (document manager extension)");console.log("Loading lib/isuserinterface_treeview.js");__UIExtTreeView=function(n){return n.TreeView=function(t,i){function v(n){if(n){if(w=!0,r.addClass("is-treeview"),r.addClass("is-no-select"),r.children().remove(),f=$("<ul><\/ul>"),r.append(f),s&&s.length!=0)for(var t=0;t<s.length;t++)l(f,s[t]);e.visible?r.show():r.hide()}}function l(t,i){var r=$("<li><\/li>"),f,u,s,e;if(r.attr("nodeid",i.NodeId),r.data("node",i),r.addClass("collapsed"),i.Active||r.addClass("inactive"),i.HasUnfetchedChildNodes||i.ChildNodes&&i.ChildNodes.length!=0?(f=$("<span class='expander'><\/span>"),r.append(f),f.click(function(n){n.stopPropagation();r.hasClass("collapsed")?$("> ul",r).slideDown("fast"):$("> ul",r).slideUp("fast");r.toggleClass("collapsed");a(i)})):(f=$("<span class='expander none'><\/span>"),r.append(f)),u=$("<span>"+$Runtime.HtmlEncode(i.Text)+"<\/span>"),r.append(u),i.Icon&&(i.IconExpanded?(u.prepend("<img state='collapsed' src='"+n.GetIconUrl(i.Icon,16)+"'/>"),u.prepend("<img state='expanded' src='"+n.GetIconUrl(i.IconExpanded,16)+"'/>")):u.prepend("<img src='"+n.GetIconUrl(i.Icon,16)+"'/>")),i.BulletText&&u.append("<span class='bullettext'>"+$Runtime.HtmlEncode(i.BulletText)+"<\/span>"),t.append(r),r.click(function(n){n.stopPropagation();r.hasClass("selected")&&(r.hasClass("collapsed")?$("> ul",r).slideDown("fast"):$("> ul",r).slideUp("fast"),r.toggleClass("collapsed"));o(i.NodeId);a(i)}),i.ChildNodes&&i.ChildNodes.length!=0)for(s=$("<ul style='display:none'><\/ul>"),r.append(s),e=0;e<i.ChildNodes.length;e++)l(s,i.ChildNodes[e])}function b(n){s=y(n);v(!0)}function y(n){if(n)for(var t=0;t<n.length;t++)n[t]=$.extend({},NodeDefaults,n[t]);return n}function a(n){var t,i;if(n.HasUnfetchedChildNodes&&!n._fetching)if(t=$("li[nodeid='"+n.NodeId+"']",f),n._fetching=!0,t.addClass("fetching"),e.onFetchChildNodes){i={node:n};e.onFetchChildNodes(p,i)}else window.alert("onFetchChildNodes function not defined.")}function k(n,t){var u=$("li[nodeid='"+n.NodeId+"']",f),i,r;if(u.removeClass("fetching"),u.removeClass("collapsed"),n.ChildNodes=y(t),n.HasUnfetchedChildNodes=!1,n.ChildNodes&&n.ChildNodes.length!=0){for(i=$("<ul style='display:none'><\/ul>"),u.append(i),r=0;r<n.ChildNodes.length;r++)l(i,n.ChildNodes[r]);i.slideDown("fast")}}function d(){for(var r,n,t=!1,e=$("li",f),s="",i=0;i<e.length;i++)if(r=$(e[i]),r.is(":visible"))if(n=r.data("node"),u)if(n.NodeId==u)t=!0;else if(t){o(n.NodeId);break}else s=n.NodeId;else{t=!0;o(n.NodeId);break}}function g(){for(var e,s,i=!1,r=$("li",f),n="",t=0;t<r.length;t++)if(e=$(r[t]),e.is(":visible")){if(s=e.data("node"),s.NodeId==u)i=!0;else if(i){n&&o(n);break}else n=s.NodeId;i&&n&&t==r.length-1&&o(n)}}function nt(n){if((n==undefined&&(n=!1),e.visible)&&u){var i=$("li[nodeid='"+u+"']",f),t=i;do{t=t.parent();switch(t.prop("tagName")){case"UL":break;case"LI":t.hasClass("collapsed")&&(t.removeClass("collapsed"),$("> ul",t).slideDown("fast"));break;default:t=null}}while(t);window.setTimeout(function(){var t=$("li[nodeid='"+u+"'] > span:first-child",f);t.ScrollElementIntoView(n,!1,{})},10)}}function tt(){return r}function it(){r.focus()}function rt(){v(!0)}function o(n){if(n==undefined)return u;u!=n&&(u=n,$("li",f).removeClass("selected"),u&&$("li[nodeid='"+u+"']",f).addClass("selected"),e.onNodeSelect&&e.onNodeSelect());u&&nt(!0)}function ut(){if(u){var n=$("li[nodeid='"+u+"']",f);return n.data("node")}return null}function ft(){r.hide();r.css({width:"100%",height:"100%",overflow:"auto"});e.visible&&r.show()}function et(n){if(n==undefined)return e.visible;n!=e.visible&&(e.visible=n==!0,e.visible?r.show():r.hide())}var r,w=!1,f,s=[],u,e,h,c,p;if(NodeDefaults={NodeId:null,Active:!0,Expanded:!0,HasUnfetchedChildNodes:!1,Icon:"",IconExpanded:"",Text:"",BulletText:"",ChildNodes:null,Tag:null},TreeviewDefaults={itemType:"",itemId:"",itemPk:-1,visible:!0,onNodeSelect:null,onFetchChildNodes:null},e=$.extend({},TreeviewDefaults,i),typeof t=="string"?(h=n.ExtUtils.TranslateElementId(t),t=$("#"+h)):h=$(t).attr("id"),c=$(t),c.length==0){console.warn("userinterface.TreeView: Element '"+h+"' not found.");return}return r=$(c[0]),r.attr("tabindex","-1"),r.bind("keydown",function(n){var t;switch(n.keyCode){case 27:o("");break;case 35:case 36:return!1;case 37:return u&&(t=$("li[nodeid='"+u+"']",f),t.hasClass("collapsed")||($("> ul",t).slideUp("fast"),t.addClass("collapsed"))),!1;case 38:return g(),!1;case 39:return u&&(t=$("li[nodeid='"+u+"']",f),a(t.data("node")),t.hasClass("collapsed")&&($("> ul",t).slideDown("fast"),t.removeClass("collapsed"))),!1;case 40:return d(),!1}}),e.visible?r.show():r.hide(),p={TypeName:"TreeView",Element:tt,Focus:it,Initialise:b,NodeSetChildNodes:k,Refresh:rt,ResizeFromParent:ft,SelectedNode:ut,SelectedNodeId:o,Visible:et,NodeList:function(){return s}}},n}($UI||{});console.log("  $UI (tree view extension)");console.log("Loading lib/isuserinterface_smartlist.js");__UIExtSmartList=function(n){return n.SmartList=function(t,i){function ft(n,t,i){if(e=n,c=t,r=null,st=i,e&&e.UserParameters){if(k.Initialise(e.UserParameters,{alwaysCreateControls:!0,onEnterKey:function(){et(!0)}}),st)try{k.UpdateParameterValues(JSON.parse(st))}catch(o){console.warn("Failed to set smart list initialisation parameters:\n\n"+o)}var u=$("<button class='smart-list-go is-button ok'/>");l.append(u);u.click(function(){et(!0)});l.show()}else l.hide();if(yt(),f.onInitialised)f.onInitialised(_self,{});e&&et(!1)}function fi(t,i,r){o=t;h=i;s=r?r:"";a=$App.WebServicesUrl()+"/ISFormTasks/ExecuteSmartList";w=$App.WebServicesUrl()+"/ISFormTasks/ExecuteRowAction";b=$App.WebServicesUrl()+"/ISFormTasks/GetSmartListRowSummary";var u={taskGroupId:t,itemId:i,userId:r,platform:$App.SettingsDevice().Platform};$Api.GetDirect($App.WebServicesUrl()+"/ISFormTasks/GetTaskItemSmartList",u,{done:function(n){e=n},fail:function(t){n.ShowAjaxError(t,f.modal);e=null},always:function(){ft(e,"Tasks","")}})}function ei(t){o=t;h="";s="";a=$App.WebServicesUrl()+"/Search/ExecuteQuickList";w=$App.WebServicesUrl()+"/Search/ExecuteQuickListRowAction";b=$App.WebServicesUrl()+"/Search/GetQuickListRowSummary";var i={quickListId:o,quickListType:h,platform:$App.SettingsDevice().Platform};$Api.GetDirect($App.WebServicesUrl()+"/Search/GetQuickList",i,{done:function(n){e=n},fail:function(t){n.ShowAjaxError(t,f.modal);e=null},always:function(){ft(e,"QuickList","")}})}function oi(t,i){o=t;h="";s="";a=$App.WebServicesUrl()+"/ISSmartList/Execute";w=$App.WebServicesUrl()+"/ISSmartList/ExecuteRowAction";b=$App.WebServicesUrl()+"/ISSmartList/GetRowSummary";var r={smartListId:o,platform:$App.SettingsDevice().Platform};$Api.GetDirect($App.WebServicesUrl()+"/ISSmartList/GetSmartList",r,{done:function(n){e=n},fail:function(t){n.ShowAjaxError(t,f.modal);e=null},always:function(){ft(e,"SmartList",i)}})}function yt(){var a,n,i,v,t,l;if(r){for(a=$("header",p),f.showHeading?(a.text(e.Caption),a.show()):a.hide(),u.ClearColumns(),t=0;t<r.Columns.length;t++){n=r.Columns[t];i="";n.Width&&n.Width!==-1&&(i=n.Width+"em");n.Id==="RowActions"&&(ct=n.DataSourceIndex);switch(n.DataType){case"Drilldown":u.AddColumnDrilldown("Drilldown",{drilldownHideIfBlank:!0});break;case"Code":case"String":n.DataType!=="Code"||i||(i="6em");switch(n.SpecialType){case"ColourBlock":case"ColourFlag":u.AddColumnIcon(n.Id,{caption:n.Caption,visible:n.Visible,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;case"LogSeverityIcon":u.AddColumnHtml(n.Id,{caption:n.Caption,align:"center",width:"16px",visible:n.Visible,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;default:u.AddColumnString(n.Id,{caption:n.Caption,visible:n.Visible,width:i,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour})}break;case"Currency":u.AddColumnCurrency(n.Id,{caption:n.Caption,visible:n.Visible,width:i,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;case"Date":u.AddColumnDate(n.Id,{caption:n.Caption,visible:n.Visible,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;case"DateTime":u.AddColumnDateTime(n.Id,{caption:n.Caption,visible:n.Visible,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;case"Integer":switch(n.SpecialType){case"ClientStatus":u.AddColumnIcon(n.Id,{caption:n.Caption,visible:n.Visible,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour});break;default:u.AddColumnInteger(n.Id,{caption:n.Caption,visible:n.Visible,width:i,backgroundColour:n.BackgroundColour,foregroundColour:n.ForegroundColour})}break;case"Hidden":u.AddColumnString(n.Id,{caption:n.Caption,visible:!1});break;default:console.warn("Unhandled Smart List Column Date Type '"+n.DataType+"'.");u.AddColumnString(n.Id,{caption:n.Caption,visible:n.Visible})}}if(r.DataView.GetSummaryColumns=function(n){for(var t,e=r.DataView[n],u=$Runtime.ArrayFromCsvString(r.SummaryColumns.toUpperCase()),f=[],i=0;i<u.length;i++)for(t=0;t<r.Columns.length;t++)if(r.Columns[t].Id.toUpperCase()===u[i]){f.push(e[r.Columns[t].DataSourceIndex]);break}return f},r.DataView.GetCacheKey=function(n){return r&&r.DataView&&r.DataView.GetSummaryColumns?JSON.stringify(r.DataView.GetSummaryColumns(n)):""},r.ShowSummary?d.show():d.hide(),r.DataView.GetPreviewFetchParameters=function(n){var t={},i;if(n!==-1){i=r.DataView[n];switch(c){case"QuickList":t.quickListId=o;break;case"SmartList":t.smartListId=o;break;case"Tasks":t.pageId=o;t.itemId=h;t.userId=s}t.summaryColumnsJson=JSON.stringify(r.DataView.GetSummaryColumns(n));t.target="WebInternal";t.highDpi=$Runtime.IsHighDpi()}return t},v=[],r.Actions)for(t=0;t<r.Actions.length;t++)if(l=r.Actions[t],l.Row)switch(l.ActionType){case"RowRefreshNotification":break;default:v.push({actionId:l.Id,caption:l.Caption,tooltipText:l.Description,icon:l.Icon})}else window.alert("Non-grid-based Actions not yet supported.");u.Actions().Define(v)}}function et(t){var r,i;if(!t||n.ValidateContainer(k.Element())){g.CacheClear();ri("Fetching list...");r="";e&&e.UserParameters&&(r=JSON.stringify(k.GetParameterValues()));i={parametersJson:r,highDpi:$Runtime.IsHighDpi()};ht=o+"|"+h+"|"+s+"|"+(e?e.ScriptId:"")+"|"+r;switch(c){case"QuickList":i.quickListId=o;$Api.GetDirect(a,i,{done:function(n){c==="QuickList"&&i.quickListId===o?pt(n):console.warn("Smart list returned for a different item.")},fail:function(t){n.ShowAjaxError(t,f.modal)},always:function(){if(v(),f.onAfterExecute)f.onAfterExecute(_self,{})}});break;case"SmartList":i.smartListId=o;$Api.GetDirect(a,i,{done:function(n){c==="SmartList"&&i.smartListId===o?pt(n):console.warn("Smart list returned for a different item.")},fail:function(t){n.ShowAjaxError(t,f.modal)},always:function(){if(v(),f.onAfterExecute)f.onAfterExecute(_self,{})}});break;case"Tasks":s||(s="");i.pageId=o;i.itemId=h;i.userId=s;$Api.GetDirect(a,i,{done:function(n){c==="Tasks"&&i.pageId===o&&i.itemId===h&&i.userId===s?pt(n):console.warn("Smart list returned for a different item.")},fail:function(t){n.ShowAjaxError(t,f.modal)},always:function(){if(v(),f.onAfterExecute)f.onAfterExecute(_self,{})}});break;default:window.alert("Unhandled source '"+c+"' for Smart List.")}}}function pt(n){var t,i;if(bt===ht?t=u.GetRetainableCacheKeyDetails({}):bt=ht,r=n,yt(),r){u.VirtualDataRefresh(r.DataView);nt();rt.Text("");rt.InitialiseGrid(u);i="type to filter list";switch(r.DataView.length){case 0:case 1:break;default:i+=" ("+r.DataView.length+" items)"}rt.BlankTip(i);t&&u.RestoreRetainedCacheKeyDetails(t,{})}}function si(){return it}function hi(){return e}function ci(n){for(var t,f,i,u,c,h,l,e,s=r.DataView[n.row.listIndex],o=0;o<r.Columns.length;o++){t=r.Columns[o];f=t.DataSourceIndex==-1?"?":s[t.DataSourceIndex];switch(t.SpecialType){case"ClientStatus":if(i="",u="",s[o]){switch(f){case 5:i="ClientStatus_Excellent";u="Excellent";break;case 10:i="ClientStatus_Good";u="Good";break;case 20:i="ClientStatus_Caution";u="Caution";break;case 30:i="ClientStatus_Bad";u="Bad";break;case 40:i="ClientStatus_Adverse";u="Adverse";break;case 45:i="ClientStatus_Bankrupt";u="Bankrupt"}n.row.cells[t.Id].value=i;n.row.cells[t.Id].tooltipText=u}break;case"ColourFlag":s[o]&&(n.row.cells[t.Id].value="Flag["+f+"]",n.row.cells[t.Id].tooltipText=f);break;case"LogSeverityIcon":n.row.cells[t.Id].value=$App.LogSeverities().GetHtmlIcon(f,!0);break;default:n.row.cells[t.Id].value=f}t.Small&&(n.row.cells[t.Id].small=!0);t.FormKey?(c=f,h=t.FormKey,$.isNumeric(h)&&(l=parseInt(h),h=s[l]),c&&(n.row.cells[t.Id].hyperlink="app://formshow?form="+h+"&id="+encodeURI(c))):(e=null,t.Id.endsWith("ClientId")?e="Client":t.Id.endsWith("AccountId")?e="Account":t.Id.endsWith("AccountAppId")?e="AccountApp":t.Id.endsWith("WorkflowId")&&(e="Workflow"),e&&(n.row.cells[t.Id].hyperlink="app://formshow?form="+e+"&id="+encodeURI(s[o])))}}function wt(t,i,f){var h,c,e,s,l,o,a;if(!n.HasMinimisedModal(!0)){for(h=r.Actions,c=u,s=0;s<h.length;s++)if(h[s].Id==t){e=h[s];break}if(e){if(!i&&!f&&e.SpecialType)switch(e.SpecialType){case"FileUpload":l={};n.GetFilesForUpload("Select Document to Upload",l,function(n){for(var r,u,f=[],e=0,i=0;i<n.length;i++)r=new FileReader,u=n[i],r.readAsDataURL(u),r.onload=function(i){return function(r){e+=1;f.push({name:i.name,data:r.target.result});e===n.length&&wt(t,{},f)}}(u)});return;case"FlagList":n.SelectFlagColour(JSON.parse(e.ParametersJson).List,{},function(n){wt(t,{colour:n})});return;default:window.alert("SpecialType '"+e.SpecialType+"' not handled.");return}(e.SpecialParams=i?i:null,e.FileData=f?f:null,o=c.GetSelectedRowIndexes(!0,!0),o.length!==0)&&(a=e.Prompt||o.length>1&&e.PromptIfMultiple,a?yi(e,o,function(){ni(e,o)}):ni(e,o))}}}function ni(n,t){ri("Actioning, please wait...");ot(n,t,0)}function ot(n,t,i){var k=!1,d=r,y,f,tt,p,it,u,b,e;switch(n.ActionType){case"RowFormOpen":k=!0;var l=JSON.parse(n.ParametersJson),g=ui(t,i,l.IdField),a=l.ParametersJson?JSON.parse(l.ParametersJson):{};for(y in a)f=a[y],f.startsWith("[")&&f.endsWith("]")&&(tt=t[i],f=f.substr(1,f.length-2),p=ui(t,i,f),p===null?console.warn("Smart List row action as replaceable parameter ["+f+"] but no corresponding field was found in the row data."):a[y]=p);$App.FormOpen(l.Form,g,a)}if(k){i<t.length-1?ot(n,t,i+1):(nt(),v());return}ai("Actioning item "+(i+1)+" of "+t.length+", please wait...");it=d.DataView[t[i]];u={};switch(c){case"QuickList":u.quickListId=o;break;case"SmartList":u.smartListId=o;break;case"Tasks":s||(s="");u.pageId=o;u.itemId=h;u.userId=s}u.actionId=n.Id;u.summaryColumnsJson=JSON.stringify(d.DataView.GetSummaryColumns(t[i]));u.parametersJson=n.ParametersJson;u.target="WebInternal";u.highDpi=$Runtime.IsHighDpi();n.SpecialParams&&(e=JSON.parse(u.parametersJson),e||(e={}),e=$.extend({},n.SpecialParams,e),u.parametersJson=JSON.stringify(e));n.FileData&&(b=n.FileData,n.FileData=null);b?$Api.PostDirect(w,u,{__fileDataJson:b},{done:function(r){ti(r,n,t,i)},fail:function(r){ii(r,n,t,i)},always:function(){i<t.length-1?ot(n,t,i+1):(nt(),v())}}):$Api.GetDirect(w,u,{done:function(r){ti(r,n,t,i)},fail:function(r){ii(r,n,t,i)},always:function(){i<t.length-1?ot(n,t,i+1):(nt(),v())}})}function ti(n,t,i,f){u.SetRowSelectorIcon(i[f],"Check","Item processed. Refresh grid to view updated details.",{rowExpired:n.Expired});r.ShowSummary&&(g.CacheRemove(r.DataView.GetCacheKey(i[f])),i[f]===u.ActiveDataRowIndex()&&g.PreviewFromGridCollection(u,r.DataView,b))}function ii(n,t,i,r){u.SetRowSelectorIcon(i[r],"Error",$Runtime.ParseAjaxError(n),{rowExpired:!1})}function li(){r.ShowSummary&&g.PreviewFromGridCollection(u,r.DataView,b);nt()}function nt(){var e=r.Actions,t,i,n,o,f,s,h;if(e){for(t=u.GetSelectedRowIndexes(!0,!0),i=0;i<e.length;i++)if(n=e[i],!n.AllowMultiple&&t.length>1)u.Actions().SetEnabled(n.Id,!1);else{if(o=t.length!==0,n.Row&&ct!==-1)for(f=0;f<t.length;f++)if(s=r.DataView[t[f]],h=s[ct],h.indexOf(n.Mn)===-1){o=!1;break}u.Actions().SetEnabled(n.Id,o)}u.RefreshButtons()}}function ri(t){f.modal?f.modal.WaitShow(t):n.WaitShow(t)}function ai(t){f.modal?f.modal.WaitUpdate(t):n.WaitUpdate(t)}function v(){f.modal?f.modal.WaitHide():n.WaitHide()}function ui(n,t,i){var u=vi(i);return u!==-1?r.DataView[n[t]][u]:null}function vi(n){var i=r.Columns,u=-1,t;for(n&&(n=n.toUpperCase()),t=0;t<i.length;t++)if(n===i[t].Id.toUpperCase()){u=i[t].DataSourceIndex;break}return u}function yi(t,i,r){var f={heading:t.Description},u;t.Icon&&(f.icon=t.Icon);u="";i.length===1?u="Perform this action for the selected item?":(u="Perform this action for the <b>"+i.length+"<\/b> selected items?",f.messageIsHtml=!0);n.MsgBoxConfirm(u,f,r,null)}function pi(){return r&&r.DataView?r.DataView.length:-1}var y,p,tt,r,it,l,w,b,a,rt,st,ht,bt,u,k,d,g,f,ct=-1,e,c,o="",h="",s="",ut,lt,kt,at,dt,gt,vt;if(SmartListDefaults={modal:null,showHeading:!0,onInitialised:null,onAfterExecute:null},f=$.extend({},SmartListDefaults,i),typeof t=="string"?(ut=n.ExtUtils.TranslateElementId(t),t=$("#"+ut)):ut=$(t).attr("id"),lt=$(t),lt.length===0){console.warn("userinterface.SmartList: Parent element '"+ut+"' not found.");return}return kt=$(lt[0]),it=$("<div class='is-smart-list'><\/div>"),kt.append(it),y=$("<div class='content'><\/div>"),it.append(y),p=$("<div class='header'><header><\/header><\/div>"),y.append(p),tt=$("<div class='results is-split-container side-by-side auto-collapse'><\/div>"),y.append(tt),l=$("<div class='smart-list-parameters'><div class='inner'><\/div><\/div>"),p.append(l),k=n.ParametersHost($(".inner",l),{}),at=$("<input type='search'/>"),p.append(at),rt=n.TableFilterTextBox(at,{width:"100%"}),vt=$("<div class='panel'><div class='grid is-dock-fill'><\/div><\/div>"),d=$("<div class='panel'><div class='is-dock-fill pp'><\/div><\/div>"),tt.append(vt),tt.append(d),dt=$(".grid",vt),gt=$(".pp",d),u=n.Grid(dt,{rowNumbering:!0,allowMultiRowSelect:!0,autoShiftButtons:!0,onAction:wt,onAfterRowActivate:li,onInitialiseRow:ci}),g=n.PreviewPane(gt,{}),yt(),_self={TypeName:"SmartList",Element:si,Execute:et,Initialise:ft,InitialiseQuickList:ei,InitialiseSmartList:oi,InitialiseTaskGroupItem:fi,ResultCount:pi,SmartList:hi}},n}($UI||{});console.log("  $UI (smart list extension)")