var __APPExtGlobal,__ASHExtGlobal,__ASHExtServerSide;console.log("Loading app/app_spadesktop.js");var FIELD_WIDTH_CODE_5="6em",FIELD_WIDTH_CODE_10="9em",FIELD_WIDTH_CODE_15="12em",FIELD_WIDTH_CODE_20="16em",GRID_ICON_ATTACHMENT="<div class='grid-icon-attachment'><\/div>";$App_SpaDesktop=function(n,t){function er(i,o,l,a,v){var w,y;console.log("app_spadesktop.Initialise - Begin");et=i;kt=o||i;yi=l;ct=a;ht=n.WebRoot()+"SPADesktopSettings";ConfigDefaults={defaultViewsFolder:"",showRecordBookmarkedButton:!0,showRecordRecentButton:!0,showVersion:!1,onActionExecute:null,onFormOpen:null,onGetMenuItems:null,onRightMenuShow:null,mainMenuCaption:"Main Menu",mainMenuCaptionHtml:""};r=$.extend({},ConfigDefaults,v);r.onRightMenuShow||(r.onRightMenuShow=function(n,t){window.alert("$App_SpaDesktop: onRightMenuShow ("+t+") is not handled. Config object should contain an 'onRightMenuShow' callback.")});r.onActionExecute||(r.onActionExecute=function(n){window.alert("$App_SpaDesktop: onActionExecute ("+n+") is not handled. Config object should contain an 'onActionExecute' callback.")});r.onFormOpen||(r.onFormOpen=function(n){window.alert("$App_SpaDesktop: onFormOpen ("+n+") is not handled. Config object should contain an 'onFormOpen' callback.")});h=r.defaultViewsFolder;at=$(".is-nav-top > .mainmenubutton");bi=$("#NavTop > ul.menu");s=$("#NavSide");c=$("#MainViews");ni=$("<div class='maxview' title='Maximise viewable content'><\/div>");s.append(ni);ni.click(lr);document.title=i;$("#NavTop div.title").text(i);l&&$("#NavTop div.title").append("<span class='beta'><\/span>");r.showVersion&&$("#NavTop div.title").append("<span class='version'>"+ct+"<\/span>");g=$("<div class='is-panel-menu is-menu-main hidden record-preview-disabled'><\/div>");$("body").append(g);at.click(yr);f=new t.MenuPanel({menuElement:g,caption:r.mainMenuCaption,captionHtml:r.mainMenuCaptionHtml,collapsibleGroups:!1,showCloseButton:!0,autoClose:!0,onAction:function(n,t,i){yt(t,i)},onClose:pt});f.Active(!1);nt=$("<div class='is-panel-menu is-menu-right hidden record-preview-disabled'><\/div>");$("body").append(nt);u=new t.MenuPanel({menuElement:nt,showCloseButton:!0,autoClose:!0,onClose:ut,onAction:function(n,t,i){yt(u.MenuType+"^"+t,i)}});u.Active(!1);$("li",bi).click(function(){fi(this,this.id.substr(3))});tt=$("#navNotifications");tt.addClass("noitems");e=$("<div class='is-notifications' style='display:none'><\/div>");$("body").append(e);e.on("mouseover",function(){ii=!0});e.on("mouseout",function(){ii=!1});s.on("contextmenu",function(){return!1});$("#NavTop").on("contextmenu",function(){return!1});e.on("contextmenu",function(){return!1});if(history.replaceState({},"",document.location),window.onbeforeunload=function(n){t.ModalOpenCountUnsavedData()>0&&(n.returnValue="You are attempting to leave or refresh this application.")},n.IsPlatformAndroid()){$(window).resize(function(){if(ui&&window.orientation==0){var n=$(document).height(),t=$("#vpApp").attr("content");rt||(rt=t);ui=!1;window.setTimeout(function(){ui=!0},100);n<ai?$("#vpApp").attr("content",rt+", height="+ai):$("#vpApp").attr("content",rt)}});$(window).on("orientationchange",function(){window.orientation!=0&&rt&&$("#vpApp").attr("content",rt)})}if(!n.IsMobileBrowser())for(w=$("[accesskey]"),y=0;y<w.length;y++){var b=$(w[y]),p=b.attr("title")||"",k=b.attr("accesskey");p&&(p+=" ");p+=navigator.userAgent.toLowerCase().indexOf("mac")>-1?"(Ctrl+Alt+"+k+")":navigator.userAgent.toLowerCase().indexOf("firefox")>-1?"(Alt+Shift+"+k+")":"(Alt+"+k+")";b.attr("title",p)}console.log("app_spadesktop.Initialise - End")}function or(n){if(n===undefined)return et;et=n;try{document.title=et;var t=$("#NavTop div.title");t.text(et);r.showVersion&&t.append("<span class='version'>"+ct+"<\/span>")}catch(i){}}function sr(){return kt}function hr(n,t){if(n==undefined)return gt;gt=n;wi=t;var i=$("#NavTop div.title");wi?(i.text(""),i.addClass("logo"),i.attr("title",n)):i.text(gt);yi&&$("#NavTop div.title").append("<span class='beta'><\/span>")}function cr(){return ct}function lr(){ri=!ri;ri?($(document.body).addClass("is-maxview"),n.FullScreen(!0)):($(document.body).removeClass("is-maxview"),n.FullScreen(!1))}function yt(n,i,u){var f,e,c,o,s,h;wt();f=n.indexOf("^");f!=-1&&(u=n.substr(0,f),n=n.substr(f+1));f=n.indexOf("|");f!=-1&&(n=n.substr(0,f),i=!0);u||(u="");switch(u.toUpperCase()){case"":case"MAIN":case"USER":e=t.MenuItemFind(lt,n);break;default:r.onGetMenuItems&&(c=r.onGetMenuItems(u),e=t.MenuItemFind(c,n))}if(e)if(o=e.Action,o.toUpperCase().substr(0,4)==="APP:"){s=$Ash.ParseUrl(o);h=s.Parameters.GetString("menuItemTarget");u&&(n=u+"^"+n);switch(h){case"":case"ModalForm":v("menucommand",{id:n});$Ash.ExecuteUrl(o,null,null,null,{caption:e.Caption,rerunApplicationShortcutUrl:"menucommand?id="+n,changedByUser:!0});break;case"NewBrowserWindow":switch(s.Action.toUpperCase()){case"EXTERNAL":window.open(s.Parameters.GetString("file"));break;default:hi(o)}break;case"None":$Ash.Execute(s);break;case"RecordTabs":tr(n,e,i);break;default:ft("Menu Item '"+n+"' has an unknown Target of '"+h+"'.")}}else d.Execute(o);else u?ft("Menu Item '"+n+"' for menu type '"+u+"' not found."):ft("Menu Item '"+n+"' not found.")}function ar(n,t){n&&n.MenuItems?(f.Define(n.MenuItems),lt||(lt=n.MenuItems)):f.Define({});t&&f.ExcludeSubItemIds(["User"]);f.Refresh()}function pt(){f&&(f.Active(!1),at.removeAttr("active"),g.addClass("hidden"))}function vr(){ut();f&&(f.Active(!0),at.attr("active","true"),g.show(),g.removeClass("hidden"))}function yr(){f&&(f.Active()?pt():vr())}function ut(n){if(n){var t=!1;a&&($(a).prop("id")==="navQuickOpen"&&(t=!0),$(a).removeAttr("active"));a=null;ot=""}else a&&$(a).removeAttr("active"),a=null,ot="",u.Active(!1),nt.addClass("hidden")}function di(n,i){var f,e;if(pt(),a&&$(a).removeAttr("active"),$(n).attr("active","true"),a=n,ot=i,e&&(e.Close(),e=null),f=r.onRightMenuShow(n,i),f!==null){if(!f)switch(i){case"Notifications":f={captionHtml:"<span class='icon'>&#xE91C;<\/span>Notifications",menuItems:null,renderSubItemsId:"",viewNameFull:"views/Menu_Notifications",infoElement:null};l=0;k()}f?(u.MenuType=i,f.captionHtml?u.CaptionHtml(f.captionHtml):f.caption?u.Caption(f.caption):(u.CaptionHtml(""),u.Caption("")),f.menuItems?u.Define(f.menuItems):u.Define({}),f.renderSubItemsId?u.RenderSubItemsId(f.renderSubItemsId):u.RenderSubItemsId(""),u.Refresh(),f.viewNameFull&&(e=new t.NonModal({}),e.Show({parentElement:u.AdditionalContentElement()}),require([f.viewNameFull],function(n){n.Render({modal:e},{})})),f.infoElement&&u.AdditionalContentElement().append(f.infoElement)):window.alert("$App_SpaDesktop: RightMenuShow, menuType '"+i+"' not handled and is not an internally handled menu type!");u.Active(!0);nt.show();nt.removeClass("hidden")}}function fi(n,t){ot&&ot==t?ut():di(n,t)}function wt(){pt();ut()}function v(t,i){var e=document.location.search,r=n.CreateUrlFragments(e),u,f;r.Update(t,i);u=r.ToUrlString();f=document.location.pathname+"?"+u;history.replaceState({},"",f);ei("RUN")}function pr(){if(i){var n=i.StateToObject();v("Records",n);li().PinnedTabs=i.GetPinnedTabIdsList();li().Save()}}function wr(){for(var r,u,f,o=document.location.search,e=n.CreateUrlFragments(o),t=0;t<e.Count();t++)r=e.Item(t),d.Execute(r.actionId,r.params.ToJavaScriptObject());if(!st&&(st=!0,i.TabCount()===0&&(u=li().PinnedTabs,u)))for(f=n.ArrayFromCsvString(u),t=0;t<f.length;t++)d.ActionRecordTabItem(f[t],!0)}function br(t,i){var e=document.location.search,f=n.CreateUrlFragments(e),r,u;for(t=t.toUpperCase(),r=0;r<f.Count();r++)if(u=f.Item(r),u.actionId.toUpperCase()==t)return u.params.GetString(i);return null}function ei(t){var f=document.location.search,i=n.CreateUrlFragments(f),r,u;i.Remove(t);r=i.ToUrlString();u=document.location.pathname+"?"+r;history.replaceState({},"",u)}function oi(n,t,i,u){wt();i||(i={});u&&(i.parentModal=u);var f=r.onFormOpen(n,t,i,u);f||ft("Form '"+n+"' is not yet implemented in "+kt+".","",!0,"Form Not Available")}function kr(t,i,r,u,f,e,o,h,l){var a;if(u){a=$("<li id='nav"+t+"' custom='false' class='is-icon-mono-"+r.toLowerCase()+"' title='"+n.HtmlEncode(i)+"'><span class='bullettext' style='display:none'><\/span><\/li>");$("> ul",s).append(a);a.click(function(){d.Execute("MainView",{id:t,changedByUser:!0})});a=$("<li id='view"+t+"' custom='false'><\/li>");c.append(a);switch(t){case"Records":dr()}}else l&&$("> ul",s).append($("<li class='start-group'><\/li>")),a=$("<li id='customnav"+t+"' custom='true' class='is-custom-icon-"+r.toLowerCase()+"' title='"+n.HtmlEncode(i)+"' style='color:"+h+"'><\/li>"),$("> ul",s).append(a),a.click(function(){d.Execute("MainView",{id:"CUSTOM:"+t+":"+f,changedByUser:!0})}),a=$("<li id='customview"+t+"' custom='true'><\/li>"),c.append(a)}function dr(){var f=screen.width,u,e;n.IsMobileBrowser()&&screen.height>f&&(f=screen.height);u=Math.ceil(f/220);u<2&&(u=2);u>8&&(u=8);u>4&&n.IsMobileBrowser()&&(u=4);e="";e=n.IsMobileBrowser()?"<h2>Records View<\/h2><p>This view can display up to "+u+" tabs.<\/p><p>Drag tabs to rearrange them and long-press to show options.<\/p><p>Use the <a href=\"javascript:$App.MainViewShow('Search');\">search view<\/a> to find records.<p><h2>Bookmarks<\/h2><p>Bookmark records using the icon (<span class='is-glyph-bookmark'><\/span>) in the top-right of their header area.<\/p><h2>Pin Tabs<\/h2><p>Pin tabs (<span class='is-glyph-pin'><\/span>) by long-pressing them. These will be opened automatically when you sign in.<\/p><h2>Re-Open Closed Tabs<\/h2><p>Long-press the header area to re-open closed tabs.<\/p>":"<h2>Records View<\/h2><p>This view can display up to "+u+" tabs.<\/p><p>Drag tabs to rearrange them and right-click to show options.<\/p><p>Use the <a href=\"javascript:$App.MainViewShow('Search');\">search view<\/a> to find records.<p><h2>Bookmarks<\/h2><p>Bookmark records using the icon (<span class='is-glyph-bookmark'><\/span>) in the top-right of their header area.<\/p><h2>Pin Tabs<\/h2><p>Pin tabs (<span class='is-glyph-pin'><\/span>) by right-clicking them. These will be opened automatically when you sign in.<\/p><h2>Re-Open Closed Tabs<\/h2><p>Right-click the header area to re-open closed tabs.<\/p>";i=new t.RecordTabs("viewRecords",{maxTabs:u,emptyHtml:"<span>No records open<small style='opacity:0.75;padding-left:8px'>(max <b>"+u+"<\/b> tabs)<\/small><\/span>",emptyTooltipHtml:"<div class='help2'>"+e+"<\/div>",showBookmarkedButton:r.showRecordBookmarkedButton,showRecentButton:r.showRecordRecentButton,onStateChanged:pr,onBookmarkedButtonClick:function(n){fi(n,"Bookmarked")},onRecentButtonClick:function(n){fi(n,"Recent")}})}function gr(n){var t;return t=$("> li[id='view"+n+"']",c),t.data("nonmodal")}function y(n,t,i){console.log("app.MainViewShow."+n+(t==""?"":" ("+t+")")+" - Begin");si();v("V",{id:n});i&&(i.changedByUser=!0);gi(n,t,i);n=="Records"&&si();console.log("app.MainViewShow."+n+(t===""?"":" ("+t+")")+" - End")}function gi(n,r,u){var p,f,l,w,o,a,v,y,e,b,k,h,d;if(n){if(p=n!==vt,f=!1,n&&n.substr(0,7)==="CUSTOM:"&&(f=!0,n=n.substr(7),w=n.indexOf(":"),l=n.substr(0,w),n=n.substr(w+1),u||(u={}),u.customViewId=l),$("> li",c).hide(),f?(o=$("> li[id='customview"+l+"']",c),o.show()):(o=$("> li[id='view"+n+"']",c),o.show()),o.removeClass("page-auto-visit"),a=$("> ul > li[active='true']",s),y=$("> ul > li",s),y.removeAttr("active"),y.removeClass("new-auto-view old-auto-view"),v=f?$("> ul > li[id='customnav"+l+"']",s):$("> ul > li[id='nav"+n+"']",s),!st||u&&u.changedByUser?v.attr("active","true"):p?(o.hide(),window.setTimeout(function(){o.show();a&&a.addClass("old-auto-view");v.addClass("new-auto-view");v.attr("active","true");window.setTimeout(function(){y.removeClass("new-auto-view")},2e3)},10)):v.attr("active","true"),vt=n,!f&&n&&n.toUpperCase()==="RECORDS"){i.Element().removeClass("page-auto-visit");p&&st&&(!u||!u.changedByUser)&&window.setTimeout(function(){if(a){var n=a.offset();n&&i.Element().css("transform-origin-y",n.top+"px")}i.Element().addClass("page-auto-visit");window.setTimeout(function(){i.Element().removeClass("page-auto-visit")},2e3)},10);t.RealignLayouts();return}if(e=f?$("> li[id='customview"+l+"']",c):$("> li[id='view"+n+"']",c),e.length===0){console.warn("No element was found for Main View '"+n+"'.");return}if(e.attr("enabled")==="false"){window.alert("Main View '"+n+"' is disabled.");return}if(b=e.data("nonmodal"),b){b.NotifyActivate(u);t.RealignLayouts();return}!st||u&&u.changedByUser?e.css("border","none"):e.css("border","8px solid red");k={title:n,showClose:!1,showTitle:!1};h=new t.NonModal(k);h.Show({parentElement:e});$(e).data("nonmodal",h);n.toUpperCase()==="HOME"&&dt&&(f=!0,n=dt,u=pi);f||(n="Main_"+n);d=r==""?n:r+"/"+n;require(["views/"+d],function(n){var t;f?(t=new n,t.Render({modal:h},u)):n.Render?n.Render({modal:h},u):(t=new n,t.Render({modal:h},u))})}}function nu(n,t,i,r,u){r||(r=!1);var f=$("li[id='nav"+n+"'] > span",s);f.text()==t||r||f.hide();t&&(f.text(t),i?r?(f.css("background-color","transparent"),f.html("<img style='width:12px;height:12px;position:relative;top:2px' src='"+$Api.GetIconUrl("Flag["+i+"]",12)+"'/>")):(f.css("background-color",i),u?f.css("color",u):f.css("color","unset")):f.css("background-color",""),window.setTimeout(function(){f.show()},10))}function tu(n,t){dt=n;pi=t}function iu(n,t){var r,i;if(w.length>=100){for(r=[],i=0;i<99;i++)r.push(w[i]);w=r}w.push({recordType:n,id:t})}function ru(n,t){for(var i=0;i<w.length;i++)if(w[i].recordType==n&&w[i].id==t)return!0;return!1}function uu(n,t,r,u,f,e,o){console.log("app.RecordViewShow ("+n+", "+t+") - Begin");t&&iu(n,t);r&&(r.recordpreview=="true"||r.recordpreview==!0)&&(vt=="Records"?r.recordpreview=!1:screen.width<1200?r.recordpreview=!1:window.innerWidth<1200&&(r.recordpreview=!1));r&&(r.recordpreview=="true"||r.recordpreview==!0)||(r&&r.changedByUser?y("Records","",{changedByUser:!0}):y("Records"));bt(n,t,r,u,f,e,undefined,o);v("Records",{list:i.GetTabIdsList()});console.log("app.RecordViewShow ("+n+", "+t+") - End")}function fu(n,r,u){var c,o,f,l,h,e,a,s;console.log("app.RecordViewShowHtml ("+o+") - Begin");u||(u="Report_HTML");c=$Api.GetIconUrl(u);y("Records");o="__Html."+i.TabCount();f=i.AddTab(o,n,c,"");f.temp=!0;l={};h=new t.NonModal(l);h.Show({parentElement:f.pageElement});f.nonModal=h;e=$("<iframe style='border:0;width:100%;height:100%;position:absolute;left:0;top:0;right:0;bottom:0'/>");f.pageElement.append(e);a=e[0].contentWindow;s=e[0].contentDocument;s.open();s.write(r);s.close();window.$Ash&&$Ash.HandleIframe(e[0]);console.log("app.RecordViewShowHtml ("+o+") - End")}function nr(n,t){console.log("app.RecordViewShowHtmlWidget ("+n+") - Begin");y("Records","",{changedByUser:!0});t&&(n+="["+btoa(t)+"]");!1&&(n+="|"+i.TabCount());bt("HtmlWidget",n,null,"","","",!0,!0);v("Records",{list:i.GetTabIdsList()});console.log("app.RecordViewShowHtmlWidget ("+n+") - End")}function eu(n,t,r,u,f){console.log("app.RecordViewShowList ("+n+") - Begin");y("Records");bt(n,"*",u,f,t,r,!0);v("Records",{list:i.GetTabIdsList()});console.log("app.RecordViewShowList ("+n+") - End")}function tr(n,t,r){console.log("app.RecordViewShowMenuItem ("+n+") - Begin");r=r?!0:!1;y("Records","",{changedByUser:!0});r&&(n+="|"+i.TabCount());bt("MenuCommand",n,{},"","","",!0,!0);v("Records",{list:i.GetTabIdsList()});console.log("app.RecordViewShowMenuItem ("+n+") - End")}function bt(r,u,f,e,o,s,c,l){var b,tt=r+"."+u,it="",k,a,rt,u,nt,p,d,y,w;e&&(it=e.ModalId());switch(r.toUpperCase()){case"HTMLWIDGET":a=u.indexOf("[");a!==-1&&(k=u.substr(a+1),k=atob(k.substr(0,k.length-1)),u=u.substr(0,a),f={startupParametersJson:k});break;case"MENUCOMMAND":a=u.indexOf("|");a!==-1&&(u=u.substr(0,a));b=t.MenuItemFind(lt,u);b?(s=b.Caption,o=b.Icon):(o="Error",s=u)}a=u.indexOf("~");a!=-1&&(rt=u.substr(a+1),u=u=u.substr(0,a),f||(f={}),p=n.CreateKeyValueList(),p.FromUrlString(rt),d=p.ToJavaScriptObject(),f=$.extend({},f,d));var ut=$Api.GetIconUrl(o?o:r,16,"",!0),g=i.Tabs(tt)===null,v=i.AddTab(tt,s?s:u,ut,it);!g&&v?(v.nonModal.ExecuteAction("Refresh"),f&&(nt=n.GetProperty(f,"page"),nt&&(p=n.CreateKeyValueList(),p.SetString("page",nt),v.nonModal.ExecuteAction("PageGoto",p)))):g&&!v?ft("No new Tab could be added since the maximum number of Tabs are open and pinned or busy.","Unpin a Tab to allow Tabs to be automatically closed."):g&&(f||(f={}),f.id=u,d={title:r,showClose:!1,showTitle:!1},f&&f.rerunApplicationShortcutUrl&&f.rerunApplicationShortcutUrl.toUpperCase().startsWith("MENUCOMMAND?")&&$App.UrlStateRemove("menucommand"),y=new t.NonModal(d),y.Show({parentElement:v.pageElement}),v.nonModal=y,y._Tabs=i,y._Tab=v,r.toUpperCase()=="HTMLWIDGET"?(w=h==""?r:h+"/"+r,require(["views/"+w],function(n){var t=new n;t.Render({modal:y},f)})):r.toUpperCase()=="MENUCOMMAND"?(f.menuItem=b,w=h==""?r:h+"/"+r,require(["views/"+w],function(n){var t=new n;t.Render({modal:y},f)})):(w=l?h==""?l:h+"/"+l:h==""?r:h+"/"+r,require(["views/"+w],function(n){if(c)n.Render({modal:y},f);else{var t=new n;t.Render({modal:y},f)}})));v&&f&&(f.recordpreview=="true"||f.recordpreview==!0)&&ou(v)}function ou(n){i.SideBySideMode(!1);$("html").addClass("record-preview");n.element.addClass("record-preview");n.pageElement.addClass("record-preview")}function si(){$("html").removeClass("record-preview");$(".record-preview",i.Element()).removeClass("record-preview")}function su(n,t){var i=document.location.origin+document.location.pathname;i+="?V?id=Records/Records?list="+n+"."+t;window.open(i)}function hi(n){window.open(ir(n))}function ir(n){n=encodeURIComponent(n);n=encodeURIComponent(n);var t=document.location.origin+document.location.pathname;return t+("?run?1="+n)}function hu(n,i,r,u,f,e,o,s,h,c,l){var w,y,p,b,a,k,d;if(t.HasMinimisedModal())return rr("Cannot show '"+u+"' form since a minimised form is currently open.","",!0,"",[{text:"Show minimised form",link:"app://WebUI?showMinimisedForm"}]),!1;if(w=n.indexOf("["),y=n,w!==-1&&(y=n.substring(w+1,n.length-1),n=n.substring(0,w)),console.log("app.ViewShow."+n+(i===""?"":" ("+i+")")+" - Begin"),r&&r._doNotPersist||v(y,r),p="",(!r||!r._doNotPersist)&&(p="app://FormShow?form="+y,r))for(b in r)p+="&",p+=encodeURIComponent(b)+"="+encodeURIComponent(r[b]);a={width:f,height:e,title:u,onAfterClose:function(){cu(y);r&&r.rerunApplicationShortcutUrl&&r.rerunApplicationShortcutUrl.toUpperCase().startsWith("MENUCOMMAND?")&&$App.UrlStateRemove("menucommand")},appShortcutUrl:p};a=$.extend({},a,l);o&&(a.minWidth=o);s&&(a.minHeight=s);h&&(a.maxWidth=h);c&&(a.maxHeight=c);r&&r._modalOptions&&(a=$.extend({},a,r._modalOptions));r&&r.parentModal&&(a.parentModal=r.parentModal);a.allowMinimise&&t.ModalOpenCount()>0&&(a.allowMinimise=!1);k=new t.Modal(a);k.Show();d=i==""?n:i+"/"+n;require(["views/"+d],function(n){n.Render({modal:k},r)});console.log("app.ViewShow."+n+(i==""?"":" ("+i+")")+" - End")}function cu(n){ei(n)}function lu(n){return n?(n.indexOf("ISSectionedBlocks")!=-1&&(n="<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>"),n.indexOf('href="app')!=-1&&(n=n.replace(/href=\"app/gi,'href="app')),n.indexOf("href='app")!=-1&&(n=n.replace(/href=\'app/gi,"href='app")),n):""}function p(n,t,i,r,u,f,e){r===undefined&&(r=!0);ki+=1;o.push({id:ki,date:new Date,type:n,message:t,details:i,title:u,links:f,icon:e});l+=1;o.length>fr&&o.splice(0,1);k(r)}function au(n,t,i,r,u){p("Error",n,t,i,r,u)}function vu(n,t,i,r,u){p("Help",n,t,i,r,u)}function rr(n,t,i,r,u){p("Info",n,t,i,r,u)}function yu(n,t,i,r,u){p("Success",n,t,i,r,u)}function pu(n,t,i,r,u){p("Success",n,t,i,r,u)}function ft(n,t,i,r,u){p("Warning",n,t,i,r,u)}function wu(n,t,i,r,u,f,e){p(n,t,i,r,u,f,e)}function bu(n){var r="",t="",i="";try{data=$.parseJSON(n.responseText);data.Message&&(t=data.Message);data.InternalMessage&&(i=data.InternalMessage);r=t;i&&(r+="\n\n"+i)}catch(u){}data&&t||(t="An error occurred communicating with the server.",i="Status: "+n.status+"\n\nResponse: "+n.responseText);p("AjaxError",t,i)}function ku(){o=[];l=0;k();ut()}function du(n){for(var t,r=[],i=0;i<o.length;i++)t=o[i],t&&t.id==n||r.push(t);o=r;k()}function gu(n,t,r,u){i&&i.NotifyRecordIdChanged(n,t,r,u)}function k(t){var p=!1,s,i,f,a,h,u,v,y,r,c;if(t===undefined&&(t=!0),e.children().remove(),l>0)for(s=0;s<o.length;s++){if(i=o[o.length-s-1],s===0){if(e.attr("class",""),e.addClass("is-notifications"),e.addClass(i.type.toLowerCase()),f=$("<div><\/div>"),f.html(n.HtmlEncode(i.message)),i.links){for(a=$("<ul><\/ul>"),h=0;h<i.links.length;h++)u=i.links[h],u.text&&(u.link?(y=n.HtmlEncode(u.text),u.newWindow&&(y+="&nbsp;&nbsp;<span class='is-symbol-open-window'><\/span>"),v=$("<li><a href='"+u.link+"' newWindow='"+(u.newWindow==!0)+"'>"+y+"<\/a><\/li>")):v=$("<li>"+n.HtmlEncode(u.text)+"<\/li>"),a.append(v));f.append(a);$("a",f).click(function(n){return l-=1,k(),i&&i.links&&i.links.length==1&&ci(),$(this).attr("newWindow")==="true"?(hi($(this).attr("href")),n.preventDefault(),!1):void 0})}if(i.title&&f.prepend("<h1>"+n.HtmlEncode(i.title)+"<\/h1>"),r="",i.icon)r=i.icon;else switch(i.type.toUpperCase()){case"ERROR":case"AJAXERROR":r="Error";break;case"HELP":r="Help";break;case"INFO":r="Information";break;case"SUCCESS":r="Outcome_Success";break;case"TASK":r="Task";break;case"WARNING":r="Warning"}f.css({"padding-left":"48px","background-image":"url("+$Api.GetIconUrl(r,48)+")"});e.append(f);ti=$("<div class='close is-symbol-close'><\/div>");e.append(ti);ti.on("click",function(){l-=1;k();ci()})}switch(i.type.toUpperCase()){case"ERROR":case"AJAXERROR":p=!0}}t&&l>0?(e.fadeIn("fast"),ur()):e.fadeOut("fast");tt.children().remove();l>0&&(c=$("<span class='bullettext'><\/span>"),c.text(l),tt.append(c),p&&c.addClass("error"));o.length===0?tt.addClass("noitems"):tt.removeClass("noitems")}function ur(n){if(it&&(clearTimeout(it),it=null),(l>0||n)&&(n||e.fadeIn("fast"),vi!=0)){var t=vi;n&&(t=n);it=setTimeout(function(){ii?(it=null,ur(1)):(ci(),it=null)},1e3*t)}}function ci(){e.fadeOut("fast")}function nf(){window.localStorage.setItem(ht,"")}function li(){if(b==null){b={};try{var n=window.localStorage.getItem(ht);n=n?JSON.parse(n):{};b=$.extend({},b,n)}catch(t){window.alert("Failed to load Local Settings.\n\n"+t)}b.Save=function(){try{return window.localStorage.setItem(ht,JSON.stringify(b)),!0}catch(n){return window.alert("Failed to save Local Settings.\n\n"+n),!1}}}return b}function tf(){function u(u,f){var c,o,s,e,l,a;if(wt(),c=r.onActionExecute(u,f),!c)switch(u.toUpperCase()){case"MAINVIEW":case"V":f||(f={});o=JSON.parse(JSON.stringify(f));delete o.id;y(f.id,h,o);break;case"MENUCOMMAND":yt(f.id);break;case"RECORDS":for(s=n.ArrayFromCsvString(f.list),e=0;e<s.length;e++)t(s[e]);i.StateFromObject(f);break;case"RUN":for(l in f)$Ash.ExecuteUrl(f[l]);break;default:a=f&&f.id?f.id:"";oi(u,a,f)}}function t(n,t){var f=n.indexOf("."),r="",u="";if(f!=-1&&(r=n.substring(0,f),u=n.substring(f+1)),r)switch(r.toUpperCase()){case"HTMLWIDGET":nr(u);break;case"MENUCOMMAND":tr(u);break;default:oi(r,u)}t&&i.PinTab(n)}return{Execute:u,ActionRecordTabItem:t}}var ai=480,vi=8,fr=50,ht="",yi=!0,et="Unknown",kt="Unknown Full",dt="",pi=null,h="",ct="?",gt="",wi=!1,d=new tf,r={},f,lt,u,o=[],i,w=[],b=null,at,g,nt,c,bi,tt,s,ni,e,ti,vt="",ii=!1,ki=0,l=0,it=null,a=null,ot="",ri=!1,st=!1,rt,ui=!0;return{Actions:d,Initialise:er,WebsiteTitle:hr,FormOpen:oi,RecordViewShow:uu,RecordViewShowHtml:fu,RecordViewShowHtmlWidget:nr,RecordViewShowList:eu,ShowRecordViewInNewBrowserWindow:su,RunAppShortcutInNewBrowserWindow:hi,GetAppShortcutForNewBrowserWindow:ir,UrlStateAction:wr,UrlStateGetActionParamter:br,UrlStateUpdate:v,UrlStateRemove:ei,Runtime:n,UI:t,HideMenus:wt,MainMenuRefresh:ar,RightMenuShow:di,RightMenuHide:ut,ExecuteMenuItem:yt,MainViewAdd:kr,MainViewShow:y,MainViewShowWithoutStateChange:gi,SetCustomHomepageView:tu,ViewShow:hu,UpdateMainViewBulletText:nu,NormaliseHtmlPreview:lu,NotificationsAddAdHoc:wu,NotificationsAddError:au,NotificationsAddAjaxError:bu,NotificationsAddWarning:ft,NotificationsAddHelp:vu,NotificationsAddInfo:rr,NotificationsAddSuccess:yu,NotificationsAddTask:pu,NotificationsClear:ku,NotificationsRemove:du,SessionRecentListExists:ru,AppTitle:or,AppTitleFull:sr,Version:cr,CurrentMainViewName:function(){return vt},ForgetDevice:nf,GetMainView:gr,MainMenu:function(){return f},Notifications:function(){return o},NotifyRecordIdChanged:gu,PreviewRecordTabHide:si}}($Runtime,$UI);console.log("  $App_SpaDesktop: "+typeof $App_SpaDesktop);console.log("Loading app/app.js");$App=function(n,t,i){function gi(r){var u,e,s,o,h;console.log("app.Initialise - Begin");r&&(di=r,d=r.UserId,ht=r.Version);c=n.WebRoot()+"CCDeviceOptions";u=document.createElement("canvas");u!=null&&(e=u.getContext("webgl")||u.getContext("experimental-webgl"),e&&(s=e.getExtension("WEBGL_debug_renderer_info"),s&&(ft=e.getParameter(s.UNMASKED_RENDERER_WEBGL))));o=window.navigator.userAgent.toLowerCase();h=/safari/.test(o);st=ft=="Apple GPU"||/iphone|ipod|ipad/.test(o);st?h||(ot=!0):o.indexOf("wv")!=-1&&(et=!0);dt=ot||et;window.navigator.standalone&&(gt=!0);tt=n.WebRoot()+"P?";i.Initialise(bt,kt,wi,ht,{defaultViewsFolder:f,onActionExecute:yf,onGetMenuItems:bf,onFormOpen:pf,onRightMenuShow:kf,mainMenuCaption:"finPOWER Connect"});ti=i.Actions;$Api.Initialise({BaseUrl:n.WebRoot()+"Api/",BaseUrlIcon:tt,GlobalAjaxFail:function(n){t.ShowAjaxError(n)},GlobalAjaxFail401:function(n){lf(n)}});ui().Apply();nr(!0);window.setInterval(sr,1e3);$(window).on("mousedown keydown mousemove",function(){lt=new Date;g(!1)});console.log("app.Initialise - End")}function nr(e){e?t.WaitShow("Initialising, Please Wait..."):t.WaitShow("Refreshing, Please Wait...");$Api.Get(b+"/GetApplicationContext",{platform:$App.SettingsDevice().Platform},{done:function(t){var s,o,h;r=t;ni=n.VersionToInt(t.WebServicesVersion);u=t.CloudConnect;try{it=JSON.parse(u.WidgetOptions)}catch(c){window.alert("Failed to parse Widget Options.\n\n"+c);it=null}if(tr(t.Elements),ir(t.LogSeverities),rr(t.MonitorCategories),ur(t.TimeZones),e&&(u.Homepage&&u.Homepage.PageId&&i.SetCustomHomepageView("Main_WidgetsPage",{customViewId:u.Homepage.PageId}),i.MainViewAdd("Home","Home","Home",!0,"",f,{}),i.MainViewAdd("Records","Records","Records",!0,"",f,{}),u.AllowSearchPage&&i.MainViewAdd("Search","Search","Search",!0,"",f,{}),u.AllowTasksPage&&i.MainViewAdd("Tasks",u.TasksCaption?u.TasksCaption:"Tasks","Tasks",!0,"",f,{}),u.AllowReportingPage&&i.MainViewAdd("Reporting","Reporting","Reporting",!0,"",f,{}),u.AllowProcessesPage&&i.MainViewAdd("Processes","Processes & Procedures","Processes",!0,"",f,{})),e&&u.CustomMainViewPages)for(s=0;s<u.CustomMainViewPages.length;s++)o=u.CustomMainViewPages[s],i.MainViewAdd(o.PageId,o.Title,o.Icon,!1,"Main_WidgetsPage",f,{},o.IconColour,o.StartGroup);i.MainViewShowWithoutStateChange("Search",f,{changedByUser:!0});u.AllowProcessesPage&&i.MainViewShowWithoutStateChange("Processes",f,{changedByUser:!0});e&&pi(document);t.TimeZoneDescription&&(t.TimeZoneDisplayDetails===!0||t.TimeZoneDisplayDetails===undefined)&&(h=(new Date).getTimezoneOffset()/-60,h!=t.TimeZoneOffset&&i.NotificationsAddAdHoc("TimeZone","This device is in a Time Zone different to that configured for this database which is:\n\n"+t.TimeZoneDescription,"Be aware when entering and reviewing date-based information that this will be interpreted as being in a different time zone.",!0,"Time Zone",null,"Badge|Internet"));u.TestMode?$("html").addClass("test-mode"):$("html").removeClass("test-mode");k=!0;r.ThemeMainIsLight?$("html").addClass("theme-main-light"):$("html").removeClass("theme-main-light");r.ThemeContrastIsLight?$("html").addClass("theme-contrast-light"):$("html").removeClass("theme-contrast-light")},fail:function(t){r={};var i=n.GetWsError(t),u=i.Message;window.alert(u)},always:function(){if(t.WaitHide(),fr(),e){var u=i.UrlStateGetActionParamter("V","id");i.MainViewShowWithoutStateChange("Home",f,{changedByUser:!0});e&&r.MenuMain&&i.UrlStateAction(document.location.search);er();u&&i.MainViewShow(u,f,{changedByUser:!0});r&&r.ForcePasswordChange&&i.Actions.Execute("USERPASSWORDCHANGE",{forcePasswordChange:!0});r&&r.DatabaseMessage&&t.MsgBoxInfo("<div style=\"font-size:16px; font-weight:normal; font-family:'Arial Black', Gadget, sans-serif\">"+n.HtmlEncode(r.DatabaseMessage)+"<\/div>",{title:"Database Message",icon:r.DatabaseMessageIsUser?"Settings_User":"Settings_Global",width:"80%",maxWidth:520,height:"80%",maxHeight:400,messageIsHtml:!0})}}})}function tr(n){a=n;a.GetItem=function(n){n=(""+n).toUpperCase();for(var t=0;t<a.length;t++)if(n==a[t].ElementId.toUpperCase())return a[t];return null};a.GetHtmlIcon=function(n){var t=a.GetItem(n),i;return t?(i=t.ElementId+": "+t.Description,"<div class='is-colour-block' style='background-color:"+t.ColourBackground+"' title='"+i+"'><\/div>"):""}}function ir(n){v=n;v.GetItem=function(n){n=(""+n).toUpperCase();for(var t=0;t<v.length;t++)if(n==v[t].LogSeverityId.toUpperCase())return v[t];return null};v.GetHtmlIcon=function(n,t){var i=v.GetItem(n),r;return i?(r=i.LogSeverityId+": "+i.Description,t?"<div class='is-colour-block' style='background-color:"+i.OpenColourBackground+"' title='"+r+"'><\/div>":"<div class='is-colour-block' style='background-color:"+i.CompleteColourBackground+"' title='"+r+"'><\/div>"):""}}function rr(n){y=n;y.GetItem=function(n){n=(""+n).toUpperCase();for(var t=0;t<y.length;t++)if(n==y[t].MonitorCategoryId.toUpperCase())return y[t];return null};y.GetHtmlIcon=function(n){var t=y.GetItem(n),i;return t?(i=t.MonitorCategoryId+": "+t.Description,"<div class='is-colour-block' style='background-color:"+t.ColourBackground+"' title='"+i+"'><\/div>"):""}}function ur(n){o=n;o.GetItem=function(n){n=(""+n).toUpperCase();for(var t=0;t<o.length;t++)if(n==o[t].TimeZoneId.toUpperCase())return o[t];return null};o.GetDescription=function(n){var t=o.GetItem(n);return t?t.Description:""};o.GetTimeZoneIdFromDescription=function(n){n=(""+n).toUpperCase();for(var t=0;t<o.length;t++)if(n==o[t].Description.toUpperCase())return o[t].TimeZoneId;return""};o.GetDescriptionsList=function(){for(var t=[],n=0;n<o.length;n++)t.push(o[n].Description);return t};o.DefaultTimeZoneId=function(){return r.TimeZoneId};o.DefaultTimeZoneDescription=function(){return o.GetDescription(r.TimeZoneId)}}function fr(){r&&n.Initialise({currencyDecimals:r.CurrencyDecimals,currencySymbol:r.CurrencySymbol,dateFormat:r.DateFormat,timeFormat:r.TimeFormat,dateFormatGrids:r.DateFormatGrids,dayMonthYearOrder:r.DayMonthYearOrder,timeFormatGrids:r.TimeFormatGrids,themeContrastColourBackground:r.ThemeContrastColourBackground,themeContrastColourForeground:r.ThemeMainColourForeground,themeMainColourBackground:r.ThemeMainColourBackground,themeMainColourForeground:r.ThemeMainColourForeground});or();u.UIShowQuickRecordOpen?$("#navQuickOpen").show():$("#navQuickOpen").hide();r.MenuAdd&&r.MenuAdd.MenuItems.length>0?$("#navAdd").show():$("#navAdd").hide();i.MainMenuRefresh(r.MenuMain,["User"])}function er(){}function or(){if(u&&i.WebsiteTitle(u.WebsiteTitle,u.WebsiteTitleUseLogo),r&&r.MenuMain)switch(r.MenuMain.MenuStyle){case"CollapsibleSubMenus":i.MainMenu().CollapsibleGroups(!0);break;case"FlatList":i.MainMenu().CollapsibleGroups(!1);break;default:window.alert("Unhandled Menu Style '"+r.MenuMain.MenuStyle+"'")}}function sr(){if(r){var n=new Date,i=(n-lt)/1e3;if(i>r.SessionTimeoutMinutes*60){if(console.warn("Session time out due to no User activity for "+r.SessionTimeoutMinutes*60+"seconds"),t.ModalExists("_REAUTHENTICATE"))return;$Api.Get(b+"/Disconnect",{},{done:function(){},fail:function(){}});pt(!0)}else n-at>=1e4&&g(!0)}}function hr(n){lt=new Date;console.log("widget.NotifyBusy() method called. This will prevent automatic sign-out for a brief period of inactivity.");n&&g(!1)}function g(n){var i=new Date,r=(i-at)/1e3;if(n||r>10){if(t.ModalExists("_REAUTHENTICATE"))return;at=new Date;$Api.Get(b+"/KeepAlive",{},{done:function(){},fail:function(){}})}}function cr(){console.log("User input registered from HTML Widget or Summary Page.");g();i.HideMenus()}function yt(){return r?r.CountryCode:""}function lr(n){var t,i;if(n=n.toUpperCase(),u)for(t=0;t<u.CustomisableForms.length;t++)if(i=u.CustomisableForms[t],n===i.FormKey.toUpperCase()&&i.ScriptId)return!0;return!1}function ar(t){return ni>=n.VersionToInt(t)}function vr(n){if(n===undefined)return k;k=n}function yr(){return d}function pr(){return r?r.UserLevel:""}function wr(){return r?r.UserName:""}function br(){return r?r.ExternalPartyPk!=0:!1}function kr(){return r?r.ExternalPartyPk:0}function e(n){if(r&&r.AddOns)for(var t=0;t<r.AddOns.length;t++)if(r.AddOns[t]==n)return!0;return!1}function dr(){return e("Account.Applications")}function gr(){return e("General.Branch")}function nu(){return e("Client.Advanced")}function tu(){switch(yt()){case"AU":case"NZ":return!0;default:return ii()}}function ii(){return e("Client.CreditEnquiry")}function iu(){return e("AccountType.Deposit")}function ru(){return e("ExternalParty.Base.Advanced")}function uu(){return e("General.Branch.Entity")}function fu(){return e("ExternalParty.Base")}function eu(){return e("ExternalParty.Base.Advanced")}function ou(){return e("ExternalParty.Base.Advanced")}function su(){return e("ExternalParty.Base.ExternalUser")}function hu(){return e("AccountType.Loan")|e("AccountType.LoanFR")|e("AccountType.LoanRC")}function cu(){return e("Account.Promotion")}function lu(){return e("ExternalParty.Base.Securitisation")}function au(){return e("Security.Register.MotorWeb")&&yt()=="NZ"}function vu(){return e("Security.Register")}function yu(){return e("Security.Register.PPSRG2B")}function pu(){return e("General.SMS")}function wu(){return e("General.Workflow")}function bu(){return r&&r.IntersoftDemo}function ku(){return r&&r.IsAvailableDocumentManager}function du(){return r&&r.IsAvailableDocumentManagerUpload}function gu(){return r&&r.IsAvailableEmailUnattended}function nf(){return r&&r.IsAvailableSms}function tf(n){if(r){if(r.UserLevel=="Administrator")return!0;if(r.PermissionKeys){n=n.toUpperCase();for(var t=0;t<r.PermissionKeys.length;t++)if(r.PermissionKeys[t].toUpperCase()==n)return!0}}return!1}function rf(){return it?it:{}}function ri(){return r?r.DatabaseIsReadOnly:!0}function uf(){return r?r.TimeZoneId:""}function ff(){return r?r.TimeZoneUse:!1}function ef(){var t=window.localStorage.getItem(c+".DID");window.localStorage.setItem(c,"");window.localStorage.setItem(c+".DID","");window.localStorage.setItem(c+".DIDT","");i.ForgetDevice();$Api.Get(b+"/ForgetUserDevice",{deviceId:t},{done:function(){},fail:function(t){var i=n.GetWsError(t),r=i.Message;window.alert(r)},always:function(){i.Actions.Execute("SIGNOUT")}})}function of(){return window.localStorage.getItem(c+".DID")}function sf(){return window.localStorage.getItem(c+".DIDT")}function hf(n){window.localStorage.setItem(c+".DIDT",n)}function ui(){if(l==null){l={Platform:n.IsMobileBrowser()?"Mobile":"Desktop",AlwaysUsePickerControls:n.IsMobileBrowser(),CompactMode:!1,AllowOpenLinksInConnect:!1,ForceOpenLinksPreview:!1};try{var i=window.localStorage.getItem(c);i=i?JSON.parse(i):{};l=$.extend({},l,i)}catch(r){window.alert("Failed to load Device Settings.\n\n"+r)}l.Save=function(){try{return window.localStorage.setItem(c,JSON.stringify(l)),!0}catch(n){return window.alert("Failed to save Device Settings.\n\n"+n),!1}};l.Apply=function(){return n.IsMobileBrowser()||t.AlwaysUsePickerControls(l.AlwaysUsePickerControls),l.CompactMode?$("html").addClass("is-compact"):$("html").removeClass("is-compact"),!1}}return l}function fi(n){var t,i;return n=n.toUpperCase(),i=n.indexOf("FORMSHOW?"),i==-1?t=n:(t=n.substr(i+14),i=t.indexOf("&"),t=t.substr(0,i)),t.endsWith("S")&&(t=t.substr(0,t.length-1)),ki.includes(t)}function cf(n,t){var i="http://localhost:"+u.MessageHandlerPort+"/applicationshortcut.formshow?form="+encodeURIComponent(n)+"&id="+encodeURIComponent(t),r=window.open(i,"_finC");window.setTimeout(function(){r.close()},500)}function ei(n,i,r){var e=new t.MenuPopup(n,{}),f=[],o;(screen.width>=1200&&window.innerWidth>=1200&&(l.ForceOpenLinksPreview?(f.push({ItemId:"RecordOpen",Caption:"Open Record in Records View",Icon:"Control_PageStart",Action:n.attr("href")}),f.push({ItemType:"Separator"})):fi(n.attr("href"))&&(f.push({ItemId:"RecordPreview",Caption:"Open Record in Preview Pane",Icon:"Glasses",Action:n.attr("href")}),f.push({ItemType:"Separator"}))),l.AllowOpenLinksInConnect&&(o="http://localhost:"+u.MessageHandlerPort+"/applicationshortcut."+n.attr("href"),f.push({ItemId:"finC",Caption:"Open in finPOWER Connect (Desktop)",Icon:"finPOWERConnect",Action:o})),f.length!=0)&&(f[f.length-1].ItemType=="Separator"&&f.pop(),e.Define(f),e.OnAction(function(n,t){switch(t){case"finC":var i=window.open(n,"_finC");window.setTimeout(function(){i.close()},500);break;case"RecordOpen":$Ash.ExecuteUrl(n+"&recordpreview=false");break;case"RecordPreview":$Ash.ExecuteUrl(n+"&recordpreview=true");break;default:window.alert("Unhandled item '"+t+"'.")}}),e.Show(i,r))}function lf(n){var t=n.getResponseHeader("WS-User");t||pt()}function pt(n){var r,i;(k=!1,t.ModalExists("_REAUTHENTICATE"))||(r=!1,r?(i=window.prompt("Your session has expired or you are trying to access a resource that you are not authorised for.\n\nPlease re-enter your password and try again."),i&&oi(i)):t.CommonDialog().GetPassword("Sign In",oi,{reAuthenticate:!0,potentialExpiry:n}))}function oi(n){var t=window.localStorage.getItem(c+".DID"),i=window.localStorage.getItem(c+".DIDT");$Api.Post(b+"/Authenticate",{},{userId:d,password:n,deviceId:t,timestamp:i},{done:af,fail:vf})}function af(t){k=!0;window.localStorage.setItem(c+".DIDT",t);i.NotificationsAddSuccess("You have been signed back in.\n\nYou may need to retry the last action you were performing.","Signed in at "+n.FormatDate(new Date,!0),!0,"Reauthenticated");$("body > div").removeClass("blur")}function vf(){window.alert("Sign-in failed.");pt()}function yf(t,r){switch(t.toUpperCase()){case"SIGNOUT":return window.location.replace(n.WebRoot()+bi),!0;case"TEST_PH":return i.ViewShow("Test_PH","",r,"Test PH",800,500),!0}return!1}function pf(n,t,r,f){if(u.HasFormOverrideScript)switch(n.toUpperCase()){case"CLIENTEDIT":var e=JSON.stringify(r,function(n,t){switch(n){case"parentModal":return null;default:return t}});return $Api.GetDirect($App.WebServicesUrl()+"/ISApplicationShortcut/GetCustomFormHandler",{form:n,id:t,paramsJson:e},{done:function(u){if(u){var e=$Ash.ParseUrl(u);switch(e.Action.toUpperCase()){case"HTMLSHOW":$Ash.ExecuteUrl(u);break;case"HTMLWIDGET":$Ash.ExecuteUrl(u,null,"",null,{customisedForm:n});r&&r._doNotPersist||(t&&!r.id&&(r.id=t),i.UrlStateUpdate(n,r));break;default:i.NotificationsAddWarning("FormOpen override Script return an Application Shortcut type of '"+e.Action+"'. Only the following are supported:\n\nHtmlWidget\nHtmlShow","",!0,"Invalid Form Override");return}}else wt(n,t,r,f)},fail:function(n){i.NotificationsAddAjaxError(n)}}),!0;default:return wt(n,t,r,f)}else return wt(n,t,r,f)}function wt(n,r,e,o){var h,a,v,y,p,w,l,c;n.toUpperCase().startsWith("REPORT_")?(r=n.substr(7),n="ReportExecute"):n.toUpperCase()=="REPORT"&&(n="ReportExecute");switch(n.toUpperCase()){case"MAIN_TASKS":return!0}h="";c="";switch(n.toUpperCase()){case"ACCOUNT":case"ACCOUNTS":r.startsWith("{AccountAppCalculation")&&(l="Application Unsaved Account");i.RecordViewShow("Account",r,e,o,null,l);h="Account '"+r+"'";break;case"ACCOUNTAPP":case"ACCOUNTAPPS":i.RecordViewShow("AccountApp",r,e,o);h="Account Application '"+r+"'";break;case"CLIENT":case"CLIENTS":r.startsWith("{AccountAppApplicant")&&(l="Application Unsaved Client");i.RecordViewShow("Client",r,e,o,null,l);h="Client '"+r+"'";break;case"EXTERNALPARTY":case"EXTERNALPARTIES":i.RecordViewShow("ExternalParty",r,e,o);h="External Party '"+r+"'";break;case"POOL":case"POOLS":i.RecordViewShow("Pool",r,e,o);h="Pool '"+r+"'";break;case"SECURITYSTMT":case"SECURITYSTMTS":i.RecordViewShow("SecurityStmt",r,e,o);h="Security Statement '"+r+"'";break;case"WORKFLOW":case"WORKFLOWS":i.RecordViewShow("Workflow",r,e,o);h="Workflow '"+r+"'"}if(h)return t.ModalOpenCount()&&!t.HasMinimisedModal()&&(a="app://FormShow?form="+encodeURI(n)+"&id="+encodeURI(r),i.NotificationsAddHelp(h+" has been opened in the Records view and will be available when you close or minimise modal forms.","",!0,"Record Opened in Background",[{link:a,text:h},{link:a,text:"Open record in a new browser tab",newWindow:!0},])),!0;switch(n.toUpperCase()){case"EXTERNALPARTIESLIST":i.RecordViewShow("ExternalPartiesList",r,e,o,"ExternalParty","External Parties");h="External Parties";break;case"POOLSLIST":i.RecordViewShow("PoolsList",r,e,o,"Pool","Pools");h="Pools";break;case"SETTINGSGLOBAL":i.RecordViewShow("SettingsGlobal",r,e,o,"Settings_Global","Global Settings");h="Global Settings";break;case"SETTINGSUSER":r||(r=$App.UserId());i.RecordViewShow("SettingsUser",r,e,o,"Settings_User",r);h="User Preferences";break;case"SMARTLIST":if(e.parameters&&e.parameters.startsWith("{"))try{r+=JSON.stringify(JSON.parse(e.parameters))}catch(b){console.warn("Error parsing smart list initialisation parameters:\n"+b)}i.RecordViewShow("SmartList",r,e,o,"Table|Filter","Smart List");h="Smart List";break;case"TASKS":if(r)v=r,e&&e.dateAsAt&&(v+="~dateAsAt="+encodeURIComponent(e.dateAsAt)),y=r.indexOf("~"),y!=-1&&(r=r.substr(0,y)),i.RecordViewShow("Tasks",v,e,o,"Task","Tasks ("+r+")","Main_Tasks"),h="Tasks View for '"+r+"'";else return!0;break;case"USERSLIST":i.RecordViewShow("UsersList",r,e,o,"User","Users");h="Users";break;case"USERSEXTENDEDLIST":i.RecordViewShow("UsersExtendedList",r,e,o,"UserResponsibilities","Users & Responsibilities");h="Users & Responsibilities"}if(h)return t.ModalOpenCount()&&i.NotificationsAddHelp(h+" has been opened in the Records view and will be available when you close all modal forms.","",!0,"Record Opened in Background"),!0;switch(n.toUpperCase()){default:if(!t.HasMinimisedModal()){p=t.GetModalByFormKey(n);p&&(p.Close(),i.NotificationsAddWarning("Only one instance of the '"+n+"' form can be displayed at once. The previous instance has been closed."));break}}switch(n.toUpperCase()){case"ABOUT":return i.ViewShow("About",f,e,"About "+bt,"70%","90%","640px","480px","800px","640px"),!0;case"ACCOUNTLOG":return e.id=r?r:"0",e.objectType="Account",s(e,o),i.ViewShow("Log[AccountLog]",f,e,"Account Log","90%","90%",0,400,800,1e3),!0;case"ACCOUNTAPPLOG":return e.id=r?r:"0",e.objectType="AccountApp",s(e,o),i.ViewShow("Log[AccountAppLog]",f,e,"Account Application Log","90%","90%",0,400,800,1e3),!0;case"ACCOUNTSCHEDULE":return i.ViewShow("AccountSchedule",f,e,"Account Schedule","100%","100%",0,400,1024,2e3),!0;case"BANKTRANSACTIONVIEW":return i.UrlStateUpdate("BankTransactionView",{id:e.id}),w=$Ash.ParseUrl("app://HtmlShowFunction?function=BankTransactionSummary&bankTransactionPk="+r+"&title=Bank Transaction View"),w.Parameters.modalOptions={onAfterClose:function(){$App.UrlStateRemove("BankTransactionView")}},$Ash.Execute(w,o),!0;case"CLIENTLOG":return e.id=r?r:"0",e.objectType="Client",s(e,o),i.ViewShow("Log[ClientLog]",f,e,"Client Log","90%","90%",0,400,800,1e3),!0;case"CLIENTCOMPANYLOOKUP":return i.ViewShow("ClientCompanyLookup",f,e,"Company Lookup","90%","90%",0,520,800,1200),!0;case"DOCUMENTCREATE":case"DOCUMENTCREATEACCOUNT":case"DOCUMENTCREATEACCOUNTAPP":case"DOCUMENTCREATECLIENT":case"DOCUMENTCREATECLIENT_ACCOUNTAPP":case"DOCUMENTCREATEUSER":return s(e,o),e.type||(e.type=n.substr(14)),i.ViewShow("DocumentCreate",f,e,"Send Document","90%","90%",400,400,600,640),!0;case"EMAILMESSAGE":return e&&!e.id&&(e.id=r),s(e,o),i.ViewShow("EmailMessage",f,e,"Send Email Message","90%","90%",400,400,600,640),!0;case"EXPRESSIONBUILDER":return e._doNotPersist=!0,l="Expression Builder",e&&e.caption&&(l=e.caption),i.ViewShow("ExpressionBuilder",f,e,l,"90%","90%",0,400,1024,1024),!0;case"HTMLWIDGET_ACCOUNTSCHEDULE":return i.ViewShow("HtmlWidget_AccountSchedule",f,e,"Account Schedule","100%","100%",0,400,1024,2e3),!0;case"INFORMATIONIMPORT":return i.ViewShow("InformationImport",f,e,"Import Information","90%","90%",400,400,600,640),!0;case"MANAGEDEVICES":return u.UseDeviceAuthorisation?i.ViewShow("ManageDevices",f,e,"Manage Devices",640,480):i.NotificationsAddWarning("Cannot show Manage Devices form.","Application is not configured to use Device Authorisation."),!0;case"MANUALPROCESSUPDATESTATUS":return e.id=r,i.ViewShow("ManualProcessUpdateStatus",f,e,"Update Process Status","90%","90%",0,480,480,480,480),!0;case"PAGECUSTOMISE":return e.id=r,i.ViewShow("PageCustomise",f,e,"Customise Page",640,"90%",0,0,0,800),!0;case"PAGECUSTOMISE_PAGEOBJECT":return e._doNotPersist=!0,e.parentModal=o,i.ViewShow("PageCustomise_PageObject",f,e,"Customise Page Item",580,"90%",0,0,0,800),!0;case"RANGELOOKUP":return e._doNotPersist=!0,e.parentModal=o,i.ViewShow("RangeLookup",f,e,e.caption,800,"90%",0,0,0,1200),!0;case"REPORTEXECUTE":return e&&!e.id&&(e.id=r),s(e,o),c="Run Report",e&&e._title&&(c=e._title),i.ViewShow("ReportExecute",f,e,c,"90%","90%",0,0,800,1024),!0;case"REPORTINGMYLISTCUSTOMISE":return r||(r=d),e&&!e.id&&(e.id=r),i.ViewShow("ReportingMyListCustomise",f,e,"Reporting 'My List' ("+r+")",800,"90%",0,0,0,1024),!0;case"REPORTINGMYLISTCUSTOMISE_ITEM":return e._doNotPersist=!0,e.parentModal=o,i.ViewShow("ReportingMyListCustomise_Item",f,e,"Reporting 'My List' Item",800,"90%",0,0,0,1024),!0;case"SCRIPTEXECUTE":return e&&!e.id&&(e.id=r),s(e,o),c="Run Script",e&&e._title&&(c=e._title),i.ViewShow("ScriptExecute",f,e,c,"90%","90%",0,0,800,1024),!0;case"SECURITYSTMTLOG":return e.id=r?r:"0",e.objectType="SecurityStmt",s(e,o),i.ViewShow("Log[SecurityStmtLog]",f,e,"Security Statement Log","90%","90%",0,400,800,1e3),!0;case"SECURITYSTMTITEMLOG":return e.id=r?r:"0",e.objectType="SecurityStmtItem",s(e,o),i.ViewShow("Log[SecurityStmtItemLog]",f,e,"Security Item Log",640,"90%","90%",0,400,800,1e3),!0;case"SERVICELOG":return e.id=r?r:"0",s(e,o),i.ViewShow("ServiceLog",f,e,"Service Log","90%","90%",0,400,1024,800),!0;case"SETTINGSDEVICE":return i.ViewShow("SettingsDevice",f,e,"Device Options",640,480),!0;case"SETTINGSGLOBALEDIT":return r||(r=$App.UserId()),s(e,o),i.ViewShow("SettingsGlobalEdit",f,e,"Global Settings","90%","90%",400,400,1024,800),!0;case"SETTINGSUSEREDIT":return r||(r=$App.UserId()),s(e,o),i.ViewShow("SettingsUserEdit",f,e,"User Preferences","90%","90%",400,400,1024,800),!0;case"SMSMESSAGE":return e&&!e.id&&(e.id=r),s(e,o),i.ViewShow("SmsMessage",f,e,"Send SMS Message","90%","90%",400,400,600,640),!0;case"TASKSMYLISTCUSTOMISE":return r||(r=d),e&&!e.id&&(e.id=r),i.ViewShow("TasksMyListCustomise",f,e,"Tasks 'My List' ("+r+")",800,"90%",0,0,0,1024),!0;case"TASKSMYLISTCUSTOMISE_ITEM":return e._doNotPersist=!0,e.parentModal=o,i.ViewShow("TasksMyListCustomise_Item",f,e,"Tasks 'My List' Item",800,"90%",0,0,0,1024),!0;case"TASKUSERLOOKUP":return e._doNotPersist=!0,e.parentModal=o,i.ViewShow("TaskUserLookup",f,e,"Select User to View Tasks","90%","90%",0,0,1080,0,{closeOnEscape:!0}),!0;case"USER":case"USERS":return s(e,o),i.ViewShow("User",f,e,"User","90%","90%",400,400,1024,800),!0;case"USEREXTENDED":case"USERSEXTENDED":return s(e,o),i.ViewShow("UserExtended",f,e,"User Responsibilities","90%","90%",400,400,1024,800),!0;case"USERLOG":return e.id=r?r:"0",e.objectType="User",s(e,o),i.ViewShow("Log[UserLog]",f,e,"User Log","90%","90%",0,400,800,1e3),!0;case"USERPASSWORDCHANGE":return e.forcePasswordChange&&(e._doNotPersist=!0,e._modalOptions={showClose:!1,allowCloseWithoutWarning:!0}),i.ViewShow("UserPasswordChange",f,e,"Change Password",400,300),!0;case"WORKFLOWITEMACTION":return i.ViewShow("WorkflowItemAction",f,e,"Action Workflow Item","90%","90%",400,400,600,640),!0;case"WORKFLOWNEW":return s(e,o),i.ViewShow("WorkflowNew",f,e,"New Workflow","90%","90%",400,400,600,640),!0;default:return wf(n,e,o)}}function wf(i,r,f){var e,a,y,h,v,s,c,p,l,o;switch(i.toUpperCase()){case"ACCOUNTCREDITLIMIT":i="ACCOUNTCREDITLIMITCHANGE";break;case"ACCOUNTDEFAULTINTEREST":i="ACCOUNTDEFAULTINTERESTCHANGE";break;case"ACCOUNTSTATEMENT":i="ACCOUNTSTATEMENTCHANGE";break;case"ACCOUNTTAXCATEGORY":i="ACCOUNTTAXCATEGORYCHANGE"}if(u){for(a=0;a<u.CustomisableForms.length;a++)if(y=u.CustomisableForms[a],i.toUpperCase()===y.FormKey.toUpperCase()){e=y;break}if(e&&(v="",e.ScriptId?h=e.ScriptId:(h="HtmlWidget:"+e.FormKey,v=e.FormKey,e.HasSystem||(h="")),s={Action:"HtmlWidget",Parameters:n.CreateKeyValueList()},s.Parameters.SetString("id",h),s.Parameters.SetString("formkey",e.FormKey),!0||s.Parameters.SetString("modal","false"),c=n.CreateKeyValueList(),c.AppendFromUrlString(e.ParametersUrl),e.ParametersUrl&&c.AppendFromUrlString(e.ParametersUrl),r&&c.AppendFromJavaScriptObject(r),c.Remove("parentModal"),p=JSON.stringify(c.ToJavaScriptObject()),s.Parameters.SetString("startupParametersJson",p),e.MaxWidth>0&&s.Parameters.SetString("maxWidth",e.MaxWidth),e.MaxHeight>0&&s.Parameters.SetString("maxHeight",e.MaxHeight),h||v))switch(v.toUpperCase()){default:if(h){switch(e.FormKey.toUpperCase()){case"ACCOUNTTRANSACTIONADJUSTMENT":o=n.GetProperty(r,"TransactionPk");o===-1&&(o=-2);l=function(){t.ExecuteNotificationAction("AccountTransactionsRefresh",{accountId:n.GetProperty(r,"AccountId"),pk:o})};break;case"CLIENTCONTACTADDRESS":o=n.GetProperty(r,"ClientContactAddressPk");o===-1&&(o=-2);l=function(){t.ExecuteNotificationAction("CLIENTCONTACTADDRESSESREFRESH",{clientId:n.GetProperty(r,"ClientId"),pk:o})};break;case"CLIENTCONTACTMETHOD":o=n.GetProperty(r,"ClientContactMethodPk");o===-1&&(o=-2);l=function(){t.ExecuteNotificationAction("ClientContactMethodsRefresh",{clientId:n.GetProperty(r,"ClientId"),pk:o})};break;case"CLIENTEMPLOYMENT":o=n.GetProperty(r,"ClientEmploymentPk");o===-1&&(o=-2);l=function(){t.ExecuteNotificationAction("ClientEmploymentsRefresh",{clientId:n.GetProperty(r,"ClientId"),pk:o})}}return $Ash.Execute(s,f,null,{refreshParentCallback:l,customisedForm:e.FormKey,customisedFormParams:r})}return!1}}return!1}function s(t,i){n.IsMobileBrowser()&&screen.width<640||t&&(!i||i&&i.TypeName=="NonModal")&&(t._modalOptions||(t._modalOptions={}),t._modalOptions.allowMinimise=!0,t._modalOptions.parentModal=i)}function bf(n){switch(n.toUpperCase()){case"ADD":if(r.MenuAdd)return r.MenuAdd.MenuItems;break;default:console.warn("GetMenuItemsHandler does not handle menu type '"+n+"'.")}}function kf(n,t){var f,e;switch(t){case"Add":f={captionHtml:"<span class='icon'>&#xE948;<\/span>Add",menuItems:r.MenuAdd.MenuItems,viewNameFull:""};break;case"Bookmarked":f={caption:"Bookmarked",menuItems:null,renderSubItemsId:"",viewNameFull:"views/Menu_Bookmarked",infoElement:null};break;case"QuickOpen":h||(p=$("#navQuickOpen"),h=$("input",p),u.AllowSearchPage?h.attr("placeholder","record ID or search term"):h.attr("placeholder","record ID"),p.click(function(){h.val()&&si()}),h.blur(function(){window.setTimeout(function(){i.RightMenuHide(!0)},200)}),h.click(function(n){n.stopPropagation()}),h.bind("input",function(){h.val()?p.addClass("hasText"):p.removeClass("hasText")}),h.bind("keydown",function(n){switch(n.keyCode){case 13:h.val()&&(p.blur(),si());break;case 27:i.RightMenuHide(!0)}}));h.val("");p.removeClass("hasText");h.focus();f=null;break;case"Recent":f={caption:"Recent",menuItems:null,renderSubItemsId:"",viewNameFull:"views/Menu_Recent",infoElement:null};break;case"User":e=$("<div class='is-menu-info'><p>About "+kt+" "+ht+"<\/p><p>Copyright &copy; "+(new Date).getFullYear()+" Intersoft Systems Limited<\/p><\/div>");e.on("click",function(){$App.FormOpen("About")});f={captionHtml:"<span class='icon'>&#xE13D;<\/span>User",menuItems:r.MenuMain.MenuItems,renderSubItemsId:"User",viewNameFull:"",infoElement:e}}return f}function si(){var n=h.val();$Api.GetDirect($App.WebServicesUrl()+"/UserRecordList/SearchByCode",{code:n},{done:function(t){t.Results.length==0?u.AllowSearchPage?df(n):$App.NotificationsAddInfo("No record was found with a Code or External ID of '"+n+"'.","",!0,"Not Found"):$Ash.ExecuteUrl("app://"+t.Results[0].ApplicationShortcutUrl)},fail:function(n){NotificationsAddAjaxError(n)},always:function(){}})}function df(n){i.MainViewShow("Search","",{});$Ash.ExecuteUrl("app://FormAction?mainView=Search&action=QuickSearch&query="+encodeURIComponent(n))}function gf(n,t,i,r){switch(n){case 0:case"Account":$App.FormOpen("AccountLog",t,i,r);break;case 5:case"AccountApp":$App.FormOpen("AccountAppLog",t,i,r);break;case 1:case"Client":$App.FormOpen("ClientLog",t,i,r);break;case 2:case"SecurityStmt":$App.FormOpen("SecurityStmtLog",t,i,r);break;case 3:case"SecurityStmtItem":$App.FormOpen("SecurityStmtItemLog",t,i,r);break;case 4:case"User":$App.FormOpen("UserLog",t,i,r);break;default:window.alert("$App.FormOpen_Log: Unhandled Log Class '"+n+"'")}}function ne(n){var r={scriptId:n,maxWidth:null,maxHeight:null},t,i;if(n=n.toUpperCase(),u&&u.HtmlWidgetsInfo)for(t=0;t<u.HtmlWidgetsInfo.length;t++)if(i=u.HtmlWidgetsInfo[t],i.Id.toUpperCase()===n){r.maxHeight=i.MH;r.maxWidth=i.MW;break}return r}function hi(n,i,r,u){t.ExecuteNotificationAction("BookmarkAdded",{type:n,id:i,pk:r,description:u})}function ci(n,i,r){t.ExecuteNotificationAction("BookmarkDeleted",{type:n,id:i,pk:r})}function te(n,i,r){t.ExecuteNotificationAction("RecordAdded",{type:n,id:i,pk:r})}function ie(n,r,u,f){t.ExecuteNotificationAction("RecordIdChanged",{type:n,oldId:r,newId:u,pk:f});i.NotifyRecordIdChanged(n,r,u,f)}function re(n,i,r){t.ExecuteNotificationAction("RecordDeleted",{type:n,id:i,pk:r})}function ue(n,i,r){t.ExecuteNotificationAction("RecordUpdated",{type:n,id:i,pk:r})}function fe(n,i,r){t.ExecuteNotificationAction("RecordViewed",{type:n,id:i,pk:r})}function nt(n,i){var r={},u=n.substr(0,1).toLowerCase()+n.substr(1)+"Id";r[u]=i;t.ExecuteNotificationAction(n+"FilesRefresh",r)}function ee(n,i,r,u,f){var e={};e.accountId=n?n:"";e.logPk=i?i:0;e.added=r?!0:!1;e.deleted=u?!0:!1;e.multipleAffected=f?!0:!1;t.ExecuteNotificationAction("AccountLogsRefresh",e)}function oe(n,i,r,u,f){var e={};e.accountAppId=n?n:"";e.logPk=i?i:0;e.added=r?!0:!1;e.deleted=u?!0:!1;e.multipleAffected=f?!0:!1;t.ExecuteNotificationAction("AccountAppLogsRefresh",e)}function se(n,i,r,u,f){var e={};e.clientId=n?n:"";e.logPk=i?i:0;e.added=r?!0:!1;e.deleted=u?!0:!1;e.multipleAffected=f?!0:!1;t.ExecuteNotificationAction("ClientLogsRefresh",e)}function he(n,i,r,u,f){var e={};e.securityStmtId=n?n:"";e.logPk=i?i:0;e.added=r?!0:!1;e.deleted=u?!0:!1;e.multipleAffected=f?!0:!1;t.ExecuteNotificationAction("SecurityStmtLogsRefresh",e)}function ce(n,i,r,u,f){var e={};e.userId=n?n:"";e.logPk=i?i:0;e.added=r?!0:!1;e.deleted=u?!0:!1;e.multipleAffected=f?!0:!1;t.ExecuteNotificationAction("UserLogsRefresh",e)}function le(n,i,r,u){t.ExecuteNotificationAction("AccountRefresh",{accountId:n,accountPk:i,added:r,deleted:u})}function ae(n,i,r,u){t.ExecuteNotificationAction("AccountAppRefresh",{accountAppId:n,accountAppPk:i,added:r,deleted:u})}function ve(n,i,r,u){t.ExecuteNotificationAction("WorkflowRefresh",{workflowId:n,workflowPk:i,added:r,deleted:u})}function ye(n){u.AllowProcessesPage&&t.ExecuteNotificationAction("ProcessesRefresh",{immediate:n})}function pe(n,i,r,u,f,e){var o={};o.accountId=n?n:"";o.workflowId=i?i:"";o.workflowPk=r?i:0;o.added=u?!0:!1;o.deleted=f?!0:!1;o.multipleAffected=e?!0:!1;t.ExecuteNotificationAction("AccountWorkflowsRefresh",o)}function we(n,i,r,u,f,e){var o={};o.accountAppId=n?n:"";o.workflowId=i?i:"";o.workflowPk=r?i:0;o.added=u?!0:!1;o.deleted=f?!0:!1;o.multipleAffected=e?!0:!1;t.ExecuteNotificationAction("AccountAppWorkflowsRefresh",o)}function be(n,i,r,u,f,e){var o={};o.clientId=n?n:"";o.workflowId=i?i:"";o.workflowPk=r?i:0;o.added=u?!0:!1;o.deleted=f?!0:!1;o.multipleAffected=e?!0:!1;t.ExecuteNotificationAction("ClientWorkflowsRefresh",o)}function ke(n){var i={};i.pageId=n;t.ExecuteNotificationAction("CustomPageRefresh",i)}function de(n,i){var r={};r.userId=n;r.fullRefresh=i;t.ExecuteNotificationAction("TasksMyListRefresh",r)}function ge(n,i){var r={};r.userId=n;r.fullRefresh=i;t.ExecuteNotificationAction("ReportingMyListRefresh",r)}function no(){return tt}function to(n){if(!ri()){var t=n.FormHeaderInfo();n.Bookmarked(!n.Bookmarked());n.Bookmarked()?li(t.RecordType,t.Pk,t.Code,t.Description):ai(t.RecordType,t.Pk)}}function li(n,t,r,u){$Api.GetDirect($App.WebServicesUrl()+"/UserRecordList/BookmarkedRecordsListAdd",{recordType:n,pk:t,id:r,description:u},{done:function(){yi(n,t,!0);hi(n,r,t,u)},fail:function(n){i.NotificationsAddAjaxError(n)}})}function ai(n,t){$Api.GetDirect($App.WebServicesUrl()+"/UserRecordList/BookmarkedRecordsListRemove",{recordType:n,pk:t},{done:function(){yi(n,t,!1);ci(n,"",t)},fail:function(n){i.NotificationsAddAjaxError(n)}})}function io(n,t){n=n.toUpperCase();ut[n]?t(ut[n]):$Api.GetDirect($App.WebServicesUrl()+"/InformationList/GetListEx",{informationListId:n},{done:function(i){ut[n]=i;t(ut[n])},fail:function(n){i.NotificationsAddAjaxError(n);t(null)}})}function ro(n,t){var r=$.extend({},{type:"",id:"",title:"Email Details"},n);if(t)if(r.type){if(!r.id){window.alert("'id' option (e.g., L10000) must supplied to $App.GetEmailDetails method.");return}}else{window.alert("'type' option (e.g., Account) must be supplied to $App.GetEmailDetails method.");return}else{window.alert("No callback is supplied to $App.GetEmailDetails method.");return}r.dataEntryMode=!0;r.dataEntryModeCallback=t;r._doNotPersist=!0;i.ViewShow("EmailMessage",f,r,r.title,"90%","90%",400,400,600,640)}function vi(i,r,u,f,e){if(!ct){var o="dm"+n.CreateGuid(!0),s=$("<div id='"+o+"' style='display:none'><\/div>");$("body").append(s);ct=t.DocumentManager(o,{})}ct.DownloadAdHocFile(i,r,u,f,e)}function uo(n,t){vi("_ReportingProcessItem",n,0,t,!1)}function fo(t,i){var r=$App.WebServicesUrl()+"/ISSystem/DownloadGridData";w?($("#format",w).val(t),$("#gridData",w).val(JSON.stringify(i))):(w=$("<form id='frmDownload' method='post' target='_blank' action='"+r+"' style='position:absolute;top:0;display:none;'><input name='format' id='format' type='text' value='"+n.HtmlEncode(t)+"'/><textarea name='gridData' id='gridData'>"+n.HtmlEncode(JSON.stringify(i))+"<\/textarea><\/form>"),$("body").append(w));w.submit()}function eo(n){var t="app://Report?rerun="+btoa(JSON.stringify(n)),i;return t=encodeURIComponent(t),t=encodeURIComponent(t),i=document.location.origin+document.location.pathname,i+("?run?1="+t)}function oo(r,u,f,e){u||(u={});u.ReportId=r;var o=tt+"/ISReporting/RunReport";$Api.PostDirect(o,{},u,{done:function(n){f&&f(n);i.NotificationsAddInfo(n.Name+" started.","",!0,"Report Started",[{text:"View progress",link:"app://WebUI?view=Reporting&page=Download&processId="+n.ProcessId}]);t.ExecuteNotificationAction("DownloadsRefresh",n)},fail:function(i){e?e(n.ParseAjaxError(i)):t.ShowAjaxError(i)}})}function so(n){n?$("body").removeClass("is-side-bar-hidden"):$("body").addClass("is-side-bar-hidden")}function ho(n,t,r){r||(r={});t&&!r.page&&(r.page=t);switch(n.toUpperCase()){case"HOME":i.MainViewShow("Home","",r);break;case"PROCESSES":u&&u.AllowProcessesPage?i.MainViewShow("Processes","",r):i.NotificationsAddWarning("You do not have permission to show the Processes view.");break;case"RECORDS":i.MainViewShow("Records","",r);break;case"REPORTING":u&&u.AllowReportingPage?i.MainViewShow("Reporting","",r):i.NotificationsAddWarning("You do not have permission to show the Reporting view.");break;case"SEARCH":u&&u.AllowSearchPage?i.MainViewShow("Search","",r):i.NotificationsAddWarning("You do not have permission to show the Search view.");break;case"TASKS":u&&u.AllowTasksPage?i.MainViewShow("Tasks","",r):i.NotificationsAddWarning("You do not have permission to show the Tasks view.");break;default:window.alert("$App.ViewShow: Unhandled view '"+n+"'.")}}function co(n){$Ash.ExecuteUrl("app://WebUI?view=Reporting&page=Download&processId="+n)}function yi(n,i,r){t.NotifyBookmarkedStateChanged(n,i,r)}function lo(n){var t="";switch(n){case 1:case"Low":t="orange";break;case 5:case"Medium":t="yellow";break;case 10:case"High":t="red";break;case 99:case"Critical":t="#C00000"}return t?"<div class='is-colour-block' style='background-color:"+t+"'><\/div>":""}function ao(n){if(vt){n();return}if(rt){var t=setInterval(function(){rt||(clearInterval(t),n())},500);return}rt=!0;$Api.GetDirect($App.WebServicesUrl()+"/User/GetList",{columns:"UserId,Name,Active,IsAccountAuthoriser"},{done:function(n){vt=n},fail:function(n){i.NotificationsAddAjaxError(n)},always:function(){n();rt=!1}})}function pi(t){if(u){$(t).off("mouseup","a[href^='app:'],a[href^='APP:']");$(t).on("mouseup","a[href^='app:'],a[href^='APP:']",function(t){var i,o,r,u,s,f,e;if(t.button==2)return i=$(this),o=i.attr("href").toUpperCase(),o.startsWith("APP://FORMSHOW?")&&($.contains(document.body,i[0])?(r=n.MouseX(),u=n.MouseY()):(s=i[0].ownerDocument.parentWindow||i[0].ownerDocument.defaultView,f=$(i[0]).offset(),r=f.left,u=f.top,t=$(s.frameElement).parent(),e=t.offset(),r+=e.left,u+=e.top),ei(i,r,u),window.__noContextMenu=!0),!1});$(t).on("contextmenu",function(n){return window.__noContextMenu&&window.__noContextMenu==!0?(window.__noContextMenu=!1,n.preventDefault(),!1):!0})}}function vo(n,t,i,r){var u;switch(n){case"AccountSchedule":u={_doNotPersist:!0,htmlWidgetOptions:t,htmlWidgetDoneCallback:i,htmlWidgetFailCallback:r};$App.FormOpen("HtmlWidget_AccountSchedule","",u);break;case"CompanyLookup":u={_doNotPersist:!0,htmlWidgetOptions:t,htmlWidgetDoneCallback:i,htmlWidgetFailCallback:r};$App.FormOpen("ClientCompanyLookup","",u);break;case"HtmlWidget":if(t){var f=t.id,e=t.startupParametersJson||"",o=t.__modal,s="app://HtmlWidget?id="+f+"&startupParametersJson="+encodeURIComponent(e);$Ash.ExecuteUrl(s,o)}break;case"RangeLookup":if(u={_doNotPersist:!0,htmlWidgetDoneCallback:i,htmlWidgetFailCallback:r},t){u.caption=t.caption;u.rangeText=t.value;u.rangeType=t.rangeType;u.sqlWhere=t.sqlWhere;switch(t.rangeType){case"Standard":u.rangeSource=t.rangeName}}$App.FormOpen("RangeLookup","",u);break;default:r?r("Unhandled Form '"+n+"."):console.warn("Unhandled Form '"+n+".")}}function yo(t,r,u,f){r||(r={});var e=$App.WebServicesUrl()+"/HtmlWidget/SystemGetString";$Api.PostDirect(e,{eventId:t,hostingContext:"WebInternal",target:"WebInternal",highDpi:n.IsHighDpi()},r,{done:function(n,t,i){switch(i.status){case 200:u&&u(""+n);break;default:f&&f(""+n)}},fail:function(t){var r=n.GetWsError(t);f?f(r.Message+"\n\n"+r.InternalMessage):i.NotificationsAddError(r.Message,r.InternalMessage,!0,"Error")}})}var wi=!1,bt="finPOWER Connect",kt="finPOWER Connect Cloud",f="",c="",bi="Login",ki=["ACCOUNT","ACCOUNTAPP","CLIENT","EXTERNALPARTY","POOL","SECURITYSTMT","WORKFLOW"],b="User",di={},ft="",dt=!1,et=!1,ot=!1,k=!1,gt=!1,st=!1,d="",ht="",tt="",ni=0,r=null,u=null,ct=null,w=null,l=null,it=null,ti=i.Actions,lt=new Date,at=new Date,p,h,a=null,v=null,y=null,o=null,vt=null,rt=!1,ut={};return{AppTitle:i.AppTitle,AppTitleFull:i.AppTitleFull,Version:i.Version,Initialise:gi,Actions:ti,FormOpen:i.FormOpen,FormOpen_Log:gf,MainViewShow:i.MainViewShow,RecordViewShowHtml:i.RecordViewShowHtml,RecordViewShowHtmlWidget:i.RecordViewShowHtmlWidget,ShowRecordViewInNewBrowserWindow:i.ShowRecordViewInNewBrowserWindow,RunAppShortcutInNewBrowserWindow:i.RunAppShortcutInNewBrowserWindow,GetAppShortcutForNewBrowserWindow:i.GetAppShortcutForNewBrowserWindow,GetHtmlWidgetInfo:ne,ExecuteMenuItem:i.ExecuteMenuItem,UpdateMainViewBulletText:i.UpdateMainViewBulletText,Runtime:n,UI:t,WebServicesUrl:no,WidgetOptions:rf,WidgetRequestForm:vo,AddOnsAccountApplication:dr,AddOnsBranch:gr,AddOnsClientAdvanced:nu,AddOnsCreditEnquiry:tu,AddOnsCreditEnquiryFull:ii,AddOnsDepositAccount:iu,AddOnsDisbursements:ru,AddOnsEntity:uu,AddOnsExternalParty:fu,AddOnsExternalPartyAdvanced:eu,AddOnsExternalPartyCommissions:ou,AddOnsExternalUsers:su,AddOnsLoanAny:hu,AddOnsPromotions:cu,AddOnsSecuritisation:lu,AddOnsSecurityEnquiry_MotorWeb:au,AddOnsSecurityRegister:vu,AddOnsSecurityRegisterPPSR:yu,AddOnsSms:pu,AddOnsWorkflow:wu,CountryCode:yt,CustomisedFormExists:lr,IsAvailableDocumentManager:ku,IsAvailableDocumentManagerUpload:du,IsAvailableEmailUnattended:gu,IsAvailableSms:nf,IsIntersoftDemo:bu,AllowReportingPage:function(){return u.AllowReportingPage},AllowSearchPage:function(){return u.AllowSearchPage},AllowTasksPage:function(){return u.AllowTasksPage},MessageHandlerPort:function(){return u.MessageHandlerPort},BookmarkToggleFormHeader:to,BookmarkAdd:li,BookmarkRemove:ai,GetInformationList:io,GetEmailDetails:ro,NormaliseHtmlPreview:i.NormaliseHtmlPreview,DocumentManagerDownloadFile:vi,OpenLinkInConnect:ei,OpenRecordInConnect:cf,HandleDocumentCustom:pi,RunReport:oo,ReportingDownloadFile:uo,CreateReportRerunUrl:eo,DownloadExportedGridData:fo,GetMainView:i.GetMainView,ViewReportingDownloads:co,ViewShow:ho,SideBarVisible:so,NotificationsAddAdHoc:i.NotificationsAddAdHoc,NotificationsAddError:i.NotificationsAddError,NotificationsAddAjaxError:i.NotificationsAddAjaxError,NotificationsAddHelp:i.NotificationsAddHelp,NotificationsAddInfo:i.NotificationsAddInfo,NotificationsAddSuccess:i.NotificationsAddSuccess,NotificationsAddTask:i.NotificationsAddTask,NotificationsAddWarning:i.NotificationsAddWarning,NotificationsClear:i.NotificationsClear,NotificationsRemove:i.NotificationsRemove,NotifyBookmarkAdded:hi,NotifyBookmarkDeleted:ci,NotifyRecordAdded:te,NotifyRecordDeleted:re,NotifyRecordIdChanged:ie,NotifyRecordUpdated:ue,NotifyRecordViewed:fe,NotifyAccountFilesRefresh:function(n){nt("Account",n)},NotifyAccountAppFilesRefresh:function(n){nt("AccountApp",n)},NotifyClientFilesRefresh:function(n){nt("Client",n)},NotifySecurityStmtFilesRefresh:function(n){nt("SecurityStmt",n)},NotifyUserFilesRefresh:function(n){nt("User",n)},NotifyAccountLogsRefresh:ee,NotifyAccountAppLogsRefresh:oe,NotifyClientLogsRefresh:se,NotifySecurityStmtLogsRefresh:he,NotifyUserLogsRefresh:ce,NotifyAccountWorkflowsRefresh:pe,NotifyAccountAppWorkflowsRefresh:we,NotifyClientWorkflowsRefresh:be,NotifyCustomPageRefresh:ke,NotifyReportingMyListRefresh:ge,NotifyTasksMyListRefresh:de,NotifyAccountRefresh:le,NotifyAccountAppRefresh:ae,NotifyWorkflowRefresh:ve,NotifyProcessesRefresh:ye,SessionRecentListExists:i.SessionRecentListExists,DatabaseIsReadOnly:ri,PermissionsAllow:tf,TimeZoneId:uf,TimeZoneUse:ff,UserId:yr,UserLevel:pr,UserName:wr,IsExternalUser:br,ExternalPartyPk:kr,WarningLevel_GetHtmlIcon:lo,IsAuthenticated:vr,IsWebServicesVersion:ar,ForgetDevice:ef,SettingsDevice:ui,DeviceId:of,DeviceTimestamp:sf,DeviceTimestampUpdate:hf,Elements:function(){return a},LogSeverities:function(){return v},MonitorCategories:function(){return y},TimeZones:function(){return o},Users:function(){return vt},UsersLoad:ao,GraphicsInfo:function(){return ft},IsApp:function(){return dt},IsApp_Android:function(){return et},IsApp_iOS:function(){return ot},IsPWA:function(){return gt},Is_iOS:function(){return st},Notifications:i.Notifications,SessionKeepAlive:g,TasksCaption:function(){return u.TasksCaption},UrlStateGetActionParamter:i.UrlStateGetActionParamter,UrlStateRemove:i.UrlStateRemove,UrlStateUpdate:i.UrlStateUpdate,WidgetRegisterInput:cr,WidgetNotifyBusy:hr,HtmlWidget_SystemGetString:yo,ForceOpenLinksPreview:function(){return l.ForceOpenLinksPreview},CanPreviewRecordType:fi,PreviewRecordTabHide:i.PreviewRecordTabHide}}($Runtime,$UI,$App_SpaDesktop);console.log("  $App: "+typeof $App);console.log("    .Runtime: "+typeof $App.Runtime);console.log("    .UI: "+typeof $App.UI);console.log("Loading lib/app_global.js");__APPExtGlobal=function(n){function h(t,i){var r=$Runtime.GetProperty(t,"AccountAppId");return r?($UI.SelectFlagColour(u,{},function(t){i?i.WaitShow("Updating Flag Colour for Account Application '"+r+"', Please Wait..."):$UI.WaitShow("Updating Flag Colour for Account Application '"+r+"', Please Wait...");$Api.GetDirect(n.WebServicesUrl()+"ISObjectAccountApp/AccountAppFlagColourSet",{accountAppId:r,flagColour:t},{done:function(){$App_SpaDesktop.NotificationsAddSuccess("Flag Colour for Account Application '"+r+"' was updated.","",!1);n.NotifyAccountAppRefresh(r)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}})}),!0):($App_SpaDesktop.NotificationsAddError("Cannot set Account Application Flag Colour. No Account App Id was specified."),!0)}function r(t,i,r){var u=$Runtime.GetProperty(t,"AccountAppId");return u?(i?i.WaitShow("Performing status change action for Account Application '"+u+"', Please Wait..."):$UI.WaitShow("Performing status change action for Account Application '"+u+"', Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectAccountApp/AccountAppStatusUpdate",{accountAppId:u,status:r},{done:function(){$App_SpaDesktop.NotificationsAddSuccess("Account Application status action for '"+u+"' performed.","",!1);n.NotifyAccountAppRefresh(u)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0):($App_SpaDesktop.NotificationsAddError("Cannot perform Account Application action. No Account Application Id was specified."),!0)}function i(t,i,r,u){var f=$Runtime.GetProperty(t,"accountId");return f?(i?i.WaitShow("Performing action '"+r+"' for Account '"+f+"', Please Wait..."):$UI.WaitShow("Performing action '"+r+"' for Account '"+f+"', Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectAccount/Account"+r,{accountId:f},{done:function(){$App_SpaDesktop.NotificationsAddSuccess("Account action '"+r+"' for '"+f+"' performed.","",!1);u&&n.NotifyAccountRefresh(f)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0):($App_SpaDesktop.NotificationsAddError("Cannot perform Account action. No Account Id was specified."),!0)}function c(t,i){var r=$Runtime.GetProperty(t,"WorkflowId");return r?($UI.SelectFlagColour(u,{},function(t){i?i.WaitShow("Updating Flag Colour for Workflow '"+r+"', Please Wait..."):$UI.WaitShow("Updating Flag Colour for Workflow '"+r+"', Please Wait...");$Api.GetDirect(n.WebServicesUrl()+"ISObjectWorkflow/WorkflowFlagColourSet",{workflowId:r,flagColour:t},{done:function(){$App_SpaDesktop.NotificationsAddSuccess("Flag Colour for Workflow '"+r+"' was updated.","",!1);n.NotifyWorkflowRefresh(r)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}})}),!0):($App_SpaDesktop.NotificationsAddError("Cannot set Workflow Flag Colour. No Workflow Id was specified."),!0)}function t(t,i,r,u){var f=$Runtime.GetProperty(t,"WorkflowId");return f?(i?i.WaitShow("Performing action '"+r+"' for Workflow '"+f+"', Please Wait..."):$UI.WaitShow("Performing action '"+r+"' for Workflow '"+f+"', Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectWorkflow/Workflow"+r,{workflowId:f},{done:function(){$App_SpaDesktop.NotificationsAddSuccess("Workflow action '"+r+"' for '"+f+"' performed.","",!1);u&&n.NotifyWorkflowRefresh(f)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0):($App_SpaDesktop.NotificationsAddError("Cannot perform Workflow action. No Workflow Id was specified."),!0)}function f(t,i,r){var u=$Runtime.GetProperty(t,"Workflow"),f=$Runtime.GetProperty(t,"ItemPk");if(u){if(!f)return $App_SpaDesktop.NotificationsAddError("Cannot perform Workflow Item action. No Workflow Item Pk was specified."),!0}else return $App_SpaDesktop.NotificationsAddError("Cannot perform Workflow Item action. No Workflow primary key was specified."),!0;return i?i.WaitShow("Performing action '"+r+"' for Workflow Item, Please Wait..."):$UI.WaitShow("Performing action '"+r+"' for Workflow Item, Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectWorkflow/WorkflowItem"+r,{workflowPk:u,workflowItemPk:f},{done:function(t){n.NotifyWorkflowRefresh(t)},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0}function e(t,i,r,u){var f=$Runtime.GetProperty(t,"Workflow"),e=$Runtime.GetProperty(t,"ItemPk");if(f){if(!e)return $App_SpaDesktop.NotificationsAddError("Cannot perform Workflow Item action. No Workflow Item Pk was specified."),!0}else return $App_SpaDesktop.NotificationsAddError("Cannot perform Workflow Item action. No Workflow primary key was specified."),!0;return i?i.WaitShow("Actioning Workflow Item, Please Wait..."):$UI.WaitShow("Actioning Workflow Item, Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectWorkflow/WorkflowItemAction",{workflowPk:f,workflowItemPk:e,forceAction:r,statusNotes:u},{done:function(r){r&&r.Actioned?(r.WorkflowId&&n.NotifyWorkflowRefresh(r.WorkflowId),r.ApplicationShortcutUrl&&$Ash.ExecuteUrl(r.ApplicationShortcutUrl,i,null,null,{})):r.StatusNotesEntryMethod?o(t,r,i,f,e):r.ApplicationShortcutUrl?$Ash.ExecuteUrl(r.ApplicationShortcutUrl,i,null,null,{}):window.alert("Response not handled: "+JSON.stringify(r))},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0}function o(t,i,r,u,f,o){switch(i.StatusNotesEntryMethod){case"NoneUserMustConfirmAction":var c={},h="Please confirm that you want to action this Workflow Item.";i.HelpNotesHtml&&(h=i.HelpNotesHtml,c.html=!0);o&&(h+="\n\nOutcome will be set to '"+o+"'.");o?$UI.MsgBoxConfirm(h,c,function(){s(t,r,o,!0,"")}):$UI.MsgBoxConfirm(h,c,function(){e(t,r,!0,"")});break;case"TextNotes":case"ParametersUserDefinedWorkflow":case"ParametersUserDefinedWorkflowItem":n.FormOpen("WorkflowItemAction",0,{workflowStatusNotesEntryDetails:i,workflowPk:u,workflowItemPk:f,outcome:o},r);break;default:window.alert("Status Notes Entry Method '"+i.StatusNotesEntryMethod+"' not handled.")}}function s(t,i,r,u,f){var r=$Runtime.GetProperty(t,"Outcome"),e=$Runtime.GetProperty(t,"Workflow"),s=$Runtime.GetProperty(t,"ItemPk");if(e)if(s){if(!r)return $App_SpaDesktop.NotificationsAddError("Cannot set Workflow Item outcome. No Outcome was specified."),!0}else return $App_SpaDesktop.NotificationsAddError("Cannot set Workflow Item outcome. No Workflow Item Pk was specified."),!0;else return $App_SpaDesktop.NotificationsAddError("Cannot set Workflow Item outcome. No Workflow primary key was specified."),!0;return i?i.WaitShow("Setting Workflow Item Outcome, Please Wait..."):$UI.WaitShow("Setting Workflow Item Outcome, Please Wait..."),$Api.GetDirect(n.WebServicesUrl()+"ISObjectWorkflow/WorkflowItemSetOutcome",{workflowPk:e,workflowItemPk:s,outcome:r,forceAction:u,statusNotes:f},{done:function(u){u&&u.Actioned?(u.WorkflowId&&n.NotifyWorkflowRefresh(u.WorkflowId),u.ApplicationShortcutUrl&&$Ash.ExecuteUrl(u.ApplicationShortcutUrl,i,null,null,{})):u.StatusNotesEntryMethod?o(t,u,i,e,s,r):u.ApplicationShortcutUrl?$Ash.ExecuteUrl(u.ApplicationShortcutUrl,i,null,null,{}):window.alert("Response not handled: "+JSON.stringify(u))},fail:function(n){$UI.ShowAjaxError(n,i)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0}var u="Black,Blue,Green,Cyan,Red,Magenta,Yellow,White,Gray,LightBlue,LightGreen,LightCyan,Pink,Plum,LightYellow,Orange";n.ExecuteGlobalFormAction=function(u,o,l){var v,a;switch(u.toUpperCase()){case"ACCOUNTAPPFLAGCOLOURSET":return h(o,l),!0;case"ACCOUNTAPPMONITORCATEGORYCLEARA":case"ACCOUNTAPPMONITORCATEGORYCLEARB":case"ACCOUNTAPPMONITORCATEGORYCLEARC":if($Runtime.GetProperty(o,"accountAppId"))a=u.slice(-1),n.FormOpen("AccountAppMonitorCategoryChange",0,{accountAppId:$Runtime.GetProperty(o,"accountAppId"),accountMonitorCategory:a,clear:!0},l);else return!1;return!0;case"ACCOUNTAPPMONITORCATEGORYUPDATEA":case"ACCOUNTAPPMONITORCATEGORYUPDATEB":case"ACCOUNTAPPMONITORCATEGORYUPDATEC":if($Runtime.GetProperty(o,"accountAppId"))a=u.slice(-1),n.FormOpen("AccountAppMonitorCategoryChange",0,{accountAppId:$Runtime.GetProperty(o,"accountAppId"),accountMonitorCategory:a},l);else return!1;return!0;case"ACCOUNTAPPSTATUSCLOSEDTOOPEN":return r(o,l,"ClosedToOpen"),!0;case"ACCOUNTAPPSTATUSTOCOMPLETE":return r(o,l,"Complete"),!0;case"ACCOUNTAPPSTATUSTOINCOMPLETE":return r(o,l,"Incomplete"),!0;case"ACCOUNTAPPSTATUSTOREVIEWING":return r(o,l,"Reviewing"),!0;case"ACCOUNTCONFIRMQUOTATIONCREDITENQUIRIES":if($Runtime.GetProperty(o,"accountId"))$UI.MsgBoxConfirm("Are you sure you want to confirm Quotation Credit Enquiries for Account '"+$Runtime.GetProperty(o,"accountId")+"'?",{heading:"Confirm Quotation Credit Enquiries"},function(){i({accountId:$Runtime.GetProperty(o,"accountId")},l,"ConfirmQuotationCreditEnquiries",!0)});else return!1;return!0;case"ACCOUNTDATEEDIT":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountDateChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"ACCOUNTPAYMENT":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountPayment",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"ACCOUNTREFINANCE":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountRefinance",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"ACCOUNTSTATUSARCHIVE":if($Runtime.GetProperty(o,"accountId"))$UI.MsgBoxConfirm("WARNING: The Account will be archived and then deleted.\n\nLimited information will be archived and the Archive will be viewable from its Clients.\n\nContinue and archive Account '"+$Runtime.GetProperty(o,"accountId")+"'?",{heading:"Archive Account"},function(){i({accountId:$Runtime.GetProperty(o,"accountId")},l,"StatusArchive",!0)});else return!1;return!0;case"ACCOUNTSTATUSCLOSEDPENDINGTOCLOSED":if($Runtime.GetProperty(o,"accountId"))$UI.MsgBoxConfirm("Finalise Close for Account '"+$Runtime.GetProperty(o,"accountId")+"'?",{heading:"Finalise Close"},function(){i({accountId:$Runtime.GetProperty(o,"accountId")},l,"StatusClosedPendingToClosed",!0)});else return!1;return!0;case"ACCOUNTSTATUSCLOSEDTOOPEN":case"ACCOUNTSTATUSCLOSEDPENDINGTOOPEN":if($Runtime.GetProperty(o,"accountId"))$UI.MsgBoxConfirm("Reopen Account '"+$Runtime.GetProperty(o,"accountId")+"'?",{heading:"Reopen Account"},function(){i({accountId:$Runtime.GetProperty(o,"accountId")},l,"StatusClosedToOpen",!0)});else return!1;return!0;case"ACCOUNTSTATUSRESETTOQUOTE":if($Runtime.GetProperty(o,"accountId"))$UI.MsgBoxConfirm("Reset Account '"+$Runtime.GetProperty(o,"accountId")+"' Status back to 'Quote'?",{heading:"Reset to Quote"},function(){i({accountId:$Runtime.GetProperty(o,"accountId")},l,"StatusResetToQuote",!0)});else return!1;return!0;case"ACCOUNTTRANSACTION":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountTransaction",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"ACCOUNTTRANSFER":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountTransfer",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"BALANCEADJUSTMENT":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountBalanceAdjustment",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"CREDITLIMITREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountCreditLimit",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"DEFAULTINTERESTREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountDefaultInterest",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"DIRECTDEBITSTOP":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountDirectDebitStop",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INTERESTADJUSTMENT":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInterestAdjustment",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INTERESTCYCLEREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInterestCycleChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INTERESTPAYTYPEREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInterestPaymentTypeChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INTERESTRATEREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInterestRateChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INTERESTINSTRUCTIONREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInterestInstructionChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"INVESTMENTVALUECHANGE":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountInvestmentValueChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"MATURITYDATEREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountMaturityDateChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"MATURITYINSTRUCTIONREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountMaturityInstructionChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"MINIMUMPAYMENTREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountMinimumPaymentChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"MONITORCATEGORYCLEARA":case"MONITORCATEGORYCLEARB":case"MONITORCATEGORYCLEARC":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),n.FormOpen("AccountMonitorCategoryChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),accountMonitorCategory:a,clear:!0},l);else return!1;return!0;case"MONITORCATEGORYUPDATEA":case"MONITORCATEGORYUPDATEB":case"MONITORCATEGORYUPDATEC":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),n.FormOpen("AccountMonitorCategoryChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),accountMonitorCategory:a},l);else return!1;return!0;case"OTHERINTERESTRATEREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountOtherInterestChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"PAYMENTARRANGEMENTADD":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountPaymentArrangementAdd",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"PAYMENTPROMISEADD":if($Runtime.GetProperty(o,"accountId"))v="AccountPaymentArrangementAdd",n.CustomisedFormExists("AccountPaymentPromise")&&(v="AccountPaymentPromise"),n.FormOpen(v,0,{accountId:$Runtime.GetProperty(o,"accountId"),promise:!0},l);else return!1;return!0;case"PAYMENTDETAILSINCOMINGEDIT":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),n.FormOpen("AccountPaymentDetailsChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),bankingDetailsType:"Incoming"},l);else return!1;return!0;case"PAYMENTDETAILSINTERESTEDIT":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),$Runtime.GetProperty(o,"isDeposit")?n.FormOpen("AccountInterestPaymentTypeChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l):n.FormOpen("AccountPaymentDetailsChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),bankingDetailsType:"Interest"},l);else return!1;return!0;case"PAYMENTDETAILSOUTGOINGEDIT":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),n.FormOpen("AccountPaymentDetailsChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),bankingDetailsType:"Outgoing"},l);else return!1;return!0;case"PAYMENTDETAILSMATURITYEDIT":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),$Runtime.GetProperty(o,"isDeposit")?n.FormOpen("AccountMaturityInstructionChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l):n.FormOpen("AccountPaymentDetailsChange",0,{accountId:$Runtime.GetProperty(o,"accountId"),bankingDetailsType:"Maturity"},l);else return!1;return!0;case"PENDINGWITHDRAWALREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountPendingWithdrawal",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"STATEMENTREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountStatement",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"SUSPENSIONCLEAR":if($Runtime.GetProperty(o,"accountId"))a=u.slice(-1),n.FormOpen("AccountSuspensionDetails",0,{accountId:$Runtime.GetProperty(o,"accountId"),clear:!0},l);else return!1;return!0;case"SUSPENSIONEDIT":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountSuspensionDetails",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"TAXCATEGORYREVIEW":if($Runtime.GetProperty(o,"accountId"))n.FormOpen("AccountTaxCategoryChange",0,{accountId:$Runtime.GetProperty(o,"accountId")},l);else return!1;return!0;case"WORKFLOWFLAGCOLOURSET":return c(o,l),!0;case"WORKFLOWHOLD":return t(o,l,"Hold",!0),!0;case"WORKFLOWUNHOLD":return t(o,l,"Unhold",!0),!0;case"WORKFLOWRECALLIMMEDIATE":return t(o,l,"RecallImmediate",!0),!0;case"WORKFLOWRECALLIMMEDIATECLEAR":return t(o,l,"RecallImmediateClear",!0),!0;case"WORKFLOWREOPEN":return t(o,l,"Reopen",!0),!0;case"WORKFLOWPROCESS":return t(o,l,"Process",!0),!0;case"WORKFLOWITEMACTION":return e(o,l),!0;case"WORKFLOWITEMSETOUTCOME":return s(o,l),!0;case"WORKFLOWITEMRESET":return f(o,l,"Reset",!0),!0;case"WORKFLOWITEMTOGGLENOTAPPLICABLE":return f(o,l,"ToggleNotApplicable",!0),!0}return!1}}($App||{});console.log("  $App (global extension)");console.log("Loading app/ash.js");$Ash=function(n){function v(){console.log("ash.Initialise - Begin");o($(document),!1,!1);console.log("ash.Initialise - End")}function o(t,i,r){if(console.log("ash.HandleDocument - Begin"),!t._ashHandled){if(i&&r==!0){t.off("click","a[href^='app:'],a[href^='APP:']");t.on("click","a[href^='app:'],a[href^='APP:']",function(){var n=$(this);return s(n.attr("href")+"",n)});t.off("mousedown keydown");t.on("mousedown keydown",n.WidgetRegisterInput)}else if(i){$("a[href^='app:'],a[href^='APP:']",t).on("click",function(){var n=$(this);return s(n.attr("href")+"",n)});t.off("mousedown keydown");t.on("mousedown keydown",n.WidgetRegisterInput)}else t.on("click","a[href^='app:'],a[href^='APP:']",function(){return s($(this).attr("href")+"",$(this))});t._ashHandled=!0;n&&n.HandleDocumentCustom&&n.HandleDocumentCustom(t,i,r);console.log("ash.HandleDocument - End")}}function s(t,r){var s="",c,l,e,o,a,v;return t.substr(0,4).toUpperCase()!="APP:"?!0:(c=null,r&&($.contains(document.body,r[0])?(s=window._longAppShortcut,u=i.MouseX(),f=i.MouseY()):(l=r[0].ownerDocument.parentWindow||r[0].ownerDocument.defaultView,e=$(r[0]).offset(),e?(u=e.left,f=e.top):(u=i.MouseX(),f=i.MouseY()),r=$(l.frameElement).parent(),s=l._longAppShortcut,o=r.offset(),o&&(u+=o.left,f+=o.top)),a=r.closest(".is-modal,.is-nonmodal"),a.length!=0&&(v=$(a[0]).attr("id"),c=$UI.GetFormByModalId(v))),n.ForceOpenLinksPreview()&&(r.closest(".record-preview-disabled").length>0||t.indexOf("recordpreview=false")==-1&&(t+="&recordpreview=true")),h(t,c,s),!1)}function y(n){console.log("ash.HandleIframe - Begin");var t=$("script[src*='/jquery']",$(n.contentDocument)).length!=0;n.contentDocument.readyState=="complete"?o($(n.contentDocument),!0,t):$(n.contentDocument).ready(function(){o($(n.contentDocument),!0,t)});console.log("ash.HandleIframe - End")}function l(i,r,u,f,e){var o=!0,h,s;f=$.extend({},{rerunApplicationShortcutUrl:"",_doNotPersist:!0},f);i.Action.toUpperCase()=="FORMSHOW"&&!i.Parameters.GetString("form")&&i.Parameters.GetString("page")&&(i.Action="FORMACTION",i.Parameters.SetString("action","PageGoto"));switch(i.Action.toUpperCase()){case"CONTACT":w(i,r);break;case"DOCUMENT":t.Execute_ServerSide?t.Execute_ServerSide(i,r,u):n.NotificationsAddWarning("Server-side Application Shortcuts cannot be executed since no handler has been attached in this interface.");break;case"DOCUMENTMANAGERFILE":b(i,r);break;case"EXTERNAL":k(i,r,f);break;case"FORMACTION":r?r.ExecuteAction(i.Parameters.GetString("action"),i.Parameters.ToJavaScriptObject()):i.Parameters.GetString("mainView")?(h=n.GetMainView(i.Parameters.GetString("mainView")),h?h.ExecuteAction(i.Parameters.GetString("action"),i.Parameters.ToJavaScriptObject()):(o=!1,n.NotificationsAddWarning("FormAction '"+i.Parameters.GetString("action")+"' Application Shortcut could not be executed since Main View '"+i.Parameters.GetString("mainView")+"' was not located."))):(o=!1,n.NotificationsAddWarning("FormAction '"+i.Parameters.GetString("action")+"' Application Shortcut could not be executed since it was not within a Modal/ Non-Modal form."));break;case"FORMSHOW":s=i.Parameters.ToJavaScriptObject();f.changedByUser&&(s.changedByUser=!0);f.rerunApplicationShortcutUrl&&(s.rerunApplicationShortcutUrl=f.rerunApplicationShortcutUrl);n.FormOpen(i.Parameters.GetString("form"),i.Parameters.GetString("id"),s,r);break;case"GLOBAL":t.Execute_Global?t.Execute_Global(i,r):n.NotificationsAddWarning("Global Application Shortcuts cannot be executed since no handler has been attached in this interface.");break;case"HTMLSHOW":a(i,r);break;case"HTMLSHOWFUNCTION":d(i,r);break;case"HTMLWIDGET":f&&f.customisedFormParams&&f.customisedFormParams.rerunApplicationShortcutUrl&&(f.rerunApplicationShortcutUrl||(f.rerunApplicationShortcutUrl=f.customisedFormParams.rerunApplicationShortcutUrl));g(i,r,f);break;case"MAPSHOW":nt(i,r);break;case"MENUCOMMAND":n.ExecuteMenuItem(i.Parameters.GetString("id"));break;case"REPORT":tt(i);break;case"SCRIPT":it(i,r,f,u,e);break;case"SCRIPTEVENT":rt(i,r);break;case"SMARTLIST":ft(i,r,f);break;case"WEBUI":et(i,r,f);break;default:o=!1;n.NotificationsAddWarning("Application Shortcuts '"+i.Action+"' are not available in this interface.")}return o}function h(n,t,i,r,u,f){var e=c(n);return e.Action.toUpperCase()==="_LONGAPPSHORTCUT"&&(e=c(i)),l(e,t,r,u,f)}function p(n,t){h(n,null,null,t)}function w(t){var s=t.Parameters.GetString("accountId"),h=t.Parameters.GetString("accountAppId"),p=t.Parameters.GetInteger("accountAppApplicantPk"),i=t.Parameters.GetString("clientId"),w=t.Parameters.GetInteger("clientContactMethodPk"),o=t.Parameters.GetString("emailAddress"),e=t.Parameters.GetString("phoneNumber"),y=t.Parameters.GetBoolean("phoneSms"),v=t.Parameters.GetString("websiteUrl"),c=t.Parameters.GetString("recordType"),l="",a;o?l="Email":e?l=y?"SMS":"Phone":v&&(l="WebPage");switch(l){case"":n.NotificationsAddWarning("Application Shortcuts '"+t.Action+"' does not contain enough information to determine a contact type.");break;case"Email":n.IsAvailableEmailUnattended()?c&&c.toUpperCase()=="USER"?n.FormOpen("EmailMessage",0,{type:"User",id:i,emailTo:o}):s?n.FormOpen("EmailMessage",0,{type:"Account",id:s,emailTo:o}):h?n.FormOpen("EmailMessage",0,{type:"Account Application",id:h,emailTo:o}):i?n.FormOpen("EmailMessage",0,{type:"Client",id:i,emailTo:o}):n.NotificationsAddWarning("Application Shortcuts '"+t.Action+"' does not contain object information to view the Email Message wizard."):$UI.MsgBoxInfo("Emailing is unavailable or not configured for use in this interface.");break;case"Phone":case"SMS":r||(r=new $UI.MenuPopup($("body"),{}));a=[];n.IsAvailableSms()&&a.push({ItemId:"SMS",Caption:"Send SMS",IconClass:"is-glyph-sms"});a.push({ItemId:"Phone",Caption:"Call Phone Number",IconClass:"is-glyph-phone"});r.Define(a);r.OnAction(function(r){switch(r){case"SMS":c&&c.toUpperCase()=="USER"?n.FormOpen("SmsMessage",0,{type:"User",id:i,phoneNumber:e}):s?n.FormOpen("SmsMessage",0,{type:"Account",id:s,phoneNumber:e}):h?n.FormOpen("SmsMessage",0,{type:"Account Application",id:h,phoneNumber:e}):i?n.FormOpen("SmsMessage",0,{type:"Client",id:i,phoneNumber:e}):n.NotificationsAddWarning("Application Shortcuts '"+t.Action+"' does not contain object information to view the SMS Message wizard.");break;case"Phone":window.open("tel:"+e,"_blank")}});r.Show(u,f);break;case"WebPage":window.open(v,"_blank")}}function b(t){var i=t.Parameters.GetString("itemType"),r=t.Parameters.GetString("itemId"),u=t.Parameters.GetInteger("itemPk"),f=t.Parameters.GetString("fileName"),e=t.Parameters.GetInteger("bookmark");return n.DocumentManagerDownloadFile(i,r,u,f,!1),!0}function k(t,i,r){var h=t.Parameters.GetString("file"),f=t.Parameters.GetString("height"),u=t.Parameters.GetString("title"),o=t.Parameters.GetString("width"),s,c,l,v,a;if(r&&(f||(f=r.height),u||(u=r.caption),u||(u=r.title),o||(o=r.width)),f||(f="90%"),u||(u="External URL"),o||(o="90%"),!h){n.NotificationsAddWarning("File not specified for HTML Widget Script for 'External' Application Shortcut.");return}s=r.rerunApplicationShortcutUrl;s||(s=e(t));c=!0;l={forceIFrame:!1,showWait:!1,width:o,height:f,appShortcutUrl:s};r.rerunApplicationShortcutUrl&&r.rerunApplicationShortcutUrl.toUpperCase().indexOf("MENUCOMMAND")!=-1&&(c=!1,l.onAfterClose=function(){n.UrlStateRemove("menucommand")});c?window.open(h,"_blank"):(v=$UI.CommonDialog().ShowHtml(u,"",l),a=$("<iframe style='border:none;position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%'><\/iframe>"),v.ContentElement().append(a),a.attr("src",h))}function a(n,t,i){var u=n.Parameters.GetString("html"),f=n.Parameters.GetBoolean("popup"),e=n.Parameters.GetString("popupStyle"),r=n.Parameters.GetString("title"),o;r||(r=f?"Note":"View HTML");o=n.Parameters.GetString("url");u?$UI.CommonDialog().ShowHtml(r,u,{popup:f,popupStyle:e,appShortcutUrl:i}):window.alert("TODO: url")}function d(t){var f=t.Parameters.GetString("function"),h=t.Parameters.GetString("height"),s,l,u;h||(h=o?"480px":"90%");var o=t.Parameters.GetBoolean("popup"),a=t.Parameters.GetString("popupStyle"),c=t.Parameters.GetString("title");if(c||(c=o?"Note":"View HTML"),s=t.Parameters.GetString("width"),s||(s=o?"480px":"90%"),l=t.Parameters.modalOptions,!f){n.NotificationsAddWarning("Function not specified for 'HtmlShowFunction' Application Shortcut.");return}u=t.Parameters.ToJavaScriptObject();u.functionName=f;u.target="WebInternal";u.highDpi=i.IsHighDpi();var v=options=$.extend({popup:o,popupStyle:a,forceIFrame:!0,showWait:!0,width:s,height:h,appShortcutUrl:e(t)},l),r="",y=$UI.CommonDialog().ShowHtml(c,r,v);$Api.GetDirect(n.WebServicesUrl()+"/SummaryPageFunctions/GetFunctionHtml",u,{done:function(i){r=i;var u=r.toUpperCase();if(u.indexOf("<HTML")!=-1&&u.indexOf("IS-SUMMARYPAGE-2")!=-1)switch(f.toUpperCase()){case"SERVICEREPORT":break;default:n.NotificationsAddWarning("Application Shortcut '"+t.Action+"', function '"+f+"' returned a complete HTML document which was not expected. This may cause formatting issues.")}n&&(r=n.NormaliseHtmlPreview(r))},fail:function(){r="fail"},always:function(){y.UpdateHtml(r)}})}function g(t,i,r){var k,h,l,s,a,u,y,p,b;if(!window.$UI||!$UI.HasMinimisedModal(!0)){k=!0;h=t.Parameters.GetString("height");h||(h=window.innerHeight<880?"98%":"95%");var c=t.Parameters.GetString("id"),d=t.Parameters.GetString("formkey"),v=t.Parameters.GetString("title");v||(v="Initialising, Please Wait...");l=t.Parameters.GetString("width");l||(l=window.innerWidth<1e3?"98%":"95%");var f=t.Parameters.GetInteger("maxHeight"),o=t.Parameters.GetInteger("maxWidth"),g=t.Parameters.GetBoolean("modal",!0),w=t.Parameters.GetString("startupParametersJson"),nt=r.refreshParentCallback;if(!c){n.NotificationsAddWarning("Id not specified for HTML Widget Script for 'HtmlWidget' Application Shortcut.");return}window.$App&&(s=n.GetHtmlWidgetInfo(c),s.maxHeight&&!f&&(f=s.maxHeight),s.maxWidth&&!o&&(o=s.maxWidth));a=r.rerunApplicationShortcutUrl;a||(a=e(t));g?(u={forceIFrame:!1,showWait:!1,width:"98%",height:"98%",maxWidth:l,maxHeight:h,appShortcutUrl:a,parentModal:i,formKey:d},f>0&&(f<120&&(f=120),u.maxHeight=f+"px",u.minHeight=32),o>0&&(o<200&&(o=200),u.maxWidth=o+"px",u.minWidth=32),r.rerunApplicationShortcutUrl&&r.rerunApplicationShortcutUrl.toUpperCase().indexOf("MENUCOMMAND")!==-1?u.onAfterClose=function(){n.UrlStateRemove("menucommand")}:r.customisedForm&&($App_SpaDesktop.UrlStateUpdate(r.customisedForm,r.customisedFormParams),u.onAfterClose=function(){n.UrlStateRemove(r.customisedForm)}),r.rerunApplicationShortcutUrl==="-"&&(u.appShortcutUrl=""),y=$UI.CommonDialog().ShowHtml(v,"",u),p=$("<div class='is-dock-fill'><\/div>"),y.ContentElement().append(p),b=$UI.Widget(p,{standalone:!0,modal:y,refreshParentCallback:nt}),b.InitialiseFromUrl(n.WebServicesUrl()+"/Custom/"+c,w)):n.RecordViewShowHtmlWidget(c,w)}}function nt(t){var r=t.Parameters.GetString("address"),u=t.Parameters.GetString("source"),i;if(!r&&!u){n.NotificationsAddWarning("Address or Source not specified for 'MapShow' Application Shortcut.");return}i=t.Parameters.ToJavaScriptObject();i.type="MapShow";$Api.GetDirect(n.WebServicesUrl()+"/ISGlobalApplicationShortcut/Execute",i,{done:function(n){window.open(n.Url)},fail:function(n){$UI.ShowAjaxError(n)}})}function tt(t){var r,i=t.Parameters.GetString("rerun"),u,f;i?(i=atob(i),u=JSON.parse(i),r=u.ReportId):r=t.Parameters.GetString("reportId");f=t.Parameters.ToJavaScriptObject();f.rerun=u;n.FormOpen("ReportExecute",r,f)}function it(i,r,u,f,e){var o;scriptId=i.Parameters.GetString("id");i.Parameters.GetBoolean("ShowUI")?(o=i.Parameters.ToJavaScriptObject(),n.FormOpen("ScriptExecute",scriptId,o)):t.Execute_ServerSide?t.Execute_ServerSide(i,r,f,e):n.NotificationsAddWarning("Server-side Application Shortcuts cannot be executed since no handler has been attached in this interface.")}function rt(t,i){var r=t.Parameters.GetString("scriptId"),f=t.Parameters.GetString("eventId"),u;if(!r){n.NotificationsAddWarning("ScriptId not specified for 'ScriptEvent' Application Shortcut.");return}return i?i.WaitShow("Please Wait..."):$UI.WaitShow("Please Wait..."),u=t.Parameters.ToJavaScriptObject(),$Api.GetDirect(n.WebServicesUrl()+"/Custom/"+r,u,{done:function(n){ut(n,t,i)},fail:function(n){$UI.ShowAjaxError(n)},always:function(){i?i.WaitHide():$UI.WaitHide()}}),!0}function ut(t,i,r){var u,f,e;if(t){u="INFORMATION";f=t.indexOf("|");f!=-1&&(u=t.substr(0,f).toUpperCase(),t=t.substr(f+1));switch(u){case"HTML":e=i.Parameters.GetString("title");e||(e="View HTML");$UI.CommonDialog().ShowHtml(e,t,{forceIFrame:!0});break;case"INFO":case"INFORMATION":$UI.MsgBoxInfo(t);break;case"WARNING":$UI.MsgBoxAlert(t);break;default:n.NotificationsAddWarning("Script Event Text Type '"+u+"' not handled.")}r&&r.ExecuteAction("Refresh")}}function ft(t,i,r){var w,f,o,c,u,v,y,p;if(!window.$UI||!$UI.HasMinimisedModal(!0)){w=!0;f=t.Parameters.GetString("height");f||(f=window.innerHeight<880?"98%":"95%");var l=t.Parameters.GetString("id"),b=t.Parameters.GetString("formkey"),a=t.Parameters.GetString("title");a||(a="Initialising, Please Wait...");o=t.Parameters.GetString("width");o||(o=window.innerWidth<1e3?"98%":"95%");var s=t.Parameters.GetInteger("maxHeight"),h=t.Parameters.GetInteger("maxWidth"),k=t.Parameters.GetBoolean("modal"),d=t.Parameters.GetString("parameters"),g=r.refreshParentCallback;if(!l){n.NotificationsAddWarning("Id not specified for Smart List Script for 'SmartList' Application Shortcut.");return}c=r.rerunApplicationShortcutUrl;c||(c=e(t));k?(u={forceIFrame:!1,showWait:!1,width:o,height:f,appShortcutUrl:c,parentModal:i,formKey:b},s>0&&(s<120&&(s=120),u.maxHeight=s+"px",u.minHeight=32),h>0&&(h<200&&(h=200),u.maxWidth=h+"px",u.minWidth=32),r.rerunApplicationShortcutUrl&&r.rerunApplicationShortcutUrl.toUpperCase().indexOf("MENUCOMMAND")!==-1?u.onAfterClose=function(){n.UrlStateRemove("menucommand")}:r.customisedForm&&($App_SpaDesktop.UrlStateUpdate(r.customisedForm,r.customisedFormParams),u.onAfterClose=function(){n.UrlStateRemove(r.customisedForm)}),r.rerunApplicationShortcutUrl==="-"&&(u.appShortcutUrl=""),v=$UI.CommonDialog().ShowHtml(a,"",u),window.alert("TODO: modal"),y=$("<div class='is-dock-fill'><\/div>"),v.ContentElement().append(y),p=$UI.Widget(y,{standalone:!0,modal:v,refreshParentCallback:g}),p.InitialiseFromUrl(n.WebServicesUrl()+"/Custom/"+l,startupParametersJson)):n.FormOpen("SmartList",l,{parameters:d})}}function et(t){if(t.Parameters.Exists("showMinimisedForm"))$UI.ModalUnminimise();else{var r=t.Parameters.GetString("view"),u=t.Parameters.GetString("page"),i=t.Parameters.GetString("sideBarVisible");r&&n.ViewShow(r,u,t.Parameters.ToJavaScriptObject());i&&(i=t.Parameters.GetBoolean("sideBarVisible"),n.SideBarVisible(i))}}function c(n){var t={Action:"",Parameters:i.CreateKeyValueList()},r;return n.substr(0,6).toUpperCase()==="APP://"&&(n=n.substr(6)),r=n.indexOf("?"),r===-1?t.Action=n.toUpperCase():(t.Action=n.substr(0,r).toUpperCase(),t.Parameters.FromUrlString(n.substr(r+1))),t}function e(n){return n.Action+"?"+n.Parameters.ToUrlString()}var i=n.Runtime,r,u=0,f=0,t={AppShortcutToUrl:e,Execute:l,ExecuteUrl:h,ExecuteUrlToWindow:p,Execute_HtmlShow:a,HandleDocument:o,HandleIframe:y,Initialise:v,ParseUrl:c,App:n};return t}($App);console.log("  $Ash: "+typeof $Ash);console.log("    .App: "+typeof $Ash.App);console.log("Loading lib/ash_global.js");__ASHExtGlobal=function(n){function t(t,i,r,u){switch(t.toUpperCase()){case"ACCOUNT.HISTORYITEMSUMMARY":reshowAppShortcutUrl=n.AppShortcutToUrl(i);i.Parameters.SetString("html",u);i.Parameters.SetString("title","Account History Item Summary");n.Execute_HtmlShow(i,r,reshowAppShortcutUrl);break;case"ACCOUNTAPP.HISTORYITEMSUMMARY":reshowAppShortcutUrl=n.AppShortcutToUrl(i);i.Parameters.SetString("html",u);i.Parameters.SetString("title","Account Application History Item Summary");n.Execute_HtmlShow(i,r,reshowAppShortcutUrl);break;case"AUDITITEM.SUMMARY":reshowAppShortcutUrl=n.AppShortcutToUrl(i);i.Parameters.SetString("html",u);i.Parameters.SetString("title","Audit Item Summary");n.Execute_HtmlShow(i,r,reshowAppShortcutUrl);break;case"BANKACCOUNTENQUIRY.DELETE":case"BANKACCOUNTENQUIRY.GETREPORT":case"BANKACCOUNTENQUIRY.SUPPLEMENTALREPORT":r&&r.FormType()==="HtmlViewer"&&r.NotifyRefresh&&r.NotifyRefresh();$UI.ExecuteNotificationAction("BankAccountEnquiry.Refresh",{ServiceLogPk:i.Parameters.GetInteger("ServiceLogPk")});break;case"MOTORWEB.VIR":reshowAppShortcutUrl=n.AppShortcutToUrl(i);i.Parameters.SetString("html",u);n.Execute_HtmlShow(i,r,reshowAppShortcutUrl)}}n.Execute_Global=function(n,i){var u=n.Parameters.GetString("type"),f,e,r;switch(u.toUpperCase()){case"BANKACCOUNTENQUIRY.SUPPLEMENTALREPORT":case"CREDITENQUIRY.GETDOCUMENTS":case"CREDITENQUIRY.OPENDOCUMENT":case"SERVICELOG.ZIPDATA":r=n.Parameters.ToJavaScriptObject();$Api.GetDirectDownload($App.WebServicesUrl()+"/ISGlobalApplicationShortcut/Execute",r,{});break;case"SERVICELOG.REFRESH":r=n.Parameters.ToJavaScriptObject();i&&i.FormType()==="HtmlViewer"&&i.NotifyRefresh&&i.NotifyRefresh();f=r.NotifyAction||"ServiceLog.Refresh";e=n.Parameters.GetInteger("ServiceLogPk");$UI.ExecuteNotificationAction(f,{ServiceLogPk:e});break;default:$UI.WaitShow("Please Wait...");r=n.Parameters.ToJavaScriptObject();$Api.GetDirect($App.WebServicesUrl()+"/ISGlobalApplicationShortcut/Execute",r,{done:function(r){t(u,n,i,r)},fail:function(n){$UI.ShowAjaxError(n)},always:function(){$UI.WaitHide()}})}return!0}}($Ash||{});console.log("  $Ash (global extension)");console.log("Loading lib/ash_serverside.js");__ASHExtServerSide=function(n){function t(n,t,r,u){var f,e=n.Action;switch(e.toUpperCase()){case"DOCUMENT":f=n.Parameters.ToJavaScriptObject();f.action=e;$Api.GetDirectDownload($App.WebServicesUrl()+"/ISApplicationShortcut/Execute",f,r);break;default:$UI.WaitShow("Please Wait...");f=n.Parameters.ToJavaScriptObject();f.action=e;$Api.GetDirect($App.WebServicesUrl()+"/ISApplicationShortcut/Execute",f,{done:function(r){i(e,n,t,r,u)},fail:function(n){$UI.ShowAjaxError(n)},always:function(){$UI.WaitHide()}})}n.Parameters.GetString("_manualProcessId")&&$App.NotifyProcessesRefresh(!1)}function i(t,i,r,u,f){switch(t.toUpperCase()){case"SCRIPT":if(u){var e=n.AppShortcutToUrl(i);i.Parameters.SetString("html",u);n.Execute_HtmlShow(i,r,e);break}else i.Parameters.GetBoolean("_showOutcome")&&$UI.MsgBoxInfo("The Script ran successfully.");f&&f()}i.Parameters.GetString("_manualProcessId")&&$App.NotifyProcessesRefresh(!0)}n.Execute_ServerSide=function(n,i,r,u){var f=n.Parameters.GetString("_prompt");return f?$UI.MsgBoxConfirm(f,{},function(){t(n,i,r,u)}):t(n,i,r,u),!0}}($Ash||{});console.log("  $Ash (server-side extension)")