function successMessage(){showNotificationMessage("success",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"BudgetTables.SaveSchedule.Success"))}FlexiJS.GMS.Application.BudgetTableAdjustmentTool={};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._template="budgetadjustmenttool";FlexiJS.GMS.Application.BudgetTableAdjustmentTool._resourceset="/scripts/budgetadjustmenttool.js";FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enums={adjustmentMethod:{add:205020,subtract:205021},adjustmentValueType:{percentage:102600,setValue:102601},adjustmentTarget:{GMSBudgetTable:102400,GMSBudgetTablePeriod:102401,GMSBudgetTableItemType:102402,GMSBudgetTableItem:102403,GMSFund:102404,GMSFundType:102405,GMSApplication:102406},adjustmentNewPeriodValueMethod:{None:102700,FromSetValue:102701,AutoSpreadDifference:102702},adjustmentPeriodReductionMethod:{None:102750,FromEnd:102751,FromStart:102752},valueFields:{Current:102040,Preview:102071},fieldTypes:{label:102200,calculatedField:102203}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._classes={window:"budgettools",windowwrapper:"budgettools-window",previewcontainer:"budgettools-previewcontainer",loadingcontainer:"budgettools-loadingcontainer",optionscontainer:"budgettools-optionscontainer",optionslist:"budgettools-optionslist",kendowindowcontents:"kendowindow-contentsarea",disabledbutton:"aspNetDisabled"};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._lastPreviewedOptions=null;FlexiJS.GMS.Application.BudgetTableAdjustmentTool._defaultOptions={Targets:[],StartingFromDate:null,EndingAtDate:null,Value:0,PeriodIncreaseMethod:FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enums.adjustmentNewPeriodValueMethod.None,PeriodDecreaseMethod:FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enums.adjustmentPeriodReductionMethod.None,MaxPeriodExtension:0,IncreasedPeriodValue:0,AllowToGoNegative:!1,ApplyToNegative:!1,ApplyToValue:FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enums.valueFields.Current};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbons={ChangeType:{},DateRange:{},ItemTypes:{}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._budgetTableItemTypes=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._budgetTableItems=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._periodDates=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled=!1;FlexiJS.GMS.Application.BudgetTableAdjustmentTool._unnamedItemData=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._selectedBudgetTableItemTypes=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._selectedBudgetTableItems=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId="";FlexiJS.GMS.Application.BudgetTableAdjustmentTool._selectors={changeOfStartDate:"#bat_changeofstartdate",reprofile:"#bat_reprofile",previewButton:"#btnPreview",saveButton:"#btnSave",previewOutOfDateMessage:"#previewOutOfDate"};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods={};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueDecreaseValidate=function(n,t){try{var i=t.find('input[id="ValueDecrease"]').data("kendoNumericTextBox").value();return i!=null&&i>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueDecreaseOnContentsLoad=function(n,t){var e=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=t.find('input[id="ValueDecreaseExtend"]'),o=t.find("#ValueDecreaseExtendPeriodsRow"),i=function(){o.toggle(r.is(":checked"));n.Validate();n.onChange(n._selectedValue)},u,f;r.change(i);u=t.find('input[id="ValueDecrease"]').kendoNumericTextBox({format:"c",spinners:!1,change:i}).data("kendoNumericTextBox");f=t.find('input[id="ValueDecreaseExtendMaxPeriods"]').kendoNumericTextBox({format:"0",decimals:0,spinners:!1,change:i,placeholder:e._getResourceText("ValueDecreaseExtendMaxPeriods.Placeholder"),min:1}).data("kendoNumericTextBox");u.element.prop("autocomplete","off");f.element.prop("autocomplete","off")};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueDecreaseGetContentsValue=function(n,t){var r=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i={},u;return t.find('input[id="ValueDecreaseExtend"]').is(":checked")&&(i.PeriodIncreaseMethod=r._enums.adjustmentNewPeriodValueMethod.AutoSpreadDifference,i.MaintainValue=!0,u=t.find('input[id="ValueDecreaseExtendMaxPeriods"]').data("kendoNumericTextBox").value(),u!=null&&(i.MaxPeriodExtension=u)),$.extend({Method:r._enums.adjustmentMethod.subtract,Type:r._enums.adjustmentValueType.setValue,Value:t.find('input[id="ValueDecrease"]').data("kendoNumericTextBox").value()},i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueDecreaseEnabledStatusChange=function(n,t,i){t.find('input[id="ValueDecreaseExtend"]').prop("disabled",!i);t.find('input[id="ValueDecreaseExtendMaxPeriods"]').data("kendoNumericTextBox").enable(i);t.find('input[id="ValueDecrease"]').data("kendoNumericTextBox").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueIncreaseValidate=function(n,t){try{var i=t.find('input[id="ValueIncrease"]').data("kendoNumericTextBox").value();return i!=null&&i>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueIncreaseOnContentsLoad=function(n,t){var i=function(){n.Validate();n.onChange(n._selectedValue)},r;t.find('input[id="ValueIncreaseLimitToTotal"]').change(i);r=t.find('input[id="ValueIncrease"]').kendoNumericTextBox({format:"c",spinners:!1,change:i}).data("kendoNumericTextBox");r.element.prop("autocomplete","off")};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueIncreaseGetContentsValue=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r={};return t.find('input[id="ValueIncreaseLimitToTotal"]').is(":checked")&&(r.PeriodDecreaseMethod=i._enums.adjustmentPeriodReductionMethod.FromEnd,r.MaintainValue=!0),$.extend({Method:i._enums.adjustmentMethod.add,Type:i._enums.adjustmentValueType.setValue,Value:t.find('input[id="ValueIncrease"]').data("kendoNumericTextBox").value()},r)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.SetValueIncreaseEnabledStatusChange=function(n,t,i){t.find('input[id="ValueIncreaseLimitToTotal"]').prop("disabled",!i);t.find('input[id="ValueIncrease"]').data("kendoNumericTextBox").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageDecreaseValidate=function(n,t){try{var i=t.find('input[id="PercentageDecrease"]').data("kendoNumericTextBox").value();return i!=null&&i>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageDecreaseOnContentsLoad=function(n,t){var e=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=t.find('input[id="PercentageDecreaseExtend"]'),o=t.find("#PercentageDecreaseExtendPeriodsRow"),i=function(){o.toggle(r.is(":checked"));n.Validate();n.onChange(n._selectedValue)},u,f;r.change(i);u=t.find('input[id="PercentageDecrease"]').kendoNumericTextBox({format:"0.00\\%",spinners:!1,change:i}).data("kendoNumericTextBox");f=t.find('input[id="PercentageDecreaseExtendMaxPeriods"]').kendoNumericTextBox({format:"0",decimals:0,spinners:!1,change:i,placeholder:e._getResourceText("PercentageDecreaseExtendMaxPeriods.Placeholder"),min:1}).data("kendoNumericTextBox");u.element.prop("autocomplete","off");f.element.prop("autocomplete","off")};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageDecreaseGetContentsValue=function(n,t){var u=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=t.find('input[id="PercentageDecrease"]').data("kendoNumericTextBox").value(),i,f;return r!=null&&(r=r*.01),i={},t.find('input[id="PercentageDecreaseExtend"]').is(":checked")&&(i.PeriodIncreaseMethod=u._enums.adjustmentNewPeriodValueMethod.AutoSpreadDifference,i.MaintainValue=!0,f=t.find('input[id="PercentageDecreaseExtendMaxPeriods"]').data("kendoNumericTextBox").value(),f!=null&&(i.MaxPeriodExtension=f)),$.extend({Method:u._enums.adjustmentMethod.subtract,Type:u._enums.adjustmentValueType.percentage,Value:r},i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageDecreaseEnabledStatusChange=function(n,t,i){t.find('input[id="PercentageDecreaseExtend"]').prop("disabled",!i);t.find('input[id="PercentageDecrease"]').data("kendoNumericTextBox").enable(i);t.find('input[id="PercentageDecreaseExtendMaxPeriods"]').data("kendoNumericTextBox").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageIncreaseValidate=function(n,t){try{var i=t.find('input[id="PercentageIncrease"]').data("kendoNumericTextBox").value();return i!=null&&i>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageIncreaseOnContentsLoad=function(n,t){var i=function(){n.Validate();n.onChange(n._selectedValue)},r;t.find('input[id="PercentageIncreaseLimitToTotal"]').change(i);r=t.find('input[id="PercentageIncrease"]').kendoNumericTextBox({format:"0.00\\%",spinners:!1,change:i}).data("kendoNumericTextBox");r.element.prop("autocomplete","off")};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageIncreaseGetContentsValue=function(n,t){var u=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i=t.find('input[id="PercentageIncrease"]').data("kendoNumericTextBox").value(),r;return i!=null&&(i=i*.01),r={},t.find('input[id="PercentageIncreaseLimitToTotal"]').is(":checked")&&(r.PeriodDecreaseMethod=u._enums.adjustmentPeriodReductionMethod.FromEnd,r.MaintainValue=!0),$.extend({Method:u._enums.adjustmentMethod.add,Type:u._enums.adjustmentValueType.percentage,Value:i},r)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.PercentageIncreaseEnabledStatusChange=function(n,t,i){t.find('input[id="PercentageIncreaseLimitToTotal"]').prop("disabled",!i);t.find('input[id="PercentageIncrease"]').data("kendoNumericTextBox").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.TenureChangeValidate=function(n,t){try{var i=t.find('input[id="TenureChangeOld"]').data("kendoNumericTextBox").value(),r=t.find('input[id="TenureChangeNew"]').data("kendoNumericTextBox").value(),u=t.find('input[id="TenureChangeNew"]').val().trim()!="";return i>0&&r>=0&&u&&i!=r}catch(f){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.TenureChangeOnContentsLoad=function(n,t){var u=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=t.find('input[id="TenureChangeExtend"]'),i=function(){var u=t.find('input[id="TenureChangeOld"]').data("kendoNumericTextBox").value(),s=t.find('input[id="TenureChangeNew"]'),f=s.data("kendoNumericTextBox").value(),c=s.val().trim()!="",i="N/A",o=!1,h=!1,e;u>0&&f>=0&&c&&(e="",u<f?(i=f/u-1,e="+",h=!0):u>f?(i=1-f/u,e="-",o=!0):(i=0,e=""),i=e+kendo.toString(i,"p2"));t.find('div[id="TenureChangeLimitToTotalRow"]').toggle(h);t.find('div[id="TenureChangeExtendRow"]').toggle(o);t.find('div[id="TenureChangeDiff"]').text(i);t.find('div[id="TenureChangeExtendPeriodsRow"]').toggle(o&&r.is(":checked"));n.Validate();n.onChange(n._selectedValue)},f=t.find('input[id="TenureChangeOld"]').kendoNumericTextBox({format:"n2",spinners:!1,change:i}).data("kendoNumericTextBox"),e=t.find('input[id="TenureChangeNew"]').kendoNumericTextBox({format:"n2",spinners:!1,change:i}).data("kendoNumericTextBox"),o=t.find('input[id="TenureChangeExtendMaxPeriods"]').kendoNumericTextBox({format:"0",decimals:0,spinners:!1,change:i,placeholder:u._getResourceText("TenureChangeExtendMaxPeriods.Placeholder"),min:1}).data("kendoNumericTextBox");r.change(i);t.find('input[id="TenureChangeLimitToTotal"]').change(i);f.element.prop("autocomplete","off");e.element.prop("autocomplete","off");o.element.prop("autocomplete","off")};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.TenureChangeGetContentsValue=function(n,t){var r=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,u=t.find('input[id="TenureChangeOld"]').data("kendoNumericTextBox").value(),f=t.find('input[id="TenureChangeNew"]').data("kendoNumericTextBox").value(),s=t.find('input[id="TenureChangeNew"]').val().trim()!="",e=0,i,o;return u>0&&f>=0&&s&&u!=f?(i={},u<f?(i.Method=r._enums.adjustmentMethod.add,e=f/u-1,t.find('input[id="TenureChangeLimitToTotal"]').is(":checked")&&(i.PeriodDecreaseMethod=r._enums.adjustmentPeriodReductionMethod.FromEnd,i.MaintainValue=!0)):(i.Method=r._enums.adjustmentMethod.subtract,e=1-f/u,t.find('input[id="TenureChangeExtend"]').is(":checked")&&(i.PeriodIncreaseMethod=r._enums.adjustmentNewPeriodValueMethod.AutoSpreadDifference,i.MaintainValue=!0,o=t.find('input[id="TenureChangeExtendMaxPeriods"]').data("kendoNumericTextBox").value(),o!=null&&(i.MaxPeriodExtension=o))),$.extend({Type:r._enums.adjustmentValueType.percentage,Value:e},i)):{}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.TenureChangeEnabledStatusChange=function(n,t,i){t.find('input[id="TenureChangeLimitToTotal"]').prop("disabled",!i);t.find('input[id="TenureChangeExtend"]').prop("disabled",!i);t.find('input[id="TenureChangeOld"]').data("kendoNumericTextBox").enable(i);t.find('input[id="TenureChangeNew"]').data("kendoNumericTextBox").enable(i);t.find('input[id="TenureChangeExtendMaxPeriods"]').data("kendoNumericTextBox").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesUntilValidate=function(n,t){try{var i=t.find('input[id="DatesUntil_EndDateField"]').data("kendoDatePicker").value();return i!=null}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesUntilOnContentsLoad=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=i._buttonribbonmethods._getPeriodList(),u=t.find('input[id="DatesUntil_EndDateField"]').kendoDatePicker(i._buttonribbonmethods._getDatePickerOptions(n)).data("kendoDatePicker");t.find('input[id="DatesUntil_PeriodSelection"]').kendoDropDownList(i._buttonribbonmethods._getDatepickerPeriodOptions(n,u,r,!1,!0))};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesUntilGetContentsValue=function(n,t){return{EndingAtDate:t.find('input[id="DatesUntil_EndDateField"]').data("kendoDatePicker").value()}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesUntilEnabledStatusChange=function(n,t,i){t.find('input[id="DatesUntil_PeriodSelection"]').data("kendoDropDownList").enable(i);t.find('input[id="DatesUntil_EndDateField"]').data("kendoDatePicker").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesAfterValidate=function(n,t){try{var i=t.find('input[id="DatesAfter_StartDateField"]').data("kendoDatePicker").value();return i!=null}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesAfterOnContentsLoad=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=i._buttonribbonmethods._getPeriodList(),u=t.find('input[id="DatesAfter_StartDateField"]').kendoDatePicker(i._buttonribbonmethods._getDatePickerOptions(n)).data("kendoDatePicker");t.find('input[id="DatesAfter_PeriodSelection"]').kendoDropDownList(i._buttonribbonmethods._getDatepickerPeriodOptions(n,u,r,!0,!1))};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesAfterGetContentsValue=function(n,t){return{StartingFromDate:t.find('input[id="DatesAfter_StartDateField"]').data("kendoDatePicker").value()}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesAfterEnabledStatusChange=function(n,t,i){t.find('input[id="DatesAfter_PeriodSelection"]').data("kendoDropDownList").enable(i);t.find('input[id="DatesAfter_StartDateField"]').data("kendoDatePicker").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesBetweenValidate=function(n,t){try{var i=t.find('input[id="DatesBetween_StartDateField"]').data("kendoDatePicker").value(),r=t.find('input[id="DatesBetween_EndDateField"]').data("kendoDatePicker").value();return r!=null&&i!=null&&r>=i}catch(u){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesBetweenOnContentsLoad=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=i._buttonribbonmethods._getPeriodList(),u=t.find('input[id="DatesBetween_StartDateField"]').kendoDatePicker(i._buttonribbonmethods._getDatePickerOptions(n)).data("kendoDatePicker"),f=t.find('input[id="DatesBetween_EndDateField"]').kendoDatePicker(i._buttonribbonmethods._getDatePickerOptions(n)).data("kendoDatePicker");t.find('input[id="DatesBetween_StartDatePeriodSelection"]').kendoDropDownList(i._buttonribbonmethods._getDatepickerPeriodOptions(n,u,r,!0,!1));t.find('input[id="DatesBetween_EndDatePeriodSelection"]').kendoDropDownList(i._buttonribbonmethods._getDatepickerPeriodOptions(n,f,r,!1,!0))};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesBetweenGetContentsValue=function(n,t){return{StartingFromDate:t.find('input[id="DatesBetween_StartDateField"]').data("kendoDatePicker").value(),EndingAtDate:t.find('input[id="DatesBetween_EndDateField"]').data("kendoDatePicker").value()}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.DatesBetweenEnabledStatusChange=function(n,t,i){t.find('input[id="DatesBetween_StartDatePeriodSelection"]').data("kendoDropDownList").enable(i);t.find('input[id="DatesBetween_EndDatePeriodSelection"]').data("kendoDropDownList").enable(i);t.find('input[id="DatesBetween_StartDateField"]').data("kendoDatePicker").enable(i);t.find('input[id="DatesBetween_EndDateField"]').data("kendoDatePicker").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemTypesValidate=function(n,t){try{var i=t.find("#ItemTypeListAutocomplete").data("flexiJSControlsMultiSelectList").selectedValue();return i!=null&&i.length>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemTypesOnContentsLoad=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;FlexiJS.Controls.MultiSelectList(t.find("#ItemTypeListAutocomplete"),{data:i._budgetTableItemTypes,dataTextField:"name",dataValueField:"id",itemTemplate:i._renderKendoTemplate("Kendo_ItemTypesMultiselect_Item",{}),tagTemplate:i._renderKendoTemplate("Kendo_ItemTypesMultiselect_Tag",{}),headerTemplate:i._renderKendoTemplate("Kendo_ItemTypesMultiselect_Header",{}),placeholder:"Select an item type...",naplaceholder:"No more item types available to select",onChange:function(){n.Validate();n.onChange(n._selectedValue)}})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemTypesGetContentsValue=function(n,t){var r=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i=t.find("#ItemTypeListAutocomplete").data("flexiJSControlsMultiSelectList").selectedValue();return{Targets:i!=null&&i.length>0?jQuery.map(i,function(n){return{Target:r._enums.adjustmentTarget.GMSBudgetTableItemType,Id:n.id}}):[]}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemTypesEnabledStatusChange=function(n,t,i){t.find("#ItemTypeListAutocomplete").data("flexiJSControlsMultiSelectList").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemsValidate=function(n,t){try{var i=t.find("#ItemListAutocomplete").data("flexiJSControlsMultiSelectList").selectedValue();return i!=null&&i.length>0}catch(r){return!1}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemsOnContentsLoad=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;FlexiJS.Controls.MultiSelectList(t.find("#ItemListAutocomplete"),{data:i._budgetTableItems,dataTextField:"name",dataValueField:"id",itemTemplate:i._renderKendoTemplate("Kendo_ItemsMultiselect_Item",{}),tagTemplate:i._renderKendoTemplate("Kendo_ItemsMultiselect_Tag",{}),headerTemplate:i._renderKendoTemplate("Kendo_ItemsMultiselect_Header",{}),placeholder:"Select an item...",naplaceholder:"No more items available to select",onChange:function(){n.Validate();n.onChange(n._selectedValue)}})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemsGetContentsValue=function(n,t){var r=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i=t.find("#ItemListAutocomplete").data("flexiJSControlsMultiSelectList").selectedValue();return{Targets:i!=null&&i.length>0?jQuery.map(i,function(n){return{Target:r._enums.adjustmentTarget.GMSBudgetTableItem,Id:n.id}}):[]}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods.ItemsEnabledStatusChange=function(n,t,i){t.find("#ItemListAutocomplete").data("flexiJSControlsMultiSelectList").enable(i)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._datePeriodChange=function(n,t,i,r){if(t.id!=0){n.min(t.start==null?FlexiJS.Defaults.DatePicker.MinDate:t.start);n.max(t.end==null?FlexiJS.Defaults.DatePicker.MaxDate:t.end);var u=n.value(),f=null;u!=null&&u>=n.start&&u<=n.end?f=u:(i&&(f=t.start),r&&(f=t.end));n.value(f)}else n.min(FlexiJS.Defaults.DatePicker.MinDate),n.max(FlexiJS.Defaults.DatePicker.MaxDate)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._resizeDDLGrouping=function(n){var i=n,r,t;i.list.addClass("kendoGroupedCombo bat-dropdown");r=$('[class~="k-group"]:not([class~="kendoGroupRowAbsoluteFix"])',i.list);t=null;r.length>0&&(t=i.list.clone().attr("id",!1).css({visibility:"hidden",display:"block",position:"absolute"}),$("body").append(t));$.each(r,function(n,i){var r=$(i),u=r.closest("li"),e=$('li[data-offset-index="'+u.attr("data-offset-index")+'"]>[class~="k-group"]',t),f=e.outerHeight();u.css("margin-top",f+2+"px");r.addClass("kendoGroupRowAbsoluteFix").css("top","-"+(f+2)+"px")});t!=null&&t.remove()};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._getDatePickerOptions=function(n){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;return{month:{content:t._renderKendoTemplate("Kendo_PeriodDatepicker_Contents",{})},change:function(){n.Validate();n.onChange(n._selectedValue)}}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._getDatepickerPeriodOptions=function(n,t,i,r,u){var f=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,o={data:i,sort:{field:"id",dir:"asc"}},e=$.grep(i,function(n){return n.group!=null&&n.group!="All"}).length>0;return e&&(o.group={field:"groupId"}),{dataTextField:"period",dataValueField:"id",template:'<div class="text-overflow">#: data.period #<\/div>',groupTemplate:'#= (FlexiJS.Budgets.Data.PeriodGroups.GetGroupName(data) || "") #',fixedGroupTemplate:'#= (FlexiJS.Budgets.Data.PeriodGroups.GetGroupName(data) || "") #',sort:{field:"order",dir:"asc"},dataBound:function(n){if(e){var t=$('[class~="k-group"]',n.sender.list);$.each(t,function(n,t){var i=$(t);i.addClass("kendoGroupRowFix");$(i.prev("div")).before(i)});f._buttonribbonmethods._resizeDDLGrouping(n.sender)}},open:function(n){e&&f._buttonribbonmethods._resizeDDLGrouping(n.sender)},dataSource:o,change:function(){f._buttonribbonmethods._datePeriodChange(t,this.dataItem(),r,u);n.Validate();n.onChange(n._selectedValue)},autoWidth:!0}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._getPeriodList=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;return $.merge([{id:0,start:null,end:null,name:n._getResourceText("PeriodList.AllPeriods"),group:n._getResourceText("PeriodList.AllPeriods"),period:n._getResourceText("PeriodList.AllPeriods"),groupId:0}],n._periodDates)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._buttonribbonmethods._getPeriodNameFromDate=function(n){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t=$.grep(i._periodDates,function(t){return n>=t.start&&n<=t.end});return t.length>0?t[0].name:null};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._setupButtonRibbons=function(n){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;t._setupButtonRibbon(n,t._buttonribbons.ChangeType);t._setupButtonRibbon(n,t._buttonribbons.DateRange);t._setupButtonRibbon(n,t._buttonribbons.ItemTypes)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._setupButtonRibbon=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;n.find(t.selector).FlexiJS_Controls_ButtonRibbon({id:t.id,data:t,useValidation:!0,renderMode:"adjustmenttool",useAnimations:!1,onChange:function(n){i._onAdjustmentChange(t.id,n)}})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._setOptionsAndButtonRibbonData=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i=FlexiJS.Budgets.Data,t=$("."+n._classes.windowwrapper),s,a,r,v,u,h,c,l,f;n._buttonribbons.ChangeType={id:"bat_adjustmentoption_valuetype",selector:"#bat_valuetype",label:n._getResourceText("ChangeType.Label"),infoTooltip:n._getResourceText("ChangeType.Tooltip"),hiddenInitially:!1,items:[{value:"Decrease",displayText:n._getResourceText("ChangeType.Decrease.DisplayText"),title:n._getResourceText("ChangeType.Decrease.Title"),mainIcon:"fa-arrow-down",subIcon:null,isValid:!1,subItem:{label:n._getResourceText("ChangeType.Decrease.Label"),infoTooltip:n._getResourceText("ChangeType.Decrease.Tooltip"),items:[n._getButtonRibbonOptionItem("SetValueDecrease","ChangeType.Decrease.SetValue.DisplayText","ChangeType.Decrease.SetValue.Title","ValueDecrease",{},"fa-pound-sign",null,n._buttonribbonmethods.SetValueDecreaseValidate,n._buttonribbonmethods.SetValueDecreaseOnContentsLoad,n._buttonribbonmethods.SetValueDecreaseGetContentsValue,n._buttonribbonmethods.SetValueDecreaseEnabledStatusChange),n._getButtonRibbonOptionItem("PercentageDecrease","ChangeType.Decrease.Percentage.DisplayText","ChangeType.Decrease.Percentage.Title","PercentageDecrease",{},"fa-percent",null,n._buttonribbonmethods.PercentageDecreaseValidate,n._buttonribbonmethods.PercentageDecreaseOnContentsLoad,n._buttonribbonmethods.PercentageDecreaseGetContentsValue,n._buttonribbonmethods.PercentageDecreaseEnabledStatusChange)]}},{value:"Increase",displayText:n._getResourceText("ChangeType.Increase.DisplayText"),title:n._getResourceText("ChangeType.Increase.Title"),mainIcon:"fa-arrow-up",subIcon:null,isValid:!1,subItem:{label:n._getResourceText("ChangeType.Increase.Label"),infoTooltip:n._getResourceText("ChangeType.Increase.Tooltip"),items:[n._getButtonRibbonOptionItem("SetValueIncrease","ChangeType.Increase.SetValue.DisplayText","ChangeType.Increase.SetValue.Title","ValueIncrease",{},"fa-pound-sign",null,n._buttonribbonmethods.SetValueIncreaseValidate,n._buttonribbonmethods.SetValueIncreaseOnContentsLoad,n._buttonribbonmethods.SetValueIncreaseGetContentsValue,n._buttonribbonmethods.SetValueIncreaseEnabledStatusChange),n._getButtonRibbonOptionItem("PercentageIncrease","ChangeType.Increase.Percentage.DisplayText","ChangeType.Increase.Percentage.Title","PercentageIncrease",{},"fa-percent",null,n._buttonribbonmethods.PercentageIncreaseValidate,n._buttonribbonmethods.PercentageIncreaseOnContentsLoad,n._buttonribbonmethods.PercentageIncreaseGetContentsValue,n._buttonribbonmethods.PercentageIncreaseEnabledStatusChange)]}},n._getButtonRibbonOptionItem("TenureChange","ChangeType.TenureChange.DisplayText","ChangeType.TenureChange.Title","TenureChange",{},"fa-clock",null,n._buttonribbonmethods.TenureChangeValidate,n._buttonribbonmethods.TenureChangeOnContentsLoad,n._buttonribbonmethods.TenureChangeGetContentsValue,n._buttonribbonmethods.TenureChangeEnabledStatusChange)]};var p=new Date(Math.max.apply({},FlexiJS.Budgets.Data.StaticData.Periods.map(function(n){return new Date(n.EndDate)}))),y=new Date(Math.min.apply({},FlexiJS.Budgets.Data.StaticData.Periods.map(function(n){return new Date(n.StartDate)}))),e=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(function(n){return n.IsApproved||n.IsConfirmed}).map(function(n){return n.PeriodId}),o=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.PaymentStatusID!=71100}).map(function(n){return n.GMSFundTypeBudgetTablePeriodId});FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled==!0&&(n._buttonribbons.ChangeType.items.push(n._getButtonRibbonOptionItem("ChangeOfStartDate","ChangeType.ChangeOfStartDate.DisplayText","ChangeType.ChangeOfStartDate.Title",null,{},"fa-calendar-alt",null,function(){return!0},function(){return!0},function(){return!0},function(){return!0})),s=i.Periods.GetPeriod(Math.min.apply(null,i.StaticData.BudgetTables.map(function(n){return n.ShownMinPeriodId}))),a={start:"year",depth:"year",format:"MMMM yyyy",dateInput:!0,value:new Date(s.StartDate),change:function(){n._onAdjustmentChange("ChangeStartDateNewDateSelect","ChangeOfStartDate")}},$("#ChangeStartDateNewDateSelect",t).kendoDatePicker(a),r=FlexiJS.Budgets.Data.Periods.GetUsedDataDates(),r.DataStart==null?(v=i.Periods.GetPeriod(Math.max.apply(null,i.StaticData.BudgetTables.map(function(n){return n.ShownMaxPeriodId}))),$("#divCurrentStartDate",t).text(kendo.toString(new Date(s.StartDate),"d")),$("#divCurrentEndDate",t).text(kendo.toString(new Date(v.EndDate),"d"))):($("#divCurrentStartDate",t).text(kendo.toString(new Date(r.DataStart),"d")),$("#divCurrentEndDate",t).text(kendo.toString(new Date(r.DataEnd),"d"))),n._buttonribbons.ChangeType.items.push(n._getButtonRibbonOptionItem("Reprofile","ChangeType.Reprofile.DisplayText","ChangeType.Reprofile.Title",null,{},"fa-calendar-alt",null,function(){return!0},function(){return!0},function(){return!0},function(){return!0})),u=[y],e&&e.length>0&&(h=FlexiJS.Budgets.Data.Periods.GetNextPeriod(Math.max.apply({},e)),h&&u.push(new Date(h.StartDate))),o&&o.length>0&&(c=FlexiJS.Budgets.Data.Periods.GetNextPeriod(Math.max.apply({},o)),c&&u.push(new Date(c.StartDate))),l=new Date(Math.max.apply({},u)),n._reprofileStartDateEntered=!1,$("#ReprofileStartDateSelect",t).kendoDatePicker({start:"year",depth:"year",format:"MMMM yyyy",dateInput:!0,min:l,change:function(){n._reprofileStartDateEntered=!0;n._onAdjustmentChange("ReprofileStartDateSelect","Reprofile")}}),n._reprofileEndDateEntered=!1,$("#ReprofileEndDateSelect",t).kendoDatePicker({start:"year",depth:"year",format:"MMMM yyyy",dateInput:!0,min:l,change:function(){n._reprofileEndDateEntered=!0;n._onAdjustmentChange("ReprofileEndDateSelect","Reprofile")}}));n._buttonribbons.DateRange={id:"bat_adjustmentoption_daterange",selector:"#bat_daterange",label:n._getResourceText("Dates.Label"),infoTooltip:n._getResourceText("Dates.Tooltip"),hiddenInitially:!0,items:[{value:"DatesAll",displayText:n._getResourceText("Dates.All.DisplayText"),title:n._getResourceText("Dates.All.Title"),mainIcon:"fa-calendar-check",subIcon:null,isValid:!0,subItem:null},{value:"DatesLimit",displayText:n._getResourceText("Dates.Limit.DisplayText"),title:n._getResourceText("Dates.Limit.Title"),mainIcon:"fa-calendar",subIcon:null,isValid:!1,subItem:{label:n._getResourceText("Dates.Limit.Label"),items:[n._getButtonRibbonOptionItem("DatesUntil","Dates.Limit.Until.DisplayText","Dates.Limit.Until.Title","DatesUntil",{},"fa-calendar",null,n._buttonribbonmethods.DatesUntilValidate,n._buttonribbonmethods.DatesUntilOnContentsLoad,n._buttonribbonmethods.DatesUntilGetContentsValue,n._buttonribbonmethods.DatesUntilEnabledStatusChange),n._getButtonRibbonOptionItem("DatesAfter","Dates.Limit.After.DisplayText","Dates.Limit.After.Title","DatesAfter",{},"fa-calendar",null,n._buttonribbonmethods.DatesAfterValidate,n._buttonribbonmethods.DatesAfterOnContentsLoad,n._buttonribbonmethods.DatesAfterGetContentsValue,n._buttonribbonmethods.DatesAfterEnabledStatusChange),n._getButtonRibbonOptionItem("DatesBetween","Dates.Limit.Between.DisplayText","Dates.Limit.Between.Title","DatesBetween",{},"fa-calendar",null,n._buttonribbonmethods.DatesBetweenValidate,n._buttonribbonmethods.DatesBetweenOnContentsLoad,n._buttonribbonmethods.DatesBetweenGetContentsValue,n._buttonribbonmethods.DatesBetweenEnabledStatusChange)]}}]};f=[{value:"ItemTypes-All",displayText:n._getResourceText("ItemTypes.All.DisplayText"),title:n._getResourceText("ItemTypes.All.Title"),mainIcon:"fa-globe",subIcon:null,isValid:!0,subItem:null}];n._budgetTableItemTypes!=null&&n._budgetTableItemTypes.length>0&&f.push(n._getButtonRibbonOptionItem("ItemTypes","ItemTypes.ItemTypes.DisplayText","ItemTypes.ItemTypes.Title","ItemTypeList",{},"fa-list",null,n._buttonribbonmethods.ItemTypesValidate,n._buttonribbonmethods.ItemTypesOnContentsLoad,n._buttonribbonmethods.ItemTypesGetContentsValue,n._buttonribbonmethods.ItemTypesEnabledStatusChange));f.push(n._getButtonRibbonOptionItem("Items","ItemTypes.Items.DisplayText","ItemTypes.Items.Title","ItemList",{},"fa-list",null,n._buttonribbonmethods.ItemsValidate,n._buttonribbonmethods.ItemsOnContentsLoad,n._buttonribbonmethods.ItemsGetContentsValue,n._buttonribbonmethods.ItemsEnabledStatusChange));n._buttonribbons.ItemTypes={id:"bat_adjustmentoption_restricttoitems",selector:"#bat_restricttoitems",label:n._getResourceText("ItemTypes.Label"),infoTooltip:n._getResourceText("ItemTypes.Tooltip"),items:f,hiddenInitially:!0}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getButtonRibbonOptionItem=function(n,t,i,r,u,f,e,o,s,h,c){var l=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;return{value:n,displayText:l._getResourceText(t),title:l._getResourceText(i),contents:l._renderKendoTemplate(r,u),validate:o,onContentsLoad:s,getContentsValue:h,mainIcon:f,subIcon:e,onEnableStatusChange:c}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._refreshPageBudgetTableData=function(n){var f=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t,r,i,u;if(n&&(t=$('[id$="budgetTableData"]'),r={},t)){i=$.parseJSON(n);r=$.parseJSON(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getBudgetTableHiddenFieldData(t));for(table in i.BudgetTables)u=i.BudgetTables[table],u.TableSettings=r.BudgetTables[table].TableSettings;t.val(JSON.stringify(i))}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getBudgetTableHiddenFieldData=function(n){var t=null;return n&&(n.length>1?$.each(n,function(n,i){if($(i).val().length>0)return t=$(i).val(),!1}):t=$(n).val()),t};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getReprofileDates=function(){var i=$("."+FlexiJS.GMS.Application.BudgetTableAdjustmentTool._classes.windowwrapper),t=$("#ReprofileStartDateSelect",i).data("kendoDatePicker").value(),n;return t!=null&&(t=new Date(t),t=new Date(t.getFullYear(),t.getMonth(),1)),n=$("#ReprofileEndDateSelect",i).data("kendoDatePicker").value(),n!=null&&(n=new Date(n),n=new Date(n.getFullYear(),n.getMonth()+1,0)),{start:t,end:n}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t=$("."+n._classes.windowwrapper);$(n._selectors.previewButton,t).addClass(n._classes.disabledbutton);$(n._selectors.saveButton,t).addClass(n._classes.disabledbutton)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enablePreviewAndSave=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t=$("."+n._classes.windowwrapper);$(n._selectors.previewButton,t).removeClass(n._classes.disabledbutton);$(n._selectors.saveButton,t).removeClass(n._classes.disabledbutton)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onAdjustmentChange=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=$("."+i._classes.windowwrapper),f=!1,u=$("."+i._classes.previewcontainer).find("#tabBudgetPreviewTabstrip").data("kendoTabStrip"),o,e;if(t=="ChangeOfStartDate")$(i._selectors.reprofile,r).toggle(!1),$(i._selectors.changeOfStartDate,r).toggle(!0),$(i._buttonribbons.DateRange.selector,r).toggle(!1),$(i._buttonribbons.ItemTypes.selector,r).toggle(!1),FlexiJS.Budgets.Data.StaticData.IsInManualPaymentsMode==!0?($(u.items()[1]).attr("style","display:none"),$("#ChangeStartDateWarning",r).text(i._getResourceText("ReprofilePayments.ManualPayments")).toggle(!0)):FlexiJS.Budgets.Data.StaticData.LinkedPayments&&FlexiJS.Budgets.Data.StaticData.LinkedPayments.length!=0?FlexiJS.Budgets.Data.StaticData.PaymentExtensionLength!=null?($(u.items()[1]).attr("style",""),$("#ChangeStartDateWarning",r).text(i._getResourceText("ReprofilePayments.ChangeStartDate.PaymentExtensionLength").replace("[PaymentExtensionLength]",FlexiJS.Budgets.Data.StaticData.PaymentExtensionLength)).toggle(!0)):($(u.items()[1]).attr("style",""),$("#ChangeStartDateWarning",r).toggle(!1)):($(u.items()[1]).attr("style","display:none"),$("#ChangeStartDateWarning",r).text(i._getResourceText("ReprofilePayments.NoPayments")).toggle(!0)),i._changeOfStartDateLocked==!0?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),$("#ChangeStartDateError",r).text(i._changeOfStartDateLockedReason).toggle(!0),$("#ChangeStartDateNewDateSelect",r).data("kendoDatePicker").enable(!1)):$("#ChangeStartDateNewDateSelect",r).data("kendoDatePicker").value()==null?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),$("#ChangeStartDateError",r).text(i._getResourceText("ChangeStartDate.InvalidDate")).toggle(!0)):(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enablePreviewAndSave(),$("#ChangeStartDateError",r).toggle(!1),f=i._lastPreviewedOptions!=null&&!i._previewMatchesCurrentOptions()),$(i._selectors.previewOutOfDateMessage,r).toggle(f);else if(t=="Reprofile")$(i._selectors.changeOfStartDate,r).toggle(!1),$(i._selectors.reprofile,r).toggle(!0),$(i._buttonribbons.DateRange.selector,r).toggle(!1),$(i._buttonribbons.ItemTypes.selector,r).toggle(!1),FlexiJS.Budgets.Data.StaticData.IsInManualPaymentsMode==!0?($(u.items()[1]).attr("style","display:none"),$("#ReprofileDateWarning",r).text(i._getResourceText("ReprofilePayments.ManualPayments")).toggle(!0)):FlexiJS.Budgets.Data.StaticData.LinkedPayments&&FlexiJS.Budgets.Data.StaticData.LinkedPayments.length!=0?FlexiJS.Budgets.Data.StaticData.PaymentExtensionLength!=null?($(u.items()[1]).attr("style",""),$("#ReprofileDateWarning",r).text(i._getResourceText("ReprofilePayments.Reprofile.PaymentExtensionLength").replace("[PaymentExtensionLength]",FlexiJS.Budgets.Data.StaticData.PaymentExtensionLength)).toggle(!0)):($(u.items()[1]).attr("style",""),$("#ReprofileDateWarning",r).toggle(!1)):($(u.items()[1]).attr("style","display:none"),$("#ReprofileDateWarning",r).text(i._getResourceText("ReprofilePayments.NoPayments")).toggle(!0)),o=i._getReprofileDates(),i._reprofileLocked==!0?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),$("#ReprofileDateError",r).text(i._reprofileLockedReason).toggle(!0),$("#ReprofileStartDateSelect",r).data("kendoDatePicker").enable(!1),$("#ReprofileEndDateSelect",r).data("kendoDatePicker").enable(!1)):o.start==null||o.end==null?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),i._reprofileStartDateEntered&&i._reprofileEndDateEntered&&$("#ReprofileDateError",r).text(i._getResourceText("Reprofile.InvalidDate")).toggle(!0)):o.start>o.end?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),$("#ReprofileDateError",r).text(i._getResourceText("Reprofile.StartDateAfterEndDate")).toggle(!0)):(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enablePreviewAndSave(),$("#ReprofileDateError",r).toggle(!1),f=i._lastPreviewedOptions!=null&&!i._previewMatchesCurrentOptions()),$(i._selectors.previewOutOfDateMessage,r).toggle(f);else{$(i._selectors.reprofile,r).toggle(!1);$(i._selectors.changeOfStartDate,r).toggle(!1);var s=$(i._buttonribbons.ChangeType.selector,r).data("flexiJSControlsButtonRibbon").isValid,c=$(i._buttonribbons.DateRange.selector,r).data("flexiJSControlsButtonRibbon").isValid,v=$(i._buttonribbons.ItemTypes.selector,r).data("flexiJSControlsButtonRibbon").isValid;if($(i._buttonribbons.DateRange.selector,r).toggle(s),$(i._buttonribbons.ItemTypes.selector,r).toggle(s&&c),s&&c&&v?(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enablePreviewAndSave(),f=i._lastPreviewedOptions!=null&&!i._previewMatchesCurrentOptions()):(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave(),f=i._lastPreviewedOptions!=null),e=$("#"+n),e!=null&&e.length>0){var h=e.closest("."+i._classes.optionslist),y=h.scrollTop(),l=h.innerHeight(),p=e.position().top,a=p+e.height();a>l&&h.animate({scrollTop:y+(a-l)},FlexiJS.Defaults.AnimationDuration.Standard)}$(i._selectors.previewOutOfDateMessage,r).toggle(f);$(u.items()[1]).attr("style","display:none")}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._setInitialTableData=function(){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,n=FlexiJS.Budgets.Data,e=$("<div>"),s,h;t._periodDates=n.StaticData.Periods.map(function(n){return{id:n.BudgetPeriodId,start:new Date(n.StartDate),end:new Date(n.EndDate),name:((n.BudgetPeriodGroupName==null?"":n.BudgetPeriodGroupName)+" "+n.Name).trim(),group:n.BudgetPeriodGroupName,groupId:n.BudgetPeriodGroupId,period:n.Name}});t._budgetTableItemTypes=[];n.StaticData.ItemTypes&&(t._budgetTableItemTypes=n.StaticData.ItemTypes.filter(function(n){return n.Upliftable==!0}).map(function(n){return{id:n.BudgetItemTypeId,name:n.Name,financecode:n.FinanceCode}}));FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled=n.StaticData.ReprofilingEnabled;FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLocked=!1;FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLocked=!1;var i=n.SignOffData.LockedPeriods.filter(function(n){return n.IsApproved||n.IsConfirmed}).length>0,r=n.StaticData.LinkedPayments.filter(function(n){return n.PaymentStatusID!=71100}).length>0,c=n.StaticData.ItemTypes.filter(function(n){return n.ItemPeriodMin!=null||n.ItemPeriodMax!=null||n.TablePeriodMin!=null||n.TablePeriodMax!=null}).length>0,u=!1,f=!1,o=Math.max.apply({},Object.values(n.DynamicData.TableEndPeriod));return i&&(s=Math.max.apply({},n.SignOffData.LockedPeriods.filter(function(n){return n.IsApproved||n.IsConfirmed}).map(function(n){return n.PeriodId})),s>=o&&(u=!0)),r&&(h=Math.max.apply({},n.StaticData.LinkedPayments.filter(function(n){return n.PaymentStatusID!=71100}).map(function(n){return n.GMSFundTypeBudgetTablePeriodId})),h>=o&&(f=!0)),n.StaticData.ReprofilingEnabled&&(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLocked=!n.StaticData.PeriodsSetupForReprofiling||i||r||n.StaticData.HasActiveReportingForms,n.StaticData.PeriodsSetupForReprofiling?n.StaticData.HasActiveReportingForms?FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLockedReason=t._getResourceText("ChangeStartDate.ReportingFormError"):r?FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLockedReason=t._getResourceText("ChangeStartDate.ExistingPaymentsError"):i&&(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLockedReason=t._getResourceText("ChangeStartDate.SignOffsError")):FlexiJS.GMS.Application.BudgetTableAdjustmentTool._changeOfStartDateLockedReason=t._getResourceText("ChangeStartDate.IncorrectPeriodSetup"),FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLocked=!n.StaticData.PeriodsSetupForReprofiling||u||f||n.StaticData.HasActiveReportingForms,n.StaticData.PeriodsSetupForReprofiling?n.StaticData.HasActiveReportingForms?FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLockedReason=t._getResourceText("Reprofile.ReportingFormError"):u?FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLockedReason=t._getResourceText("Reprofile.AllPeriodsLocked"):f&&(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLockedReason=t._getResourceText("Reprofile.AllPeriodsPaid")):FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileLockedReason=t._getResourceText("Reprofile.IncorrectPeriodSetup")),t._budgetTableItems=[],n.DynamicData.Items&&(t._budgetTableItems=n.DynamicData.Items.filter(function(n){return n.BudgetTableItemTypeId==null||jQuery.grep(t._budgetTableItemTypes,function(t){return t.id==n.BudgetTableItemTypeId}).length>0}).map(function(n){return{id:n.BudgetItemId,name:n.Name,table:FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n.BudgetTableId}).map(function(n){return n.Name})[0]}})),$.each(FlexiJS.Budgets.Data.DynamicData.ItemValues,function(n,t){t.Values.PreviewAdjustment=t.Values.CurrentValue}),$.each(FlexiJS.Budgets.Data.StaticData.BudgetTables,function(n,i){var r=$.extend({},i),u;r.TableSettings.ReadOnly=!1;r.TableSettings.ShowExpandLinks=!1;r.TableSettings.ShowFieldLabels=!0;r.TableSettings.ShowTotalsColumn=!0;r.TableSettings.ShowAccumulatedToTotalsColumn=!1;r.TableSettings.ShowTotalsRow=!0;r.TableSettings.PeriodAllowRemove=!1;r.TableSettings.PeriodAllowAdd=!1;r.TableSettings.AccumulateToPeriod=null;r.TableSettings.HighlightedPeriodId=null;r.TableSettings.PaymentFields=null;r.TableSettings.ValidationEnabled=!1;r.TableSettings.ValidationItems=null;r.TableSettings.PeriodDisplayMode=102500;r.TableSettings.PeriodDisplayModeInitiallyCollapsed=!1;r.PreviewFields=[];r.NoPreviewFields=[];r.ChangeOfStartDateFields=[];r.ReprofileFields=[];FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CurrentValue",r.PreviewFields,!0,i.GMSFundTypeBudgetTableId);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CurrentValue",r.NoPreviewFields,!1,i.GMSFundTypeBudgetTableId);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CurrentValue",r.ReprofileFields,!0,i.GMSFundTypeBudgetTableId);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CustomValueA",r.ReprofileFields,!0,i.GMSFundTypeBudgetTableId);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CustomValueB",r.ReprofileFields,!0,i.GMSFundTypeBudgetTableId);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields("CustomValueC",r.ReprofileFields,!0,i.GMSFundTypeBudgetTableId);r.ChangeOfStartDateFields=[].concat(r.NoPreviewFields);r.ReprofileFields=[].concat(r.NoPreviewFields);u=t._renderKendoTemplate("TableBase",r);e.append(u)}),{tableElements:e.children()}};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._GetReprofileFields=function(n,t,i,r){var f=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,u=n,e="",s=FlexiJS.Budgets.Data.StaticData.DefinedFieldNames.filter(function(n){return n.DataField==u&&n.TableId==r}),o;s.length>0&&(o=s[0],e=n=="CurrentValue"?"PreviewAdjustment":"Preview"+u+"Adjustment",t.push({Calculation:"",ConditionalFormatting:[],DataField:u,DisplayOrder:0,Format:"c",Id:0,Name:f._getResourceText("Field.CurrentPrefix")+o.Name,ShowOnlyInTotalsRow:!1,Type:f._enums.fieldTypes.label}),i&&(t.push({Calculation:"",ConditionalFormatting:[],DataField:e,DisplayOrder:1,Format:"c",Id:0,Name:f._getResourceText("Field.UpdatedPrefix")+o.Name,ShowOnlyInTotalsRow:!1,Type:f._enums.fieldTypes.label}),t.push({Calculation:"(itemvalue('"+e+"')-itemvalue('"+u+"'))",ConditionalFormatting:[{ApplyToTotalsColumn:!0,ApplyToTotalsRow:!0,Bold:!0,Colour:"#1eb52b",Condition:"((itemValue('"+e+"'))-(itemValue('"+u+"')))>0",GmsFundTypeBudgetTableFieldConditionalFormatId:0,Italic:!1,Underline:!1},{ApplyToTotalsColumn:!0,ApplyToTotalsRow:!0,Bold:!0,Colour:"#cc0000",Condition:"((itemValue('"+e+"'))-(itemValue('"+u+"')))<0",GmsFundTypeBudgetTableFieldConditionalFormatId:0,Italic:!1,Underline:!1}],DataField:u,DisplayOrder:2,Format:"c",Id:0,Name:'<span class="bold">'+f._getResourceText("Field.Difference")+"<\/span>",ShowOnlyInTotalsRow:!1,Type:f._enums.fieldTypes.calculatedField})))};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._toggleControlsForWebService=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=$("."+i._classes.windowwrapper);$("."+i._classes.loadingcontainer,r).toggle(t&&!n);$(i._buttonribbons.ChangeType.selector,r).data("flexiJSControlsButtonRibbon").enable(n);$(i._buttonribbons.DateRange.selector,r).data("flexiJSControlsButtonRibbon").enable(n);$(i._buttonribbons.ItemTypes.selector,r).data("flexiJSControlsButtonRibbon").enable(n);n?FlexiJS.GMS.Application.BudgetTableAdjustmentTool._enablePreviewAndSave():FlexiJS.GMS.Application.BudgetTableAdjustmentTool._disablePreviewAndSave()};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._callSavePreviewWebservice=function(n){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=$("."+t._classes.windowwrapper),o={ApplicationId:$("#budgetTableAdjustmentAppId",r).val(),Data:JSON.stringify(t._getWebserviceParameters(n))},f=function(){},e="",u=$(t._buttonribbons.ChangeType.selector,r).data("flexiJSControlsButtonRibbon")._selectedValue,i;u=="ChangeOfStartDate"||u=="Reprofile"?(e="BudgetReprofile",i="",u=="ChangeOfStartDate"?i="ChangeStartDate":u=="Reprofile"&&(i="Reprofile"),t._cachedStaticData==null&&(t._cachedStaticData=$.extend({},FlexiJS.Budgets.Data.StaticData)),f=function(u){if(u.d!=null&&u.d!="")if(u.d!=null&&u.d!="")if(n){t._lastPreviewedOptions=t._getWebserviceParameters(!0);$(t._selectors.previewOutOfDateMessage,r).toggle(!1);var f=JSON.parse(u.d);FlexiJS.Budgets.Data.DynamicData=f.UserData;FlexiJS.Budgets.Data.StaticData=f.StaticData;$.each(FlexiJS.Budgets.Data.StaticData.BudgetTables,function(n,t){t.ShownMaxPeriodId=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]});FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderTables(!1,!0);FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderPaymentGrid(!0);$.each($("#tabBudgetPreviewTabstrip",r).data("kendoTabStrip").tabGroup.children().filter(function(n,t){return t.className.indexOf("k-state-active")<0}),function(n,t){$(t).find(".k-link").addClass("tab-change-highlight")});FlexiJS.GMS.Application.BudgetTableAdjustmentTool.HighlightTableDateChanges()}else $("."+t._classes.windowwrapper).data("kendoWindow").close(),showNotificationMessage("success",t._getResourceText(i+".SaveMessage")),FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId&&FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId!=""&&$("#"+FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId).click();else showNotificationMessage("error",t._getResourceText(n?"Preview.Error":i+".SaveError"));else showNotificationMessage("error",t._getResourceText(n?"Preview.Error":i+".SaveError"))}):(t._cachedStaticData==null&&(t._cachedStaticData=$.extend({},FlexiJS.Budgets.Data.StaticData)),e=n?"PreviewBudgetAdjustment":"SaveBudgetAdjustment",f=function(i){i.d!=null&&i.d!=""?n?(t._lastPreviewedOptions=t._getWebserviceParameters(!0),$(t._selectors.previewOutOfDateMessage,r).toggle(!1),FlexiJS.Budgets.Data.DynamicData=JSON.parse(i.d),FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderTables(!1,!0),FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled&&FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderPaymentGrid(!1)):($("."+t._classes.windowwrapper).data("kendoWindow").close(),FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId&&FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId!=""&&$("#"+FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId).click(),FlexiJS.Budgets.UI.RenderAllTables()):showNotificationMessage("error",t._getResourceText(n?"Preview.Error":"Save.Error"))});$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/"+e,data:JSON.stringify(o),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!0,beforeSend:function(){t._toggleControlsForWebService(!1,!0)},success:f,error:function(){showNotificationMessage("error",t._getResourceText(n?"Preview.Error":"Save.Error"))},complete:function(){n&&t._toggleControlsForWebService(!0,!0)}})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getWebserviceParameters=function(n){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,i=$("."+t._classes.windowwrapper),r=$(t._buttonribbons.ChangeType.selector,i).data("flexiJSControlsButtonRibbon")._selectedValue,u;return r=="ChangeOfStartDate"?{MoveByMonth:!0,StartingDate:$("#ChangeStartDateNewDateSelect",i).data("kendoDatePicker").value(),EndingDate:null,IsPreview:n,IsChangeOfStartDate:!0}:r=="Reprofile"?(u=FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getReprofileDates(),{MoveByMonth:!0,StartingDate:u.start,EndingDate:r=="Reprofile"?u.end:null,IsPreview:n,IsChangeOfStartDate:!1}):$.extend({},t._defaultOptions,$(t._buttonribbons.ChangeType.selector,i).data("flexiJSControlsButtonRibbon").selectedContentsValue(),$(t._buttonribbons.DateRange.selector,i).data("flexiJSControlsButtonRibbon").selectedContentsValue(),$(t._buttonribbons.ItemTypes.selector,i).data("flexiJSControlsButtonRibbon").selectedContentsValue(),{ApplyToValue:n?t._enums.valueFields.Preview:t._enums.valueFields.Current})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._previewMatchesCurrentOptions=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool;return JSON.stringify(n._lastPreviewedOptions)==JSON.stringify(n._getWebserviceParameters(!0))};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._getResourceText=function(n){return FlexiJS.Resources.GetResourceText(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._resourceset,n)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool._renderKendoTemplate=function(n,t){return FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableAdjustmentTool._template,n,t,!1)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool.ConfirmSave=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t=n._previewMatchesCurrentOptions();n._toggleControlsForWebService(!1,!1);FlexiJS.ConfirmActions.KendoConfirmPopup({title:n._getResourceText("Save.Confirm.Title"),message:n._renderKendoTemplate("ConfirmMessage_SaveConfirmMessage",{showNoPreviewWarning:!t}),buttons:[{onclick:function(){n._callSavePreviewWebservice(!1)},uniquename:"btnAdjustmentYes",text:n._getResourceText(t?"Save.Confirm.SaveButton":"Save.Confirm.NoPreview.SaveButton")},{onclick:function(){n._toggleControlsForWebService(!0,!1)},uniquename:"btnAdjustmentNo",text:n._getResourceText("Save.Confirm.CancelButton")}],windowClose:function(){n._toggleControlsForWebService(!0,!1)}})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool.ShowWindow=function(n,t,i,r,u){var f=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,h="bat_"+t,c,e,a,o;if(f._lastPreviewedOptions=null,c=f._setInitialTableData(),FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled||f._budgetTableItems.length>0){e=FlexiJS.Popup.CreateKendoWindow(h,f._getResourceText("Window.Close"),f._getResourceText("Window.Title"),i);e.bind("close",function(){FlexiJS.Budgets.Data.LoadAllData($('[id$="newBudgetTableData_Static"]')[0].id,$('[id$="newBudgetTableData_User"]')[0].id,$('[id$="newBudgetTableData_Confirmation"]')[0].id);FlexiJS.Budgets.UI.RenderAllTables()});e.element.addClass(f._classes.window).addClass(f._classes.windowwrapper);e.element.find("."+f._classes.kendowindowcontents).append(f._renderKendoTemplate("WindowContents",{id:h,appId:t}));e.element.find(f._selectors.previewButton).bind("click",function(){return $(this).hasClass(f._classes.disabledbutton)||f._callSavePreviewWebservice(!0),!1});e.element.find(f._selectors.saveButton).bind("click",function(){return $(this).hasClass(f._classes.disabledbutton)||f.ConfirmSave(),!1});a=e.element.find('[id$="budgetTableAdjustmentData"]');e.bind("activate",function(){e.element.find("."+f._classes.loadingcontainer).toggle(!1)});f._setOptionsAndButtonRibbonData();f._setupButtonRibbons(e.element);o=e.element.find("."+f._classes.previewcontainer);$(o).append(f._renderKendoTemplate("TabBase",null));$(o).find(".bat-tablecontainer").append(c.tableElements);$(o).find(".budgettools-paymentscontainer").append("<h2>"+f._getResourceText("ReprofilePayments.Title")+'<\/h2><div id="divPaymentsGridContainer" class="margin-top"><\/div>');var s=$(o).find("#tabBudgetPreviewTabstrip").kendoTabStrip({activate:function(n){$(n.item).find(".tab-change-highlight").removeClass("tab-change-highlight")},navigatable:!1}),v=function(n){var t=n.filter(":visible");n.height(s.innerHeight()-s.children(".k-tabstrip-items").outerHeight()-parseFloat(t.css("padding-top"))-parseFloat(t.css("padding-bottom"))-parseFloat(t.css("border-top-width"))-parseFloat(t.css("border-bottom-width"))-parseFloat(t.css("margin-bottom")))},l=function(){v(s.children(".k-content"))};s.parent().addClass("tabstripcontainer");$(window).resize(function(){l()});FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderTables(!1,!1);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._reprofileEnabled&&FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderPaymentGrid(!1);FlexiJS.GMS.Application.BudgetTableAdjustmentTool._onSaveActionButtonId=u;e.maximize().open();l()}else FlexiJS.ConfirmActions.KendoConfirmPopup({title:f._getResourceText("Window.Title"),message:f._getResourceText("Window.NoAdjustableItems"),buttons:[{uniquename:"btnNoAdjustmentOk",text:f._getResourceText("Window.NoAdjustableItemsButton")}]})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderTables=function(n,t){var i=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,r=$("."+i._classes.windowwrapper),u=$(i._buttonribbons.ChangeType.selector,r).data("flexiJSControlsButtonRibbon")._selectedValue,f="nopreviewfields";t&&(f=u=="ChangeOfStartDate"?"changeofstartdatefields":u=="Reprofile"?"reprofilefields":"previewfields");$.each(FlexiJS.Budgets.Data.StaticData.BudgetTables,function(t,i){var u=$('[id="tbl'+i.GMSFundTypeBudgetTableId+'$table"]',r);n==!0&&u.empty();u.data("layout").Fields=u.data(f);FlexiJS.Budgets.UI.RenderTable('[id="tbl'+i.GMSFundTypeBudgetTableId+'$table"]')})};FlexiJS.GMS.Application.BudgetTableAdjustmentTool.RenderPaymentGrid=function(n){var t=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,o=FlexiJS.Budgets.Data,l=$("."+t._classes.windowwrapper),s=[],h=[],c=[],r=o.StaticData.LinkedPayments.map(function(n){var u=null,f=null,r,i;return(t._cachedStaticData?(r=t._cachedStaticData.LinkedPayments.filter(function(t){return t.GMSApplicationPaymentID==n.GMSApplicationPaymentID}),r&&r.length>0&&(u=r[0].InvoiceDate,f=r[0].Value)):(u=n.InvoiceDate,f=n.Value),!n.GMSFundTypeBudgetTablePeriodId)?null:(i=o.StaticData.Periods.filter(function(t){return t.BudgetPeriodId==n.GMSFundTypeBudgetTablePeriodId})[0],$.inArray(n.GMSFundTypeBudgetTablePeriodId,h)==-1&&h.push(n.GMSFundTypeBudgetTablePeriodId),$.inArray(i.BudgetPeriodGroupId,s)==-1&&s.push(i.BudgetPeriodGroupId),$.inArray(n.GMSFundTypeBudgetTableItemTypeId,c)==-1&&c.push(n.GMSFundTypeBudgetTableItemTypeId),{Id:n.GMSApplicationPaymentID,PeriodId:n.GMSFundTypeBudgetTablePeriodId,PeriodName:i.Name,PeriodGroupId:i.BudgetPeriodGroupId,PeriodGroupName:i.BudgetPeriodGroupName,InvoiceNumber:n.InvoiceNumber,Description:n.Description,ItemTypeId:n.GMSFundTypeBudgetTableItemTypeId,NewInvoiceDate:n.InvoiceDate,NewValue:n.Value,CurrentInvoiceDate:u,CurrentValue:f})}).filter(function(n){return n!=null});r=r.sort(function(n,t){return n.PeriodGroupId===t.PeriodGroupId?n.PeriodId===t.PeriodId?n.Id>t.Id?1:-1:n.PeriodId>t.PeriodId?1:-1:n.PeriodGroupId>t.PeriodGroupId?1:-1});var f=$('<table class="budgettools-paymentgrid"/>'),u=0,e=0,a=t._getResourceText("PaymentsGrid.CurrentRowTitle"),v=t._getResourceText("PaymentsGrid.NewRowTitle"),i="<tr>";r.filter(function(n){return n.PeriodGroupId!=null}).length>0&&(i+=FlexiJS.Common.Tables.CreateTableCell("Period Group",null,null,!0));i+=FlexiJS.Common.Tables.CreateTableCell(t._getResourceText("PaymentsGrid.PeriodRowTitle"),null,null,!0);i+=FlexiJS.Common.Tables.CreateTableCell(t._getResourceText("PaymentsGrid.InvoiceNumberRowTitle"),null,null,!0);n&&(i+=FlexiJS.Common.Tables.CreateTableCell(t._getResourceText("PaymentsGrid.VersionRowTitle"),null,null,!0));i+=FlexiJS.Common.Tables.CreateTableCell(t._getResourceText("PaymentsGrid.InvoiceDateRowTitle"),null,null,!0);i+=FlexiJS.Common.Tables.CreateTableCell(t._getResourceText("PaymentsGrid.ValueRowTitle"),null,null,!0);i+="<\/tr>";f.append(i);$.each(r,function(t,i){var o="",s;i.PeriodGroupId!=null&&i.PeriodGroupId!=u&&(u=i.PeriodGroupId,o+=FlexiJS.Common.Tables.CreateTableCell(i.PeriodGroupName,r.filter(function(n){return n.PeriodGroupId==u}).length*(n?2:1),"payment-periodgroup"));i.PeriodId!=e&&(e=i.PeriodId,o+=FlexiJS.Common.Tables.CreateTableCell(i.PeriodName,r.filter(function(n){return n.PeriodGroupId==(u==0?null:u)&&n.PeriodId==e}).length*(n?2:1),"payment-period"));o+=FlexiJS.Common.Tables.CreateTableCell(i.InvoiceNumber,n?2:1);n&&(o+=FlexiJS.Common.Tables.CreateTableCell(a));o+=FlexiJS.Common.Tables.CreateTableCell(i.CurrentInvoiceDate==null?"-":kendo.toString(new Date(i.CurrentInvoiceDate),"d"),null,n&&i.CurrentInvoiceDate!=i.NewInvoiceDate?"old":null);o+=FlexiJS.Common.Tables.CreateTableCell(i.CurrentValue==null?"-":kendo.toString(i.CurrentValue,"c"),null,n&&i.CurrentValue!=i.NewValue?"old currency":"currency");f.append("<tr>"+o+"<\/tr>");n&&(s="",s+=FlexiJS.Common.Tables.CreateTableCell(v),s+=FlexiJS.Common.Tables.CreateTableCell(i.NewInvoiceDate==null?"-":kendo.toString(new Date(i.NewInvoiceDate),"d"),null,i.CurrentInvoiceDate!=i.NewInvoiceDate?"new":null),s+=FlexiJS.Common.Tables.CreateTableCell(i.NewValue==null?"-":kendo.toString(i.NewValue,"c"),null,i.CurrentValue!=i.NewValue?"new currency":"currency"),f.append("<tr>"+s+"<\/tr>"))});$("#divPaymentsGridContainer",l).empty().append(f)};FlexiJS.GMS.Application.BudgetTableAdjustmentTool.HighlightTableDateChanges=function(){var n=FlexiJS.GMS.Application.BudgetTableAdjustmentTool,t=FlexiJS.Budgets.Data,r=$("."+n._classes.windowwrapper),i;n._cachedStaticData!=null&&($.each(t.StaticData.BudgetTables,function(i,u){var s=t.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==u.GMSFundTypeBudgetTableId})[0],f=t.Table.GetTableDataDatesByTable(s,FlexiJS.Budgets.Data.StaticData.Periods,null),h=n._cachedStaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==u.GMSFundTypeBudgetTableId})[0],e=t.Table.GetTableDataDatesByTable(h,n._cachedStaticData.Periods),o=$('[data-elementtype="budgetTableDates"][data-tableid="'+u.GMSFundTypeBudgetTableId+'"]',r);f.TableEnd!=e.TableEnd&&o.find('[data-elementtype="budgetTableDates_TableEnd"]').addClass("new").text(f.TableEnd);f.TableStart!=e.TableStart&&o.find('[data-elementtype="budgetTableDates_TableStart"]').addClass("new").text(f.TableStart);f.DataEnd!=e.DataEnd&&o.find('[data-elementtype="budgetTableDates_DataEnd"]').addClass("new").text(f.DataEnd);f.DataStart!=e.DataStart&&o.find('[data-elementtype="budgetTableDates_DataStart"]').addClass("new").text(f.DataStart)}),i=n._cachedStaticData.Periods.filter(function(n){var i=t.StaticData.Periods.filter(function(t){return t.BudgetPeriodId==n.BudgetPeriodId})[0];return i==null||i.EndDate!=n.EndDate||i.StartDate!=n.StartDate}).map(function(n){return'[data-period="'+n.BudgetPeriodId+'"]'}).join(),i&&i!=""&&$('[data-elementtype="periodDateRow"]',r).find(i).addClass("changed"))};FlexiJS.GMS.Application.BudgetTableFieldSelector={};FlexiJS.GMS.Application.BudgetTableFieldSelector.OnUpdate={};FlexiJS.GMS.Application.BudgetTableFieldSelector._template="budgettablefieldselector";FlexiJS.GMS.Application.BudgetTableFieldSelector._resourceset="/scripts/budgettablefieldselector.js";FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields={StorageElement:"data-storageelement",FieldId:"data-fieldid",Property:"data-property",SubProperty:"data-subproperty"};FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors={Grid:'[name="fieldgrid"]',GridRemoveLink:"[data-command=remove][data-fieldid]",GridValidationCheckbox:"input[type=checkbox][data-command=changeitemproperty][data-fieldid]",GridHintRemoveColumns:'[data-columnid="validation"],[data-columnid="action"]',GridDragHandle:".draggable-icon, .draggable-icon *",Dropdown:'[name="fieldlist"]',AddFieldButton:'[name="addFieldLink"]'};FlexiJS.GMS.Application.BudgetTableFieldSelector.RebindGrid=function(n){var r=$("#"+n),i=r.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement),t=r.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Grid).data("kendoGrid");t.dataSource.data(JSON.parse($("#"+i).val()));t.refresh();t.wrapper.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.GridRemoveLink).click(function(){var r=$(this).attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.FieldId),t=JSON.parse($("#"+i).val()),u=t.filter(function(n){return n.Id==r?n:null})[0].DisplayOrder+0;t.forEach(function(n){n.DisplayOrder>=u&&(n.DisplayOrder=n.DisplayOrder-1)});t.forEach(function(n){n.Id==r&&(n.DisplayOrder=null,n.Selected=!1)});FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,t,!0,!0)});t.wrapper.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.GridValidationCheckbox).change(function(){var f=$(this).attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.FieldId),t=$(this).attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.Property),r=$(this).attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.SubProperty),u=JSON.parse($("#"+i).val()),e=this.checked;u.forEach(function(n){n.Id==f&&n.hasOwnProperty(t)&&n[t].hasOwnProperty(r)&&(n[t][r]=e)});FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,u,!0,!0)})};FlexiJS.GMS.Application.BudgetTableFieldSelector.RebindDropdown=function(n){var i=$("#"+n),r=i.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement),t=i.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Dropdown).data("kendoDropDownList");t.dataSource.data(JSON.parse($("#"+r).val()));t.refresh();t.items().length<1?t.enable(!1):(t.enable(!0),t.select(0))};FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource=function(n,t,i,r){var f=$("#"+n),e=f.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement),u;$("#"+e).val(JSON.stringify(t));i&&FlexiJS.GMS.Application.BudgetTableFieldSelector.RebindGrid(n);r&&FlexiJS.GMS.Application.BudgetTableFieldSelector.RebindDropdown(n);FlexiJS.GMS.Application.BudgetTableFieldSelector.OnUpdate.hasOwnProperty(n)&&(u=FlexiJS.GMS.Application.BudgetTableFieldSelector.OnUpdate[n],u&&u())};FlexiJS.GMS.Application.BudgetTableFieldSelector.AddField=function(n){var i=$("#"+n),f=i.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement),e=i.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Dropdown).data("kendoDropDownList"),t=JSON.parse($("#"+f).val()),r=e.value(),o=Math.max.apply(Math,t.map(function(n){return n.Selected==!0?n.DisplayOrder:-1}))+1,u=t.filter(function(n){return n.Id==r})[0];if(u.CanBeValidated==!0&&t.filter(function(n){return n.DataField==u.DataField&&n.CanBeValidated==!0&&n.Selected==!0}).length>0)return FlexiJS.UI.ShowAlert(FlexiJS.Resources.GetResourceText(FlexiJS.GMS.Application.BudgetTableFieldSelector._resourceset,"FieldAlreadyAdded.text")),!1;t.forEach(function(n){n.Id==r&&(n.Selected=!0,n.DisplayOrder=o)});FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,t,!0,!0)};FlexiJS.GMS.Application.BudgetTableFieldSelector.ClearExistingElements=function(n){var i=n.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Grid),t;i&&i.data("kendoGrid")&&i.data("kendoGrid").destroy();t=n.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Dropdown);t&&t.data("kendoDropDownList")&&t.data("kendoDropDownList").destroy();n.empty()};FlexiJS.GMS.Application.BudgetTableFieldSelector.SetupControl=function(n,t,i){var r=$("#"+n);FlexiJS.GMS.Application.BudgetTableFieldSelector.ClearExistingElements(r);FlexiJS.GMS.Application.BudgetTableFieldSelector.OnUpdate[n]=i?i:null;r.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement,t);r.append(FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"BaseElements",{}));r.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Grid).kendoGrid(FlexiJS.GMS.Application.BudgetTableFieldSelector.GridSetupProperties()).data("kendoGrid").table.kendoSortable(FlexiJS.GMS.Application.BudgetTableFieldSelector.GridSortParameters(n));r.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Dropdown).kendoDropDownList(FlexiJS.GMS.Application.BudgetTableFieldSelector.DropdownSetupParameters());r.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.AddFieldButton).bind("click",function(){FlexiJS.GMS.Application.BudgetTableFieldSelector.AddField(n)});FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,JSON.parse($("#"+t).val()),!0,!0)};FlexiJS.GMS.Application.BudgetTableFieldSelector.GridSortParameters=function(n){return{filter:">tbody >tr",axis:"y",handler:FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.GridDragHandle,hint:function(n){var r=$(n).closest("table").outerWidth(),t=$(FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridRowHintContainer",{width:r})),i=n.clone();return $(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.GridHintRemoveColumns,i).remove(),t.append(i),t.css("opacity",.7),t},cursor:"grabbing",cursorOffset:{top:0,left:0},placeholder:function(){return FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridRowMoveTarget",{})},change:function(t){if(t.newIndex!=t.oldIndex){var r=$("#"+n),e=r.find(FlexiJS.GMS.Application.BudgetTableFieldSelector.Selectors.Grid).data("kendoGrid"),u=e.dataSource.getByUid(t.item.data("uid")),o=r.attr(FlexiJS.GMS.Application.BudgetTableFieldSelector.DataFields.StorageElement),i=JSON.parse($("#"+o).val()),s=i.filter(function(n){return n.Id==u.Id?n:null})[0],f=t.newIndex,h=s.DisplayOrder+0;i.forEach(function(n){n.DisplayOrder>h&&(n.DisplayOrder=n.DisplayOrder-1)});i.forEach(function(n){n.DisplayOrder>=f&&(n.DisplayOrder=n.DisplayOrder+1)});i.forEach(function(n){n.Id==u.Id&&(n.DisplayOrder=f)});FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,i,!0,!1)}else FlexiJS.GMS.Application.BudgetTableFieldSelector.UpdateDatasource(n,i,!0,!1)}}};FlexiJS.GMS.Application.BudgetTableFieldSelector.GridSetupProperties=function(){return{dataSource:{data:null,filter:{field:"Selected",operator:"equals",value:"true"},sort:{field:"DisplayOrder",dir:"asc"}},scrollable:!1,columns:[{title:"",template:FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridRowDragHandle",{}),attributes:{"class":"draggable-icon"}},{field:"Name",title:"Field",template:FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridFieldNameColumn",{}),attributes:{"data-columnid":"name"}},{title:"Validation",template:FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridValidationColumn",{}),attributes:{"data-columnid":"validation","class":"fieldgrid-column-validation"}},{title:"",template:FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridRowRemove",{}),attributes:{"data-columnid":"action","class":"removable","data-command":"remove","data-fieldid":"#= Id #"}}],messages:{noRecords:FlexiJS.Resources.GetResourceText(FlexiJS.GMS.Application.BudgetTableFieldSelector._resourceset,"GridNoRowsMessage.text")},noRecords:!0}};FlexiJS.GMS.Application.BudgetTableFieldSelector.DropdownSetupParameters=function(){return{dataSource:{data:null,filter:{field:"Selected",operator:"neq",value:"true"}},dataValueField:"Id",dataTextField:"Name",template:FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridFieldNameColumn",{}),index:0}};FlexiJS.GMS.Application.BudgetTableFieldSelector.ValidationItemTemplate=function(n,t,i,r){return FlexiJS.Kendo.Templates.RenderTemplate(FlexiJS.GMS.Application.BudgetTableFieldSelector._template,"GridValidationColumnItem",{name:n,validationproperty:t,validationsubproperty:i,labeltext:r})};FlexiJS.Budgets={};FlexiJS.Budgets.Claims={};FlexiJS.Budgets.Claims.CurrentValueFormat="c";FlexiJS.Budgets.Claims.CurrentKendoValueFormat=function(){return"{0:"+FlexiJS.Budgets.Claims.CurrentValueFormat+"}"};FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat=function(){return"("+kendo.culture().numberFormat.currency.symbol+"#,0.00)"};FlexiJS.Budgets.Claims.GetClaimsCurrencyFormat=function(n){return n?"{0:"+FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat()+"}":"{0:c}"};FlexiJS.Budgets.Claims.GetResourceText=function(n){return FlexiJS.Resources.GetResourceText("FlexiJS.Budgets.Claims",n)};FlexiJS.Budgets.Claims.SetBudgetSubItemData=function(n,t,i,r,u,f){var s=$("#"+t),o=JSON.parse(s.val()),e=o.filter(function(n){return n.BudgetClaimEntryId==i})[0],h,c;switch(u){case"Claimed":e.SubItems.filter(function(n){return n.BudgetClaimEntrySubItemId==r}).map(function(n){n.Claimed=f});e.Claimed=e.SubItems.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()});h=e.SubItems.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()});c=o.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()});$('[name="'+n+'_valuetotal"]').text(kendo.format(FlexiJS.Budgets.Claims.CurrentKendoValueFormat(),c));$('[name="'+i+'_typetotal"]').text(kendo.format(FlexiJS.Budgets.Claims.CurrentKendoValueFormat(),h));break;case"Name":e.SubItems.filter(function(n){return n.BudgetClaimEntrySubItemId==r}).map(function(n){n.Name=f});break;case"Period":e.SubItems.filter(function(n){return n.BudgetClaimEntrySubItemId==r}).map(function(n){n.Period=f});break;case"Description":e.SubItems.filter(function(n){return n.BudgetClaimEntrySubItemId==r}).map(function(n){n.Description=f})}s.val(JSON.stringify(o))};FlexiJS.Budgets.Claims.BindSubGrid=function(n,t,i,r){var e=$("#"+n),o=e.data("readonly"),v=e.data("startWithNegativePayments"),u="<input name='"+n+"_valueinput' data-id='#: BudgetClaimEntrySubItemId #'  data-parentid='#: BudgetClaimEntryId #' value='#: Claimed #' class='currencyinput'><\/input>",s="<textarea name='"+n+"_descriptioninput' class='descriptionInput' data-id='#: BudgetClaimEntrySubItemId #'  data-parentid='#: BudgetClaimEntryId #' rows='1'>#: Description #<\/textarea>",h="<input type='text' name='"+n+"_periodinput' class='periodInput' data-id='#: BudgetClaimEntrySubItemId #'  data-parentid='#: BudgetClaimEntryId #' value='#: Period #' maxlength='255'><\/input>",c="<input type='text' name='"+n+"_nameinput' class='nameInput' data-id='#: BudgetClaimEntrySubItemId #'  data-parentid='#: BudgetClaimEntryId #' value='#: Name #' maxlength='100'><\/input>",l="k-gridcell",a="k-gridcell",f;o==!0&&(u="#= kendo.format('{0:c}', Claimed) #",v==!0&&(u="#= kendo.format('({0:c})', Claimed) #"),s="<p>#: Description #<\/p>",l="k-gridcell descriptioncell",a="k-gridcell currencycell",c="#: Name #",h="#: Period #");f=[{title:" <span class='required'><i class='fas fa-asterisk'><\/i><\/span>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Name"),field:"Name",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},width:"25%",template:c},{title:" <span class='required'><i class='fas fa-asterisk'><\/i><\/span>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Period"),field:"Period",editable:function(){return!1},attributes:{"class":"k-gridcell"},width:"25%",headerAttributes:{"class":"headercell"},template:h},{title:" <span class='required'><i class='fas fa-asterisk'><\/i><\/span>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.ClaimValue"),field:"Claimed",format:FlexiJS.Budgets.Claims.CurrentKendoValueFormat(),editable:function(){return!1},attributes:{"class":a},width:"15%",headerAttributes:{"class":"headercell"},template:u},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Description"),field:"Description",editable:function(){return!1},attributes:{"class":l},headerAttributes:{"class":"headercell"},template:s}];o!=!0&&f.push({title:"",editable:function(){return!1},attributes:{"class":"k-gridcell",style:"text-align: center"},width:"40px",headerAttributes:{"class":"headercell"},template:"<span class='fas fa-trash-alt deleteIcon' onclick=\"FlexiJS.Budgets.Claims.RemoveItem(this, '"+n+"', '"+t+"', #: BudgetClaimEntryId #, #: BudgetClaimEntrySubItemId #);\"><\/span>"});i.kendoGrid({dataSource:{data:r},scrollable:!1,sortable:!1,pageable:!1,columns:f,dataBound:function(i){var r=i.sender.items();r.each(function(){var i=$(this);i.find('[name="'+n+'_valueinput"]').kendoNumericTextBox({spinners:!1,format:FlexiJS.Budgets.Claims.CurrentValueFormat,min:0,change:function(){var i=this.value();(i==null||i=="")&&(i=0);FlexiJS.Budgets.Claims.SetBudgetSubItemData(n,t,this.element.data("parentid"),this.element.data("id"),"Claimed",i);i==0?this.wrapper.addClass("invalidKendoField"):this.wrapper.removeClass("invalidKendoField")},"class":"currencyinput"});$('[name="'+n+'_valueinput"]').parent().find("input[type=text]:not(.k-formatted-value)").on("focus",function(){var n=$(this);n.val()==0&&window.setTimeout(function(){n.select()},0)});i.find('[name="'+n+'_nameinput"]').change(function(){var i=$(this).val();FlexiJS.Budgets.Claims.SetBudgetSubItemData(n,t,$(this).data("parentid"),$(this).data("id"),"Name",i);i==null||i.trim()===""?$(this).addClass("invalidfield"):$(this).removeClass("invalidfield")});i.find('[name="'+n+'_descriptioninput"]').change(function(){FlexiJS.Budgets.Claims.SetBudgetSubItemData(n,t,$(this).data("parentid"),$(this).data("id"),"Description",$(this).val())});i.find('[name="'+n+'_periodinput"]').change(function(){var i=$(this).val();FlexiJS.Budgets.Claims.SetBudgetSubItemData(n,t,$(this).data("parentid"),$(this).data("id"),"Period",i);i==null||i.trim()===""?$(this).addClass("invalidfield"):$(this).removeClass("invalidfield")})})}})};FlexiJS.Budgets.Claims.SetupBudgetClaimsGrid=function(n,t,i,r,u){var o=$("#"+n),f,a,v;o.data("readonly",u);o.data("startWithNegativePayments",r);f=$("#"+i);f&&f.length>0?f.find("input[type=radio]:checked").val()!="claim"&&(FlexiJS.Budgets.Claims.CurrentValueFormat=FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat()):r==!0&&(FlexiJS.Budgets.Claims.CurrentValueFormat=FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat());var e=u?5:0,s=[{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.CostType"),field:"ItemTypeName",footerTemplate:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableFooter.TotalText"),editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},width:20+e+"%",template:"#= data.GMSFundTypeBudgetTableItemTypeId ? data.ItemTypeName : data.BudgetTableName + ' "+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Table.ItemTypeEmptyTotal")+"' #"},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.ApprovedBudget"),field:"Approved",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:15+e+"%",headerAttributes:{"class":"headercell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.PaidToDate"),field:"PaidToDate",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:15+e+"%",headerAttributes:{"class":"headercell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Balance"),field:"Balance",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:15+e+"%",headerAttributes:{"class":"headercell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.ClaimValue"),field:"Claimed",template:"<span name='#: BudgetClaimEntryId #_typetotal'>#= kendo.format('"+FlexiJS.Budgets.Claims.CurrentKendoValueFormat().replace("#","\\#")+"', Claimed) #<\/span>",footerTemplate:"<span name='"+n+"_valuetotal'>#= kendo.format('"+FlexiJS.Budgets.Claims.CurrentKendoValueFormat().replace("#","\\#")+"', sum) #<\/span>",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:15+e+"%",headerAttributes:{"class":"headercell"},footerAttributes:{"class":"k-gridcell currencycell"}}],h="<div class='subgrid' data-id='#: BudgetClaimEntryId #'><\/div>";u!=!0&&(h="<div class='subgrid' data-id='#: BudgetClaimEntryId #'><\/div><span onclick=\"FlexiJS.Budgets.Claims.AddItem(this, '"+n+"', '"+t+"', #: BudgetClaimEntryId #);\" class='btn'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableControls.AddRow")+"<\/span>",s.push({title:"",editable:function(){return!1},attributes:{"class":"k-gridcell"},width:"20%",headerAttributes:{"class":"headercell"},template:"<span onclick=\"FlexiJS.Budgets.Claims.AddItem(this, '"+n+"', '"+t+"', #: BudgetClaimEntryId #);\"# if(SubItems && SubItems.length > 0){ # style='display: none;'# } # name='spnRowAddNewSubItem' class='btn btn-secondary-template'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableControls.AddItems")+"<\/span>"}));var c=[],l=JSON.parse($("#"+t).val()),y=l.map(function(n){return n.GMSFundTypeBudgetTableId}).filter(function(n,t,i){return i.indexOf(n)===t});y.length>1&&(c.push({field:"GMSFundTypeBudgetTableId",aggregates:[{field:"BudgetTableName",aggregate:"min"}]}),s.push({field:"GMSFundTypeBudgetTableId",groupHeaderTemplate:"#= aggregates.BudgetTableName.min #",hidden:!0}));a=function(i){FlexiJS.Budgets.Claims.BindSubGrid(n,t,i.detailRow.find(".subgrid"),i.data.SubItems)};v=o.kendoGrid({dataSource:{data:l,group:c,aggregate:[{field:"ItemTypeName",aggregate:"count"},{field:"Approved",aggregate:"sum"},{field:"PaidToDate",aggregate:"sum"},{field:"Balance",aggregate:"sum"},{field:"Claimed",aggregate:"sum"}]},filterable:!1,columns:s,dataBound:function(n){var t=this,i=n.sender.items();i.each(function(){var i=$(this),r=n.sender.dataItem(i);i.data("BudgetClaimEntryId",r.BudgetClaimEntryId);r.SubItems&&r.SubItems.length>0&&t.expandRow(i);r.hasChildren||i.find(".k-hierarchy-cell a").toggle(!1)})},detailTemplate:h,detailInit:a}).data("kendoGrid");f&&f.length>0&&f.change(function(){FlexiJS.Budgets.Claims.CurrentValueFormat=$(this).find("input[type=radio]:checked").val()=="claim"?"c":FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat();var t=v.table.find('[name="'+n+'_valueinput"]');$.each(t,function(n,t){$(t).data("kendoNumericTextBox").setOptions({format:FlexiJS.Budgets.Claims.CurrentValueFormat});setTimeout(function(){$(t).data("kendoNumericTextBox").value($(t).data("kendoNumericTextBox").value());$(t).data("kendoNumericTextBox").trigger("change")},0)})})};FlexiJS.Budgets.Claims.SetupNonBudgetClaimsInput=function(n,t,i){var u=$("#"+n),r;u&&u.length!=0&&(r=$("#"+t),r&&r.length>0?(r.find("input[type=radio]:checked").val()!="claim"&&(FlexiJS.Budgets.Claims.CurrentValueFormat=FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat()),r.change(function(){FlexiJS.Kendo.NumberInputs.ChangeExistingFormat(u,$(this).find("input[type=radio]:checked").val()=="claim"?"c":FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat())})):i==!0&&(FlexiJS.Budgets.Claims.CurrentValueFormat=FlexiJS.Budgets.Claims.GetNegativeCurrencyFormat()),FlexiJS.Kendo.NumberInputs.ChangeExistingFormat(u,FlexiJS.Budgets.Claims.CurrentValueFormat))};FlexiJS.Budgets.Claims.ExpandClaimsGrid=function(n){var i=$(n).closest(".fx-columnformcontent"),t=$(n);i.hasClass("budgettable-expanded")?(i.removeClass("budgettable-expanded"),t.removeClass("budgettable-collapselink"),t.addClass("budgettable-expandlink"),t.text(t.data("expandtext"))):(i.addClass("budgettable-expanded"),t.removeClass("budgettable-expandlink"),t.addClass("budgettable-collapselink"),t.text(t.data("collapsetext")))};FlexiJS.Budgets.Claims.ShowAcceptWindow=function(n,t,i){var r,u,f;if(i&&i.d)if(i.d.Result!=!0)r=$('<div class="audit-history-window"><h1>'+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.ErrorTitle")+"<\/h1><p>"+i.d.ResultDetail+'<\/p><div class="buttonContainer button-save-cancel"><button id="btnClose" class="fx-btn fg_button secondary btn-horizontal-space btn-space">'+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.CloseButton")+"<\/button><\/div><\/div>").kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.PopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow();FlexiJS.Events.Event.FinancialInformationRefresh.Fire()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}}),r.find("#btnClose").click(function(){r.data("kendoWindow").close();r.data("kendoWindow").destroy()}).end(),r.data("kendoWindow").center().open();else{var o='<div class="audit-history-window"><h1>'+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.Title")+"<\/h1><p>"+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.Description")+'<\/p><div id="paymentsGrid"><\/div><div class="buttonContainer button-save-cancel in-modal"><button id="btnCancel" class="fx-btn fg_button secondary btn-horizontal-space btn-space">'+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.CancelButton")+'<\/button><button id="btnAccept" class="fx-btn fg_button btn-horizontal-space btn-space">'+FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.AcceptButton")+"<\/button><\/div><\/div>",r=$(o).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:"80%",close:function(){FlexiJS.UI.ClearBodyOverflow();FlexiJS.Events.Event.FinancialInformationRefresh.Fire()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}}),e=[];e.push({field:"GMSFundTypeBudgetTableId",aggregates:[{field:"TableName",aggregate:"min"}]});u=JSON.parse(i.d.ResultDetail);f=!1;u.length==1&&u[0].GMSFundTypeBudgetTableId==0&&(f=!0,e=[]);r.find("#paymentsGrid").kendoGrid({dataSource:{data:u,group:e},groupable:{enabled:!1,showFooter:!1},pageable:!1,scrollable:!1,sortable:!1,columns:[{field:"Payee",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridPayeeHeader")},{field:"ItemType",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridItemTypeHeader"),hidden:f},{field:"InvoiceNo",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridInvoiceNoHeader")},{field:"InvoiceDate",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridInvoiceDateHeader"),template:'#= kendo.toString(InvoiceDate,"d") #'},{field:"Value",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridValueHeader")},{field:"Description",title:FlexiJS.Budgets.Claims.GetResourceText("AcceptWindow.GridDescriptionHeader"),hidden:f,template:'<p class="multiLine">#: Description #<\/p>'},{field:"GMSFundTypeBudgetTableId",groupHeaderTemplate:"#= aggregates.TableName.min #",hidden:!0}]}).addClass("groupedKendoTable");r.find(".k-i-expand, .k-i-collapse").click(function(){setTimeout(function(){FlexiJS.UI.SetOverflowAndCenterPopup(r.data("kendoWindow"))},10)});r.find("#btnCancel").click(function(){r.data("kendoWindow").close();r.data("kendoWindow").destroy()}).end();r.find("#btnAccept").click(function(){$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/CreatePaymentScheduleForClaimAgainstBudgets",data:JSON.stringify({ApplicationID:n,EngagementId:t}),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(){r.data("kendoWindow").close();r.data("kendoWindow").destroy();refreshPaymentGrid(null,!0)}})}).end();r.data("kendoWindow").center().open()}};FlexiJS.Budgets.Claims.LoadAcceptWindow=function(n,t){$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/PreviewPaymentScheduleForClaimAgainstBudgets",data:JSON.stringify({ApplicationID:n,EngagementId:t}),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",success:function(i){FlexiJS.Budgets.Claims.ShowAcceptWindow(n,t,i)}})};FlexiJS.Budgets.Claims.RemoveItem=function(n,t,i,r,u){var e=JSON.parse($("#"+i).val()),f=e.filter(function(n){return n.BudgetClaimEntryId==r})[0],s=$(n).closest("tr.k-detail-row").prev(),o,h;f.SubItems=f.SubItems.filter(function(n){return n.BudgetClaimEntrySubItemId!=u});o=0;f.SubItems.length<1?($(s).find("[name=spnRowAddNewSubItem]").toggle(!0),$("#"+t).data("kendoGrid").collapseRow(s),f.Claimed=0):(f.Claimed=f.SubItems.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()}),o=f.SubItems.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()}));h=e.map(function(n){return n.Claimed}).reduce(function(n,t){return new BigNumber(n).plus(t).toNumber()});$('[name="'+t+'_valuetotal"]').text(kendo.format(FlexiJS.Budgets.Claims.CurrentKendoValueFormat(),h));$('[name="'+f.BudgetClaimEntryId+'_typetotal"]').text(kendo.format(FlexiJS.Budgets.Claims.CurrentKendoValueFormat(),o));$("#"+i).val(JSON.stringify(e));FlexiJS.Budgets.Claims.BindSubGrid(t,i,$(n).closest(".subgrid"),f.SubItems)};FlexiJS.Budgets.Claims.AddItem=function(n,t,i,r){var e=JSON.parse($("#"+i).val()),u=e.filter(function(n){return n.BudgetClaimEntryId==r})[0],f=$(n).closest("tr.k-master-row"),o=$(n).closest(".form-budgetclaim").find("[id$=txtPeriod]").val();u.SubItems.push({BudgetClaimEntryId:r,BudgetClaimEntrySubItemId:FlexiJS.Budgets.Data.GetInsertId(),Claimed:0,Description:"",Name:"",Period:o});$("#"+i).val(JSON.stringify(e));u.SubItems.length==1?($(f).find("[name=spnRowAddNewSubItem]").toggle(!1),$("#"+t).data("kendoGrid").expandRow(f),FlexiJS.Budgets.Claims.BindSubGrid(t,i,$(".subgrid",f.next()),u.SubItems)):FlexiJS.Budgets.Claims.BindSubGrid(t,i,$(".subgrid",n.parentElement),u.SubItems)};FlexiJS.Budgets.Claims.ValidateBudgetClaimsGrid=function(n){var t=$("#"+n);$('[name="'+n+'_valueinput"]',t).filter(function(n,t){return t.value==null||t.value==0}).each(function(n,t){$(t).data("kendoNumericTextBox").wrapper.addClass("invalidKendoField")});$('[name="'+n+'_periodinput"]',t).filter(function(n,t){return t.value==null||t.value.trim()===""}).addClass("invalidfield");$('[name="'+n+'_nameinput"]',t).filter(function(n,t){return t.value==null||t.value.trim()===""}).addClass("invalidfield")};FlexiJS.Budgets.Claims.GetGridLoaderElement=function(){return"<div class='griddetails-loadingstatus'><div class='spinner'><div class='spinner-loader'><\/div><div class='spinner-text'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Loader.Text")+"<\/div><\/div><\/div>"};FlexiJS.Budgets.Claims.LoadHistorySubGrid=function(n){var t=$(n),i=t.data("engagementid"),r=t.data("applicationid"),u=t.data("iscreditnote"),f=function(){$(n).empty().append("<div class='griddetails-loadingstatus'><i class='fal fa-exclamation-circle'><\/i><div class='bold errorText'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Loader.ErrorReason")+"<\/div><div class='errorText'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Loader.TryAgain")+"<\/div><div class='btn' onclick='FlexiJS.Budgets.Claims.LoadHistorySubGrid(this.closest(\"div[data-engagementid][data-applicationid]\"));'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Loader.TryAgainButton")+"<\/div><\/div>")},e=function(n){var r=FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Table.ItemTypeEmptyTotal"),i=n.d.ClaimEntries.map(function(n){return n.SubItems&&n.SubItems.length>0?n.SubItems.map(function(t){return{GMSFundTypeBudgetTableId:n.GMSFundTypeBudgetTableId,BudgetTableName:n.BudgetTableName,GMSFundTypeBudgetTableItemTypeId:n.GMSFundTypeBudgetTableItemTypeId,ItemTypeName:n.ItemTypeName||n.BudgetTableName+" "+r,Period:t.Period,Claimed:t.Claimed,Description:t.Description,Name:t.Name,IsSubItem:!0}}):[{GMSFundTypeBudgetTableId:n.GMSFundTypeBudgetTableId,BudgetTableName:n.BudgetTableName,GMSFundTypeBudgetTableItemTypeId:n.GMSFundTypeBudgetTableItemTypeId,ItemTypeName:n.ItemTypeName||n.BudgetTableName+" "+r,Period:"",Claimed:0,Description:"",Name:"",IsSubItem:!1}]}).flat();t.empty();i&&i.length>0?FlexiJS.Budgets.Claims.BindHistorySubGrid(t,i,u):t.append("<div class='griddetails-noinformation'><i class='fal fa-info-circle'><\/i><div>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Table.NoBudgetInformation")+"<\/div><\/div>")};$(n).empty().append(FlexiJS.Budgets.Claims.GetGridLoaderElement());$.ajax({type:"POST",contentType:"application/json",dataType:"json",url:"/gms/WebServices/GMSService.svc/GetClaimsAgainstBudgetSummary",data:'{"ApplicationID":'+r+', "EngagementID":'+i+"}"}).done(function(n){e(n)}).fail(function(n,t,i){f(n,t,i)})};FlexiJS.Budgets.Claims.GetClaimsPaymentStatusElement=function(n,t){return n==0||t==0?"<span class='grid-status notpaid'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","PaymentStatus.NotPaid")+"<\/span>":n>t?"<span class='grid-status scheduled'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","PaymentStatus.PartiallyPaid")+"<\/span>":"<span class='grid-status paid'>"+FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","PaymentStatus.Paid")+"<\/span>"};FlexiJS.Budgets.Claims.FormatHistoryCurrency=function(n){return n>=0?kendo.format(FlexiJS.Budgets.Claims.GetClaimsCurrencyFormat(!1),n):kendo.format(FlexiJS.Budgets.Claims.GetClaimsCurrencyFormat(!0),0-n)};FlexiJS.Budgets.Claims.SetupHistoryGrid=function(n,t){var i=function(n){var t=$("div[data-engagementid][data-applicationid]",n.detailCell[0]);FlexiJS.Budgets.Claims.LoadHistorySubGrid(t)},r="<div data-applicationid='"+t+"' data-engagementid='#: EngagementID #' data-iscreditnote='#: (data.ClaimTotal < 0) #'>"+FlexiJS.Budgets.Claims.GetGridLoaderElement()+"<\/div>",u=$("[id="+n+"]");u.kendoGrid({detailTemplate:r,detailInit:i,dataSource:{serverFiltering:!0,transport:{read:{url:"/gms/WebServices/GMSService.svc/GetAcceptedClaimsHistory",type:"POST",contentType:"application/json",data:function(){var n={};return n.ApplicationID=t,n}},parameterMap:function(n){return n.PageSize=n.pageSize,n.PageIndex=n.page,JSON.stringify(n)}},schema:{data:function(n){var t=n.d.Claims;return FlexiJS.Dates.ParseObjectArrayDotNetDates(["DateAccepted"],t),t},total:function(n){return n.d.TotalClaims},model:{fields:{EngagementID:{type:"number"},DateAccepted:{type:"datetime"},Reference:{type:"string"},ClaimTotal:{type:"number"},IsClaimsAgainstBudgets:{type:"boolean"},InvoiceNumber:{type:"string"},Period:{type:"string"},TotalPayments:{type:"number"},TotalPaymentsPaid:{type:"number"}}}},pageSize:3,serverPaging:!0,serverSorting:!0},filterable:!1,sortable:!1,resizable:!0,selectable:!1,pageable:{refresh:!0,pageSizes:[3,10,20,50]},noRecords:{template:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","Table.NoHistoricClaims")},columns:[{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.InvoiceNumber"),field:"InvoiceNumber",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},template:"#= data.InvoiceNumber || data.Reference #"},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Period"),field:"Period",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"}},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.TotalClaimValue"),field:"ClaimTotal",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},template:"#= FlexiJS.Budgets.Claims.FormatHistoryCurrency(data.ClaimTotal) #"},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Description"),editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},template:"#= FlexiJS.Budgets.Claims.GetClaimsPaymentStatusElement(data.TotalPayments, data.TotalPaymentsPaid) #"}],dataBound:function(n){n.sender.items().length==0&&$(n.sender.wrapper.find(".k-grid-content")[0]).removeClass("k-grid-content")}})};FlexiJS.Budgets.Claims.BindHistorySubGrid=function(n,t,i){var r=FlexiJS.Budgets.Claims.GetClaimsCurrencyFormat(i),u=[{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Name"),field:"Name",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"},width:"25%"},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Period"),field:"Period",editable:function(){return!1},attributes:{"class":"k-gridcell"},width:"25%",headerAttributes:{"class":"headercell"}},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.ClaimValue"),field:"Claimed",editable:function(){return!1},attributes:{"class":"k-gridcell"},width:"15%",headerAttributes:{"class":"headercell"},format:r},{title:FlexiJS.Resources.GetResourceText("Controls/FlexiForm/Custom/BudgetClaim.ascx","TableHeader.Description"),field:"Description",editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"headercell"}}],f=[],e="",s=t.map(function(n){return n.GMSFundTypeBudgetTableId}).filter(function(n,t,i){return i.indexOf(n)===t}),o=3;s.length>1&&(e="",f.push({field:"GMSFundTypeBudgetTableId",aggregates:[{field:"BudgetTableName",aggregate:"min"},{field:"Claimed",aggregate:"sum"}]}),u.push({field:"GMSFundTypeBudgetTableId",hidden:!0,groupHeaderTemplate:"#= aggregates.BudgetTableName.min #"+e+"<\/td><td>#: kendo.format('"+r.replace("#","\\#")+"', aggregates.Claimed.sum) #<\/td><td>&nbsp;"}),o=4);f.push({field:"GMSFundTypeBudgetTableItemTypeId",aggregates:[{field:"ItemTypeName",aggregate:"min"},{field:"Claimed",aggregate:"sum"}]});u.push({field:"GMSFundTypeBudgetTableItemTypeId",hidden:!0,groupHeaderTemplate:"#= aggregates.ItemTypeName.min #"+e+"<\/td><td>#: kendo.format('"+r.replace("#","\\#")+"', aggregates.Claimed.sum) #<\/td><td>&nbsp;"});n.kendoGrid({dataSource:{data:t,group:f,aggregate:[{field:"ItemTypeName",aggregate:"count"},{field:"Claimed",aggregate:"sum"}]},scrollable:!1,sortable:!1,pageable:!1,columns:u,dataBound:function(n){var t=n.sender.element.find(".k-grouping-row td[aria-expanded][colspan]"),i,r,u;t.each(function(){var n=o;$(this).is(":first-child")||(n=n-1);$(this).attr("colspan",n).addClass;$(this).closest("tr").addClass("k-grouping-row-level-"+($(this).index()+1))});i=t.map(function(n){return $(t[n]).index()+1}).toArray().reduce(function(n,t){return Math.max(n,t)});n.sender.element.find("tr:not(.k-grouping-row):not(.k-footer-template):has(td.k-group-cell)").addClass("k-grouping-row-level-"+i);r=this;u=n.sender.items();u.each(function(){var t=$(this),i=n.sender.dataItems().filter(function(n){return n.uid==t.data("uid")})[0];i.IsSubItem||t.hasClass("k-grouping-row")||(t.prev().find(".k-icon.k-i-collapse").remove(),r.collapseGroup(t.prev()))})}})};FlexiJS.Budgets.Data={};FlexiJS.Budgets.Data.StaticData={};FlexiJS.Budgets.Data.DynamicData={};FlexiJS.Budgets.Data.SignOffData={};FlexiJS.Budgets.Data.Enums={ValidationType:{allfinancialtables:102103,wholetable:102100,budgetitem:102101,budgetitemvalue:102102},FieldType:{Label:102200,Currency:102201,Calculated:102203}};FlexiJS.Budgets.Data.LastInsertId=0;FlexiJS.Budgets.Data.GetInsertId=function(){return FlexiJS.Budgets.Data.LastInsertId-=1,FlexiJS.Budgets.Data.LastInsertId};FlexiJS.Budgets.Data.LoadAllData=function(n,t,i){FlexiJS.Budgets.Data.LoadStaticData(n);FlexiJS.Budgets.Data.LoadUserData(t);FlexiJS.Budgets.Data.LoadSignOffData(i)};FlexiJS.Budgets.Data.LoadStaticData=function(n){FlexiJS.Budgets.Data.StaticData=JSON.parse($('[id="'+n+'"]').val());FlexiJS.Budgets.Data.StaticData.SourceElement=n};FlexiJS.Budgets.Data.LoadUserData=function(n){FlexiJS.Budgets.Data.DynamicData=JSON.parse($('[id="'+n+'"]').val());FlexiJS.Budgets.Data.DynamicData.SourceElement=n};FlexiJS.Budgets.Data.LoadSignOffData=function(n){FlexiJS.Budgets.Data.SignOffData=JSON.parse($('[id="'+n+'"]').val());FlexiJS.Budgets.Data.SignOffData.SourceElement=n};FlexiJS.Budgets.Data.GetBaseFilter=function(){return{tableids:[],itemids:[],itemtypeids:[],periodids:[],periodgroupids:[],field:"CurrentValue",equation:"",calctype:"",format:"",tabletypes:{payabletables:!0,nonpayabletables:!0},signoff:{approved:!0,confirmed:!0,none:!0}}};FlexiJS.Budgets.Data.ItemValue={};FlexiJS.Budgets.Data.ItemValue.GetFilteredValues=function(n){return n==null&&(n=FlexiJS.Budgets.Data.GetBaseFilter()),FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(n).map(FlexiJS.Budgets.Maps.ItemValue.ValueMap(n.field))};FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects=function(n){return n==null&&(n=FlexiJS.Budgets.Data.GetBaseFilter()),FlexiJS.Budgets.Data.DynamicData.ItemValues.filter(FlexiJS.Budgets.Filters.ItemValue.RemovedFilter()).filter(FlexiJS.Budgets.Filters.ItemValue.TableFilter(n.tableids)).filter(FlexiJS.Budgets.Filters.ItemValue.TableTypeFilter(n.tabletypes)).filter(FlexiJS.Budgets.Filters.ItemValue.PeriodGroupsFilter(n.periodgroupids)).filter(FlexiJS.Budgets.Filters.ItemValue.PeriodsFilter(n.periodids)).filter(FlexiJS.Budgets.Filters.ItemValue.ItemTypesFilter(n.itemtypeids)).filter(FlexiJS.Budgets.Filters.ItemValue.ItemsFilter(n.itemids))};FlexiJS.Budgets.Data.ItemValue.SetItemsValue=function(n,t){var f=FlexiJS.Budgets.Data.GetBaseFilter(),i,e,h,s,u;if(n.periodId&&!isNaN(n.periodId)&&f.periodids.push(n.periodId),n.groupId&&!isNaN(n.groupId)&&f.periodgroupids.push(n.groupId),n.itemId&&!isNaN(n.itemId)&&f.itemids.push(n.itemId),f.field=n.fieldId,i=FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(f),i.length==1)return FlexiJS.Budgets.Data.Periods.IsPeriodLocked(i[0].BudgetTableId,i[0].PeriodId)?(i[0].Values[n.fieldId]=0,1):i[0].Values[n.fieldId]!=t?(i[0].Values[n.fieldId]=t,1):0;if(i.length>1)if(e=i.map(function(t){return{locked:FlexiJS.Budgets.Data.Periods.IsPeriodLocked(t.BudgetTableId,t.PeriodId),value:t.Values[n.fieldId],valueid:t.BudgetValueId}}),h=FlexiJS.Budgets.Math.Sum(e.map(function(n){return n.value})),h!=t){var r=e.filter(function(n){return n.locked}),c=[],l=r&&r.length>0,o=i.length,a=t;if(l&&(s=r.map(function(n){return n.value}).reduce(function(n,t){return n+t}),c=r.map(function(n){return n.valueid}),u=(t-s)/(i.length-r.length),o=i.length-r.length,a=t-s),o>0)return u=FlexiJS.Budgets.Data.SplitValue(a,o),$.each(i.filter(function(n){return!l||!FlexiJS.Budgets.Filters.General.ContainsFilter(c,n.BudgetValueId)}),function(t,i){var r=0;u.overflow>0&&(u.overflow-=1,r=u.diffIncrements);i.Values[n.fieldId]=FlexiJS.Budgets.Data.AddValuesSafely(u.value,r)}),1}else return 0;else if(i.length==0){if(n.periodId&&!isNaN(n.periodId))return FlexiJS.Budgets.Data.ItemValue.AddItemValuePlaceholder(n.tableId,n.itemId,n.itemTypeId,n.periodId,n.groupId),FlexiJS.Budgets.Data.ItemValue.SetItemsValue(n,t);if(n.groupId&&!isNaN(n.groupId))return $.each(FlexiJS.Budgets.Data.Periods.GetPeriodsUsedInTable(n.tableId).filter(function(t){return t.BudgetPeriodGroupId==n.groupId}),function(t,i){FlexiJS.Budgets.Data.ItemValue.AddItemValuePlaceholder(n.tableId,n.itemId,FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetItemId==n.itemId})[0].BudgetTableItemTypeId,i.BudgetPeriodId,n.groupId)}),FlexiJS.Budgets.Data.ItemValue.SetItemsValue(n,t)}return-1};FlexiJS.Budgets.Data.ItemValue.AddItemValuePlaceholder=function(n,t,i,r,u){FlexiJS.Budgets.Data.DynamicData.ItemValues.push({BudgetTableId:n,BudgetValueId:FlexiJS.Budgets.Data.GetInsertId(),BudgetItemId:t,BudgetItemTypeId:i,PeriodId:r,PeriodGroupId:u,Remove:!1,Values:{OriginalValue:0,CurrentValue:0,UnApprovedValue:0,AppliedForValue:0,CustomValueA:0,CustomValueB:0,CustomValueC:0,UnApprovedCurrentValue:0,UnApprovedCustomValueA:0,UnApprovedCustomValueB:0,UnApprovedCustomValueC:0}})};FlexiJS.Budgets.Data.ItemValue.RemoveValuesAfterPeriod=function(n,t){var i=FlexiJS.Budgets.Data.GetBaseFilter(),r;i.periodids=t;i.tableids.push(n);r=FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(i);$.each(r,function(n,t){t.Remove=!0})};FlexiJS.Budgets.Data.ItemValue.AddPlaceholderValuesForPeriod=function(n,t){var i=FlexiJS.Budgets.Data.Periods.GetPeriod(t);$.each(FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetTableId==n}),function(t,r){FlexiJS.Budgets.Data.ItemValue.AddItemValuePlaceholder(n,r.BudgetItemId,r.BudgetTableItemTypeId,i.BudgetPeriodId,i.BudgetPeriodGroupId)})};FlexiJS.Budgets.Data.SplitValue=function(n,t){var f=kendo.culture().numberFormat.currency.decimals,e=Math.pow(10,f),u=FlexiJS.Common.Math.MakeIntFromFloat(n,f),o=Math.floor(u/t),s=o*t,i=0,r;return s!=u&&(i=u-s),r=1/e,i<0&&(i=Math.abs(i),r=0-r),{value:o/e,overflow:i,diffIncrements:r}};FlexiJS.Budgets.Data.AddValuesSafely=function(n,t){var i=kendo.culture().numberFormat.currency.decimals,r=Math.pow(10,i),u=FlexiJS.Common.Math.MakeIntFromFloat(n,i),f=FlexiJS.Common.Math.MakeIntFromFloat(t,i);return(u+f)/r};FlexiJS.Budgets.Data.Item={};FlexiJS.Budgets.Data.Item.RemoveItem=function(n){var t=FlexiJS.Budgets.Data.GetBaseFilter(),i;t.itemids.push(n);i=FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(t);$.each(i,function(n,t){t.Remove=!0});$.each(FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetItemId==n}),function(n,t){t.Remove=!0})};FlexiJS.Budgets.Data.Item.AddItem=function(n,t,i,r){var u=FlexiJS.Budgets.Data.GetInsertId();FlexiJS.Budgets.Data.DynamicData.Items.push({BudgetTableId:n,BudgetItemId:u,Remove:!1,Name:t,BudgetTableItemTypeId:i,Removable:!0,NameEditable:!0});$.each(FlexiJS.Budgets.Data.Periods.GetPeriodsUsedInTable(n),function(t,r){FlexiJS.Budgets.Data.ItemValue.AddItemValuePlaceholder(n,u,i,r.BudgetPeriodId,r.BudgetPeriodGroupId)});$.each(r,function(n,t){FlexiJS.Budgets.Data.ItemValue.SetItemsValue({periodId:"total",groupId:"total",itemId:u,fieldId:t.fieldId},t.value)})};FlexiJS.Budgets.Data.Item.EditItem=function(n,t,i,r){var u=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(n){return n.BudgetItemId==t});$.each(u,function(n,t){t.Name=i;r!="na"&&(t.BudgetTableItemTypeId=r)})};FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod=function(n,t){var i=FlexiJS.Budgets.Data.GetBaseFilter();return i.itemids.push(t),i.periodids=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(function(t){return t.TableId==n&&(t.IsApproved||t.IsConfirmed)}).map(function(n){return n.PeriodId}),i.periodids&&i.periodids.length>0?FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(i).filter(function(n){return Object.keys(n.Values).map(function(t){return n.Values[t]}).filter(function(n){return n&&n!=0}).length>0}).length>0:!1};FlexiJS.Budgets.Data.Item.GetName=function(n){var r=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetItemId==n}),t,i,u;return!r||r.length==0?null:(t=r[0],i=t.Name,t.BudgetTableItemTypeId&&t.BudgetTableItemTypeId>0&&(u=FlexiJS.Budgets.Data.ItemType.GetName(t.BudgetTableItemTypeId),u&&(i=u+": "+i)),i.trim())};FlexiJS.Budgets.Data.ItemType={};FlexiJS.Budgets.Data.ItemType.GetName=function(n){var t=FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(t){return t.BudgetItemTypeId==n});return!t||t.length==0?null:t[0].Name.trim()};FlexiJS.Budgets.Data.Table={};FlexiJS.Budgets.Data.Table.GetTable=function(n){var t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(FlexiJS.Budgets.Filters.Table.TableIdFilter(n));return t?t[0]:null};FlexiJS.Budgets.Data.Table.GetTableDataDatesByTableId=function(n){return FlexiJS.Budgets.Data.Table.GetTableDataDatesByTable(FlexiJS.Budgets.Data.Table.GetTable(n),FlexiJS.Budgets.Data.StaticData.Periods)};FlexiJS.Budgets.Data.Table.GetTableDataDatesByTable=function(n,t,i){var r,f,u;return i==null&&(i="CurrentValue"),r={TableStart:null,TableEnd:null,DataStart:null,DataEnd:null},n!=null&&(r.TableStart=kendo.toString(new Date(t.filter(FlexiJS.Budgets.Filters.Period.IdFilter(n.ShownMinPeriodId))[0].StartDate),"d"),r.TableEnd=kendo.toString(new Date(t.filter(FlexiJS.Budgets.Filters.Period.IdFilter(n.ShownMaxPeriodId))[0].EndDate),"d"),f={min:n.ShownMinPeriodId,max:FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[n.ApplicationBudgetTableId]},u=FlexiJS.Budgets.Data.DynamicData.ItemValues.filter(function(t){return t.Remove==!1&&f.min<=t.PeriodId&&f.max>=t.PeriodId&&t.BudgetTableId==n.GMSFundTypeBudgetTableId&&t.Values!=null&&t.Values[i]!=null&&t.Values[i]!=0}).map(function(n){return n.PeriodId}),u&&u.length>0&&(r.DataStart=kendo.toString(new Date(t.filter(FlexiJS.Budgets.Filters.Period.IdFilter(Math.min.apply(null,u)))[0].StartDate),"d"),r.DataEnd=kendo.toString(new Date(t.filter(FlexiJS.Budgets.Filters.Period.IdFilter(Math.max.apply(null,u)))[0].EndDate),"d"))),r};FlexiJS.Budgets.Data.Periods={};FlexiJS.Budgets.Data.Periods.GetUsedDataDates=function(){var i=function(n,t){return n!=null&&n[t]!=null&&n[t]!=0},u=function(n){return i(n,"CurrentValue")?!0:i(n,"CustomValueA")?!0:i(n,"CustomValueB")?!0:i(n,"CustomValueC")?!0:!1},n={TableStart:null,TableEnd:null,DataStart:null,DataEnd:null},r,t;return n.TableStart=new Date(FlexiJS.Budgets.Data.StaticData.Periods[0].StartDate),n.TableEnd=new Date(FlexiJS.Budgets.Data.StaticData.Periods[FlexiJS.Budgets.Data.StaticData.Periods.length-1].EndDate),r=FlexiJS.Budgets.Data.StaticData.BudgetTables.reduce(function(n,t){return n[t.GMSFundTypeBudgetTableId]={min:t.ShownMinPeriodId,max:FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]},n},{}),t=FlexiJS.Budgets.Data.DynamicData.ItemValues.filter(function(n){return n.Remove==!1&&r[n.BudgetTableId].min<=n.PeriodId&&r[n.BudgetTableId].max>=n.PeriodId&&u(n.Values)}).map(function(n){return n.PeriodId}),t&&t.length>0&&(n.DataStart=new Date(FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.IdFilter(Math.min.apply(null,t)))[0].StartDate),n.DataEnd=new Date(FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.IdFilter(Math.max.apply(null,t)))[0].EndDate)),n};FlexiJS.Budgets.Data.Periods.GetPeriodsUsedInTable=function(n){var t=FlexiJS.Budgets.Data.Table.GetTable(n);return t?FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(t.ShownMinPeriodId,FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n})[0].ApplicationBudgetTableId])):[]};FlexiJS.Budgets.Data.Periods.IsPeriodLocked=function(n,t){var i=FlexiJS.Budgets.Data.Table.GetTable(n),u=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(FlexiJS.Budgets.Filters.Period.IsSignOffLockedFilter(n,t)).length>0,r=!1;return i&&i.TableSettings&&(i.TableSettings.ReadOnlyFailedPeriods==!0&&FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(i){return i.PaymentStatusID==71103&&(t==null||i.GMSFundTypeBudgetTablePeriodId==t)&&(i.GMSFundTypeBudgetTableId==null||i.GMSFundTypeBudgetTableId==n)}).length>0&&(r=!0),i.TableSettings.ReadOnlyPaidPeriods==!0&&FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(i){return i.PaymentStatusID==71102&&(t==null||i.GMSFundTypeBudgetTablePeriodId==t)&&(i.GMSFundTypeBudgetTableId==null||i.GMSFundTypeBudgetTableId==n)}).length>0&&(r=!0),i.TableSettings.ReadOnlyPendingPeriods==!0&&FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(i){return(i.PaymentStatusID==71101||i.PaymentStatusID==71104||i.PaymentStatusID==71105)&&(t==null||i.GMSFundTypeBudgetTablePeriodId==t)&&(i.GMSFundTypeBudgetTableId==null||i.GMSFundTypeBudgetTableId==n)}).length>0&&(r=!0)),u||r};FlexiJS.Budgets.Data.Periods.IsPeriodRemovable=function(n,t){var o=FlexiJS.Budgets.Data.Table.GetTable(n),u,f;if(!o)return[];if(u=FlexiJS.Budgets.Data.Periods.GetLastRequiredPeriodIdOnTable(n),t<=u)return!1;var r=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(FlexiJS.Budgets.Filters.Period.IsSignOffLockedFilter(n,null)).map(function(n){return n.PeriodId}),s=r&&r.length>0,i=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(t){return t.PaymentStatusID==71102&&t.GMSFundTypeBudgetTablePeriodId!=null&&(t.GMSFundTypeBudgetTableId==null||t.GMSFundTypeBudgetTableId==n)}).map(function(n){return n.GMSFundTypeBudgetTablePeriodId});if((!i||i.length<1)&&(i=[]),f=i&&i.length>0,!f&&!s)return!0;var e=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(t,FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n})[0].ApplicationBudgetTableId])).map(function(n){return n.BudgetPeriodId}),h=FlexiJS.Budgets.Filters.General.AnyOfArray1InArray2(e,r),c=FlexiJS.Budgets.Filters.General.AnyOfArray1InArray2(e,i);return!h&&!c};FlexiJS.Budgets.Data.Periods.GetLastRequiredPeriodIdOnTable=function(n){var t=FlexiJS.Budgets.Data.Table.GetTable(n),i,r;return t?(i=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(t.ShownMinPeriodId,FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n})[0].ApplicationBudgetTableId])),r=t.MinNoOfPeriods,i.length<=t.MinNoOfPeriods&&(r=i.length),i[r-1].BudgetPeriodId):null};FlexiJS.Budgets.Data.Periods.GetPeriod=function(n){var t=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.IdFilter(n));return t?t[0]:null};FlexiJS.Budgets.Data.Periods.GetNextPeriod=function(n){var t=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.AfterFilter(n));return t?t[0]:null};FlexiJS.Budgets.Data.Periods.GetPeriodName=function(n){var t=FlexiJS.Budgets.Data.Periods.GetPeriod(n),i,r;return t?(i=t.Name,t.BudgetPeriodId&&t.BudgetPeriodId>0&&(r=FlexiJS.Budgets.Data.PeriodGroups.GetGroup(t.BudgetPeriodGroupId),r&&(i=r.Name.trim()+": "+i)),i.trim()):null};FlexiJS.Budgets.Data.PeriodGroups={};FlexiJS.Budgets.Data.PeriodGroups.IsPeriodGroupLocked=function(n,t){var i=FlexiJS.Budgets.Data.Periods.GetPeriodsUsedInTable(n).filter(FlexiJS.Budgets.Filters.Period.PeriodGroupFilter(t));return periodIds=i.map(function(n){return n.BudgetPeriodId}),FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(FlexiJS.Budgets.Filters.PeriodGroup.IsLockedFilter(n,periodIds)).length==periodIds.length};FlexiJS.Budgets.Data.PeriodGroups.GetGroup=function(n){var t=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(t){return t.BudgetPeriodGroupId==n});return t?t[0]:null};FlexiJS.Budgets.Data.PeriodGroups.GetGroupName=function(n){var t=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(t){return t.BudgetPeriodGroupId==n});return!t||t.length<1?null:t[0].Name.trim()};FlexiJS.Budgets.Data.PeriodGroups.IsGroupRemovable=function(n,t){var i=Math.min.apply(null,FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodGroupId==t}).map(function(n){return n.BudgetPeriodId}));return FlexiJS.Budgets.Data.Periods.IsPeriodRemovable(n,i)};FlexiJS.Budgets.Equations={};FlexiJS.Budgets.Equations.Builder={};FlexiJS.Budgets.Equations.GetProperties=function(n){var t=[],i=n.match(/[\w]+?\(([\s\S]*?\))/g);return i!=null&&$.each(i,function(n,i){t.push({category:i.match(/[\w]+/)[0],property:i.replace(/(([\w]+)((\(['"]{1}))|(['"]{1}\)))/g,""),replace:i})}),t};FlexiJS.Budgets.Equations.FixNullValue=function(n,t){return(n=="((null))"||n=="('null')"||n=="(null)"||n=="null"||n==null)&&(n=t),n};FlexiJS.Budgets.Equations.Builder.NoValue=function(n,t){n.equation=n.equation.replace(t.replace,0)};FlexiJS.Budgets.Equations.Builder.MultiBudget=function(n,t,i){switch(t.property){case"periodreportsubmitted":var r=!1;i.periodids!=null&&i.periodids.length==1&&(r=FlexiJS.Budgets.Data.StaticData.ApprovedReportPeriods.filter(FlexiJS.Budgets.Filters.ApprovedReportPeriod.PeriodFilter(i.periodids[0])).length>0);n.equation=n.equation.replace(t.replace,r);break;default:FlexiJS.Budgets.Equations.Builder.NoValue(n,t)}};FlexiJS.Budgets.Equations.Builder.Payment=function(n,t,i){var u=$.extend({},i),f=u.periodids,e,r;(f==null||f.length==0)&&u.periodgroupids&&u.periodgroupids.length>0&&(f=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return u.periodgroupids==n.BudgetPeriodGroupId}).map(function(n){return n.BudgetPeriodId}));e=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return(f==null||f.length==0||f.includes(n.GMSFundTypeBudgetTablePeriodId))&&(n.GMSFundTypeBudgetTableId==null||u.tableids==null||u.tableids.length==0||u.tableids.includes(n.GMSFundTypeBudgetTableId))});t.property=="paymentstatusname"?(r=e.map(function(n){return n.PaymentStatusName}),r=r.filter(function(n,t){return r.indexOf(n)==t}),n.equation=r?r.length==1?FlexiJS.Budgets.Equations.FixNullValue(n.equation.replace(t.replace,"'"+r[0]+"'"),"'"+FlexiJS.Resources.GetResourceText("Scripts\\budgettable.js","BudgetTablesSettings.Payments.NoneScheduledMessage")+"'"):r.length>1?n.equation.replace(t.replace,"'Multiple'"):n.equation.replace(t.replace,"''"):n.equation.replace(t.replace,"''")):t.property=="value"&&(n.equation=n.equation.replace(t.replace,"("+FlexiJS.Budgets.Equations.FixNullValue(FlexiJS.Budgets.Math.Sum(e.map(function(n){return n.Value})),"")+")"),n.equation=FlexiJS.Budgets.Equations.FixNullValue(n.equation,""))};FlexiJS.Budgets.Equations.Builder.ItemValue=function(n,t,i,r){var u=$.extend({},i),f,e;r&&(u.periodids!=null&&u.periodids.length>0?u.periodids=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.PeriodFunctions.CumulativeFilter(Math.max(u.periodids))).map(function(n){return n.BudgetPeriodId}):u.periodgroupids!=null&&u.periodgroupids.length>0&&(u.periodgroupids=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(FlexiJS.Budgets.PeriodGroupFunctions.CumulativeFilter(Math.max(u.periodgroupids))).map(function(n){return n.BudgetPeriodGroupId})));switch(t.property.toLowerCase().trim()){case"currentvalue":u.field="CurrentValue";break;case"originalvalue":u.field="OriginalValue";break;case"unapprovedvalue":u.field="UnApprovedValue";break;case"appliedforvalue":u.field="AppliedForValue";break;case"customvaluea":u.field="CustomValueA";break;case"customvalueb":u.field="CustomValueB";break;case"customvaluec":u.field="CustomValueC";break;case"unapprovedcurrentvalue":u.field="UnApprovedCurrentValue";break;case"unapprovedcustomvaluea":u.field="UnApprovedCustomValueA";break;case"unapprovedcustomvalueb":u.field="UnApprovedCustomValueB";break;case"unapprovedcustomvaluec":u.field="UnApprovedCustomValueC";break;case"previewadjustment":u.field="PreviewAdjustment";break;case"previewcustomvalueaadjustment":u.field="PreviewCustomValueAAdjustment";break;case"previewcustomvaluebadjustment":u.field="PreviewCustomValueBAdjustment";break;case"previewcustomvaluecadjustment":u.field="PreviewCustomValueCAdjustment";break;default:u.field="CurrentValue"}f=FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(u);e=FlexiJS.Budgets.Math.Sum(f);n.equation=n.equation.replace(t.replace,"("+e+")")};FlexiJS.Budgets.Equations.EvalEquation=function(fieldData){var eq={equation:fieldData.equation.toLowerCase()},readProperties=FlexiJS.Budgets.Equations.GetProperties(eq.equation);$.each(readProperties,function(n,t){switch(t.category){case"multibudget":FlexiJS.Budgets.Equations.Builder.MultiBudget(eq,t,fieldData.filter);break;case"period":case"activity":case"item":FlexiJS.Budgets.Equations.Builder.NoValue(eq,t);break;case"cumulativepayment":case"payment":FlexiJS.Budgets.Equations.Builder.Payment(eq,t,fieldData.filter,t.category.includes("cumulative"));break;case"itemvalue":case"cumulativeitemvalue":FlexiJS.Budgets.Equations.Builder.ItemValue(eq,t,fieldData.filter,t.category.includes("cumulative"))}});try{return eval(eq.equation)}catch(e){return eq.equation}};FlexiJS.Budgets.Filters={};FlexiJS.Budgets.Filters.General={};FlexiJS.Budgets.Filters.General.ContainsFilter=function(n,t){return n!=null&&n.length>0&&n.includes(t)};FlexiJS.Budgets.Filters.General.AnyOfArray1InArray2=function(n,t){for(var r=!1,i=0;i<n.length;i++)if(t.indexOf(n[i])>-1){r=!0;break}return r};FlexiJS.Budgets.Filters.Table={};FlexiJS.Budgets.Filters.Table.TableIdFilter=function(n){return function(t){return t.GMSFundTypeBudgetTableId==n}};FlexiJS.Budgets.Filters.ItemValue={};FlexiJS.Budgets.Filters.ItemValue.RemovedFilter=function(){return function(n){return n.Remove==!1}};FlexiJS.Budgets.Filters.ItemValue.TableFilter=function(n){return function(t){return n==null||n.length==0?!0:FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.BudgetTableId)}};FlexiJS.Budgets.Filters.ItemValue.TableTypeFilter=function(n){return function(t){var i=[];return n.payabletables==!0&&n.nonpayabletables==!0?!0:n.payabletables==!1&&n.nonpayabletables==!1?!1:(n.payabletables==!0&&n.nonpayabletables==!1?i=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!0}).map(function(n){return n.GMSFundTypeBudgetTableId}):n.payabletables==!1&&n.nonpayabletables==!0&&(i=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!1}).map(function(n){return n.GMSFundTypeBudgetTableId})),FlexiJS.Budgets.Filters.General.ContainsFilter(i,t.BudgetTableId))}};FlexiJS.Budgets.Filters.ItemValue.PeriodsFilter=function(n){return function(t){return n==null||n.length==0?!0:FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.PeriodId)}};FlexiJS.Budgets.Filters.ItemValue.PeriodGroupsFilter=function(n){return function(t){return n==null||n.length==0?!0:FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.PeriodGroupId)}};FlexiJS.Budgets.Filters.ItemValue.ItemsFilter=function(n){return function(t){return n==null||n.length==0?!0:FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.BudgetItemId)}};FlexiJS.Budgets.Filters.ItemValue.ItemTypesFilter=function(n){return function(t){return n==null||n.length==0?!0:FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.BudgetItemTypeId)}};FlexiJS.Budgets.Filters.ApprovedReportPeriod={};FlexiJS.Budgets.Filters.ApprovedReportPeriod.PeriodFilter=function(n){return function(t){return FlexiJS.Budgets.Filters.General.ContainsFilter([n],t)}};FlexiJS.Budgets.Filters.Period={};FlexiJS.Budgets.Filters.Period.IdFilter=function(n){return function(t){return t.BudgetPeriodId==n}};FlexiJS.Budgets.Filters.Period.CumulativeFilter=function(n){return function(t){return t.BudgetPeriodId<=n}};FlexiJS.Budgets.Filters.Period.EqualOrAfterFilter=function(n){return function(t){return t.BudgetPeriodId>=n}};FlexiJS.Budgets.Filters.Period.AfterFilter=function(n){return function(t){return t.BudgetPeriodId>n}};FlexiJS.Budgets.Filters.Period.BetweenFilter=function(n,t){return function(i){return i.BudgetPeriodId<=t&&i.BudgetPeriodId>=n}};FlexiJS.Budgets.Filters.Period.PeriodGroupFilter=function(n){return function(t){return t.BudgetPeriodGroupId==n}};FlexiJS.Budgets.Filters.Period.IsSignOffLockedFilter=function(n,t){return function(i){return(n==null||n==i.TableId)&&(t==null||t==i.PeriodId)&&(i.IsApproved==!0||i.IsConfirmed==!0)}};FlexiJS.Budgets.Filters.PeriodGroup={};FlexiJS.Budgets.Filters.PeriodGroup.CumulativeFilter=function(n){return function(t){return t.BudgetPeriodGroupId<=n}};FlexiJS.Budgets.Filters.PeriodGroup.IsLockedFilter=function(n,t){return function(i){return(n==null||n==i.TableId)&&FlexiJS.Budgets.Filters.General.ContainsFilter(t,i.PeriodId)&&(i.IsApproved==!0||i.IsConfirmed==!0)}};FlexiJS.Budgets.Math={};FlexiJS.Budgets.Math.Sum=function(n){var t=0,i=2,r=Math.pow(10,i);return $.each(n,function(){t+=FlexiJS.Common.Math.MakeIntFromFloat(this,i)}),t/r};FlexiJS.Budgets.Maps={};FlexiJS.Budgets.Maps.ItemValue={};FlexiJS.Budgets.Maps.ItemValue.ValueMap=function(n){return function(t){return t.Values[n]}};FlexiJS.Budgets.Scheduling={};FlexiJS.Budgets.Scheduling.ResourceSet="Scripts\\budgettable.js";FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=null;FlexiJS.Budgets.Scheduling.ScheduleMethod={XDaysFromStartDate:205e3,OnStartDate:205001,OnEndDate:205002,FixedDate:205003};FlexiJS.Budgets.Scheduling.GetScheduleMethod=function(){var n=FlexiJS.Budgets.Data.StaticData.Periods[0];return n.PaymentScheduleMethod?n.PaymentScheduleMethod:FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate};FlexiJS.Budgets.Scheduling.ShowInitialControls=function(n){var i=FlexiJS.Budgets.Scheduling.GetScheduleMethod(),t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!0}).map(function(n){return FlexiJS.Budgets.Data.StaticData.ItemTypes&&FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(t){return t.GMSFundTypeBudgetTableId==n.GMSFundTypeBudgetTableId}).length>0}).filter(function(n){return n==!0}).length>0;switch(i){case FlexiJS.Budgets.Scheduling.ScheduleMethod.OnStartDate:FlexiJS.Budgets.Scheduling.ShowInitialDateMessage(n,t,"scheduler.onstartdatemessage","scheduler.datescanbechangedmessage");break;case FlexiJS.Budgets.Scheduling.ScheduleMethod.OnEndDate:FlexiJS.Budgets.Scheduling.ShowInitialDateMessage(n,t,"scheduler.onenddatemessage","scheduler.datescanbechangedmessage");break;case FlexiJS.Budgets.Scheduling.ScheduleMethod.FixedDate:FlexiJS.Budgets.Scheduling.ShowInitialDateMessage(n,t,"scheduler.onfixeddatemessage","scheduler.datescanbechangedmessage");break;case FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate:default:FlexiJS.Budgets.Scheduling.ShowDateSelect(n,t)}};FlexiJS.Budgets.Scheduling.ShowDateSelect=function(n,t){var r=null,u=$(n).find("[ktype=date]")[0],i;u&&(r=$(u).data("kendoDatePicker").value());$(n).empty();$(n).append(FlexiJS.Budgets.Scheduling.RenderSchedulerContainerTemplate({LinkedPayments:FlexiJS.Budgets.Data.StaticData.LinkedPayments,LinkedPaymentSettings:FlexiJS.Budgets.Data.StaticData.LinkedPaymentSettings,AllowPaymentsPerItemType:t,AllowDateSelect:!0,SelectItemTypeByDefault:t&&FlexiJS.Budgets.Data.StaticData.DefaultPaymentBreakdownMethod===102096}));i={};r&&(i.value=r);i.change=function(){var n=this.value();n&&n.toString().trim()!=""&&$(this).closest(".budgettableschedule_message").find(".budgettableschedule_error").css("display","none")};$(n).find("#firstpaymentdate").kendoDatePicker(i).data("kendoDatePicker");FlexiJS.Budgets.Scheduling.BindTemplateEvents(n)};FlexiJS.Budgets.Scheduling.ShowInitialDateMessage=function(n,t,i,r){var u=FlexiJS.Resources.GetResourceText("Scripts\\budgettable.js",i),f=FlexiJS.Resources.GetResourceText("Scripts\\budgettable.js",r);$(n).empty();$(n).append(FlexiJS.Budgets.Scheduling.RenderSchedulerContainerTemplate({message:u,submessage:f,AllowDateSelect:!1,AllowPaymentsPerItemType:t,SelectItemTypeByDefault:t&&FlexiJS.Budgets.Data.StaticData.DefaultPaymentBreakdownMethod===102096}));FlexiJS.Budgets.Scheduling.BindTemplateEvents(n)};FlexiJS.Budgets.Scheduling.RenderSchedulerContainerTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_PaymentsScheduleControl",{data:n})};FlexiJS.Budgets.Scheduling.RenderSchedulerSchedulePaymentsInitialTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_SchedulePaymentsInitial",{data:n})};FlexiJS.Budgets.Scheduling.RenderSchedulerSchedulePaymentsMessageTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_SchedulePaymentsMessage",{data:n})};FlexiJS.Budgets.Scheduling.RenderSchedulerSchedulePaymentsFullTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_SchedulePaymentsFull",{data:n})};FlexiJS.Budgets.Scheduling.RenderSchedulerScheduledPaymentsTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_ScheduledPayments",{data:n})};FlexiJS.Budgets.Scheduling.ShowProposedSchedule=function(n){var t=FlexiJS.Budgets.Scheduling.GetScheduleMethod(),i=null,r,u,f;t==FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate&&(i=$(n).find("#firstpaymentdate").data("kendoDatePicker").value());t==FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate&&i||t!=FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate?(r=$(n).find("#chkPaymentsByType"),u=r?r.is(":checked"):!1,FlexiJS.Budgets.Scheduling.CreateProposedSchedule(i,u),$(n).empty(),$(n).append(FlexiJS.Budgets.Scheduling.RenderSchedulerSchedulePaymentsFullTemplate({Schedule:FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule,LinkedPaymentSettings:FlexiJS.Budgets.Data.StaticData.LinkedPaymentSettings})),$.each($(n).find("[ktype=date]"),function(n,t){$(t).kendoDatePicker({}).data("kendoDatePicker")}),FlexiJS.Budgets.Scheduling.BindTemplateEvents(n)):t!=FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate||i||(f=$($(n).find("#firstpaymentdate")),f.closest(".budgettableschedule_message").find(".budgettableschedule_error").css("display","inline-block"))};FlexiJS.Budgets.Scheduling.BindTemplateEvents=function(n){$('[bind="createschedule"]',$(n)).off("click").on("click",null,n,function(n){var t=n.data;return FlexiJS.Budgets.Scheduling.ShowProposedSchedule(t),!1});$('[bind="cancelschedule"]',$(n)).off("click").on("click",null,n,function(n){var t=n.data;return FlexiJS.Budgets.Scheduling.ShowInitialControls(t),window.scrollBy(0,-1),!1});$('[bind="saveschedule"]',$(n)).off("click").on("click",null,n,function(n){var r=$(this),u=$('[id$=BudgetTableSchedulePaymentsShowScheduleLink][bind="cancelschedule"]'),f=FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"BudgetTables.Confirmation.SaveScheduleConfirm"),e=FlexiJS.Validation.ConfirmAction(f),i,t;return e==!0&&(i=n.data,t=[],$.each($("[class*=fx-budgettable-row][paymentid]",$(i)),function(n,i){var u=$(i).find("#invoicedate");u.data("kendoDatePicker").enable(!1);var f=$(u).data("kendoDatePicker").value(),e=f,r=$(i).find("#accrualdate");r&&r.data("kendoDatePicker")&&(r.data("kendoDatePicker").enable(!1),e=r.data("kendoDatePicker").value());$(i).find("#invoiceref").prop("disabled",!0).addClass("k-state-disabled");$(i).find("input[Id*=invoicedescription]").prop("disabled",!0).addClass("k-state-disabled");$(i).find("#invoicebatchtype").prop("disabled",!0);t.push({GMSApplicationPaymentID:$(i).attr("paymentid"),InvoiceNumber:$(i).find("#invoiceref").val().substring(0,100),InvoiceDate:f,AccrualDate:e,Description:$(i).find("#invoicedescription").val(),BatchType:$(i).find("#invoicebatchtype").val()})}),FlexiJS.UI.EnableDisableButton(u,null),FlexiJS.UI.EnableDisableButton(r,FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"BudgetTables.Confirmation.SaveScheduleProcessing")),setTimeout(function(){FlexiJS.Budgets.Scheduling.SavePaymentSchedule(t)},1)),!1})};FlexiJS.Budgets.Scheduling.EnablePaymentScheduleControls=function(){var t=$('[id$=BudgetTableSchedulePaymentsShowScheduleLink][bind="saveschedule"]'),n;FlexiJS.UI.EnableDisableButton(t,null);n=$('[id$=BudgetTableSchedulePaymentsShowScheduleLink][bind="cancelschedule"]');FlexiJS.UI.EnableDisableButton(n,null);$.each($("[class*=fx-budgettable-row][paymentid]"),function(n,t){var r=$(t).find("#invoicedate"),i;r&&r.data("kendoDatePicker")&&r.data("kendoDatePicker").enable(!0);i=$(t).find("#accrualdate");i&&i.data("kendoDatePicker")&&i.data("kendoDatePicker").enable(!0);$(t).find("#invoiceref").prop("disabled",!1).removeClass("k-state-disabled");$(t).find("input[Id*=invoicedescription]").prop("disabled",!1).removeClass("k-state-disabled");$(t).find("#invoicebatchtype").prop("disabled",!1)})};FlexiJS.Budgets.Scheduling.SavePaymentSchedule=function(n){$.each(n,function(n,t){$.each(FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule,function(n,i){if(i.GMSApplicationPaymentID==t.GMSApplicationPaymentID)return i.InvoiceNumber=t.InvoiceNumber,i.InvoiceDate=t.InvoiceDate,i.AccrualDate=t.AccrualDate,i.Description=t.Description,i.BatchType=t.BatchType,!1})});var t={ApplicationID:FlexiJS.Budgets.Data.StaticData.ApplicationId,DataFile:FlexiJS.Utils.JSON.CompressJSONToZipByteArray(FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule)};$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/CreateBudgetPaymentSchedule",data:JSON.stringify(t),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(n){if(n.d==!0){var t=GetRadWindow();t&&t.Reload();$("[id*=btnHiddenSaveScheduleSuccessConfirmation]")[0].click()}else FlexiJS.Budgets.Scheduling.EnablePaymentScheduleControls(),showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"PaymentSchedulingError"))},fail:function(){FlexiJS.Budgets.Scheduling.EnablePaymentScheduleControls();showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"PaymentSchedulingError"))}})};FlexiJS.Budgets.Scheduling.GetPaymentProfile=function(n,t){var r=[{id:"all",name:"all"}],u,i;return(FlexiJS.Budgets.Data.SignOffData.SignOffEnabled==!0&&(r=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments}).map(function(n){return{id:n.GMSFundTypeBudgetTableId,name:n.Name}})),!r||r.length<1)?[]:(u=[],i=null,$.each(r,function(r,f){var s=Math.min.apply(null,FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments&&(f.id=="all"||f.id==n.GMSFundTypeBudgetTableId)}).map(function(n){return n.ShownMinPeriodId})),h=Math.max.apply(null,FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments&&(f.id=="all"||f.id==n.GMSFundTypeBudgetTableId)}).map(function(n){return n.ShownMaxPeriodId})),o,e,c;isNaN(s)||isNaN(h)||(i===null&&(o=new Date(FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId==s}).map(function(n){return n.StartDate})[0]),i=o>n?0-Math.floor(o-n):Math.floor(n-o)),e=null,t==!0&&(e=FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(n){return f.id=="all"||f.id==n.GMSFundTypeBudgetTableId}).map(function(n){return{id:n.BudgetItemTypeId,name:n.Name}})),(!e||e.length<1)&&(e=[{id:"all",name:"all"}]),c=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId>=s&&n.BudgetPeriodId<=h}).map(function(n){return{id:n.BudgetPeriodId,date:FlexiJS.Budgets.Scheduling.GetPeriodPaymentDate(n,i),name:n.Name,group:n.BudgetPeriodGroupName}}).sort(function(n,t){return n.id<t.id?-1:n.id>t.id?1:0}),$.each(e,function(n,t){$.each(c,function(n,i){u.push({tableid:f.id=="all"?null:f.id,tablename:f.id=="all"?null:f.name,itemtypeid:t.id=="all"?null:t.id,itemtypename:t.id=="all"?null:t.name,periodid:i.id,periodname:i.name,perioddate:i.date,periodgroup:i.group})})}))}),u)};FlexiJS.Budgets.Scheduling.CreateProposedSchedule=function(n,t){var i=FlexiJS.Budgets.Scheduling.GetPaymentProfile(n,t),r;if(!i||i.length<1){FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=null;return}r=[];$.each(i,function(n,t){var i=FlexiJS.Budgets.Data.GetBaseFilter(),u;t.tableid!=null&&(i.tableids=[t.tableid]);t.itemtypeid!=null&&(i.itemtypeids=[t.itemtypeid]);i.periodids=[t.periodid];i.tabletypes.nonpayabletables=!1;u=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(i));u&&(u>0||u<0)&&r.push(FlexiJS.Budgets.Scheduling.NewPaymentObject(t,u))});FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=r};FlexiJS.Budgets.Scheduling.GetPeriodPaymentDate=function(n,t){n.PaymentScheduleMethod||(n.PaymentScheduleMethod=FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate);switch(n.PaymentScheduleMethod){case FlexiJS.Budgets.Scheduling.ScheduleMethod.OnStartDate:return new Date(n.StartDate);case FlexiJS.Budgets.Scheduling.ScheduleMethod.OnEndDate:return new Date(n.EndDate);case FlexiJS.Budgets.Scheduling.ScheduleMethod.FixedDate:return new Date(n.PaymentScheduleFixedDate);case FlexiJS.Budgets.Scheduling.ScheduleMethod.XDaysFromStartDate:default:return new Date(new Date(n.StartDate)-0+t)}};FlexiJS.Budgets.Scheduling.CheckForPaymentDifferences=function(){if(FlexiJS.Budgets.Data.StaticData.LinkedPayments.length<1)return!1;var i=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.GMSFundTypeBudgetTableItemTypeId!=null}).length>0,t=FlexiJS.Budgets.Scheduling.GetPaymentProfile(Date(FlexiJS.Budgets.Data.StaticData.LinkedPayments[0].InvoiceDate),i),n=!1;return $.each(t,function(t,i){var u=FlexiJS.Budgets.Data.GetBaseFilter(),r,f;return(i.tableid!=null&&(u.tableids=[i.tableid]),i.itemtypeid!=null&&(u.itemtypeids=[i.itemtypeid]),u.periodids=[i.periodid],u.tabletypes.nonpayabletables=!1,i.Value=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(u)),r=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.GMSFundTypeBudgetTableItemTypeId==i.itemtypeid&&n.GMSFundTypeBudgetTableId==i.tableid&&i.periodid==n.GMSFundTypeBudgetTablePeriodId}),i.Value==0&&r&&r.length>0)?(n=!0,!1):(f=FlexiJS.Budgets.Math.Sum(r.map(function(n){return n.Value})),i.Value!=f&&(!r||r.length<1))?(n=!0,!1):i.Value!=f&&r[0].PaymentStatusID!=71102&&r[0].PaymentStatusID!=71103?(n=!0,!1):void 0}),$.each(FlexiJS.Budgets.Data.StaticData.LinkedPayments,function(i,r){var u=t.filter(function(n){return r.GMSFundTypeBudgetTableItemTypeId==n.itemtypeid&&(r.GMSFundTypeBudgetTableId==null||r.GMSFundTypeBudgetTableId==n.tableid)&&n.periodid==r.GMSFundTypeBudgetTablePeriodId}),f;return r.Value!=0&&(!u||u.length<1)?(n=!0,!1):(f=FlexiJS.Budgets.Math.Sum(u.map(function(n){return n.Value})),r.Value!=f&&r.PaymentStatusID!=71102&&r.PaymentStatusID!=71103?(n=!0,!1):void 0)}),n};FlexiJS.Budgets.Scheduling.ReschedulePayments=function(n){var t=FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule.filter(function(t){return FlexiJS.Budgets.Filters.General.ContainsFilter(n,t.GMSApplicationPaymentID)}),i={ApplicationID:FlexiJS.Budgets.Data.StaticData.ApplicationId,DataFile:FlexiJS.Utils.JSON.CompressJSONToZipByteArray(t)};$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/CreateBudgetPaymentSchedule",data:JSON.stringify(i),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(n){n.d==!0?window.location.href=window.location.href:showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"PaymentSchedulingError"))}})};FlexiJS.Budgets.Scheduling.NewPaymentObject=function(n,t){var i=(n.itemtypeid!=null?n.itemtypename+" in ":"")+(n.tableid!=null?n.tablename+" ":"")+(n.periodgroup&&n.periodgroup!=""?n.periodgroup+" ":"")+n.periodname;return{GMSApplicationPaymentID:FlexiJS.Budgets.Data.GetInsertId(),InvoiceNumber:i,InvoiceDate:n.perioddate,AccrualDate:n.perioddate,Description:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"PaymentPrefix")+i,Value:t,PaymentStatusID:71100,PaymentStatusName:null,PaidDate:null,BatchedDate:null,UserIDCreatedBy:null,UserNameCreatedBy:null,BatchType:1,BatchTypeName:null,GMSFundTypeBudgetTablePeriodId:n.periodid,GMSFundTypeBudgetTableItemTypeId:n.itemtypeid,GMSFundTypeBudgetTableId:n.tableid}};FlexiJS.Budgets.Scheduling.CreateProposedReschedule=function(){var i=Math.min.apply(null,FlexiJS.Budgets.Data.StaticData.LinkedPayments.map(function(n){return n.GMSFundTypeBudgetTablePeriodId}).filter(function(n){return n!=null})),r=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.GMSFundTypeBudgetTablePeriodId==i}).map(function(n){return Date(n.InvoiceDate)})[0],u=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.GMSFundTypeBudgetTableItemTypeId!=null}).length>0,t=FlexiJS.Budgets.Scheduling.GetPaymentProfile(r,u),n;if(!t||t.length<1){FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=null;return}n=[];$.each(t,function(t,i){var e=FlexiJS.Budgets.Data.GetBaseFilter(),u,r,o,f;i.tableid!=null&&(e.tableids=[i.tableid]);i.itemtypeid!=null&&(e.itemtypeids=[i.itemtypeid]);e.periodids=[i.periodid];e.tabletypes.nonpayabletables=!1;u=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(e));r=FlexiJS.Budgets.Data.StaticData.LinkedPayments.filter(function(n){return n.GMSFundTypeBudgetTableItemTypeId==i.itemtypeid&&n.GMSFundTypeBudgetTableId==i.tableid&&i.periodid==n.GMSFundTypeBudgetTablePeriodId});!r||r.length<1?u&&(u>0||u<0)&&(o=FlexiJS.Budgets.Scheduling.NewPaymentObject(i,u),o.OldValue="",n.push(o)):r.length>1||u!=r[0].Value&&r[0].PaymentStatusID!=71102&&r[0].PaymentStatusID!=71103&&(f=jQuery.extend({},r[0]),f.Update=!0,f.OldValue=0+f.Value,f.Value=u,n.push(f))});FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=n};FlexiJS.Budgets.Scheduling.ShowReschedulePopup=function(){if(!FlexiJS.Budgets.Scheduling.CheckForPaymentDifferences()){alert(FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"RecastNoPaymentsToAction"));return}if(FlexiJS.Budgets.Scheduling.CreateProposedReschedule(),!FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule||FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule.length===0){alert(FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"RecastNoPaymentsToAction"));return}var n=$(FlexiJS.Budgets.Scheduling.RenderReschedulerContainerTemplate({Schedule:FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule,LinkedPaymentSettings:FlexiJS.Budgets.Data.StaticData.LinkedPaymentSettings})).kendoWindow({title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"PaymentRescheduleTitleText"),visible:!1,actions:["Close"],close:function(){FlexiJS.Budgets.Scheduling.ProposedPaymentSchedule=null},animation:{open:{effects:"zoom:in",duration:100},close:{effects:"zoom:out",duration:100}},draggable:!1,modal:!0,resizable:!1,scrollable:!1});$('[bind="savereschedule"]',n).off("click").on("click",null,n,function(n){var t=n.data,i=[];return $.each(t.find("tr[paymentid]"),function(n,t){$(t).find("[name=update]").is(":checked")&&i.push(Number($(t).attr("paymentid")))}),i.length>0&&FlexiJS.Budgets.Scheduling.ReschedulePayments(i),t.data("kendoWindow").close(),t.data("kendoWindow").destroy(),!1});$('[bind="cancelreschedule"]',n).off("click").on("click",null,n,function(n){var t=n.data;return t.data("kendoWindow").close(),t.data("kendoWindow").destroy(),!1});n.data("kendoWindow").center().open()};FlexiJS.Budgets.Scheduling.RenderReschedulerContainerTemplate=function(n){return FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_PaymentSchedule_RescheduledPayments",{data:n})};FlexiJS.Budgets.Scheduling.SetupRecastButton=function(){var n=$("[id$=divRecastPayments]");n&&n.toggle(FlexiJS.Budgets.Scheduling.CheckForPaymentDifferences())};FlexiJS.Budgets.Scheduling.SwitchToManualPayments=function(){if(FlexiJS.Validation.ConfirmAction(FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Scheduling.ResourceSet,"SwitchToManualPaymentsConfirmMessage"))){var n={ApplicationId:FlexiJS.Budgets.Data.StaticData.ApplicationId};$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/SwitchBudgetPaymentScheduleToManual",data:JSON.stringify(n),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(){window.location.href=window.location.href}})}};FlexiJS.Budgets.SignOff={};FlexiJS.Budgets.SignOff.PopupWidth=700;FlexiJS.Budgets.SignOff.ErrorPopupWidth=650;FlexiJS.Budgets.SignOff.ResourceSet="FlexiJS.Budgets.SignOff";FlexiJS.Budgets.SignOff.Common={};FlexiJS.Budgets.SignOff.Approval={};FlexiJS.Budgets.SignOff.Confirmation={};FlexiJS.Budgets.SignOff.Unlock={};FlexiJS.Budgets.SignOff.Common.DataObject=function(n,t,i,r,u,f,e,o,s){var h={tableid:n,table:t,tableOrder:i,groupid:r,group:u,groupOrder:f,periodid:e,name:o,periodOrder:s,status:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Unconfirmed"),statusdate:null,statusby:"",payee:"",selectable:!0,unconfirmed:0,confirmed:0,approved:0},l=FlexiJS.Budgets.Data.GetBaseFilter(),c;return l.tableids=[n],l.periodids=[e],h.value=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(l)),c=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(function(t){return t.TableId==n&&t.PeriodId==e}),c&&c.length>0?c[0].IsApproved?(h.status=FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Approved"),h.statusby=c[0].UserChangedBy,h.statusdate=kendo.parseDate(c[0].DateApproved),h.selectable=!1,h.payee=c[0].Payee,h.approved=h.value,h.meeting=c[0].MeetingName):c[0].IsConfirmed?(h.status=FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Confirmed"),h.statusby=c[0].UserChangedBy,h.statusdate=kendo.parseDate(c[0].DateConfirmed),h.selectable=!1,h.payee=c[0].Payee,h.confirmed=h.value,h.meeting=c[0].MeetingName):h.unconfirmed=h.value:h.unconfirmed=h.value,h};FlexiJS.Budgets.SignOff.Common.GetSignOffGroupedPeriodData=function(){var t=FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(function(n){return n.ApprovalId}).map(function(n){return{tableid:n.TableId,periodid:n.PeriodId,signoffid:n.ApprovalId,status:"Approved",changedby:n.UserChangedBy,changedate:n.DateApproved}}).concat(FlexiJS.Budgets.Data.SignOffData.LockedPeriods.filter(function(n){return!n.ApprovalId&&n.ConfirmationId}).map(function(n){return{tableid:n.TableId,periodid:n.PeriodId,signoffid:n.ConfirmationId,status:"Confirmed",changedby:n.UserChangedBy,changedate:n.DateConfirmed}})),n,i,r;return $.each(t,function(n,t){var f=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==t.tableid})[0],i=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId==t.periodid})[0],u,r;t.table=f.Name;t.groupid=null;t.group=null;t.name=i.Name;i.BudgetPeriodGroupId&&(u=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(n){return n.BudgetPeriodGroupId==i.BudgetPeriodGroupId})[0],t.groupid=i.BudgetPeriodGroupId,t.group=u.Name);r=FlexiJS.Budgets.Data.GetBaseFilter();r.tableids=[t.tableid];r.periodids=[t.periodid];t.value=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(r))}),n=[],n.push({field:"signoffid",aggregates:[{field:"value",aggregate:"sum"},{field:"signoffid",aggregate:"min"},{field:"status",aggregate:"min"},{field:"changedby",aggregate:"min"},{field:"changedate",aggregate:"min"}]}),i=FlexiJS.Common.Array.DistinctPropertyValuesFromArray(t,"tableid"),i&&i.length>1&&n.push({field:"tableid",aggregates:[{field:"value",aggregate:"sum"},{field:"tableid",aggregate:"min"},{field:"table",aggregate:"min"}]}),r=FlexiJS.Common.Array.DistinctPropertyValuesFromArray(t,"groupid"),r&&r.length>1&&n.push({field:"groupid",aggregates:[{field:"value",aggregate:"sum"},{field:"group",aggregate:"min"},{field:"groupid",aggregate:"min"}]}),{data:t,groups:n}};FlexiJS.Budgets.SignOff.Common.GetPeriodData=function(){var n=[],t,i;return $.each(FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!0}),function(t,i){var f;if(FlexiJS.Budgets.Data.DynamicData.Items.filter(function(n){return n.BudgetTableId==i.GMSFundTypeBudgetTableId}).length>0){var e=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[i.ApplicationBudgetTableId],r=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId<=e&&n.BudgetPeriodId>=i.MinPeriodId}),u=$.unique(r.map(function(n){return n.BudgetPeriodGroupId})).filter(function(n){return n!=null});u&&u.length>0?(f=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(n){return u.includes(n.BudgetPeriodGroupId)}),$.each(f,function(u,f){$.each(r.filter(function(n){return n.BudgetPeriodGroupId==f.BudgetPeriodGroupId}),function(r,e){n.push(FlexiJS.Budgets.SignOff.Common.DataObject(i.GMSFundTypeBudgetTableId,i.Name,t,f.BudgetPeriodGroupId,f.Name,u,e.BudgetPeriodId,e.Name,r))})})):$.each(r,function(r,u){n.push(FlexiJS.Budgets.SignOff.Common.DataObject(i.GMSFundTypeBudgetTableId,i.Name,t,null,null,null,u.BudgetPeriodId,u.Name,r))})}}),t=[],FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!0}).length>1&&t.push({field:"tableOrder",aggregates:[{field:"value",aggregate:"sum"},{field:"approved",aggregate:"sum"},{field:"confirmed",aggregate:"sum"},{field:"unconfirmed",aggregate:"sum"},{field:"table",aggregate:"min"},{field:"tableid",aggregate:"min"}]}),i=FlexiJS.Common.Array.DistinctPropertyValuesFromArray(n,"groupid"),i&&i.length>1&&t.push({field:"groupOrder",aggregates:[{field:"value",aggregate:"sum"},{field:"approved",aggregate:"sum"},{field:"confirmed",aggregate:"sum"},{field:"unconfirmed",aggregate:"sum"},{field:"group",aggregate:"min"},{field:"tableid",aggregate:"min"},{field:"groupid",aggregate:"min"}]}),{data:n,groups:t}};FlexiJS.Budgets.SignOff.Common.BindGrid=function(n,t,i,r,u,f,e){var o={dataSource:{data:n.data,schema:{model:{id:"periodid"}},group:n.groups},groupable:{enabled:!1,showFooter:!0},pageable:!1,scrollable:!1,persistSelection:!0,sortable:!1,columns:i};f&&(o.dataBound=function(){var n=this;$(".k-grouping-row").each(function(){n.collapseGroup(this)})});r&&r>50&&(o.scrollable=!0);u==!0&&(o.change=FlexiJS.Budgets.SignOff.Confirmation.CheckboxRowSelect,o.selectable="row");t.kendoGrid(o).addClass("groupedKendoTable");r&&r>50&&t.find(".k-grid-content.k-auto-scrollable").css("height",r+"px");e!=null&&t.find(".k-i-expand, .k-i-collapse").click(function(){setTimeout(function(){FlexiJS.UI.SetOverflowAndCenterPopup(e.data("kendoWindow"))},10)})};FlexiJS.Budgets.SignOff.Common.ShowErrorWindow=function(n,t){try{var i=$(FlexiJS.Kendo.Templates.RenderTemplate("budgetapproval","ErrorWindow",n,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.ErrorPopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}});i.find("#btnClose").click(function(){i.data("kendoWindow").close();i.find("#btnCancel").onclick&&i.find("#btnCancel").onclick();i.data("kendoWindow").destroy();t&&t()}).end();i.data("kendoWindow").wrapper.addClass("budget-process-window-wrapper");i.data("kendoWindow").center().open()}catch(r){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Confirmation.ShowWindow=function(){var n,t,i;try{n=$(FlexiJS.Kendo.Templates.RenderTemplate("budgetapproval","ConfirmationWindow",FlexiJS.Budgets.Data.SignOffData,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.PopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}});n.find("#btnCancel").click(function(){n.data("kendoWindow").close();n.find("#btnCancel").onclick&&n.find("#btnCancel").onclick();n.data("kendoWindow").destroy()}).end();n.find("#btnConfirm").click(function(){kendo.ui.progress(n,!0);setTimeout(function(){FlexiJS.Budgets.SignOff.Confirmation.SaveConfirmation(n,function(t){if(t&&t!="false"&&t.d&&t.d!="false"){kendo.ui.progress(n,!1);n.data("kendoWindow").close();n.find("#btnConfirm").onclick&&n.find("#btnConfirm").onclick();n.data("kendoWindow").destroy();var i=JSON.parse(t.d);i.success==!1?FlexiJS.Budgets.SignOff.Common.ShowErrorWindow(i.data,function(){kendo.ui.progress($(document.body),!0);$("[id$=btnRefreshPageFromBudgetScript]").click()}):FlexiJS.Budgets.SignOff.Confirmation.ShowSecondaryWindow(JSON.parse(i.data))}else kendo.ui.progress(n,!1),showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SaveError"))},function(){kendo.ui.progress(n,!1);showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SaveError"))},function(){kendo.ui.progress(n,!1)})},100)}).end();n.find("[id=confirmationdate]").kendoDatePicker();t=n.find("[id=confirmationmeeting]");t&&t.length>0&&(i=n.find("[id=confirmationdate]").data("kendoDatePicker"),t.change(function(){var n=$(this).find("option:selected").data("date");n&&i.value(new Date(n))}));FlexiJS.Budgets.SignOff.Common.BindGrid(FlexiJS.Budgets.SignOff.Common.GetPeriodData(),n.find("#periodList"),[{width:"50px",template:"<input type='checkbox' # if(!selectable){ # disabled checked # } # onclick='FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect(this);' data-tableid='#= tableid #' data-groupid='#= groupid #' data-periodid='#= periodid #' data-value='#= value #'/>",headerTemplate:"<input type='checkbox' data-tableid='*' data-groupid='*' data-periodid='*' onclick='FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect(this);'/>"},{field:"name",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.GridPeriodTitle"),footerTemplate:'<span id="noSelected"><\/span> '+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SelectedText"),width:"300px"},{field:"value",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.GridPeriodTotalTitle"),format:"{0:c}",footerTemplate:'<span id="valueSelected"><\/span>'},{field:"tableOrder",groupHeaderTemplate:"<input type='checkbox' onclick='FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect(this);' data-tableid='#= aggregates.tableid.min #' data-groupid='*' data-periodid='*'/> #= aggregates.table.min #: #= kendo.toString(aggregates.value.sum, 'c') #",hidden:!0},{field:"groupOrder",groupHeaderTemplate:"<input type='checkbox' onclick='FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect(this);' data-tableid='#= aggregates.tableid.min #' data-groupid='#= aggregates.groupid.min #' data-periodid='*'/> #= aggregates.group.min #: #= kendo.toString(aggregates.value.sum, 'c') #",hidden:!0}],null,null,!0,n);FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect($("input:enabled[type=checkbox][data-tableid]:first"));n.data("kendoWindow").wrapper.addClass("budget-process-window-wrapper");n.data("kendoWindow").center().open()}catch(r){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Confirmation.ShowSecondaryWindow=function(n){try{var t=$(FlexiJS.Kendo.Templates.RenderTemplate("budgetapproval","ConfirmationSecondaryWindow",n,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.PopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}});t.find("#btnClose").click(function(){t.data("kendoWindow").close();t.find("#btnCancel").onclick&&t.find("#btnCancel").onclick();t.data("kendoWindow").destroy();kendo.ui.progress($(document.body),!0);$("[id$=btnRefreshPageFromBudgetScript]").click()}).end();t.data("kendoWindow").wrapper.addClass("budget-process-window-wrapper");t.data("kendoWindow").center().open()}catch(i){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Confirmation.CheckboxRowSelect=function(){var n=$(this.select()).find("input:enabled[type=checkbox][data-tableid]"),t;n&&n.length>0?($(n[0]).click(),FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect($(n[0])[0]),$(n[0]).closest("tr").removeClass("k-state-selected")):(t=$(this.select()).find("input:disabled[type=checkbox][data-tableid]"),t&&t.length>0&&$(t[0]).closest("tr").removeClass("k-state-selected"))};FlexiJS.Budgets.SignOff.Confirmation.CheckboxSelect=function(n){var f=$(n),r=f.data("tableid"),t,i,a,o,u,c,l;isNaN(r)||(r=Number(r));t=f.data("groupid");isNaN(t)||(t=Number(t));i=f.data("periodid");isNaN(i)||(i=Number(i));a=f.is(":checked");o=$("input:enabled[type=checkbox][data-tableid"+(r=="*"?"":"="+r)+"]");a?o.filter(function(){return t=="*"||Number($(this).data("groupid"))<=t}).filter(function(){return i=="*"||Number($(this).data("groupid"))<t||Number($(this).data("groupid"))==t&&Number($(this).data("periodid"))<=i}).prop("checked",!0):o.filter(function(){return t=="*"||Number($(this).data("groupid"))>=t}).filter(function(){return i=="*"||Number($(this).data("groupid"))>t||Number($(this).data("groupid"))==t&&Number($(this).data("periodid"))>=i}).prop("checked",!1);u=$("input[type=checkbox][data-tableid"+(r=="*"?"":"="+r)+"]");u.filter(function(){return $(this).data("groupid")!="*"&&$(this).data("periodid")=="*"}).each(function(){var t=Number($(this).data("groupid")),n=u.filter(function(){return Number($(this).data("groupid"))==t&&$(this).data("periodid")!="*"}),i=n.filter(function(){return $(this).is(":checked")}).length>0,r=n.filter(function(){return!$(this).is(":checked")}).length>0;$(this).prop("indeterminate",!1);$(this).prop("checked",!1);i&&(r?$(this).prop("indeterminate",!0):$(this).prop("checked",!0))});u.filter(function(){return $(this).data("tableid")!="*"&&$(this).data("groupid")=="*"&&$(this).data("periodid")=="*"}).each(function(){var n=u.filter(function(){return $(this).data("periodid")!="*"}),t=n.filter(function(){return $(this).is(":checked")}).length>0,i=n.filter(function(){return!$(this).is(":checked")}).length>0;$(this).prop("indeterminate",!1);$(this).prop("checked",!1);t&&(i?$(this).prop("indeterminate",!0):$(this).prop("checked",!0))});var s=$('input[type=checkbox][data-tableid][data-periodid!="*"]'),e=$('input:enabled[type=checkbox][data-tableid="*"][data-groupid="*"][data-periodid="*"]'),h=s.filter(function(){return $(this).prop("checked")==!0}).length;e.prop("indeterminate",!1);e.prop("checked",!1);h==s.length?e.prop("checked",!0):h!=s.length&&h>0&&e.prop("indeterminate",!0);c=0;l=0;$('input:enabled:checked[type=checkbox][data-tableid][data-groupid][data-periodid][data-tableid!="*"][data-groupid!="*"][data-periodid!="*"]').each(function(){c+=isNaN($(this).data("value"))?0:Number($(this).data("value"));l+=1});$("#valueSelected").text(kendo.toString(c,"c"));$("#noSelected").text(l)};FlexiJS.Budgets.SignOff.Confirmation.SetupSignOffListGrid=function(n){var i=[{field:"name",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.PeriodTitle")},{field:"value",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.TotalTitle"),format:"{0:c}"},{field:"status",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.StatusTitle")},{field:"statusby",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.ChangedByTitle")},{field:"statusdate",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.DateTitle"),type:"date",format:"{0:d}"}],t;FlexiJS.Budgets.Data.SignOffData.Meetings&&FlexiJS.Budgets.Data.SignOffData.Meetings.length>0&&i.push({field:"meeting",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.MeetingTitle")});i.push({field:"payee",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SignOffGrid.PayeeTitle")});t='#= kendo.toString(aggregates.value.sum, "c") # ';t+='<span class="budget-confirmation-groupaggregate">';t+='<span>#= kendo.toString(aggregates.unconfirmed.sum, "c") # '+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Unconfirmed")+"<\/span>";t+='<span>#= kendo.toString(aggregates.confirmed.sum, "c") # '+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Confirmed")+"<\/span>";t+='<span>#= kendo.toString(aggregates.approved.sum, "c") # '+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"StatusName.Approved")+"<\/span>";t+="<\/span>";i.push({field:"tableOrder",groupHeaderTemplate:"#= aggregates.table.min #: "+t,hidden:!0});i.push({field:"groupOrder",groupHeaderTemplate:"#= aggregates.group.min #: "+t,hidden:!0});try{FlexiJS.Budgets.SignOff.Common.BindGrid(FlexiJS.Budgets.SignOff.Common.GetPeriodData(),$("#"+n),i,null,null,!0,null)}catch(r){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Confirmation.SaveConfirmation=function(n,t,i,r){var u={MeetingId:null,ConfirmationDate:null,Notes:n.find("[id=confirmationnotes]").val(),Periods:{},ApplicationId:FlexiJS.Budgets.Data.StaticData.ApplicationId},f=n.find("[id=confirmationmeeting]"),o=n.find("[id=confirmationdate]").data("kendoDatePicker"),e,s;if(f&&f.length>0&&(u.MeetingId=f[0].value,isNaN(u.MeetingId)||parseInt(u.MeetingId)<0)){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.NoMeetingSelected"));r&&r();return}if(o&&(u.ConfirmationDate=o.value(),u.ConfirmationDate==null)){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.NoDateSelected"));r&&r();return}if(e=0,$.each(n.find('input:enabled:checked[type=checkbox][data-tableid][data-periodid][data-tableid!="*"][data-periodid!="*"]'),function(){u.Periods[Number($(this).data("tableid"))]||(u.Periods[Number($(this).data("tableid"))]=[]);u.Periods[Number($(this).data("tableid"))].push(Number($(this).data("periodid")));e++}),e==0){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.NoPeriodsSelected"));r&&r();return}u.Periods=JSON.stringify(u.Periods);s=JSON.stringify(u);$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/SignOff_ConfirmBudgetPeriods",data:s,processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(n){t(n)},error:function(){i()}})};FlexiJS.Budgets.SignOff.Unlock.ShowWindow=function(){var n,t;try{n=$(FlexiJS.Kendo.Templates.RenderTemplate("budgetapproval","UnlockWindow",FlexiJS.Budgets.Data.SignOffData,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.PopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}});n.find("#btnCancel").click(function(){n.data("kendoWindow").close();n.find("#btnCancel").onclick&&n.find("#btnCancel").onclick();n.data("kendoWindow").destroy()}).end();n.find("#btnConfirm").click(function(){kendo.ui.progress(n,!0);setTimeout(function(){FlexiJS.Budgets.SignOff.Unlock.SaveUnlock(n,function(){kendo.ui.progress(n,!1);n.data("kendoWindow").close();n.find("#btnConfirm").onclick&&n.find("#btnConfirm").onclick();n.data("kendoWindow").destroy();kendo.ui.progress($(document.body),!0);$("[id$=btnRefreshPageFromBudgetScript]").click()},function(){kendo.ui.progress(n,!1);showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveUnlock.SaveError"))},function(){kendo.ui.progress(n,!1)})},100)}).end();t=FlexiJS.Budgets.SignOff.Common.GetSignOffGroupedPeriodData();FlexiJS.Budgets.SignOff.Common.BindGrid(t,n.find("#periodList"),[{field:"name",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.GridPeriodTitle"),footerTemplate:'<span id="noSelected"><\/span> '+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SelectedText"),width:"300px"},{field:"value",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.GridPeriodTotalTitle"),format:"{0:c}",footerTemplate:'<span id="valueSelected"><\/span>'},{field:"signoffid",groupHeaderTemplate:"<input type='checkbox' class='budgetapprovalpopup-grid-checkbox' onclick='FlexiJS.Budgets.SignOff.Unlock.CheckboxSelect(this);' data-signoffid='#= aggregates.signoffid.min #'/> #= kendo.toString(aggregates.value.sum, 'c') # #= aggregates.status.min # on #= kendo.toString(kendo.parseDate(aggregates.changedate.min),'d') # by #= aggregates.changedby.min #",hidden:!0},{field:"tableid",groupHeaderTemplate:"#= aggregates.table.min #: #= kendo.toString(aggregates.value.sum, 'c') #",hidden:!0},{field:"groupid",groupHeaderTemplate:"#= aggregates.group.min #: #= kendo.toString(aggregates.value.sum, 'c') #",hidden:!0}],null,null,!0,n);FlexiJS.Budgets.SignOff.Unlock.CheckboxSelect($("input:enabled[type=checkbox][data-signoffid]:last"));n.data("kendoWindow").wrapper.addClass("budget-process-window-wrapper");n.data("kendoWindow").center().open()}catch(i){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Unlock.CheckboxSelect=function(n){var r=$(n),t=r.data("signoffid"),u,i;isNaN(t)||(t=Number(t));u=r.is(":checked");i=$("input:enabled[type=checkbox][data-signoffid]");u?i.filter(function(){return Number($(this).data("signoffid"))>=t}).prop("checked",!0):i.filter(function(){return Number($(this).data("signoffid"))<=t}).prop("checked",!1);$("#noSelected").text($("input:enabled[type=checkbox][data-signoffid]:checked").length)};FlexiJS.Budgets.SignOff.Unlock.SaveUnlock=function(n,t,i,r){var u={Notes:n.find("[id=notes]").val(),SignOffIds:[],ApplicationId:FlexiJS.Budgets.Data.StaticData.ApplicationId},f=n.find("[id=unlockreason]"),e,o;if(f&&f.length>0&&(u.UnlockReason=f[0].value,isNaN(u.UnlockReason)||u.UnlockReason<1)){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveUnlock.NoReasonSelected"));r&&r();return}if(e=0,$.each(n.find("input:enabled:checked[type=checkbox][data-signoffid]"),function(){u.SignOffIds.push(Number($(this).data("signoffid")));e++}),e==0){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveUnlock.NoSignoffsSelected"));r&&r();return}u.Periods=JSON.stringify(u.Periods);o=JSON.stringify(u);$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/SignOff_UnlockBudgetPeriods",data:o,processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(n){t(n)},error:function(){i()}})};FlexiJS.Budgets.SignOff.Approval.ShowWindow=function(n,t){var r=JSON.parse(FlexiJS.Utils.Strings.DecodeHtmlAttribute(t)),i;try{i=$(FlexiJS.Kendo.Templates.RenderTemplate("budgetapproval","ApproveWindow",r,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,modal:{preventScroll:!0},scrollable:!0,width:FlexiJS.Budgets.SignOff.PopupWidth,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}});i.find("#btnCancel").click(function(){i.data("kendoWindow").close();i.find("#btnCancel").onclick&&i.find("#btnCancel").onclick();i.data("kendoWindow").destroy()}).end();i.find("[id=decisiondate]").kendoDatePicker();i.find("#btnConfirm").click(function(){kendo.ui.progress(i,!0);setTimeout(function(){FlexiJS.Budgets.SignOff.Approval.SaveApproval(i,function(t){var e,u,o,h,s,f;if(t&&t!="false"&&t.d&&t.d!="false"){if(kendo.ui.progress(i,!1),i.data("kendoWindow").close(),i.find("#btnConfirm").onclick&&i.find("#btnConfirm").onclick(),i.data("kendoWindow").destroy(),e=JSON.parse(t.d),e.success==!1)FlexiJS.Budgets.SignOff.Common.ShowErrorWindow(e.data,function(){window.location=window.location});else if(u=$("#"+n).data("kendoGrid"),u)for(o=u.dataSource.data(),h=o.length,f=h-1;f>=0;f--)s=o[f],s.SignOffId==r.SignOffId&&u.dataSource.remove(s)}else kendo.ui.progress(i,!1),showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SaveError"))},function(){kendo.ui.progress(i,!1);showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.SaveError"))},r.ApplicationId,r.SignOffId,function(){kendo.ui.progress(i,!1)})},100)}).end();i.data("kendoWindow").wrapper.addClass("budget-process-window-wrapper");i.data("kendoWindow").center().open()}catch(u){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"GenericErrorMessage"))}};FlexiJS.Budgets.SignOff.Approval.SetupBudgetApprovalPage=function(n,t){var r=$.parseJSON($("#"+n).val()),u=[],f=FlexiJS.Common.Array.DistinctPropertyValuesFromArray(r,"GMSFundID"),i;f&&f.length>1&&u.push({field:"schemeOrder",aggregates:[{field:"TotalValue",aggregate:"sum"},{field:"NoAwaiting",aggregate:"count"},{field:"SchemeName",aggregate:"min"}]});$("#"+t).kendoGrid({dataSource:{data:r,schema:{model:{id:"SignOffId",fields:{SignOffId:{type:"number"},GMSFundID:{type:"number"},TotalValue:{type:"currency"},SchemeName:{type:"string"},ApplicationReference:{type:"string"},ApplicantName:{type:"string"},ApplicantOrganisation:{type:"string"},ApplicationId:{type:"number"},UserConfirmedByName:{type:"string"},DateSignedOff:{type:"date"},LetterOfOfferId:{type:"number"},Notes:{type:"string"}}}},pageSize:20,serverPaging:!1,serverSorting:!1,group:u},groupable:{enabled:!1,showFooter:!0},noRecords:{template:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.NoRecords")},scrollable:!0,sortable:!0,filterable:!1,pageable:{input:!0,numeric:!1},columns:[{field:"SchemeName",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.SchemeColumnHeader")},{field:"ApplicationReference",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.ApplicationReferenceColumnHeader")},{template:"#: ApplicantName ##if(ApplicantOrganisation != null){ #<br/><span>#: ApplicantOrganisation #<\/span># } #",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.ApplicantColumnHeader")},{field:"TotalValue",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.TotalValueColumnHeader"),format:"{0:c}"},{field:"UserConfirmedByName",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.ConfirmedByColumnHeader")},{field:"DateSignedOff",title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.DateConfirmedColumnHeader"),format:"{0:d}"},{template:function(n){return"<div id='gridicontray' class='applicationgridicontray' title='' appid='"+n.ApplicationId+"' data-mydata='"+kendo.htmlEncode(JSON.stringify(n))+"'><\/div>"},title:"&nbsp;",width:"50px"},{field:"schemeOrder",groupHeaderTemplate:"#= aggregates.SchemeName.min #: #= kendo.toString(aggregates.TotalValue.sum, 'c') # (#: aggregates.NoAwaiting.count #)",hidden:!0}],dataBound:function(n){$(n.sender.table).find("[id$=gridicontray]").each(function(){var n="";n+='<a href="/gms/ecffinance.aspx?id='+$(this).attr("appid")+'" target="_blank"><div class="applicationgridquickaction">'+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.CaseFileLink")+"<\/div><\/a>";$(this).data("mydata").LetterOfOfferId&&$(this).data("mydata").LetterOfOfferId>0&&(n+='<a href="/DownloadFile.aspx?dsid='+$(this).data("mydata").LetterOfOfferId+'" target="_blank"><div class="applicationgridquickaction">'+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.LetterOfOfferLink")+"<\/div><\/a>");n+='<a href="#" target="_blank" onclick="FlexiJS.Budgets.SignOff.Approval.ShowWindow(\''+t+"', '"+FlexiJS.Utils.Strings.EscapeHtmlAttribute(JSON.stringify($(this).data("mydata")))+'\'); return false;"><div class="applicationgridquickaction">'+FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"ApprovalPageGrid.ApproveLink")+"<\/div><\/a>";$(this).attr("title",n)})},detailInit:function(n){$("<div><h3>Notes<\/h3><span>"+n.data.Notes.replace(/(?:\r\n|\r|\n)/g,"<br/>")+"<\/span><\/div>").appendTo(n.detailCell)}}).addClass("groupedKendoTable");i=$("body");i.kendoTooltip().data("kendoTooltip").destroy();i.kendoTooltip({filter:".applicationgridicontray",width:240,autoHide:!1,show:function(){var n,i,t,r;FlexiJS.Controls.DashboardGrid.ClearTooltipTimeout(FlexiJS.Controls.DashboardGrid.timeoutHide);FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip=!1;FlexiJS.Controls.DashboardGrid.isHoveringCell.img=!0;FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow=!1;n=this;i=n.target();n.popup.element.addClass("applicationgridquickactiontooltip-content");n.popup.element.click(function(){$(this).parent().hide()});t=n.popup.wrapper.find(".k-callout");r=!(window.mozInnerScreenX==null);r?t.addClass("applicationgridquickactiontooltip-callout-ff"):t.addClass("applicationgridquickactiontooltip-callout");n.popup.element.find(".k-tooltip-button").hide();n.popup.element.hover(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip=!0;FlexiJS.Controls.DashboardGrid.ClearTooltipTimeout(FlexiJS.Controls.DashboardGrid.timeoutHide)},function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip=!1;FlexiJS.Controls.DashboardGrid.timeoutHide=setTimeout(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.img==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip==!1&&n.hide()},1500)});i.hover(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.img=!0;FlexiJS.Controls.DashboardGrid.ClearTooltipTimeout(FlexiJS.Controls.DashboardGrid.timeoutHide)},function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.img=!1;FlexiJS.Controls.DashboardGrid.timeoutHide=setTimeout(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.img==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip==!1&&n.hide()},1500)});t.hover(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow=!0;FlexiJS.Controls.DashboardGrid.ClearTooltipTimeout(FlexiJS.Controls.DashboardGrid.timeoutHide)},function(){var t=$(this);FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow=!1;FlexiJS.Controls.DashboardGrid.timeoutHide=setTimeout(function(){FlexiJS.Controls.DashboardGrid.isHoveringCell.arrow==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.img==!1&&FlexiJS.Controls.DashboardGrid.isHoveringCell.tooltip==!1&&n.hide()},1500)})},position:"bottom"}).data("kendoTooltip")};FlexiJS.Budgets.SignOff.Approval.SaveApproval=function(n,t,i,r,u,f){var e={ApplicationId:r,ConfirmationId:u,ApprovalDate:null,Notes:n.find("[id=notes]").val()},o=n.find("[id=decisiondate]").data("kendoDatePicker"),s;if(o&&(e.ApprovalDate=o.value(),e.ApprovalDate==null)){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.SignOff.ResourceSet,"SaveConfirmation.NoDateSelected"));f&&f();return}s=JSON.stringify(e);$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/SignOff_ApproveBudgetConfirmation",data:s,processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(n){t(n)},error:function(){i()}})};FlexiJS.Budgets.Sorts={};FlexiJS.Budgets.Sorts.Item={};FlexiJS.Budgets.Sorts.Item.IdSort=function(n,t){return n.BudgetItemId>0&&t.BudgetItemId>0?n.BudgetItemId>t.BudgetItemId?1:n.BudgetItemId<t.BudgetItemId?-1:0:n.BudgetItemId<0&&t.BudgetItemId<0?n.BudgetItemId<t.BudgetItemId?1:n.BudgetItemId>t.BudgetItemId?-1:0:n.BudgetItemId>0&&t.BudgetItemId<0?-1:n.BudgetItemId<0&&t.BudgetItemId>0?1:0};FlexiJS.Budgets.Validation={};FlexiJS.Budgets.Validation.Enums={ValidationType:{allfinancialtables:102103,wholetable:102100,budgetitem:102101,budgetitemvalue:102102},FieldType:{Label:102200,Currency:102201,Calculated:102203}};FlexiJS.Budgets.Validation.ResourseSet="/Scripts/flexijs/gms/application/budgettables/flexidynamicbudgettable.js";FlexiJS.Budgets.Validation.ValidateFormatMessage=function(n,t,i,r){return n.replace("[TABLENAME]",t?t:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_UnknownTable.text")).replace("[PERIODNAME]",r?r:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_UnknownPeriod.text")).replace("[ITEMNAME]",i?i:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_UnknownItem.text"))};FlexiJS.Budgets.Validation.FormatValidationMessage=function(n,t,i,r,u,f,e,o,s,h){return n+";"+t.replace("[MinOccurences]",i).replace("[MaxOccurences]",r).replace("[TableName]",u).replace("[ItemTypeName]",f).replace("[ItemName]",e).replace("[PeriodGroupName]",o).replace("[PeriodName]",s).replace("[Value]",h)};FlexiJS.Budgets.Validation.GetValidationMessageBases=function(){return{minOccurences:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_MinOccurences.text"),maxOccurences:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_MaxOccurences.text"),periodItemMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_PeriodItemMinValue.text"),periodItemMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_PeriodItemMaxValue.text"),itemTotalMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTotalMinValue.text"),itemTotalMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTotalMaxValue.text"),itemTypePeriodTotalMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypePeriodTotalMinValue.text"),itemTypePeriodTotalMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypePeriodTotalMaxValue.text"),periodGroupItemMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_PeriodGroupItemMinValue.text"),periodGroupItemMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_PeriodGroupItemMaxValue.text"),itemTypePeriodGroupTotalMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypePeriodGroupTotalMinValue.text"),itemTypePeriodGroupTotalMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypePeriodGroupTotalMaxValue.text"),itemTypeTotalMinValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypeTotalMinValue.text"),itemTypeTotalMaxValue:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.Validation.ResourseSet,"Validation_ItemType_ItemTypeTotalMaxValue.text")}};FlexiJS.Budgets.Validation.ValidateTableLayout=function(n,t){var r=!0,u="",i,f;if(t.ValidationEnabled){var h=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[n.ApplicationBudgetTableId],o=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(t){return t.BudgetPeriodId<=h&&t.BudgetPeriodId>=n.MinPeriodId}),s=[],e=$.unique(o.map(function(n){return n.BudgetPeriodGroupId})).filter(function(n){return n!=null});e&&e.length>0&&(s=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(n){return e.includes(n.BudgetPeriodGroupId)}));i=FlexiJS.Budgets.Data.GetBaseFilter();t.ValidationItems&&t.ValidationItems.length>0&&(f=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.IncludeContentsInPayments==!0}).map(function(n){return n.GMSFundTypeBudgetTableId}),f&&f.length>0&&(i=FlexiJS.Budgets.Data.GetBaseFilter(),i.tableids=f,$.each($(t.ValidationItems).filter(function(n){return n.Type==FlexiJS.Budgets.Validation.Enums.ValidationType.allfinancialtables}),function(n,t){try{var f=FlexiJS.Budgets.Equations.EvalEquation({filter:i,equation:t.Condition});f||(r=!1,u=u+";"+FlexiJS.Budgets.Validation.ValidateFormatMessage(t.Message,null,null,null))}catch(e){r=!1}})),i=FlexiJS.Budgets.Data.GetBaseFilter(),i.tableids.push(n.GMSFundTypeBudgetTableId),$.each(t.ValidationItems.filter(function(n){return n.Type==FlexiJS.Budgets.Validation.Enums.ValidationType.wholetable}),function(t,f){try{var e=FlexiJS.Budgets.Equations.EvalEquation({filter:i,equation:f.Condition});e||(r=!1,u=u+";"+FlexiJS.Budgets.Validation.ValidateFormatMessage(f.Message,n.Name,null,null))}catch(o){r=!1}}),i=FlexiJS.Budgets.Data.GetBaseFilter(),i.tableids.push(n.GMSFundTypeBudgetTableId),$.each(t.ValidationItems.filter(function(n){return n.Type==FlexiJS.Budgets.Validation.Enums.ValidationType.budgetitem}),function(t,f){$.each(FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.Remove==!1&&t.BudgetTableId==n.GMSFundTypeBudgetTableId}),function(t,e){i.itemids=[e.BudgetItemId];try{var o=FlexiJS.Budgets.Equations.EvalEquation({filter:i,equation:f.Condition});o||(r=!1,$('tr[data-itemid="'+e.BudgetItemId+'"][class~="itemrow"]').addClass("invalidrow"),u=u+";"+FlexiJS.Budgets.Validation.ValidateFormatMessage(f.Message,n.Name,e.Name,null))}catch(s){r=!1}})}),i=FlexiJS.Budgets.Data.GetBaseFilter(),i.tableids.push(n.GMSFundTypeBudgetTableId),$.each(t.ValidationItems.filter(function(n){return n.Type==FlexiJS.Budgets.Validation.Enums.ValidationType.budgetitemvalue}),function(f,e){$.each(FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.Remove==!1&&t.BudgetTableId==n.GMSFundTypeBudgetTableId}),function(f,h){i.itemids=[h.BudgetItemId];t.PeriodDisplayMode==102502?$.each(s,function(t,f){try{i.periodgroupids=[f.BudgetPeriodGroupId];var o=FlexiJS.Budgets.Equations.EvalEquation({filter:i,equation:e.Condition});o||(r=!1,$('tr[data-itemid="'+h.BudgetItemId+'"][class~="itemrow"]').addClass("invalidrow"),u=u+";"+FlexiJS.Budgets.Validation.ValidateFormatMessage(e.Message,n.Name,h.Name,f.Name))}catch(s){r=!1}}):$.each(o,function(t,f){try{i.periodids=[f.BudgetPeriodId];var o=FlexiJS.Budgets.Equations.EvalEquation({filter:i,equation:e.Condition});o||(r=!1,$('tr[data-itemid="'+h.BudgetItemId+'"][class~="itemrow"]').addClass("invalidrow"),u=u+";"+FlexiJS.Budgets.Validation.ValidateFormatMessage(e.Message,n.Name,h.Name,FlexiJS.Budgets.Data.Periods.GetPeriodName(f.BudgetPeriodId)))}catch(s){r=!1}})})}))}return{valid:r,message:u}};FlexiJS.Budgets.Validation.ValidateTableItemTypes=function(n,t){var r=!0,i="",u=FlexiJS.Budgets.Validation.GetValidationMessageBases(),s=FlexiJS.Budgets.Data.GetBaseFilter(),h,f;if(s.tableids.push(n.GMSFundTypeBudgetTableId),FlexiJS.Budgets.Data.StaticData.ItemTypes&&FlexiJS.Budgets.Data.StaticData.ItemTypes.length>0){h=FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(t){return t.GMSFundTypeBudgetTableId==n.GMSFundTypeBudgetTableId&&(t.MinOccurencesPerTable!=null||t.MaxOccurencesPerTable!=null||t.ItemPeriodMin!=null||t.ItemPeriodMax!=null||t.ItemTotalMin!=null||t.ItemTotalMax!=null||t.TablePeriodMin!=null||t.TablePeriodMax!=null||t.TableTotalMin!=null||t.TableTotalMax!=null)==!0});f=t.Fields.filter(function(n){return n.Type==FlexiJS.Budgets.Validation.Enums.FieldType.Currency&&(n.DataField.toLowerCase()=="currentvalue"||n.DataField.toLowerCase()=="unapprovedcurrentvalue"||n.DataField.toLowerCase()=="unapprovedvalue")}).map(function(n){return n.DataField});f=f.filter(function(n,t){return f.indexOf(n)==t});var l=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[n.ApplicationBudgetTableId],e=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(t){return t.BudgetPeriodId<=l&&t.BudgetPeriodId>=n.MinPeriodId}),o=[],c=$.unique(e.map(function(n){return n.BudgetPeriodGroupId})).filter(function(n){return n!=null});c&&c.length>0&&(o=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(n){return c.includes(n.BudgetPeriodGroupId)}));f&&f.length>0&&$.each(f,function(f,c){h&&h.length>0&&$.each(h,function(f,h){var a,v,l,y;s.itemtypeids=[h.BudgetItemTypeId];a=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(n){return n.Remove==!1&&n.BudgetTableItemTypeId==h.BudgetItemTypeId});v=a.length;h.MinOccurencesPerTable!=null&&h.MinOccurencesPerTable>v&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.minOccurences,h.MinOccurencesPerTable,"",n.Name,h.Name,"","","",""));h.MaxOccurencesPerTable!=null&&h.MaxOccurencesPerTable<v&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.maxOccurences,"",h.MaxOccurencesPerTable,n.Name,h.Name,"","","",""));v>0&&(h.ItemPeriodMin!=null||h.ItemPeriodMax!=null||h.ItemTotalMin!=null||h.ItemTotalMax!=null||h.TablePeriodMin!=null||h.TablePeriodMax!=null||h.TableTotalMin!=null||h.TableTotalMax!=null)==!0&&(s.field=c,l=FlexiJS.Budgets.Data.ItemValue.GetFilteredValueObjects(s).map(function(n){return{ItemId:n.BudgetItemId,PeriodId:n.PeriodId,Value:n.Values[c]}}),t.PeriodDisplayMode!=102502?($.each(a,function(t,f){$.each(e,function(t,e){var c=$.sum($(l).map(function(){return this.PeriodId==e.BudgetPeriodId&&this.ItemId==f.BudgetItemId?this.Value:0}).get()),s=e.Name.trim();e.BudgetPeriodGroupId&&(s=o.filter(function(n){return n.BudgetPeriodGroupId==e.BudgetPeriodGroupId})[0].Name.trim()+" "+s);s=s.trim();h.ItemPeriodMin!=null&&h.ItemPeriodMin>c&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.periodItemMinValue,"","",n.Name,"",f.Name,"",s,kendo.format("{0:c}",h.ItemPeriodMin)));h.ItemPeriodMax!=null&&h.ItemPeriodMax<c&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.periodItemMaxValue,"","",n.Name,"",f.Name,"",s,kendo.format("{0:c}",h.ItemPeriodMax)))});var s=$.sum($(l).map(function(){return this.ItemId==f.BudgetItemId?this.Value:0}).get());h.ItemTotalMin!=null&&h.ItemTotalMin>s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTotalMinValue,"","",n.Name,"",f.Name,"","",kendo.format("{0:c}",h.ItemTotalMin)));h.ItemTotalMax!=null&&h.ItemTotalMax<s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTotalMaxValue,"","",n.Name,"",f.Name,"","",kendo.format("{0:c}",h.ItemTotalMax)))}),$.each(e,function(t,f){var s=$.sum($(l).map(function(){return this.PeriodId==f.BudgetPeriodId?this.Value:0}).get()),e=f.Name.trim();f.BudgetPeriodGroupId&&(e=o.filter(function(n){return n.BudgetPeriodGroupId==f.BudgetPeriodGroupId})[0].Name.trim()+" "+e);e=e.trim();h.TablePeriodMin!=null&&h.TablePeriodMin>s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypePeriodTotalMinValue,"","",n.Name,h.Name,"","",e,kendo.format("{0:c}",h.TablePeriodMin)));h.TablePeriodMax!=null&&h.TablePeriodMax<s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypePeriodTotalMaxValue,"","",n.Name,h.Name,"","",e,kendo.format("{0:c}",h.TablePeriodMax)))})):($.each(a,function(t,f){$.each(o,function(t,o){var c=e.filter(function(n){n.BudgetPeriodGroupId==o.BudgetPeriodGroupId}).map(function(n){return n.BudgetPeriodId}),a=$.sum($(l).map(function(){return c.includes(this.PeriodId)&&this.ItemId==f.BudgetItemId?this.Value:0}).get()),s=null;h.ItemPeriodMin!=null&&(s=c.length*h.ItemPeriodMin,s>a&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.periodGroupItemMinValue,"","",n.Name,"",f.Name,o.Name,"",kendo.format("{0:c}",s))));h.ItemPeriodMax!=null&&(s=c.length*h.ItemPeriodMax,s<a&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.periodGroupItemMaxValue,"","",n.Name,"",f.Name,o.Name,"",kendo.format("{0:c}",s))))});var s=$.sum($(l).map(function(){return this.ItemId==f.BudgetItemId?this.Value:0}).get());h.ItemTotalMin!=null&&h.ItemTotalMin>s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTotalMinValue,"","",n.Name,"",f.Name,"","",kendo.format("{0:c}",h.ItemTotalMin)));h.ItemTotalMax!=null&&h.ItemTotalMax<s&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTotalMaxValue,"","",n.Name,"",f.Name,"","",kendo.format("{0:c}",h.ItemTotalMax)))}),$.each(o,function(t,f){var s=e.filter(function(n){n.BudgetPeriodGroupId==f.BudgetPeriodGroupId}).map(function(n){return n.BudgetPeriodId}),c=$.sum($(l).map(function(){return s.includes(this.PeriodId)?this.Value:0}).get()),o=null;h.TablePeriodMin!=null&&(o=s.length*h.TablePeriodMin,o>c&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypePeriodGroupTotalMinValue,"","",n.Name,h.Name,"",f.Name,"",kendo.format("{0:c}",o))));h.TablePeriodMax!=null&&(o=s.length*h.TablePeriodMax,o<c&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypePeriodGroupTotalMaxValue,"","",n.Name,h.Name,"",f.Name,"",kendo.format("{0:c}",o))))})),y=$.sum($(l).map(function(){return this.Value}).get()),h.TableTotalMin!=null&&h.TableTotalMin>y&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypeTotalMinValue,"","",n.Name,h.Name,"","","",kendo.format("{0:c}",h.TableTotalMin))),h.TableTotalMax!=null&&h.TableTotalMax<y&&(r=!1,i=FlexiJS.Budgets.Validation.FormatValidationMessage(i,u.itemTypeTotalMaxValue,"","",n.Name,h.Name,"","","",kendo.format("{0:c}",h.TableTotalMax))))})})}return{valid:r,message:i}};FlexiJS.Budgets.Validation.ValidateTable=function(n){var f=$(n),e=f.data("tableid"),t=f.data("layout"),i=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==e})[0],r,u;return i?(t=t||i.TableSettings,!t)?{isValid:!1,messages:["Table Layout Error"]}:(r=FlexiJS.Budgets.Validation.ValidateTableLayout(i,t),u=FlexiJS.Budgets.Validation.ValidateTableItemTypes(i,t),{isValid:r.valid&&u.valid,messages:r.message+u.message}):{isValid:!1,messages:["Table Error"]}};FlexiJS.Budgets.UI={};FlexiJS.Budgets.UI.ResourseSet="Scripts\\budgettable.js";FlexiJS.Budgets.UI.GetFiltersFromElement=function(n){var t=FlexiJS.Budgets.Data.GetBaseFilter(),u=$(n),f,e,o,s;u.tagName.toLowerCase()!="td"&&(u=u.closest("td"));var i=$(u),r=i.closest("tr"),c=i.closest("tbody"),l=i.closest("table"),h=l.attr("data-table");return isNaN(h)||t.tableids.push(Number(h)),f=r.attr("data-item"),isNaN(f)||t.itemids.push(Number(f)),e=c.attr("data-itemtype"),isNaN(e)||t.itemtypeids.push(Number(e)),o=i.attr("data-period"),isNaN(o)||t.periodids.push(Number(o)),s=i.attr("data-periodgroup"),isNaN(s)||t.periodgroupids.push(Number(s)),t.field=r.attr("data-field"),t.equation=r.attr("data-equation"),t.calctype=r.attr("data-calculationtype"),t.format=r.attr("data-format"),t};FlexiJS.Budgets.UI.RenderTable=function(n){var t=$(n),u=t.data("tableid"),o=t.data("fiid")||0,s=t.data("recasting")||!1,h=t.data("printview")||!1,c=!(!t.data("readonly")||!1),l=t.data("layout"),i=$(t).find("table"),f=0,r={collapsed:[],expanded:[]},e=!0;i&&i.length>0&&(f=$(i).scrollLeft(),r.expanded=$(i).find('thead th[data-group][class~="collapse"]').toArray().map(function(n){return $(n).data("group")}),r.collapsed=$(i).find('thead th[data-group][class~="expand"]').toArray().map(function(n){return $(n).data("group")}),r.expanded.length==0&&r.collapsed.length==0&&(r=null),e=$(i).find('thead th[data-accumulatetoperiod][class~="expand"]').toArray().length>0);var a=$(t).closest('[data-elementrole="BudgetTableContainer"]'),v=a.hasClass("budgettable-expanded"),y=FlexiJS.Budgets.UI.Templates.BuildTable(u,h,o,s,c,l,r,v,e);$(t).empty();$(t).append(y);$(t).find("[data-ftype=102201] input").kendoNumericTextBox({decimals:kendo.culture().numberFormat.currency.decimals,spinners:!1,format:"c"}).blur(function(){var n=FlexiJS.Budgets.UI.GetCellData($(this).closest("td"));FlexiJS.Budgets.Data.ItemValue.SetItemsValue(n,$(this).data("kendoNumericTextBox").value())==1&&FlexiJS.Budgets.UI.RefreshValues(n)});$(t).find("[data-ftype=102201]").addClass("inputcell");$('h3[data-tableid="'+u+'"]').text(FlexiJS.Budgets.UI.Templates.GetTableName(u));FlexiJS.Budgets.UI.RefreshTableDates(u);f>0&&$(t).find("table").scrollLeft(f)};FlexiJS.Budgets.UI.RefreshTableDates=function(n){var t=FlexiJS.Budgets.Data.Table.GetTableDataDatesByTableId(n);$('[data-elementtype="budgetTableDates"][data-tableid="'+n+'"]').empty().append(FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_BudgetDates",t,!0))};FlexiJS.Budgets.UI.RenderAllTables=function(){$.each($('[data-elementtype="budgettable"]'),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)})};FlexiJS.Budgets.UI.ExpandTable=function(n){var i=$(n).closest('[data-elementrole="BudgetTableContainer"]'),t=$(i).find('[data-elementrole="BudgetTableExpander"]');i.hasClass("budgettable-expanded")?(i.removeClass("budgettable-expanded"),t.removeClass("budgettable-collapselink"),t.addClass("budgettable-expandlink"),t.text(t.data("expandtext"))):(i.addClass("budgettable-expanded"),t.removeClass("budgettable-expandlink"),t.addClass("budgettable-collapselink"),t.text(t.data("collapsetext")))};FlexiJS.Budgets.UI.TogglePeriodGroupCollapse=function(n){var i=$(n).data("group"),r=$(n).data("expandedcolspan"),u=$(n).prop("colspan"),t=r==u;$(n).closest("table").find("td[data-group="+i+'][data-period!="total"], th[data-group='+i+'][data-period!="total"]').toggle(!t);$(n).prop("colspan",t?1:r);t?$(n).removeClass("collapse").addClass("expand"):$(n).removeClass("expand").addClass("collapse")};FlexiJS.Budgets.UI.ToggleAccumulatedPeriodCollapse=function(n){var f=$(n).data("accumulatetoperiod"),r=$(n).data("expandedcolspan"),e=$(n).prop("colspan"),t=r==e,i=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId<f}).map(function(n){return n.BudgetPeriodId}),u;i&&i.length>0&&(u=$(n).closest("table"),$.each(i,function(n,i){$(u).find("td[data-period="+i+"], th[data-period="+i+"]").toggle(!t)}));$(n).prop("colspan",t?1:r);t?$(n).removeClass("collapse").addClass("expand"):$(n).removeClass("expand").addClass("collapse")};FlexiJS.Budgets.UI.GetCellData=function(n){if(!n.data)return{};var t={};return t.itemId=n.data("itemid"),t.periodId=n.data("period"),t.groupId=n.data("group"),t.fieldId=n.data("field"),t.itemTypeId=n.data("itemtype"),t.tableId=n.data("table"),t.fieldType=n.data("ftype"),t.accumulateTo=n.data("accumulateto"),t};FlexiJS.Budgets.UI.RemoveAllCachedObjectData=function(n){$.each(n.data(),function(t){n.removeAttr("data-"+t)});n.removeData()};FlexiJS.Budgets.UI.ToggleReadOnlyMode=function(n){$.each($('[data-elementtype="budgettable"]'),function(t,i){$(i).data("readonly",n);FlexiJS.Budgets.UI.RenderTable("#"+i.id)});$("[id$=divEditBudgets]").toggle(n);$("[id$=divSaveBudgets]").toggle(!n);var r=$("[id*=MainContent_Tab_divTab]"),t=$("[id*=divBudgetTables]"),i=t.find("[id$=firstpaymentdate]").data("kendoDatePicker");if(i&&i.enable(n),n)$("[id$=divSaveBudgets]").find(".validationSummary").hide(),$(window).off("beforeunload"),r.find("[role$=tab]").each(function(){$(this).hasClass("selected")=="0"&&($(this).removeAttr("disabled").removeClass("tab-disabled").removeAttr("data-tooltip").attr("title",$(this).data("cachedtitle")).attr("onclick",$(this).data("cachedclick")),FlexiJS.Budgets.UI.RemoveAllCachedObjectData($(this)))}),t.find("[id$=divBudgetTableSchedulePayments]").is(":visible")&&FlexiJS.Budgets.Scheduling.ShowInitialControls(t.find("[id$=divBudgetPaymentSchedule]"));else{var u=t.find("[id$=chkPaymentsByType]"),f=t.find("[id$=BudgetTableSchedulePaymentsShowScheduleLink]"),i=t.find("[id$=firstpaymentdate]").data("kendoDatePicker");u.attr("disabled",!0).css("cursor","not-allowed");u.attr("title",FlexiJS.Resources.GetResourceText("Controls/GMS/ProjectActivities.ascx","lbtnCreatePaymentSchedule_EditMode_ToolTip"));f.attr("disabled",!0).addClass("aspNetDisabled").css("cursor","not-allowed").data("cachedclick",$(this).attr("onclick")).off("click").on("click",function(n){return n.preventDefault(),!1});f.attr("title",FlexiJS.Resources.GetResourceText("Controls/GMS/ProjectActivities.ascx","lbtnCreatePaymentSchedule_EditMode_ToolTip"));r.find("[role$=tab]").each(function(){$(this).hasClass("selected")=="0"&&($(this).data("cachedclick",$(this).attr("onclick")).data("cachedtitle",$(this).attr("title")).attr("disabled",!0).off("click").removeAttr("onclick").addClass("tab-disabled"),$(this).removeAttr("title"),$(this).attr("data-tooltip",FlexiJS.Resources.GetResourceText("Controls/GMS/ProjectActivities.ascx","divTabsBudgetTable_EditMode_ToolTip")))});$(window).on("beforeunload",function(){return!1})}};FlexiJS.Budgets.UI.SwitchToEditMode=function(){FlexiJS.Budgets.UI.ToggleReadOnlyMode(!1)};FlexiJS.Budgets.UI.CancelEditModeChanges=function(){FlexiJS.Budgets.Data.LoadUserData(FlexiJS.Budgets.Data.DynamicData.SourceElement);FlexiJS.Budgets.UI.ToggleReadOnlyMode(!0)};FlexiJS.Budgets.UI.RefreshValues=function(n){var t=$('[data-elementtype="budgettable"][data-tableid="'+n.tableId+'"]'),i=FlexiJS.Budgets.Data.Table.GetTable(n.tableId);$.each(i.TableSettings.Fields,function(i,r){var u=$(t).find('tr[data-fieldid="'+r.Id+'"]');isNaN(n.periodId)||$.each($(u).find("td[data-period="+n.periodId+"][data-itemid="+n.itemId+"]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)});n.periodId!="total"||isNaN(n.groupId)||($.each($(u).find("td[data-group="+n.groupId+'][data-period!="total"][data-itemid='+n.itemId+"]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)}),$.each($(u).find("td[data-group="+n.groupId+'][data-itemid="total"]'),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)}));isNaN(n.periodId)||(isNaN(n.groupId)||($.each($(u).find('td[data-period="total"][data-group='+n.groupId+"][data-itemid="+n.itemId+"]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)}),$.each($(u).find('td[data-period="total"][data-group='+n.groupId+'][data-itemid="total"]'),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)})),$.each($(u).find("td[data-period="+n.periodId+'][data-itemid="total"]'),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)}),$.each($(u).find("td[data-period=acc]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)}));$.each($(u).find('td[data-period="total"][data-group="total"][data-itemid='+n.itemId+"]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)});$.each($(u).find('td[data-period="total"][data-group="total"][data-itemid="total"]'),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,r)})});FlexiJS.Budgets.UI.RefreshTableDates(n.tableId)};FlexiJS.Budgets.UI.RefreshValue=function(n,t){var i=FlexiJS.Budgets.UI.GetCellData($(n)),r=FlexiJS.Budgets.Data.GetBaseFilter(),u;r.tableids.push(i.tableId);i.itemId&&!isNaN(i.itemId)&&r.itemids.push(i.itemId);i.groupId&&!isNaN(i.groupId)&&r.periodgroupids.push(i.groupId);i.periodId&&!isNaN(i.periodId)&&r.periodids.push(i.periodId);i.periodId&&i.periodId=="acc"&&i.accumulateTo&&!isNaN(i.accumulateTo)&&(r.periodids=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId<i.accumulateTo}).map(function(n){return n.BudgetPeriodId}));i.itemTypeId&&!isNaN(i.itemTypeId)&&r.itemtypeids.push(i.itemTypeId);r.field=i.fieldId;u=0;switch($(n).data("ftype")||t.Type){case FlexiJS.Budgets.Data.Enums.FieldType.Label:u=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(r));n.innerHTML=kendo.format("{0:c}",u);FlexiJS.Budgets.UI.UpdateConditionalFormatting(t,r,n);break;case FlexiJS.Budgets.Data.Enums.FieldType.Currency:u=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(r));$(n).find('[data-role="numerictextbox"]').data("kendoNumericTextBox").value(u);break;case FlexiJS.Budgets.Data.Enums.FieldType.Calculated:u=FlexiJS.Budgets.Equations.EvalEquation({filter:r,equation:t.Calculation});n.innerHTML=kendo.format("{0:c}",u);FlexiJS.Budgets.UI.UpdateConditionalFormatting(t,r,n);break;default:n.innerHTML="-"}};FlexiJS.Budgets.UI.UpdateConditionalFormatting=function(n,t,i){var r=$(i),u=FlexiJS.Budgets.UI.Templates.BuildTableCellConditionalFormatting(n,t,r.data("period")=="total"&&r.data("group")=="total",r.data("itemid")=="total"&&r.data("itemtype")=="total");r.prop("style",u+" display:"+r.css("display")+";")};FlexiJS.Budgets.UI.RemoveItem=function(n){var t=$(n).closest('[data-elementtype="budgettable"]'),u=$(t).data("tableid"),e=FlexiJS.Budgets.Data.Table.GetTable(u),f,i,r;t=$('[data-elementtype="budgettable"][data-tableid="'+u+'"]');f=$(n).closest("tr[data-itemid]");i=$(f).data("itemid");FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to remove '{0}' from the table?",FlexiJS.Budgets.Data.Item.GetName(i)))&&(FlexiJS.Budgets.Data.Item.RemoveItem(i),r=$(f).parent(),t.find('tr[data-itemid="'+i+'"]').remove(),r.data("itemtype")&&r.find("tr.itemrow").length==0&&$(r).remove(),$.each(e.TableSettings.Fields,function(n,i){var r=$(t).find('tr[data-fieldid="'+i.Id+'"]');$.each($(r).find("td[data-itemid]"),function(n,t){FlexiJS.Budgets.UI.RefreshValue(t,i)})}),FlexiJS.Budgets.UI.RefreshTableDates(u))};FlexiJS.Budgets.UI.ShowAddItem=function(n){var t=$(n).closest('[data-elementrole="BudgetTableNewItem"]');$(t).empty();$(t).append(FlexiJS.Budgets.UI.Templates.BuildAddItemArea($(t).data("tableid"),$(t).uniqueId()[0].id));$(t).find("[data-field]").kendoNumericTextBox({decimals:kendo.culture().numberFormat.currency.decimals,spinners:!1,format:"c",value:0});$(t).find("#chkShowTotals").click(function(){$(this).closest(".budgettable-additem").find('[name="divTotalValueInput"]').toggle()})};FlexiJS.Budgets.UI.AddItem=function(n){var t=$(n).closest('[data-elementrole="BudgetTableNewItem"]'),u=t.data("tableid"),h=t.find("[name=itemName]").val(),f=t.find("[name=itemTypes]"),i=null,e=t.find("[name=itemName]").val(),o,r,s;f&&f.length>0&&(i=Number(f.children("option:selected").val()),isNaN(i)&&(i=null),i&&(typeName=FlexiJS.Budgets.Data.ItemType.GetName(i),typeName&&(e=typeName+": "+e)));FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to add '{0}' to the table?",e))&&(o=!1,r=$(t).find("#chkShowTotals"),o=r&&r.length>0?$(r).is(":checked"):!0,s=[],o==!0&&$.each(t.find("[data-field]"),function(n,t){var i=$(t).data("kendoNumericTextBox").value();i&&i!=0&&s.push({fieldId:$(t).data("field"),value:i})}),FlexiJS.Budgets.Data.Item.AddItem(u,h,i,s),$.each($('[data-elementtype="budgettable"][data-tableid='+u+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)}),FlexiJS.Budgets.UI.RefreshTableDates(u))};FlexiJS.Budgets.UI.EditItem=function(n){var e=$(n).closest('[data-elementtype="budgettable"]'),r=$(e).data("tableid"),u,i,o,t;e=$('[data-elementtype="budgettable"][data-tableid="'+r+'"]');var s=$(n).closest("tr[data-itemid]"),f=$(s).data("itemid"),h=FlexiJS.Budgets.Data.GetBaseFilter();(h.itemids.push(f),u=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(n){return n.BudgetItemId==f}),u)&&(u.length<1||(i=u[0],i.NameEditable)&&(o={TableId:r,ItemId:f,Name:i.Name,ItemTypes:FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(n){return n.GMSFundTypeBudgetTableId==r}),SelectedItemTypeId:i.BudgetTableItemTypeId,lockItemType:FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod(r,i.BudgetItemId)},t=$(FlexiJS.Kendo.Templates.RenderTemplate("budgettable","BudgetTables_Templates_EditItem",o,!0)).kendoWindow({title:!1,actions:[],resizable:!1,draggable:!1,width:350,modal:!0,close:function(){FlexiJS.UI.ClearBodyOverflow()},open:function(){FlexiJS.UI.SetOverflowAndCenterPopup(this)}}),t.find("#btnCancel").click(function(){t.data("kendoWindow").close();t.data("kendoWindow").destroy()}).end(),t.find("#btnConfirm").click(function(){var n=$($(this).closest("[data-tableid]")),r=n.data("tableid"),f=n.data("itemid"),i=n.find("select"),e=n.find("#txtName"),u="na";i&&i.length>0&&(u=$(i).val());FlexiJS.Budgets.Data.Item.EditItem(r,f,$(e).val(),u);t.data("kendoWindow").close();t.data("kendoWindow").destroy();$.each($('[data-elementtype="budgettable"][data-tableid='+r+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)})}).end(),t.data("kendoWindow").center().open()))};FlexiJS.Budgets.UI.CancelAddItem=function(n){var t=$(n).closest('[data-elementrole="BudgetTableNewItem"]');$(t).empty();$(t).append(FlexiJS.Budgets.UI.Templates.BuildAddItemButton())};FlexiJS.Budgets.UI.UpdateUserDataFromUI=function(){var n=[];$.each($('[data-elementtype="budgettable"]'),function(t,i){var r=FlexiJS.Budgets.Validation.ValidateTable("#"+i.id);r.isValid==!1?(n=n.concat(r.messages.split(";").filter(function(n){return n&&n!=""})),$(i).parent().find("[id$=hdnIsValid]").val(r.messages)):$(i).parent().find("[id$=hdnIsValid]").val("")});$('[id="'+FlexiJS.Budgets.Data.DynamicData.SourceElement+'"]').val(JSON.stringify(FlexiJS.Budgets.Data.DynamicData))};FlexiJS.Budgets.UI.SaveBudgetChanges=function(n,t){var r=[],u=!0,i,f;if($.each($('[data-elementtype="budgettable"]'),function(n,t){var i=FlexiJS.Budgets.Validation.ValidateTable("#"+t.id);i.isValid==!1?(u=!1,r=r.concat(i.messages.split(";").filter(function(n){return n&&n!=""})),$(t).find("[id$=hdnIsValid]").val(i.messages)):$(t).find("[id$=hdnIsValid]").val("")}),i=t&&t!=""?$("#"+t):null,i&&i.css("display","none"),u==!0)f={ApplicationId:FlexiJS.Budgets.Data.StaticData.ApplicationId,DataFile:FlexiJS.Utils.JSON.CompressJSONToZipByteArray(FlexiJS.Budgets.Data.DynamicData)},$.ajax({type:"POST",url:"/GMS/WebServices/GMSService.svc/SaveBudgetTableData",data:JSON.stringify(f),processData:!1,contentType:"application/json; charset=utf-8",dataType:"json",async:!1,success:function(t){t.d==!0?(showNotificationMessage("success",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTables.Save.Success")),FlexiJS.Budgets.UI.ToggleReadOnlyMode(!0),n&&n!=""&&$("#"+n).click()):showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTables.Save.Error"))},error:function(){showNotificationMessage("error",FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTables.Save.Error"))}});else return i&&(i.find("ul").html("<li>"+r.join("<\/li><li>")+"<\/li>"),i.css("display","block")),!1;return!0};FlexiJS.Budgets.UI.AddPeriodToTable=function(n){var f=$($(n).closest('[data-elementtype="budgettable"]')),r=f.data("tableid"),t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==r})[0],u,e,i;t&&(u=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId],!f.data("readonly")&&t.TableSettings.PeriodAllowAdd&&t.MaxPeriodId!=u&&(e=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId>u&&n.BudgetPeriodId<=t.MaxPeriodId}).map(function(n){return n.BudgetPeriodId}),i=Math.min.apply(null,e),FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to add '{0}'?",FlexiJS.Budgets.Data.Periods.GetPeriodName(i)))&&(FlexiJS.Budgets.Data.ItemValue.AddPlaceholderValuesForPeriod(r,i),FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]=i,t.ShownMaxPeriodId=i,$.each($('[data-elementtype="budgettable"][data-tableid='+r+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)})),FlexiJS.Budgets.UI.RefreshTableDates(t.ApplicationBudgetTableId)))};FlexiJS.Budgets.UI.AddPeriodGroupToTable=function(n){var o=$($(n).closest('[data-elementtype="budgettable"]')),r=o.data("tableid"),t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==r})[0],i,h,a;if(t&&(i=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId],!o.data("readonly")&&t.TableSettings.PeriodAllowAdd&&t.MaxPeriodId!=i)){var s=FlexiJS.Budgets.Data.Periods.GetPeriod(i),u=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId>i&&n.BudgetPeriodId<=t.MaxPeriodId}),f=u.filter(function(n){return n.BudgetPeriodGroupId==s.BudgetPeriodGroupId});if(f&&f.length>0&&(h=Math.max.apply(null,f.map(function(n){return n.BudgetPeriodId})),h>=t.MaxPeriodId))return!1;var c=u.filter(function(n){return n.BudgetPeriodGroupId!=s.BudgetPeriodGroupId}),l=Math.min.apply(null,c.map(function(n){return n.BudgetPeriodGroupId})),e=Math.max.apply(null,c.filter(function(n){return n.BudgetPeriodGroupId==l&&n.BudgetPeriodId<=t.MaxPeriodId}).map(function(n){return n.BudgetPeriodId}));FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to add '{0}'?",FlexiJS.Budgets.Data.PeriodGroups.GetGroupName(l)))&&(a=u.filter(function(n){return n.BudgetPeriodId>i&&n.BudgetPeriodId<=e}).map(function(n){return n.BudgetPeriodId}),$.each(a,function(n,t){FlexiJS.Budgets.Data.ItemValue.AddPlaceholderValuesForPeriod(r,t)}),FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]=e,t.ShownMaxPeriodId=e,$.each($('[data-elementtype="budgettable"][data-tableid='+r+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)}));FlexiJS.Budgets.UI.RefreshTableDates(t.ApplicationBudgetTableId)}};FlexiJS.Budgets.UI.RemovePeriodFromTable=function(n){var e=$($(n).closest("th")),i=e.data("period"),o=$($(e).closest('[data-elementtype="budgettable"]')),r=o.data("tableid"),t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==r})[0],s,l;if(t&&(s=FlexiJS.Budgets.Data.Periods.GetLastRequiredPeriodIdOnTable(r),!o.data("readonly")&&t.TableSettings.PeriodAllowRemove&&s<i)){var h=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(t.ShownMinPeriodId,i-1)).map(function(n){return n.BudgetPeriodId}),u=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(i,t.ShownMaxPeriodId)).map(function(n){return n.BudgetPeriodId}),c=h[h.length-1],f="'"+FlexiJS.Budgets.Data.Periods.GetPeriodName(i)+"'";u.length>1&&(l=u.map(function(n){return FlexiJS.Budgets.Data.Periods.GetPeriodName(n)}).join(", "),f=FlexiJS.Utils.Strings.FormatString("{0} (including {1})",f,l));FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to remove {0}? \r\n (This will also remove related data when saved)",f))&&(FlexiJS.Budgets.Data.ItemValue.RemoveValuesAfterPeriod(r,u),FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]=c,t.ShownMaxPeriodId=c,$.each($('[data-elementtype="budgettable"][data-tableid='+r+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)}));FlexiJS.Budgets.UI.RefreshTableDates(t.ApplicationBudgetTableId)}};FlexiJS.Budgets.UI.RemovePeriodGroupFromTable=function(n){var o=$($(n).closest("th")),e=o.data("group"),s=$($(o).closest('[data-elementtype="budgettable"]')),r=s.data("tableid"),t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(n){return n.GMSFundTypeBudgetTableId==r})[0],u,h,f,a;if(t&&(u=Math.min.apply(null,FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodGroupId==e}).map(function(n){return n.BudgetPeriodId})),h=FlexiJS.Budgets.Data.Periods.GetLastRequiredPeriodIdOnTable(r),!s.data("readonly")&&t.TableSettings.PeriodAllowRemove&&h<u)){var c=Math.max.apply(null,FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId<u}).map(function(n){return n.BudgetPeriodId})),l=FlexiJS.Budgets.Data.StaticData.Periods.filter(FlexiJS.Budgets.Filters.Period.BetweenFilter(u,t.ShownMaxPeriodId)),v=l.map(function(n){return n.BudgetPeriodId}),i=l.map(function(n){return n.BudgetPeriodGroupId});i=i.filter(function(n,t){return n!=e&&i.indexOf(n)==t});f="'"+FlexiJS.Budgets.Data.PeriodGroups.GetGroupName(e)+"'";i.length>1&&(a=i.map(function(n){return FlexiJS.Budgets.Data.PeriodGroups.GetGroupName(n)}).join(", "),f=FlexiJS.Utils.Strings.FormatString("{0} (including {1})",f,a));FlexiJS.Validation.ConfirmAction(FlexiJS.Utils.Strings.FormatString("Are you sure you want to remove {0}? \r\n (This will also remove related data when saved)",f))&&(FlexiJS.Budgets.Data.ItemValue.RemoveValuesAfterPeriod(r,v),FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[t.ApplicationBudgetTableId]=c,t.ShownMaxPeriodId=c,$.each($('[data-elementtype="budgettable"][data-tableid='+r+"]"),function(n,t){FlexiJS.Budgets.UI.RenderTable("#"+t.id)}));FlexiJS.Budgets.UI.RefreshTableDates(t.ApplicationBudgetTableId)}};FlexiJS.Budgets.UI.CreateClaimsAgainstBudgetsSummary=function(n,t){var e=$("#"+t),i=$("#"+n),r,u,f;e[0]&&i[0]&&(r=JSON.parse(e.val()),i.data("kendoGrid")?i.data("kendoGrid").dataSource.data=r:(u=[{title:" ",field:"ItemTypeName",footerTemplate:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.ItemTypeColumn.Footer"),editable:function(){return!1},attributes:{"class":"k-gridcell"},headerAttributes:{"class":"kendo-header-cell"},width:"135px"},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.AwardedColumn.Header"),field:"Awarded",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"125px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.ScheduledColumn.Header"),field:"Scheduled",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"125px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.AuthorisedColumn.Header"),field:"Authorised",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"125px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.ProcessedColumn.Header"),field:"Paying",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"125px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.BalanceColumn.Header"),field:"BalanceValue",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"135px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}},{title:FlexiJS.Resources.GetResourceText(FlexiJS.Budgets.UI.ResourseSet,"BudgetTableSummary.UnapprovedColumn.Header"),field:"UnauthorisedClaimed",footerTemplate:"#= kendo.format('{0:c}', sum) #",format:"{0:c}",editable:function(){return!1},attributes:{"class":"k-gridcell currencycell"},width:"135px",headerAttributes:{"class":"kendo-header-cell"},footerAttributes:{"class":"k-gridcell currencycell"}}],f=[],f.push({field:"GMSFundTypeBudgetTableId",aggregates:[{field:"TableName",aggregate:"min"}]}),u.push({field:"GMSFundTypeBudgetTableId",groupHeaderTemplate:"#= aggregates.TableName.min #",hidden:!0}),i.kendoGrid({dataSource:{data:r,group:f,aggregate:[{field:"ItemTypeName",aggregate:"count"},{field:"Awarded",aggregate:"sum"},{field:"Scheduled",aggregate:"sum"},{field:"Authorised",aggregate:"sum"},{field:"Paying",aggregate:"sum"},{field:"BalanceValue",aggregate:"sum"},{field:"UnauthorisedClaimed",aggregate:"sum"}]},filterable:!1,columns:u,dataBound:function(){var n=this;$(".k-grouping-row").each(function(){n.collapseGroup(this)})}})))};FlexiJS.Budgets.UI.Templates={};FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat="MMM yy";FlexiJS.Budgets.UI.Templates.BuildTableCellField=function(n,t,i,r,u,f,e,o,s,h){var l=" ",c=i.Type==FlexiJS.Budgets.Data.Enums.FieldType.Currency&&(n.printview||n.readonly)?FlexiJS.Budgets.Data.Enums.FieldType.Label:i.Type,a,v;r||(r=[]);r.push({name:"itemid",value:t.itemids&&t.itemids.length==1?t.itemids[0]:"all"});h=h&&h!=""?h:"";a="";c==FlexiJS.Budgets.Data.Enums.FieldType.Currency&&(t.itemids&&t.itemids.length==1||(c=FlexiJS.Budgets.Data.Enums.FieldType.Label),t.periodids&&t.periodids.length==1||t.periodgroupids&&t.periodgroupids.length==1||(c=FlexiJS.Budgets.Data.Enums.FieldType.Label));c==FlexiJS.Budgets.Data.Enums.FieldType.Currency&&(t.periodids&&t.periodids.length==1?FlexiJS.Budgets.Data.Periods.IsPeriodLocked(t.tableids[0],t.periodids[0])&&(c=FlexiJS.Budgets.Data.Enums.FieldType.Label):FlexiJS.Budgets.Data.PeriodGroups.IsPeriodGroupLocked(t.tableids[0],t.periodgroupids[0])&&(c=FlexiJS.Budgets.Data.Enums.FieldType.Label));r.push({name:"ftype",value:c});switch(c){case FlexiJS.Budgets.Data.Enums.FieldType.Label:r.push({name:"field",value:i.DataField});a=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(t));l=kendo.format("{0:c}",a);h+=FlexiJS.Budgets.UI.Templates.BuildTableCellConditionalFormatting(i,t,f,e);break;case FlexiJS.Budgets.Data.Enums.FieldType.Currency:r.push({name:"field",value:i.DataField});a=FlexiJS.Budgets.Math.Sum(FlexiJS.Budgets.Data.ItemValue.GetFilteredValues(t));l='<input value="'+a+'"/>';break;case FlexiJS.Budgets.Data.Enums.FieldType.Calculated:v=FlexiJS.Budgets.Equations.EvalEquation({filter:t,equation:i.Calculation});l=kendo.format("{0:c}",v);h+=FlexiJS.Budgets.UI.Templates.BuildTableCellConditionalFormatting(i,t,f,e);break;default:l="-"}return FlexiJS.Budgets.UI.Templates.BuildTableCell(r,u,l,!1,o,s,h)};FlexiJS.Budgets.UI.Templates.BuildTableCellConditionalFormatting=function(n,t,i,r){var u="";return n.ConditionalFormatting&&n.ConditionalFormatting.length>0&&($.each(n.ConditionalFormatting,function(n,f){var e=FlexiJS.Budgets.Equations.EvalEquation({filter:t,equation:f.Condition});i&&f.ApplyToTotalsColumn==!1&&(e=0);r&&f.ApplyToTotalsRow==!1&&(e=0);e==1&&(f.Colour&&(u+=" color: "+f.Colour+";"),f.Bold&&(u+=" font-weight: Bold;"),f.Underline&&(u+=" text-decoration: Underline;"),f.Italic&&(u+=" font-style: Italic;"))}),u=u.trim()),u};FlexiJS.Budgets.UI.Templates.BuildTableCell=function(n,t,i,r,u,f,e,o){var s=r&&r==!0?"<th":"<td",h;return n&&n.length>0&&$.each(n,function(n,t){s+=" data-"+t.name+'="'+t.value+'"'}),t&&t.length>0&&(h="",$.each(t,function(n,t){h+=" "+t}),s+=' class="'+h.trim()+'"'),u&&(s+=' rowspan="'+u+'"'),f&&(s+=' colspan="'+f+'"'),e&&e!=""&&(s+=' style="'+e+'"'),o&&o!=""&&(s+=' onclick="'+o+'(this);"'),s+=">"+i,s+=r&&r==!0?"<\/th>":"<\/td>",s+="\r\n"};FlexiJS.Budgets.UI.Templates.BuildTable=function(n,t,i,r,u,f,e,o,s){var l=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n})[0],rt,g,y,h,a,nt,p,tt,w,b,k,et,d,it;if(l){if(f=f||l.TableSettings,$('[data-elementtype="budgetTableDates"][data-tableid="'+n+'"]').toggle(f.ShowDates),rt="",f.ShowExpandLinks){var st=FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","ExpandText"),ht=FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","CollapseText"),lt="budgettable-"+(o?"collapselink":"expandlink");rt='<a href="#" data-elementrole="BudgetTableExpander" class="'+lt+'" onclick="FlexiJS.Budgets.UI.ExpandTable(this); return false;" data-expandtext="'+st+'" data-collapsetext="'+ht+'">'+(o?ht:st)+"<\/a>"}g=FlexiJS.Budgets.Data.DynamicData.TableEndPeriod[l.ApplicationBudgetTableId];y="";!u&&f.PeriodAllowAdd&&l.MaxPeriodId!=g&&(y='<a href="#" data-elementrole="BudgetTablePeriodAdd" class="budgettable-addperiodlink" onclick="FlexiJS.Budgets.UI.AddPeriodToTable(this); return false;">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","AddAnotherPeriodText")+"<\/a>");var ct=FlexiJS.Budgets.Data.StaticData.Periods.filter(function(n){return n.BudgetPeriodId<=g&&n.BudgetPeriodId>=l.MinPeriodId}),ut=[],ft=$.unique(ct.map(function(n){return n.BudgetPeriodGroupId})).filter(function(n){return n!=null});ft&&ft.length>0&&(ut=FlexiJS.Budgets.Data.StaticData.PeriodGroups.filter(function(n){return ft.includes(n.BudgetPeriodGroupId)}));h={tableId:n,hasPeriodGroups:ut.length>0,hasLabels:f.ShowFieldLabels||f.Fields&&f.Fields.length>1,periods:ct,groups:ut,includeTotalsRow:!0,itemtypes:FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(t){return t.GMSFundTypeBudgetTableId==n}),layout:f,fiid:i,recasting:r,viewmode:{readonly:u,printview:t},existingExpansions:e};h.renderMethod="single";switch(f.PeriodDisplayMode){case 102500:h.hasPeriodGroups&&(h.renderMethod="dual");break;case 102501:h.renderMethod="single";h.hasPeriodGroups&&(h.renderMethod="dualnototals");h.layout.HighlightedPeriodId&&h.layout.HighlightedPeriodId>0&&(h.renderMethod="singlereport",h.isCollapsed=s);break;case 102502:h.hasPeriodGroups&&(h.renderMethod="singlegroup");break;default:h.hasPeriodGroups&&(h.renderMethod="dual")}h.renderMethod=="single"&&h.layout.HighlightedPeriodId&&h.layout.HighlightedPeriodId>0&&(h.renderMethod="singlereport",h.isCollapsed=s);h.renderColumns=[];a=null;switch(h.renderMethod){case"singlereport":$.each(h.periods,function(n,t){h.layout.HighlightedPeriodId==t.BudgetPeriodId&&h.layout.AccumulateToHighlightedPeriod==!0&&h.renderColumns.push({type:"accumulatedperiod",periodid:t.BudgetPeriodId,groupid:null,readonly:!0,highlighted:!1,isAccumulated:!1});var i=h.layout.HighlightedPeriodId>t.BudgetPeriodId&&h.layout.AccumulateToHighlightedPeriod==!0,r=h.layout.ReadOnlyToHighlightedPeriod==!0&&t.BudgetPeriodId<h.layout.HighlightedPeriodId||h.layout.ReadOnlyAfterHighlightedPeriod==!0&&t.BudgetPeriodId>h.layout.HighlightedPeriodId;h.renderColumns.push({type:"period",periodid:t.BudgetPeriodId,groupid:null,readonly:r,highlighted:h.layout.HighlightedPeriodId==t.BudgetPeriodId,isAccumulated:i})});h.layout.VisibleAfterHighlightedPeriod==!1&&(nt=h.periods.filter(function(n){return n.BudgetPeriodId>h.layout.HighlightedPeriodId}),nt&&nt.length>0&&(p=nt[0].BudgetPeriodId,h.layout.ShowNextPeriodAfterHighlightedPeriod==!0&&(tt=h.periods.filter(function(n){return n.BudgetPeriodId>p}),tt&&tt.length>0?p=tt[0].BudgetPeriodId:p+=1),h.renderColumns=h.renderColumns.filter(function(n){return n.type=="period"&&n.periodid<p||n.type!="period"})));(h.layout.VisibleAfterHighlightedPeriod==!1||h.layout.ReadOnlyAfterHighlightedPeriod==!0)&&(h.layout.PeriodAllowAdd=!1,h.layout.PeriodAllowRemove=!1,y="");l.TableSettings.BlockAddNewItemWithValues=!0;break;case"single":$.each(h.periods,function(n,t){h.renderColumns.push({type:"period",periodid:t.BudgetPeriodId,groupid:null})});break;case"singlegroup":w=h.periods.map(function(n){return n.BudgetPeriodGroupId});w=w.filter(function(n,t){return w.indexOf(n)==t});$.each(w,function(n,t){h.renderColumns.push({type:"periodgroup",periodid:null,groupid:t})});!u&&f.PeriodAllowAdd&&l.MaxPeriodId!=g&&(y='<a href="#" data-elementrole="BudgetTablePeriodAdd" class="budgettable-addperiodlink" onclick="FlexiJS.Budgets.UI.AddPeriodGroupToTable(this); return false;">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","AddAnotherPeriodGroupText")+"<\/a>");break;case"dual":$.each(h.periods,function(n,t){a!=null&&t.BudgetPeriodGroupId!=a&&h.renderColumns.push({type:"periodgroup",periodid:null,groupid:a});a=t.BudgetPeriodGroupId;h.renderColumns.push({type:"period",periodid:t.BudgetPeriodId,groupid:a})});h.renderColumns.push({type:"periodgroup",periodid:null,groupid:a});break;case"dualnototals":$.each(h.periods,function(n,t){h.renderColumns.push({type:"period",periodid:t.BudgetPeriodId,groupid:t.BudgetPeriodGroupId})})}if(f.ShowTotalsColumn&&h.renderColumns.push({type:"total",periodid:null,groupid:null}),b=[],t)if(k=6-(1+(h.hasLabels?1:0)),et=Math.ceil(h.renderColumns.length/k),et>1)for(d=0;d<et;d++)it=jQuery.extend(!0,{},h),it.renderColumns=it.renderColumns.slice(d*k,d*k+k),b.push(it);else b.push(h);else b.push(h);var c="",ot=t==!0?"printview-budgettable":"budgettable"+(FlexiJS.Common.Checks.browserScrollBarsDisplayable()?"":" force-show-scrollbars"),v=y+rt;return v!=""&&(v='<span class="budgettable-outeractionlinks">'+v+"<\/span>"),v!=""||t||(ot=ot+" margin-top margin-bottom"),$.each(b,function(i,r){t||(c+=v);c+='<table class="'+ot+'">';c+=FlexiJS.Budgets.UI.Templates.BuildHeaderRow(r);c+=FlexiJS.Budgets.UI.Templates.BuildItemRows(r);f.ShowTotalsRow&&(c+=FlexiJS.Budgets.UI.Templates.BuildFooterRow(r));c+="<\/table>";t||(c+=v,!u&&f.ActivityAllowAdd&&(c+='<div data-elementrole="BudgetTableNewItem" data-tableid="'+n+'">'+FlexiJS.Budgets.UI.Templates.BuildAddItemButton()+"<\/div>"));t&&(c+='<span class="">&nbsp;<\/span>')}),c}};FlexiJS.Budgets.UI.Templates.GetTableName=function(n){var t=FlexiJS.Budgets.Data.StaticData.BudgetTables.filter(function(t){return t.GMSFundTypeBudgetTableId==n})[0];if(t)return t.Name};FlexiJS.Budgets.UI.Templates.BuildHeaderRow=function(n){switch(n.renderMethod){case"singlereport":return FlexiJS.Budgets.UI.Templates.SingleReport.BuildHeaderRow(n);case"single":return FlexiJS.Budgets.UI.Templates.Single.BuildHeaderRow(n);case"singlegroup":return FlexiJS.Budgets.UI.Templates.SingleGroup.BuildHeaderRow(n);case"dual":return FlexiJS.Budgets.UI.Templates.Dual.BuildHeaderRow(n);case"dualnototals":return FlexiJS.Budgets.UI.Templates.Dual.BuildHeaderRow(n);default:return""}};FlexiJS.Budgets.UI.Templates.BuildItemTypeHeaderRow=function(n,t){switch(n.renderMethod){case"singlereport":return FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemTypeHeaderRow(n,t);case"single":return FlexiJS.Budgets.UI.Templates.Single.BuildItemTypeHeaderRow(n,t);case"singlegroup":return FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemTypeHeaderRow(n,t);case"dual":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeHeaderRow(n,t);case"dualnototals":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeHeaderRow(n,t);default:return""}};FlexiJS.Budgets.UI.Templates.BuildItemTypeFooterRow=function(n,t){switch(n.renderMethod){case"singlereport":return FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemTypeFooterRow(n,t);case"single":return FlexiJS.Budgets.UI.Templates.Single.BuildItemTypeFooterRow(n,t);case"singlegroup":return FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemTypeFooterRow(n,t);case"dual":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeFooterRow(n,t);case"dualnototals":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeFooterRow(n,t);default:return""}};FlexiJS.Budgets.UI.Templates.BuildItemRows=function(n){var i="",r,t,u;return n.itemtypes&&n.itemtypes.length>0?(r=n.itemtypes.slice(0).sort(function(n,t){return n.BudgetItemTypeId>t.BudgetItemTypeId?1:n.BudgetItemTypeId<t.BudgetItemTypeId?-1:0}),FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetTableItemTypeId==null&&t.BudgetTableId==n.tableId&&t.Remove==!1}).length>0&&r.push({BudgetItemTypeId:null,Upliftable:!0,Name:"No Type Specified",Description:"",FinanceCode:"",ItemPeriodMin:null,ItemPeriodMax:null,ItemTotalMin:null,ItemTotalMax:null,TablePeriodMin:null,TablePeriodMax:null,TableTotalMin:null,TableTotalMax:null,MinOccurencesPerTable:null,MaxOccurencesPerTable:null,GMSFundTypeBudgetTableId:n.tableId}),$.each(r,function(t,r){var u="",f=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetTableItemTypeId==r.BudgetItemTypeId&&t.BudgetTableId==n.tableId&&t.Remove==!1}).slice(0).sort(FlexiJS.Budgets.Sorts.Item.IdSort);$.each(f,function(t,i){u+=FlexiJS.Budgets.UI.Templates.BuildItemRow(n,i,t%2==1,n.renderMethod)});u!=""&&(i+='<tbody data-itemtype="'+r.BudgetItemTypeId+'">\r\n'+FlexiJS.Budgets.UI.Templates.BuildItemTypeHeaderRow(n,r)+u+FlexiJS.Budgets.UI.Templates.BuildItemTypeFooterRow(n,r)+"<\/tbody>\r\n")})):(t="",u=FlexiJS.Budgets.Data.DynamicData.Items.filter(function(t){return t.BudgetTableId==n.tableId&&t.Remove==!1}).slice(0).sort(FlexiJS.Budgets.Sorts.Item.IdSort),$.each(u,function(i,r){t+=FlexiJS.Budgets.UI.Templates.BuildItemRow(n,r,i%2==1,n.renderMethod)}),t!=""&&(i+="<tbody>\r\n"+t+"<\/tbody>\r\n")),i};FlexiJS.Budgets.UI.Templates.BuildItemRow=function(n,t,i,r){switch(r){case"singlereport":return FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemRow(n,t,i);case"single":return FlexiJS.Budgets.UI.Templates.Single.BuildItemRow(n,t,i);case"singlegroup":return FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemRow(n,t,i);case"dual":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemRow(n,t,i);case"dualnototals":return FlexiJS.Budgets.UI.Templates.Dual.BuildItemRow(n,t,i);default:return""}};FlexiJS.Budgets.UI.Templates.BuildFooterRow=function(n){switch(n.renderMethod){case"singlereport":return FlexiJS.Budgets.UI.Templates.SingleReport.BuildFooterRow(n);case"single":return FlexiJS.Budgets.UI.Templates.Single.BuildFooterRow(n);case"singlegroup":return FlexiJS.Budgets.UI.Templates.SingleGroup.BuildFooterRow(n);case"dual":return FlexiJS.Budgets.UI.Templates.Dual.BuildFooterRow(n);case"dualnototals":return FlexiJS.Budgets.UI.Templates.Dual.BuildFooterRow(n);default:return""}};FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses=function(n,t,i){var r,u,f;return!t||t.length<1?n:(r="",$.each(t,function(n,t){r+=" "+t}),r=r.trim(),u='class="'+r+'"',f='class="'+r+" "+i+'"',n.replacelast(u,f))};FlexiJS.Budgets.UI.Templates.BuildAddItemButton=function(){return'<a onclick="FlexiJS.Budgets.UI.ShowAddItem(this); return false;" class="gms-button fg_button secondary" href="#">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","NewItem")+"<\/a>"};FlexiJS.Budgets.UI.Templates.BuildAddItemArea=function(n,t){var r=FlexiJS.Budgets.Data.Table.GetTable(n),i="",u,f,e,o;return i+='<fieldset class="budgettable-additem border-box">',i+="<h1>"+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","NewItemTitleText")+"<\/h1>",i+='<div><label for="'+t+'_itemName">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","NameInput")+'<\/label><input type="text" class="lg" name="itemName" id="'+t+'_itemName"/><\/div>',u=FlexiJS.Budgets.Data.StaticData.ItemTypes.filter(function(n){return n.GMSFundTypeBudgetTableId==r.GMSFundTypeBudgetTableId}).map(function(n){return{name:n.Name,id:n.BudgetItemTypeId}}).sort(),u.length>0&&(f="",$.each(u,function(n,t){f+='<option value="'+t.id+'">'+t.name+"<\/option>"}),i+='<div><label for="'+t+'_itemtypes">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","ItemTypeInput")+'<\/label><select name="itemTypes" id="'+t+'_itemtypes">'+f+"<\/select><\/div>"),r.TableSettings.BlockAddNewItemWithValues||(e=r.TableSettings.Fields.filter(function(n){return n.Type==102201}),e.length>0&&(o="",r.TableSettings.AddItemShowToggleTotalFields==!0&&(i+='<div><label for="chkShowTotals">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","AddCostsInput")+'<\/label><input type="checkbox" id="chkShowTotals" style="width: auto;"><span class="fx-budgettable-popout-infotext">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","SplitValueText")+"<\/span><\/div>",o=' style="display:none;"'),$.each(e,function(n,r){i+='<div name="divTotalValueInput"'+o+'><label for="'+t+"_"+r.DataField+'">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","TotalRowTotalText")+" "+r.Name+'<\/label><input name="valueTotal" data-field="'+r.DataField+'" id="'+t+"_"+r.DataField+'"/><\/div>'}))),i+="<div>",i+='<a onclick="FlexiJS.Budgets.UI.AddItem(this); return false;" class="gms-button fg_button MakeBlack half-margin-right" href="#">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","AcceptAddButton")+"<\/a>",i+='<a onclick="FlexiJS.Budgets.UI.CancelAddItem(this); return false;" class="gms-button fg_button secondary MakeBlack" href="#">'+FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html","CancelButton")+"<\/a>",i+="<\/div>",i+="<\/fieldset>"};FlexiJS.Budgets.UI.Templates.GetCommonResourceKey=function(n){return FlexiJS.Resources.GetResourceText("/Scripts/kendotemplates/budgettabletemplates.html",n)};FlexiJS.Budgets.UI.Templates.Single={};FlexiJS.Budgets.UI.Templates.Single.BuildHeaderRow=function(n){var r="<thead>\r\n",t="",u="";t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("ItemColumnHeader"),!0,n.layout.ShowDates?2:1,n.hasLabels?2:1);var f=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),e=n.periods.filter(function(n){return f.indexOf(n.BudgetPeriodId)>=0}),o=["value"],s=["value","locked"],i=[];return $.each(e,function(r,f){var h=FlexiJS.Budgets.Data.Periods.IsPeriodLocked(n.tableId,f.BudgetPeriodId),e="";i=o.slice(0);h?i=s.slice(0):!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.PeriodAllowRemove&&FlexiJS.Budgets.Data.Periods.IsPeriodRemovable(n.tableId,f.BudgetPeriodId)&&(e=' <a href="#" onclick="FlexiJS.Budgets.UI.RemovePeriodFromTable(this); return false;" class="far fa-minus-circle" title="Remove this period"><\/a>');t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId},{name:"group",value:f.BudgetPeriodGroupId}],i,f.Name+e,!0);n.layout.ShowDates&&(u+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId},{name:"group",value:f.BudgetPeriodGroupId}],i,kendo.toString(new Date(f.StartDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat)+" - "+kendo.toString(new Date(f.EndDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat),!0))}),t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,i,"lastvalue"),n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:"total"},{name:"period",value:"total"}],["totalLabel"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?2:1)),r+='<tr class="headerrow">\r\n'+t+"<\/tr>\r\n",n.layout.ShowDates&&(r+='<tr class="headerrow" data-elementtype="periodDateRow">\r\n'+u+"<\/tr>\r\n"),r+"<\/thead>\r\n"};FlexiJS.Budgets.UI.Templates.Single.BuildItemTypeHeaderRow=function(n,t){var i='<tr class="itemtypeheader">\r\n';return i+=n.hasLabels?FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1,null,2):FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1),i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtypemergedfill"],"",!1,null,n.renderColumns.length),i+"<\/tr>\r\n"};FlexiJS.Budgets.UI.Templates.Single.BuildItemTypeFooterRow=function(n,t){var i="",r=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),u=n.periods.filter(function(n){return r.indexOf(n.BudgetPeriodId)>=0});return n.layout.Fields?($.each(n.layout.Fields,function(r,f){var o,e;i+='<tr class="itemtypetotal" data-fieldid="'+f.Id+'" data-fieldtype="'+f.Type+'">\r\n';r==0&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],t.Name+" "+FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!1,n.layout.Fields.length,null));n.hasLabels&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],f.Name,!1));o=["valuecell"];$.each(u,function(r,u){var e=FlexiJS.Budgets.Data.GetBaseFilter();e.tableids.push(n.tableId);e.periodids.push(u.BudgetPeriodId);e.itemtypeids.push(t.BudgetItemTypeId);e.field=f.DataField;i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,e,f,[{name:"period",value:u.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],o,!0,!1)});i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,o,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(e=FlexiJS.Budgets.Data.GetBaseFilter(),e.tableids.push(n.tableId),e.itemtypeids.push(t.BudgetItemTypeId),e.field=f.DataField,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,e,f,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));i+="<\/tr>\r\n"}),i+=""):i};FlexiJS.Budgets.UI.Templates.Single.BuildItemRow=function(n,t,i){var r="",e=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),o=n.periods.filter(function(n){return e.indexOf(n.BudgetPeriodId)>=0}),u=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowDelete,s=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowEdit,h=u&&FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod(n.tableId,t.BudgetItemId),f=n.layout.Fields.filter(function(n){return n.type==102201||n.ShowOnlyInTotalsRow==!1});return $.each(f,function(e,c){var v,l,y,a;r+='<tr class="itemrow'+(i?" altrow":"")+'" data-itemid="'+t.BudgetItemId+'" data-fieldid="'+c.Id+'" data-fieldtype="'+c.Type+'">\r\n';e==0&&(v=t.Name,l="",s&&t.NameEditable&&(l+='<span class="edititem fas fa-pencil" onclick="FlexiJS.Budgets.UI.EditItem(this);" title="Edit item"> <\/span>'),u&&(l+=t.Removable&&!h?'<span class="removeitem far fa-trash-alt" onclick="FlexiJS.Budgets.UI.RemoveItem(this);" title="Remove item"> <\/span>':'<span class="removeitemlocked fas fa-lock-alt" title="Item cannot be removed"> <\/span>'),l!=""&&(v+='<span class="actionbuttons">'+l+"<\/span>"),r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname","hasactions"],v,!1,f.length,null));n.hasLabels&&(r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],c.Name,!1));y=["valuecell"];$.each(o,function(i,u){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.periodids.push(u.BudgetPeriodId);f.itemids.push(t.BudgetItemId);f.field=c.DataField;r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,c,[{name:"period",value:u.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],y,!1,!1)});r=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(r,y,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(a=FlexiJS.Budgets.Data.GetBaseFilter(),a.tableids.push(n.tableId),a.itemids.push(t.BudgetItemId),a.field=c.DataField,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,a,c,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],["totalLabel"],!1,!0));r+="<\/tr>\r\n"}),r};FlexiJS.Budgets.UI.Templates.Single.BuildFooterRow=function(n){var t="<tfoot>\r\n",r=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),i=n.periods.filter(function(n){return r.indexOf(n.BudgetPeriodId)>=0});return n.layout.Fields?($.each(n.layout.Fields,function(r,u){var e,f;t+='<tr class="totalrow" data-fieldid="'+u.Id+'" data-fieldtype="'+u.Type+'">\r\n';r==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("GrandTotalRowTotalText"),!1,n.layout.Fields.length,null));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],u.Name,!1));e=["valuecell"];$.each(i,function(i,r){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.periodids.push(r.BudgetPeriodId);f.field=u.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"period",value:r.BudgetPeriodId},{name:"group",value:r.BudgetPeriodGroupId},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!1)});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=u.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),n.layout.PaymentFields&&n.layout.PaymentFields.length>0&&$.each(n.layout.PaymentFields,function(r,u){var e,f;t+='<tr class="totalrow paymentrow" data-fieldid="'+u.Id+'" data-fieldtype="'+u.Type+'">\r\n';r==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],"Payments",!1,n.layout.PaymentFields.length,null));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],u.Name,!1));e=["valuecell"];$.each(i,function(i,r){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.periodids.push(r.BudgetPeriodId);f.field=u.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"period",value:r.BudgetPeriodId},{name:"group",value:r.BudgetPeriodGroupId},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!1)});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=u.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),t+="<\/tfoot>\r\n"):t};FlexiJS.Budgets.UI.Templates.SingleGroup={};FlexiJS.Budgets.UI.Templates.SingleGroup.BuildHeaderRow=function(n){var r="<thead>\r\n",t="",u="";t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("ItemColumnHeader"),!0,n.layout.ShowDates?2:1,n.hasLabels?2:1);var f=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),e=n.groups.filter(function(n){return f.indexOf(n.BudgetPeriodGroupId)>=0}),o=["value"],s=["value","locked"],i=[];return $.each(e,function(r,f){var e,h;i=o.slice(0);e="";n.viewmode.readonly||n.viewmode.printview||!FlexiJS.Budgets.Data.PeriodGroups.IsPeriodGroupLocked(n.tableId,f.BudgetPeriodGroupId)?!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.PeriodAllowRemove&&FlexiJS.Budgets.Data.PeriodGroups.IsGroupRemovable(n.tableId,f.BudgetPeriodGroupId)&&(e=' <a href="#" onclick="FlexiJS.Budgets.UI.RemovePeriodGroupFromTable(this); return false;" class="far fa-minus-circle" title="Remove this group"><\/a>'):i=s.slice(0);t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:f.BudgetPeriodGroupId},{name:"period",value:"total"}],i,f.Name+e,!0);n.layout.ShowDates&&(h=n.periods.filter(function(n){return n.BudgetPeriodGroupId==f.BudgetPeriodGroupId}),u+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:"total"},{name:"group",value:f.BudgetPeriodGroupId}],i,kendo.toString(new Date(Math.min.apply({},h.map(function(n){return new Date(n.StartDate)}))),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat)+" - "+kendo.toString(new Date(Math.max.apply({},h.map(function(n){return new Date(n.EndDate)}))),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat),!0))}),t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,i,"lastvalue"),n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:"total"},{name:"period",value:"total"}],["totalLabel"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?2:1)),r+='<tr class="headerrow">\r\n'+t+"<\/tr>\r\n",n.layout.ShowDates&&(r+='<tr class="headerrow" data-elementtype="periodDateRow">\r\n'+u+"<\/tr>\r\n"),r+"<\/thead>\r\n"};FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemTypeHeaderRow=function(n,t){var i='<tr class="itemtypeheader">\r\n';return i+=n.hasLabels?FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1,null,2):FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1),i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtypemergedfill"],"",!1,null,n.renderColumns.length),i+"<\/tr>\r\n"};FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemTypeFooterRow=function(n,t){var i="",r=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),u=n.groups.filter(function(n){return r.indexOf(n.BudgetPeriodGroupId)>=0});return n.layout.Fields?($.each(n.layout.Fields,function(r,f){var o,e;i+='<tr class="itemtypetotal">\r\n';r==0&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],t.Name+" "+FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!1,n.layout.Fields.length,null));n.hasLabels&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],f.Name,!1));o=["valuecell"];$.each(u,function(r,u){if(n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0){var e=FlexiJS.Budgets.Data.GetBaseFilter();e.tableids.push(n.tableId);e.periodgroupids.push(u.BudgetPeriodGroupId);e.itemtypeids.push(t.BudgetItemTypeId);e.field=f.DataField;i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,e,f,[{name:"group",value:u.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],o,!0,!0)}});i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,o,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(e=FlexiJS.Budgets.Data.GetBaseFilter(),e.tableids.push(n.tableId),e.itemtypeids.push(t.BudgetItemTypeId),e.field=f.DataField,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,e,f,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));i+="<\/tr>\r\n"}),i+=""):i};FlexiJS.Budgets.UI.Templates.SingleGroup.BuildItemRow=function(n,t,i){var r="",e=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),o=n.groups.filter(function(n){return e.indexOf(n.BudgetPeriodGroupId)>=0}),u=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowDelete,s=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowEdit,h=u&&FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod(n.tableId,t.BudgetItemId),f=n.layout.Fields.filter(function(n){return n.type==102201||n.ShowOnlyInTotalsRow==!1});return $.each(f,function(e,c){var v,l,y,a;r+='<tr class="itemrow'+(i?" altrow":"")+'" data-itemid="'+t.BudgetItemId+'" data-fieldid="'+c.Id+'" data-fieldtype="'+c.Type+'">\r\n';e==0&&(v=t.Name,l="",s&&t.NameEditable&&(l+='<span class="edititem fas fa-pencil" onclick="FlexiJS.Budgets.UI.EditItem(this);" title="Edit item"> <\/span>'),u&&(l+=t.Removable&&!h?'<span class="removeitem far fa-trash-alt" onclick="FlexiJS.Budgets.UI.RemoveItem(this);" title="Remove item"> <\/span>':'<span class="removeitemlocked fas fa-lock-alt" title="Item cannot be removed"> <\/span>'),l!=""&&(v+='<span class="actionbuttons">'+l+"<\/span>"),r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname","hasactions"],v,!1,f.length,null));n.hasLabels&&(r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],c.Name,!1));y=["valuecell"];$.each(o,function(i,u){if(n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.itemids.push(t.BudgetItemId);f.periodgroupids.push(u.BudgetPeriodGroupId);f.field=c.DataField;r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,c,[{name:"group",value:u.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],y,!1,!0)}});r=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(r,y,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(a=FlexiJS.Budgets.Data.GetBaseFilter(),a.tableids.push(n.tableId),a.itemids.push(t.BudgetItemId),a.field=c.DataField,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,a,c,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],["totalLabel"],!1,!0));r+="<\/tr>\r\n"}),r};FlexiJS.Budgets.UI.Templates.SingleGroup.BuildFooterRow=function(n){var t="<tfoot>\r\n",r=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),i=n.groups.filter(function(n){return r.indexOf(n.BudgetPeriodGroupId)>=0});return n.layout.Fields?($.each(n.layout.Fields,function(r,u){var e,f;t+='<tr class="totalrow" data-fieldid="'+u.Id+'" data-fieldtype="'+u.Type+'">\r\n';r==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("GrandTotalRowTotalText"),!1,n.layout.Fields.length,null));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],u.Name,!1));e=["valuecell"];$.each(i,function(i,r){if(n.renderColumns.filter(function(n){return n.groupid==r.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.periodgroupids.push(r.BudgetPeriodGroupId);f.field=u.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:r.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!0)}});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=u.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),n.layout.PaymentFields&&n.layout.PaymentFields.length>0&&$.each(n.layout.PaymentFields,function(r,u){var e,f;t+='<tr class="totalrow paymentrow" data-fieldid="'+u.Id+'" data-fieldtype="'+u.Type+'">\r\n';r==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],"Payments",!1,n.layout.PaymentFields.length,null));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],u.Name,!1));e=["valuecell"];$.each(i,function(i,r){if(n.renderColumns.filter(function(n){return n.groupid==r.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0){var f=FlexiJS.Budgets.Data.GetBaseFilter();f.tableids.push(n.tableId);f.periodgroupids.push(r.BudgetPeriodGroupId);f.field=u.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:r.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!0)}});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=u.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),t+="<\/tfoot>\r\n"):t};FlexiJS.Budgets.UI.Templates.SingleReport={};FlexiJS.Budgets.UI.Templates.SingleReport.BuildHeaderRow=function(n){var e="<thead>\r\n",t="",i="",o="",f=n.layout.AccumulateToHighlightedPeriod==!0,h=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),u=0,s=h.length;f&&(u=h.filter(function(t){return t<n.layout.HighlightedPeriodId}).length,s=s-u,u<1?f=!1:u+=1);f?(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("ItemColumnHeader"),!0,n.layout.ShowDates?3:2,n.hasLabels?2:null),t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"accumulatetoperiod",value:n.layout.HighlightedPeriodId},{name:"expandedcolspan",value:u}],["value",n.isCollapsed?"expand":"collapse"],"To Date",!0,null,n.isCollapsed?1:u,null,"FlexiJS.Budgets.UI.ToggleAccumulatedPeriodCollapse"),s>0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([],["value"],"",!0,null,s,null,null))):i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("ItemColumnHeader"),!0,n.layout.ShowDates?2:1,n.hasLabels?2:null);var c=["value"],l=["value","locked"],r=[],a=n.renderColumns.filter(function(n){return n.type!="total"});return $.each(a,function(t,u){if(u.type=="period"){var f=n.periods.filter(function(n){return n.BudgetPeriodId==u.periodid})[0],s=FlexiJS.Budgets.Data.Periods.IsPeriodLocked(n.tableId,f.BudgetPeriodId),e="";r=c.slice(0);s?r=l.slice(0):u.readonly||n.viewmode.readonly||n.viewmode.printview||!n.layout.PeriodAllowRemove||!FlexiJS.Budgets.Data.Periods.IsPeriodRemovable(n.tableId,f.BudgetPeriodId)||(e=' <a href="#" onclick="FlexiJS.Budgets.UI.RemovePeriodFromTable(this); return false;" title="Remove this period" class="far fa-minus-circle"><\/a>');u.highlighted&&r.push("highlight");i+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId}],r,f.Name+e,!0,null,null,n.isCollapsed&&u.isAccumulated?"display: none;":null);n.layout.ShowDates&&(o+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId}],r,kendo.toString(new Date(f.StartDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat)+" - "+kendo.toString(new Date(f.EndDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat),!0,null,null,n.isCollapsed&&u.isAccumulated?"display: none;":null))}else u.type=="accumulatedperiod"&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"accumulatetoperiod",value:n.layout.HighlightedPeriodId}],["value","total"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?2:1,null,null))}),t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,["value"],"lastvalue"),i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,r,"lastvalue"),n.layout.ShowDates&&(o=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(o,r,"lastvalue")),n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f?t+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:"total"},{name:"period",value:"total"}],["totalLabel"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?3:2):i+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:"total"},{name:"period",value:"total"}],["totalLabel"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?2:1)),f&&(e+='<tr class="headerrow">\r\n'+t+"<\/tr>\r\n"),e+='<tr class="headerrow">\r\n'+i+"<\/tr>\r\n",n.layout.ShowDates&&(e+='<tr class="headerrow" data-elementtype="periodDateRow">\r\n'+o+"<\/tr>\r\n"),e+"<\/thead>\r\n"};FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemTypeHeaderRow=function(n,t){var i='<tr class="itemtypeheader">\r\n';return i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1,null,n.hasLabels?2:null),i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtypemergedfill"],"",!1,null,n.renderColumns.length),i+"<\/tr>\r\n"};FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemTypeFooterRow=function(n,t){var i="",r=n.layout.Fields.filter(function(n){return n.type==102201||n.ShowOnlyInTotalsRow==!1});return $.each(r,function(r,u){var f;i+='<tr class="itemtypetotal" data-fieldid="'+u.Id+'" data-fieldtype="'+u.Type+'">\r\n';r==0&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],t.Name+" "+FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!1,n.layout.Fields.length));n.hasLabels&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],u.Name,!1));var o=["valuecell"],e=[],s=n.renderColumns.filter(function(n){return n.type!="total"});$.each(s,function(r,f){var c=$.extend({},n.viewmode),s,h;f.type=="period"?(e=o.slice(0),f.highlighted&&e.push("highlight"),s=FlexiJS.Budgets.Data.GetBaseFilter(),s.tableids.push(n.tableId),s.periodids.push(f.periodid),s.itemtypeids.push(t.BudgetItemTypeId),s.field=u.DataField,f.readonly==!0&&(c.readonly=!0),i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(c,s,u,[{name:"period",value:f.periodid},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!1,!1,null,null,n.isCollapsed&&f.isAccumulated?"display: none;":null)):f.type=="accumulatedperiod"&&(h=FlexiJS.Budgets.Data.GetBaseFilter(),h.tableids.push(n.tableId),h.periodids=n.periods.filter(function(n){return n.BudgetPeriodId<f.periodid}).map(function(n){return n.BudgetPeriodId}),h.itemtypeids.push(t.BudgetItemTypeId),h.field=u.DataField,c.readonly=!0,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(c,h,u,[{name:"period",value:"acc"},{name:"accumulateto",value:f.periodid},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["valuecell","total"],!1,!1,null,null,null))});i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.itemtypeids.push(t.BudgetItemTypeId),f.field=u.DataField,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,u,[{name:"period",value:"total"},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!1));i+="<\/tr>\r\n"}),i};FlexiJS.Budgets.UI.Templates.SingleReport.BuildItemRow=function(n,t,i){var r="",e=n.layout.ReadOnlyToHighlightedPeriod==!0||n.layout.ReadOnlyAfterHighlightedPeriod==!0||n.layout.VisibleAfterHighlightedPeriod==!1,u=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowDelete&&!e,o=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowEdit,s=u&&FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod(n.tableId,t.BudgetItemId),f=n.layout.Fields.filter(function(n){return n.type==102201||n.ShowOnlyInTotalsRow==!1});return $.each(f,function(e,h){var v,c,l;r+='<tr class="itemrow'+(i?" altrow":"")+'" data-itemid="'+t.BudgetItemId+'" data-fieldid="'+h.Id+'" data-fieldtype="'+h.Type+'">\r\n';e==0&&(v=t.Name,c="",o&&t.NameEditable&&(c+='<span class="edititem fas fa-pencil" onclick="FlexiJS.Budgets.UI.EditItem(this);" title="Edit item"> <\/span>'),u&&(c+=t.Removable&&!s?'<span class="removeitem far fa-trash-alt" onclick="FlexiJS.Budgets.UI.RemoveItem(this);" title="Remove item"> <\/span>':'<span class="removeitemlocked fa fa-lock" title="Item cannot be removed"> <\/span>'),c!=""&&(v+='<span class="actionbuttons">'+c+"<\/span>"),r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname","hasactions"],v,!1,f.length,null));n.hasLabels&&(r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],h.Name,!1));var y=["valuecell"],a=[],p=n.renderColumns.filter(function(n){return n.type!="total"});$.each(p,function(i,u){var o=$.extend({},n.viewmode),f,e;u.type=="period"?(a=y.slice(0),u.highlighted&&a.push("highlight"),f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.periodids.push(u.periodid),f.itemids.push(t.BudgetItemId),f.field=h.DataField,u.readonly==!0&&(o.readonly=!0),r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(o,f,h,[{name:"period",value:u.periodid},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],a,!1,!1,null,null,n.isCollapsed&&u.isAccumulated?"display: none;":null)):u.type=="accumulatedperiod"&&(e=FlexiJS.Budgets.Data.GetBaseFilter(),e.tableids.push(n.tableId),e.periodids=n.periods.filter(function(n){return n.BudgetPeriodId<u.periodid}).map(function(n){return n.BudgetPeriodId}),e.itemids.push(t.BudgetItemId),e.field=h.DataField,o.readonly=!0,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(o,e,h,[{name:"period",value:"acc"},{name:"accumulateto",value:u.periodid},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],["valuecell","total"],!1,!1,null,null,null))});r=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(r,a,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(l=FlexiJS.Budgets.Data.GetBaseFilter(),l.tableids.push(n.tableId),l.itemids.push(t.BudgetItemId),l.field=h.DataField,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,l,h,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],["totalLabel"],!0,!1));r+="<\/tr>\r\n"}),r};FlexiJS.Budgets.UI.Templates.SingleReport.BuildFooterRow=function(n){var t="<tfoot>\r\n";return n.layout.Fields&&n.layout.Fields.length>0&&$.each(n.layout.Fields,function(i,r){var f;t+='<tr class="totalrow" data-fieldid="'+r.Id+'" data-fieldtype="'+r.Type+'">\r\n';i==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("GrandTotalRowTotalText"),!1,n.layout.Fields.length));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],r.Name,!1));var e=["valuecell"],u=[],o=n.renderColumns.filter(function(n){return n.type!="total"});$.each(o,function(i,f){var h=$.extend({},n.viewmode),o,s;f.type=="period"?(u=e.slice(0),f.highlighted&&u.push("highlight"),o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.periodids.push(f.periodid),o.field=r.DataField,f.readonly==!0&&(h.readonly=!0),t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(h,o,r,[{name:"period",value:f.periodid},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],u,!1,!0,null,null,n.isCollapsed&&f.isAccumulated?"display: none;":null)):f.type=="accumulatedperiod"&&(s=FlexiJS.Budgets.Data.GetBaseFilter(),s.tableids.push(n.tableId),s.periodids=n.periods.filter(function(n){return n.BudgetPeriodId<f.periodid}).map(function(n){return n.BudgetPeriodId}),s.field=r.DataField,h.readonly=!0,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(h,s,r,[{name:"period",value:"acc"},{name:"accumulateto",value:f.periodid},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["valuecell","total"],!1,!0,null,null,null))});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,u,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=r.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,r,[{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),n.layout.PaymentFields&&n.layout.PaymentFields.length>0&&$.each(n.layout.PaymentFields,function(i,r){var f;t+='<tr class="totalrow paymentrow" data-fieldid="'+r.Id+'" data-fieldtype="'+r.Type+'">\r\n';i==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],"Payments",!1,n.layout.Fields.length));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],r.Name,!1));var e=["valuecell"],u=[],o=n.renderColumns.filter(function(n){return n.type!="total"});$.each(o,function(i,f){var h=$.extend({},n.viewmode),o,s;f.type=="period"?(u=e.slice(0),f.highlighted&&u.push("highlight"),o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.periodids.push(f.periodid),o.field=r.DataField,f.readonly==!0&&(h.readonly=!0),t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(h,o,r,[{name:"period",value:f.periodid},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],u,!1,!0,null,null,n.isCollapsed&&f.isAccumulated?"display: none;":null)):f.type=="accumulatedperiod"&&(s=FlexiJS.Budgets.Data.GetBaseFilter(),s.tableids.push(n.tableId),s.periodids=n.periods.filter(function(n){return n.BudgetPeriodId<f.periodid}).map(function(n){return n.BudgetPeriodId}),s.field=r.DataField,h.readonly=!0,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(h,s,r,[{name:"period",value:"acc"},{name:"accumulateto",value:f.periodid},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["valuecell","total"],!1,!0,null,null,null))});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,u,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.field=r.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,r,[{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),t+="<\/tfoot>\r\n"};FlexiJS.Budgets.UI.Templates.Dual={};FlexiJS.Budgets.UI.Templates.Dual.BuildHeaderRow=function(n){var e="<thead>\r\n",i="",r="",u="";i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("ItemColumnHeader"),!0,n.layout.ShowDates?3:2,n.hasLabels?2:null);var h=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),c=n.groups.filter(function(n){return h.indexOf(n.BudgetPeriodGroupId)>=0}),l=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),o=["value"],s=["value","locked"],f=[],t=[];return $.each(c,function(e,h){var v=n.periods.filter(function(n){return n.BudgetPeriodGroupId==h.BudgetPeriodGroupId&&l.indexOf(n.BudgetPeriodId)>=0}),a=0,p=n.renderColumns.filter(function(n){return n.groupid==h.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0,y=p&&!n.viewmode.printview,k=n.layout.PeriodDisplayModeInitiallyCollapsed,c=y,w,b;c&&(c=n.existingExpansions&&(n.existingExpansions.expanded.length>0||n.existingExpansions.collapsed.length>0)?FlexiJS.Budgets.Filters.General.ContainsFilter(n.existingExpansions.collapsed,h.BudgetPeriodGroupId):k);v.length>0&&($.each(v,function(i,f){var l=FlexiJS.Budgets.Data.Periods.IsPeriodLocked(n.tableId,f.BudgetPeriodId),e="";t=o.slice(0);l?t=s.slice(0):!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.PeriodAllowRemove&&FlexiJS.Budgets.Data.Periods.IsPeriodRemovable(n.tableId,f.BudgetPeriodId)&&(e=' <a href="#" onclick="FlexiJS.Budgets.UI.RemovePeriodFromTable(this); return false;" title="Remove this period" class="far fa-minus-circle"><\/a>');r+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId},{name:"group",value:h.BudgetPeriodGroupId}],t,f.Name+e,!0,null,null,c?"display: none;":null);n.layout.ShowDates&&(u+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"period",value:f.BudgetPeriodId},{name:"group",value:h.BudgetPeriodGroupId}],t,kendo.toString(new Date(f.StartDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat)+" - "+kendo.toString(new Date(f.EndDate),FlexiJS.Budgets.UI.Templates.HeaderRowDateFormat),!0,null,null,c?"display: none;":null))}),a+=v.length);w=FlexiJS.Budgets.Data.PeriodGroups.IsPeriodGroupLocked(n.tableId,h.BudgetPeriodGroupId);t=o.slice(0);w&&(t=s.slice(0));f=o.slice(0);p&&(t.push("subtotal"),r+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:h.BudgetPeriodGroupId},{name:"period",value:"total"}],t,FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?2:1),a+=1);y&&(b=c?"expand":"collapse",f.push(b));i+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:h.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"expandedcolspan",value:a}],f,h.Name,!0,null,c?1:a,null,y?"FlexiJS.Budgets.UI.TogglePeriodGroupCollapse":null)}),i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,f,"lastvalue"),r=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(r,t,"lastvalue"),n.layout.ShowDates&&(u=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(u,t,"lastvalue")),n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell([{name:"group",value:"total"},{name:"period",value:"total"}],["totalLabel"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!0,n.layout.ShowDates?3:2)),e+='<tr class="headerrow">\r\n'+i+'<\/tr>\r\n<tr class="headerrow">\r\n'+r+"<\/tr>\r\n",n.layout.ShowDates&&(e+='<tr class="headerrow" data-elementtype="periodDateRow">\r\n'+u+"<\/tr>\r\n"),e+"<\/thead>\r\n"};FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeHeaderRow=function(n,t){var i='<tr class="itemtypeheader">\r\n';return i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtype"],t.Name,!1,null,n.hasLabels?2:null),i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemtypemergedfill"],"",!1,null,n.renderColumns.length),i+"<\/tr>\r\n"};FlexiJS.Budgets.UI.Templates.Dual.BuildItemTypeFooterRow=function(n,t){var i="",r=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),u=n.groups.filter(function(n){return r.indexOf(n.BudgetPeriodGroupId)>=0}),f=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t});return n.layout.Fields?($.each(n.layout.Fields,function(r,e){var h,o,s;i+='<tr class="itemtypetotal" data-fieldid="'+e.Id+'" data-fieldtype="'+e.Type+'">\r\n';r==0&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],t.Name+" "+FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("TotalRowTotalText"),!1,n.layout.Fields.length));n.hasLabels&&(i+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],e.Name,!1));h=["valuecell"];o=[];$.each(u,function(r,u){var l=n.periods.filter(function(n){return n.BudgetPeriodGroupId==u.BudgetPeriodGroupId&&f.indexOf(n.BudgetPeriodId)>=0}),a=n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0,v=a&&!n.viewmode.printview,y=n.layout.PeriodDisplayModeInitiallyCollapsed,c=v,s;c&&(c=n.existingExpansions&&(n.existingExpansions.expanded.length>0||n.existingExpansions.collapsed.length>0)?FlexiJS.Budgets.Filters.General.ContainsFilter(n.existingExpansions.collapsed,u.BudgetPeriodGroupId):y);l.length>0&&(o=h.slice(0),$.each(l,function(r,f){var s=FlexiJS.Budgets.Data.GetBaseFilter();s.tableids.push(n.tableId);s.periodids.push(f.BudgetPeriodId);s.itemtypeids.push(t.BudgetItemTypeId);s.field=e.DataField;i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,s,e,[{name:"period",value:f.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],o,!0,!1,null,null,c?"display: none;":null)}));a&&(o=h.slice(0),o.push("subtotal"),s=FlexiJS.Budgets.Data.GetBaseFilter(),s.tableids.push(n.tableId),s.periodgroupids.push(u.BudgetPeriodGroupId),s.itemtypeids.push(t.BudgetItemTypeId),s.field=e.DataField,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,s,e,[{name:"period",value:"total"},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],o,!0,!0))});i=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(i,o,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(s=FlexiJS.Budgets.Data.GetBaseFilter(),s.tableids.push(n.tableId),s.itemtypeids.push(t.BudgetItemTypeId),s.field=e.DataField,i+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,s,e,[{name:"period",value:"total"},{name:"group",value:"total"},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));i+="<\/tr>\r\n"}),i+=""):i};FlexiJS.Budgets.UI.Templates.Dual.BuildItemRow=function(n,t,i){var r="",e=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),o=n.groups.filter(function(n){return e.indexOf(n.BudgetPeriodGroupId)>=0}),s=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t}),u=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowDelete,h=!n.viewmode.readonly&&!n.viewmode.printview&&n.layout.ActivityAllowEdit,c=u&&FlexiJS.Budgets.Data.Item.ItemHasDataInLockedPeriod(n.tableId,t.BudgetItemId),f=n.layout.Fields.filter(function(n){return n.type==102201||n.ShowOnlyInTotalsRow==!1});return $.each(f,function(e,l){var p,v,w,a,y;r+='<tr class="itemrow'+(i?" altrow":"")+'" data-itemid="'+t.BudgetItemId+'" data-fieldid="'+l.Id+'" data-fieldtype="'+l.Type+'">\r\n';e==0&&(p=t.Name,v="",h&&t.NameEditable&&(v+='<span class="edititem fas fa-pencil" onclick="FlexiJS.Budgets.UI.EditItem(this);" title="Edit item"> <\/span>'),u&&(v+=t.Removable&&!c?'<span class="removeitem far fa-trash-alt" onclick="FlexiJS.Budgets.UI.RemoveItem(this);" title="Remove item"> <\/span>':'<span class="removeitemlocked fas fa-lock-alt" title="Item cannot be removed"> <\/span>'),v!=""&&(p+='<span class="actionbuttons">'+v+"<\/span>"),r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname","hasactions"],p,!1,f.length,null));n.hasLabels&&(r+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],l.Name,!1));w=["valuecell"];a=[];$.each(o,function(i,u){var o=n.periods.filter(function(n){return n.BudgetPeriodGroupId==u.BudgetPeriodGroupId&&s.indexOf(n.BudgetPeriodId)>=0}),h=n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0,c=h&&!n.viewmode.printview,v=n.layout.PeriodDisplayModeInitiallyCollapsed,e=c,f;e&&(e=n.existingExpansions&&(n.existingExpansions.expanded.length>0||n.existingExpansions.collapsed.length>0)?FlexiJS.Budgets.Filters.General.ContainsFilter(n.existingExpansions.collapsed,u.BudgetPeriodGroupId):v);o.length>0&&(a=w.slice(0),$.each(o,function(i,f){var o=FlexiJS.Budgets.Data.GetBaseFilter();o.tableids.push(n.tableId);o.periodids.push(f.BudgetPeriodId);o.itemids.push(t.BudgetItemId);o.field=l.DataField;r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,l,[{name:"period",value:f.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],a,!1,!1,null,null,e?"display: none;":null)}));h&&(a=w.slice(0),a.push("subtotal"),f=FlexiJS.Budgets.Data.GetBaseFilter(),f.tableids.push(n.tableId),f.itemids.push(t.BudgetItemId),f.periodgroupids.push(u.BudgetPeriodGroupId),f.field=l.DataField,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,f,l,[{name:"period",value:"total"},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:t.BudgetItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],a,!1,!0))});r=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(r,a,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(y=FlexiJS.Budgets.Data.GetBaseFilter(),y.tableids.push(n.tableId),y.itemids.push(t.BudgetItemId),y.field=l.DataField,r+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,y,l,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:t.BudgetTableItemTypeId},{name:"table",value:n.tableId},{name:"itemid",value:t.BudgetItemId}],["totalLabel"],!1,!0));r+="<\/tr>\r\n"}),r};FlexiJS.Budgets.UI.Templates.Dual.BuildFooterRow=function(n){var t="<tfoot>\r\n",u=n.renderColumns.map(function(n){return n.groupid}).filter(function(n,t,i){return i.indexOf(n)===t}),i=n.groups.filter(function(n){return u.indexOf(n.BudgetPeriodGroupId)>=0}),r=n.renderColumns.map(function(n){return n.periodid}).filter(function(n){return n!=null}).filter(function(n,t,i){return i.indexOf(n)===t});return n.layout.Fields?($.each(n.layout.Fields,function(u,f){var s,e,o;t+='<tr class="totalrow" data-fieldid="'+f.Id+'" data-fieldtype="'+f.Type+'">\r\n';u==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],FlexiJS.Budgets.UI.Templates.GetCommonResourceKey("GrandTotalRowTotalText"),!1,n.layout.Fields.length));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],f.Name,!1));s=["valuecell"];e=[];$.each(i,function(i,u){var c=n.periods.filter(function(n){return n.BudgetPeriodGroupId==u.BudgetPeriodGroupId&&r.indexOf(n.BudgetPeriodId)>=0}),l=n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0,a=l&&!n.viewmode.printview,v=n.layout.PeriodDisplayModeInitiallyCollapsed,h=a,o;h&&(h=n.existingExpansions&&(n.existingExpansions.expanded.length>0||n.existingExpansions.collapsed.length>0)?FlexiJS.Budgets.Filters.General.ContainsFilter(n.existingExpansions.collapsed,u.BudgetPeriodGroupId):v);c.length>0&&(e=s.slice(0),$.each(c,function(i,r){var o=FlexiJS.Budgets.Data.GetBaseFilter();o.tableids.push(n.tableId);o.periodids.push(r.BudgetPeriodId);o.field=f.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"period",value:r.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!1,null,null,h?"display: none;":null)}));l&&(e=s.slice(0),e.push("subtotal"),o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.periodgroupids.push(u.BudgetPeriodGroupId),o.field=f.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"group",value:u.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!0))});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.field=f.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),n.layout.PaymentFields&&n.layout.PaymentFields.length>0&&$.each(n.layout.PaymentFields,function(u,f){var s,e,o;t+='<tr class="totalrow paymentrow" data-fieldid="'+f.Id+'" data-fieldtype="'+f.Type+'">\r\n';u==0&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemname"],"Payments",!1,n.layout.Fields.length));n.hasLabels&&(t+=FlexiJS.Budgets.UI.Templates.BuildTableCell(null,["itemlabel"],f.Name,!1));s=["valuecell"];e=[];$.each(i,function(i,u){var c=n.periods.filter(function(n){return n.BudgetPeriodGroupId==u.BudgetPeriodGroupId&&r.indexOf(n.BudgetPeriodId)>=0}),l=n.renderColumns.filter(function(n){return n.groupid==u.BudgetPeriodGroupId&&n.periodid==null&&n.type=="periodgroup"}).length>0,a=l&&!n.viewmode.printview,v=n.layout.PeriodDisplayModeInitiallyCollapsed,h=a,o;h&&(h=n.existingExpansions&&(n.existingExpansions.expanded.length>0||n.existingExpansions.collapsed.length>0)?FlexiJS.Budgets.Filters.General.ContainsFilter(n.existingExpansions.collapsed,u.BudgetPeriodGroupId):v);c.length>0&&(e=s.slice(0),$.each(c,function(i,r){var o=FlexiJS.Budgets.Data.GetBaseFilter();o.tableids.push(n.tableId);o.periodids.push(r.BudgetPeriodId);o.field=f.DataField;t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"period",value:r.BudgetPeriodId},{name:"group",value:u.BudgetPeriodGroupId},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!1,null,null,h?"display: none;":null)}));l&&(e=s.slice(0),e.push("subtotal"),o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.periodgroupids.push(u.BudgetPeriodGroupId),o.field=f.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"group",value:u.BudgetPeriodGroupId},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],e,!0,!0))});t=FlexiJS.Budgets.UI.Templates.AddClassToLastMatchingElementWithClasses(t,e,"lastvalue");n.renderColumns.filter(function(n){return n.groupid==null&&n.periodid==null&&n.type=="total"}).length>0&&(o=FlexiJS.Budgets.Data.GetBaseFilter(),o.tableids.push(n.tableId),o.field=f.DataField,t+=FlexiJS.Budgets.UI.Templates.BuildTableCellField(n.viewmode,o,f,[{name:"group",value:"total"},{name:"period",value:"total"},{name:"itemtype",value:"total"},{name:"table",value:n.tableId},{name:"itemid",value:"total"}],["totalLabel"],!0,!0));t+="<\/tr>\r\n"}),t+="<\/tfoot>\r\n"):t}