{"version":3,"sources":["GlobalHeaderLeft.js"],"names":["GlobalHeaderLeft_RestorePatientSelectionSession_Callback","result","param1","GlobalHeaderLeft_AjaxPost","postData","controllerName","actionName","callbackSuccess","failMessage","divLoading","optionalParam1","optionalParam2","optionalParam3","undefined","ReportGridAjax_ErrorHandler","Kendo_ShowOrHideLoadingImage","ajaxUrl","globalHeaderLeft_Template_AjaxUrl","replace","$","ajax","url","method","data","success","AjaxResult_CommonResultHandled","globalHeaderLeft_CurrentPatient","globalHeaderLeft_SelectedPatientsJSon","length","passParams","sessionRestoreData","currentPatient","selectedPatientsJSon","error","GlobalHeaderLeft_DisableNavButtons","GlobalHeaderLeft_ClearSelectedSite","GlobalHeaderLeft_ClearSelectedSite_Callback","globalHeaderLeft_Error_FailedClearSite","hide","NavigateAway_Callback","GlobalHeaderLeft_Navigate","direction","MainMenuLeftSideBar","CollapseSideBar","NavigateAwayWithCallBack","isPanelVisible","is","isPanelCollapsed","PanelSelection_IsPanelExpanded","GlobalHeaderLeft_Navigate_Callback","globalHeaderLeft_Error_FailedNavigatePatients","GlobalHeaderLeft_PrepDataForNavigationRestore","GlobalHeaderLeft_RefreshPatient","id","tfid","tot","caption","window","location","href","globalHeaderLeft_HrefSelectCurrentPatientList","globalHeaderLeft_Error_PatientNavigationNotPossible","allVisitsGridDisplayed","find","allFormsGridDisplayed","panelSelection_RestoreNextPatient","FormsTabActive","hasClass","AllVisitsGridDisplayed","AllFormsGridDisplayed","RenderedFormId","panelSelection_CurrentExpandedInfo_RenderedForm","Id","RenderedProFormId","ProFormId","RenderedFormInstanceNo","FormInstanceNo","ExpandedVisitId","ExpandedVisitProId","panelSelection_CurrentExpandedInfo_Visits","proId","ExpandedVisitInstanceNo","instanceNo","ExpandedFormsProId","panelSelection_CurrentExpandedInfo_Forms","proFormId","RefreshGridPatId","RefreshGridSysFormId","RefreshGridCaption","RenderHtmlIntoControl","GlobalHeaderLeft_OpenPatientSelection","GlobalHeaderLeft_OpenPatientSelection_Callback","globalHeaderLeft_Error_FailedOpenPatSelection","wndWidth","lnkOffset","offset","lnkWidth","width","lnkHeight","height","offX","posX","left","nonCenteredWindowProperties","top","ShowModal","GlobalHeaderLeft_RefreshPatient_Click","fromCache","isPatientNavigation","isFormsTabActive","isVisitsTabContentVisitsVisible","isFormsTabContentProFormsVisible","isVisitsTabContentFormsVisible","isFormsTabContentProFormsFormsVisitVisible","rerenderForm","expandedVisitId","expandedProFormId","visitId","ajaxData","restoreNavigationForNextPatient","JSON","stringify","GlobalHeaderLeft_RefreshPatient_Callback","globalHeaderLeft_Error_FailedRefreshPatient","GlobalHeaderLeft_RefreshPatient_Callback_RefreshTrialSitePatientsHeader_Callback","disableButtons","css","dataX","panelX","oldCallbackParams","anch","trigger","PanelSelection_MainMenuContent_SetVisibility","panelSelection_CurrentExpandedInfo_ScrollY_Pat","scrollTop","panelSelection_CurrentExpandedInfo_ScrollY_Vis","panelSelectionActions","panelSelectionContent","restorePatNav","restoreNextPat","String","parse","PanelSelection_HighlightForm","PanelSelection_RenderForm","PanelSelection_OnAllVisitsClick","PanelSelection_OnAllFormsClick","removeClass","addClass","PatientSelection_RestoreScrollAndSelection","rerenderFormInfo","PanelSelection_CollapseExpandNavPanel","PanelSelection_ShowOrHideActionButtons","setTimeout","PatientSelection_RestoreScrollPositions","PatientSelection_SelectPatient","patientListItemCount","PatientSelection_SelectPatient_Callback","globalHeaderLeft_Error_FailedSelectPatient","CloseModelPopup","globalHeaderLeft_Error_PatientSelectionNotPossible"],"mappings":"AAIA,QAAAA,0DAAAC,EAAAC,GACA,MAAAD,EAAAA,OACAE,0BAAAD,EAAAE,SAAAF,EAAAG,eAAAH,EAAAI,WAAAJ,EAAAK,gBAAAL,EAAAM,YAAAN,EAAAO,WACAP,EAAAQ,eAAAR,EAAAS,eAAAT,EAAAU,gBACAC,QAAAX,EAAAM,aAAA,IAAAN,EAAAM,aACAM,4BAAAZ,EAAAM,YAAAP,GAGA,QAAAE,2BAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACAC,EAAAC,EAAAC,GACA,GAAA,MAAAR,GAAAS,QAAAT,EAAA,CAEAW,6BAAAN,GAAA,EACA,IAAAO,GAAAC,iCACAD,GAAAA,EAAAE,QAAA,YAAAZ,GAAAY,QAAA,aAAAb,EACAc,GAAAC,MACAC,IAAAL,EACAM,OAAA,OACAC,KAAAnB,EACAoB,QAAA,SAAAD,GAEA,GADAR,6BAAAN,GAAA,IACAgB,+BAAAF,GAEA,GAAAV,QAAAU,GAAAV,QAAAU,EAAAtB,QAAA,uBAAAsB,EAAAtB,OAeAM,GACAA,EAAAgB,EAAAb,EAAAC,EAAAC,OAfA,IAAAC,QAAAa,iCAAA,MAAAA,iCACAb,QAAAc,uCAAA,MAAAA,uCAAAA,sCAAAC,OAAA,EAAA,CACA,GAAAC,IACAzB,SAAAA,EAAAC,eAAAA,EAAAC,WAAAA,EAAAC,gBAAAA,EAAAC,YAAAA,EACAC,WAAAA,EAAAC,eAAAA,EAAAC,eAAAA,EAAAC,eAAAA,GAEAkB,GAAAC,eAAAL,gCAAAM,qBAAAL,sCACAxB,2BAAA2B,EAAA,kBAAA,iCACA9B,yDAAAQ,EAAAC,EAAAoB,OAEAhB,SAAAL,GAAA,IAAAA,GACAM,4BAAAN,EAAAP,SAMAgC,MAAA,SAAAhC,GACAc,6BAAAN,GAAA,GACAI,QAAAL,GAAA,IAAAA,GACAM,4BAAAN,EAAAP,GACAiC,oCAAA,OAKA,QAAAC,oCAAAd,GACAlB,6BAAA,aAAA,qBAAAiC,4CAAAC,uCAAA,0BAAAhB,GAGA,QAAAe,6CAAAb,EAAAF,GACAE,GAAA,MAAAA,EAAAtB,SACAkB,EAAA,mBAAAmB,OACAnB,EAAA,4BAAAmB,QAEA,MAAAjB,GAAAR,QAAAQ,GACAkB,sBAAAlB,GAKA,QAAAmB,2BAAAC,GAOA,GAFAC,qBAAA7B,QAAA6B,oBAAAC,iBACAD,oBAAAC,mBACAC,yBAAA3B,kCAAA,aAAA,4BAAAwB,GAAA,CAEA,GAAAI,GAAA1B,EAAA,sBAAAS,OAAA,GAAAT,EAAA,sBAAA2B,GAAA,YACAC,GAAA,CACAF,KACAE,GAAAC,kCAEAd,oCAAA,GACA/B,2BAAAsC,UAAAA,GAAA,kBAAA,uBAAAQ,mCAAAC,8CAAA,0BAAAT,EAAAM,IAGA,QAAAE,oCAAA1B,EAAAkB,EAAAM,GACA,GAAAxB,EACA,GAAA,MAAAA,EAAAtB,OAAA,CACA,GAAA4C,GAAA1B,EAAA,sBAAAS,OAAA,GAAAT,EAAA,sBAAA2B,GAAA,WACAD,IAKAM,gDACAC,gCAAA7B,EAAA8B,GAAA9B,EAAA+B,KAAA/B,EAAAgC,IAAAhC,EAAAiC,SAAA,EAAAT,GAAA,IAJAU,OAAAC,SAAAC,KAAAC,kDASA9C,6BAAA+C,oDAAA,MACA3B,oCAAA,GAKA,QAAAiB,iDAEA,GAAAW,GAAA3C,EAAA,kBAAAS,OAAA,GAAAT,EAAA,kBAAA4C,KAAA,sCAAAnC,OAAA,EACAoC,EAAA7C,EAAA,kBAAAS,OAAA,GAAAT,EAAA,kBAAA4C,KAAA,qCAAAnC,OAAA,CAEA,OAAAqC,kCACAA,mCACAC,eAAA/C,EAAA,eAAAgD,SAAA,cACAC,uBAAAN,EACAO,sBAAAL,EACAM,eAAA,MAAAC,iDAAA1D,QAAA0D,gDAAAA,gDAAAC,GAAA,EACAC,kBAAA,MAAAF,iDAAA1D,QAAA0D,gDAAAA,gDAAAG,UAAA,EACAC,uBAAA,MAAAJ,iDAAA1D,QAAA0D,gDAAAA,gDAAAK,eAAA,EACAC,gBAAA,EACAC,mBAAA,MAAAC,2CAAAlE,QAAAkE,0CAAAA,0CAAAC,MAAA,EACAC,wBAAA,MAAAF,2CAAAlE,QAAAkE,0CAAAA,0CAAAG,WAAA,EACAC,mBAAA,MAAAC,0CAAAvE,QAAAuE,yCAAAA,yCAAAC,UAAA,EACAC,iBAAA,EACAC,qBAAA,EACAC,mBAAA,KAKAvB,kCAAAC,eAAA/C,EAAA,eAAAgD,SAAA,cAGA,GAAAF,kCAAAQ,mBAAA,MAAAF,iDAAA1D,QAAA0D,kDACAN,kCAAAK,eAAAC,gDAAAC,GACAP,kCAAAQ,kBAAAF,gDAAAG,UACAT,kCAAAU,uBAAAJ,gDAAAK,gBAEA,MAAAX,kCAAAI,wBACAJ,kCAAAI,sBAAAL,GAEA,MAAAC,kCAAAG,yBACAH,kCAAAG,uBAAAN,IAKA2B,sBAAA,GAAA,iBAEAlB,gDAAA,KACAQ,0CAAA,KACAK,yCAAA,KAGA,QAAAM,yCACA9C,yBAAA3B,kCAAA,aAAA,0CAEAd,6BAAA,mBAAA,GAAAwF,+CAAAC,8CAAA,2BAGA,QAAAD,gDAAApE,GACA,GAAAsE,GAAA,IACAC,EAAA3E,EAAA,6BAAA4E,SACAC,EAAA7E,EAAA,6BAAA8E,QACAC,EAAA/E,EAAA,6BAAAgF,SAEAC,GAAAP,EAAAG,GAAA,EACAK,EAAAP,EAAAQ,KAAAF,CACAC,GAAA,IACAA,EAAA,EAEA,IAAAE,IAAAC,IAAAV,EAAAU,IAAAN,EAAAI,KAAAD,EAAAJ,MAAAJ,EAEAY,WAAAlF,GAAA,GAAA,EAAAgF,GAAA,GAGA,QAAAG,uCAAArD,EAAAC,EAAAC,EAAAC,EAAAmD,EAAA5D,EAAA6D,GACAhE,yBAAA3B,kCAAA,aAAA,wCAAAoC,EAAAC,EAAAC,EAAAC,EAAAmD,EAAA5D,EAAA6D,IAEAxD,gCAAAC,EAAAC,EAAAC,EAAAC,EAAAmD,EAAA5D,EAAA6D,GAIA,QAAAxD,iCAAAC,EAAAC,EAAAC,EAAAC,EAAAmD,EAAA5D,EAAA6D,GACA,GAAA,mBAAA,4CAAA,mBAAA,0CAAA,CAGAlF,gCAAA2B,EACA,MAAAsD,GAAA9F,QAAA8F,GAAA,iBAAA,KACAA,GAAA,GACA,MAAAC,GAAA/F,QAAA+F,GAAA,iBAAA,KACAA,GAAA,EACA,IAAA/D,GAAA1B,EAAA,sBAAAS,OAAA,GAAAT,EAAA,sBAAA2B,GAAA,WACAD,GACA,MAAAE,GAAAlC,QAAAkC,GAAA,kBAAA,gCAEA,iBAAA,KACAA,GAAA,GAFAA,GAAAC,iCAKAD,GAAA,CAGA,IAAA8D,GAAA1F,EAAA,eAAAgD,SAAA,cACA2C,GAAAD,GAAA,MAAA9B,0CACAgC,EAAAF,GAAA,MAAAzB,yCACA4B,GAAAH,GAAA,MAAA9B,0CACAkC,EAAAJ,GAAA,MAAAzB,yCACA8B,GAAAP,IAAAC,EAEAO,EAAA,EACAC,EAAA,CACA,OAAArC,2CAAA,MAAAK,2CACA,MAAAL,4CACAoC,EAAApC,0CAAAsC,SACA,MAAAjC,2CACAgC,EAAAhC,yCAAAC,WAGA,IAAAiC,IACAjE,GAAAA,EAAAC,KAAAA,EAAAC,IAAAA,EAAAC,QAAAA,EAAAX,eAAAA,EAAA8D,UAAAA,EACAE,iBAAAA,EACAC,gCAAAA,EAAAC,iCAAAA,EACAC,+BAAAA,EAAAC,2CAAAA,EACAE,gBAAAA,EAAAC,kBAAAA,EACAG,gCAAAX,GAAA3C,mCAAA,MAAAA,kCAAAuD,KAAAC,UAAAxD,mCAAA,KAEA9D,2BAAAmH,EACA,aAAA,iBAAAI,yCAAAC,4CAAA9E,EAAA,oBAAA,0BACAA,EAAAE,EAAAmE,IAGA,QAAAQ,0CAAAnG,EAAAsB,EAAAE,EAAAmE,GAYA/G,6BACA,OAAA,iCAAAyH,iFAAAD,4CAAA,qCAAA,sCACApG,KAAAA,EAAAsB,eAAAA,EAAAE,iBAAAA,EAAAmE,aAAAA,IAGA,QAAAhF,oCAAA2F,GACA1G,EAAA,4BAAAS,OAAA,GACAT,EAAA,4BAAA2G,IAAA,iBAAAD,EAAA,OAAA,QACA1G,EAAA,4BAAAS,OAAA,GACAT,EAAA,4BAAA2G,IAAA,iBAAAD,EAAA,OAAA,QAGA,QAAAD,kFAAAG,EAAAC,EAAAC,GACAxC,sBAAAsC,EAAAC,GACA9F,oCAAA,EAGA,IAAAX,GAAA0G,EAAA1G,KACAsB,EAAAoF,EAAApF,eACAE,EAAAkF,EAAAlF,iBACAmE,EAAAe,EAAAf,YAGA,IAAA/F,EAAA,sCAAAS,OAAA,GAAAT,EAAA,qCAAAS,OAAA,EAAA,CACA,GAAAsG,GAAA/G,EAAA,kBAAA4C,KAAA,sDACA,IAAAmE,EAAAtG,QACAsG,EAAAC,QAAA,SAGA,GAAAtF,EAAA,CACAE,GACAqF,8CAAA,GACAC,+CAAAlH,EAAA,6BAAAmH,YACAC,+CAAApH,EAAA,6BAAAmH,YAEA7C,sBAAAlE,EAAAiH,sBAAA,mBAAA,GACA/C,sBAAAlE,EAAAkH,sBAAA,sBAAA,EAEA,IAAAC,EACAnH,GAAAoH,iBAAA,gBAAApH,GAAAoH,gBAAApH,EAAAoH,yBAAAC,WACAF,EAAAlB,KAAAqB,MAAAtH,EAAAoH,iBACAD,GAEAA,EAAA5D,mBAAA,IACAC,2CACAC,MAAA0D,EAAA5D,mBACAI,WAAAwD,EAAAzD,wBACAoC,QAAAqB,EAAA7D,kBAEA6D,EAAAvD,mBAAA,IACAC,0CACAC,UAAAqD,EAAAvD,qBAEAuD,EAAApE,eAAA,GAAAoE,EAAAjE,kBAAA,GAAAiE,EAAA/D,uBAAA,GAEAmE,8BAAAtE,GAAAkE,EAAApE,eAAAI,UAAAgE,EAAAjE,kBAAAG,eAAA8D,EAAA/D,yBACAoE,2BACAvE,GAAAkE,EAAApE,eAAAI,UAAAgE,EAAAjE,kBAAAG,eAAA8D,EAAA/D,wBACA,OAAA,OAAA,GAAA,IACAuC,GAAA,GAEAwB,EAAAtE,wBAAAsE,EAAApD,iBAAA,GACA0D,gCAAA,KAAA,OAAA,gBAAAN,EAAApD,iBAAAoD,EAAAnD,qBAAA,EAAAmD,EAAAlD,oBACA0B,GAAA,GAEAwB,EAAArE,uBAAAqE,EAAA7D,gBAAA,GAAA6D,EAAApD,iBAAA,GACA2D,+BAAA,KAAA,OAAA,eAAAP,EAAA7D,gBAAA6D,EAAApD,iBAAA,EAAAoD,EAAAlD,oBACA0B,GAAA,GAGAhF,oCAAA,IAGAA,oCAAA,GAEAf,EAAA,eAAAgD,SAAA,gBACAhD,EAAA,gBAAA+H,YAAA,cACA/H,EAAA,uBAAA+H,YAAA,cACA/H,EAAA,sBAAAgI,SAAA,eAGAC,2CAAArG,OAGAb,qCAAA,EAEA,IAAAgF,EAAA,CACA,GAAAmC,IAAA/E,eAAA,MAAAC,iDAAA1D,QAAA0D,gDAAAA,gDAAAC,GAAA,EACAC,kBAAA,MAAAF,iDAAA1D,QAAA0D,gDAAAA,gDAAAG,UAAA,EACAC,uBAAA,MAAAJ,iDAAA1D,QAAA0D,gDAAAA,gDAAAK,eAAA,EAEAyE,GAAA/E,eAAA,GAAA+E,EAAA5E,kBAAA,GAAA4E,EAAA1E,uBAAA,GACAoE,2BACAvE,GAAA6E,EAAA/E,eAAAI,UAAA2E,EAAA5E,kBAAAG,eAAAyE,EAAA1E,wBACA,OAAA,OAAA,GAAA,KAIA,QAAAyE,4CAAArG,GACAA,GACAuG,uCAAA,GACAlB,8CAAA,IAGAmB,yCAEAC,WAAAC,wCAAA,KAEA,MAAAlF,iDACAuE,6BAAAvE,iDAGA,QAAAkF,2CACA,MAAAlB,gDACApH,EAAA,6BAAAmH,UAAAC,gDAEA,MAAAF,gDACAlH,EAAA,6BAAAmH,UAAAD,gDAGA,QAAAqB,gCAAAC,GACAxJ,2BAAAwJ,qBAAAA,GAAA,kBAAA,2BAAAC,wCAAAC,2CAAA,4BAGA,QAAAD,yCAAArI,EAAAkB,GACA,GAAAlB,GAAA,MAAAA,EAAAtB,OAAA,CACA6J,iBACA,IAAAjH,GAAA1B,EAAA,sBAAAS,OAAA,GAAAT,EAAA,sBAAA2B,GAAA,WACAD,IAIAM,gDACAC,gCAAA7B,EAAA8B,GAAA9B,EAAA+B,KAAA/B,EAAAgC,IAAAhC,EAAAiC,SAAA,EAAA,MAAA,IAJAC,OAAAC,SAAAC,KAAAC,kDASA9C,6BAAAiJ,mDAAA","file":"GlobalHeaderLeft.min.js","sourcesContent":["/* ***************************************************************************************************************************************** */\r\n/* THIS JS FILE DEPENDS ON GLOBAL VARIABLES DEFINED IN 'Views\\Shared\\_GlobalHeaderLeft.cshtml' AND IT SHOULD BE INCLUDED ONLY FROM THAT FILE */\r\n/* ***************************************************************************************************************************************** */\r\n\r\nfunction GlobalHeaderLeft_RestorePatientSelectionSession_Callback(result, param1) {\r\n if (result.result == \"OK\")\r\n GlobalHeaderLeft_AjaxPost(param1.postData, param1.controllerName, param1.actionName, param1.callbackSuccess, param1.failMessage, param1.divLoading, \r\n param1.optionalParam1, param1.optionalParam2, param1.optionalParam3);\r\n else if (param1.failMessage != undefined && param1.failMessage != \"\")\r\n ReportGridAjax_ErrorHandler(param1.failMessage, result);\r\n}\r\n\r\nfunction GlobalHeaderLeft_AjaxPost(postData, controllerName, actionName, callbackSuccess, failMessage, divLoading, \r\n optionalParam1, optionalParam2, optionalParam3) {\r\n if (postData == null || postData == undefined) // postData should always be populated if the AJAX call is made intentionally, if no data required to be passed, call with {}\r\n return;\r\n Kendo_ShowOrHideLoadingImage(divLoading, true);\r\n var ajaxUrl = globalHeaderLeft_Template_AjaxUrl;\r\n ajaxUrl = ajaxUrl.replace(\"___ACT___\", actionName).replace(\"___CONT___\", controllerName);\r\n var request = $.ajax({\r\n url: ajaxUrl,\r\n method: \"POST\",\r\n data: postData,\r\n success: function (data) {\r\n Kendo_ShowOrHideLoadingImage(divLoading, false);\r\n if (AjaxResult_CommonResultHandled(data))\r\n return;\r\n if (data != undefined && data.result != undefined && data.result == \"PAT_SESSION_MISSING\") {\r\n if (globalHeaderLeft_CurrentPatient != undefined && globalHeaderLeft_CurrentPatient != null && \r\n globalHeaderLeft_SelectedPatientsJSon != undefined && globalHeaderLeft_SelectedPatientsJSon != null && globalHeaderLeft_SelectedPatientsJSon.length > 0) {\r\n var passParams = {\r\n postData: postData, controllerName: controllerName, actionName: actionName, callbackSuccess: callbackSuccess, failMessage: failMessage, \r\n divLoading: divLoading, optionalParam1: optionalParam1, optionalParam2: optionalParam2, optionalParam3: optionalParam3\r\n };\r\n var sessionRestoreData = { currentPatient: globalHeaderLeft_CurrentPatient, selectedPatientsJSon: globalHeaderLeft_SelectedPatientsJSon };\r\n GlobalHeaderLeft_AjaxPost(sessionRestoreData, \"PatientListView\", \"RestorePatientSelectionSession\", \r\n GlobalHeaderLeft_RestorePatientSelectionSession_Callback, failMessage, divLoading, passParams);\r\n }\r\n else if (failMessage != undefined && failMessage != \"\")\r\n ReportGridAjax_ErrorHandler(failMessage, result);\r\n return;\r\n }\r\n if (callbackSuccess)\r\n callbackSuccess(data, optionalParam1, optionalParam2, optionalParam3);\r\n },\r\n error: function (result) {\r\n Kendo_ShowOrHideLoadingImage(divLoading, false);\r\n if (failMessage != undefined && failMessage != \"\")\r\n ReportGridAjax_ErrorHandler(failMessage, result);\r\n GlobalHeaderLeft_DisableNavButtons(false);\r\n }\r\n });\r\n}\r\n\r\nfunction GlobalHeaderLeft_ClearSelectedSite(url) {\r\n GlobalHeaderLeft_AjaxPost({}, \"Navigation\", \"RemoveSelectedSite\", GlobalHeaderLeft_ClearSelectedSite_Callback, globalHeaderLeft_Error_FailedClearSite, \"divMasterAppBodyContent\", url);\r\n}\r\n\r\nfunction GlobalHeaderLeft_ClearSelectedSite_Callback(data, url) {\r\n if (data && data.result == \"OK\") {\r\n $(\"#trSelectedSite\").hide();\r\n $(\"#NavBarPatientNavigation\").hide(); // ????? should we remove selected patients, they could be from different sites anyway, selected in main menu \"Patients\"\r\n }\r\n if (url != null && url != undefined) {\r\n NavigateAway_Callback(url);\r\n }\r\n}\r\n\r\n\r\nfunction GlobalHeaderLeft_Navigate(direction) {\r\n //direction:\r\n //== 0 - current\r\n // > 0 - next\r\n // < 0 - previous\r\n if (MainMenuLeftSideBar && MainMenuLeftSideBar.CollapseSideBar != undefined)\r\n MainMenuLeftSideBar.CollapseSideBar();\r\n if (NavigateAwayWithCallBack(globalHeaderLeft_Template_AjaxUrl, \"Navigation\", 'GlobalHeaderLeft_Navigate', direction))\r\n return;\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n var isPanelCollapsed = false;\r\n if (isPanelVisible)\r\n isPanelCollapsed = !PanelSelection_IsPanelExpanded();\r\n\r\n GlobalHeaderLeft_DisableNavButtons(true);\r\n GlobalHeaderLeft_AjaxPost({ direction: direction }, \"PatientListView\", \"NavigatePatientsAjax\", GlobalHeaderLeft_Navigate_Callback, globalHeaderLeft_Error_FailedNavigatePatients, \"divMasterAppBodyContent\", direction, isPanelCollapsed);\r\n}\r\n\r\nfunction GlobalHeaderLeft_Navigate_Callback(data, direction, isPanelCollapsed) {\r\n if (data) {\r\n if (data.result == \"OK\") {\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n if (!isPanelVisible) {\r\n //in this case always show current b/c navigation already happened\r\n window.location.href = globalHeaderLeft_HrefSelectCurrentPatientList;\r\n }\r\n else {\r\n GlobalHeaderLeft_PrepDataForNavigationRestore(); \r\n GlobalHeaderLeft_RefreshPatient(data.id, data.tfid, data.tot, data.caption, false, isPanelCollapsed, true);\r\n }\r\n }\r\n else {\r\n //navigation not possible\r\n ReportGridAjax_ErrorHandler(globalHeaderLeft_Error_PatientNavigationNotPossible, null);\r\n GlobalHeaderLeft_DisableNavButtons(false);\r\n }\r\n }\r\n}\r\n\r\nfunction GlobalHeaderLeft_PrepDataForNavigationRestore() {\r\n //prepare data structure with required info to restore the next patient:\r\n var allVisitsGridDisplayed = ($(\"#divBodyRender\").length > 0 && $(\"#divBodyRender\").find(\"#divGlobalNavigation_AllVisitsGrid\").length > 0);\r\n var allFormsGridDisplayed = ($(\"#divBodyRender\").length > 0 && $(\"#divBodyRender\").find(\"#divGlobalNavigation_AllFormsGrid\").length > 0);\r\n\r\n if (panelSelection_RestoreNextPatient == null) {\r\n panelSelection_RestoreNextPatient = { \r\n FormsTabActive: $(\"#FormsTabId\").hasClass(\"active-tab\"),\r\n AllVisitsGridDisplayed: allVisitsGridDisplayed, \r\n AllFormsGridDisplayed: allFormsGridDisplayed,\r\n RenderedFormId: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.Id : 0,//used for restoring (currently rendered form) and used for returning data (new rendered form)\r\n RenderedProFormId: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.ProFormId : 0,\r\n RenderedFormInstanceNo: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.FormInstanceNo : 0,\r\n ExpandedVisitId: 0,//not used for restoring - used for returning data only\r\n ExpandedVisitProId: (panelSelection_CurrentExpandedInfo_Visits != null && panelSelection_CurrentExpandedInfo_Visits != undefined) ? panelSelection_CurrentExpandedInfo_Visits.proId : 0, \r\n ExpandedVisitInstanceNo: (panelSelection_CurrentExpandedInfo_Visits != null && panelSelection_CurrentExpandedInfo_Visits != undefined) ? panelSelection_CurrentExpandedInfo_Visits.instanceNo : 0, \r\n ExpandedFormsProId: (panelSelection_CurrentExpandedInfo_Forms != null && panelSelection_CurrentExpandedInfo_Forms != undefined) ? panelSelection_CurrentExpandedInfo_Forms.proFormId : 0,\r\n RefreshGridPatId: 0,//not used for restoring - used for returning data only\r\n RefreshGridSysFormId: 0,//not used for restoring - used for returning data only\r\n RefreshGridCaption: \"\"//not used for restoring - used for returning data only\r\n };\r\n }\r\n else {\r\n //the following can be set on every navigation action\r\n panelSelection_RestoreNextPatient.FormsTabActive = $(\"#FormsTabId\").hasClass(\"active-tab\");\r\n\r\n //if we have reset form info for navigation, set the current values\r\n if (panelSelection_RestoreNextPatient.RenderedProFormId == 0 && panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) {\r\n panelSelection_RestoreNextPatient.RenderedFormId = panelSelection_CurrentExpandedInfo_RenderedForm.Id;//used for restoring (currently rendered form) and used for returning data (new rendered form)\r\n panelSelection_RestoreNextPatient.RenderedProFormId = panelSelection_CurrentExpandedInfo_RenderedForm.ProFormId;\r\n panelSelection_RestoreNextPatient.RenderedFormInstanceNo = panelSelection_CurrentExpandedInfo_RenderedForm.FormInstanceNo;\r\n }\r\n if (panelSelection_RestoreNextPatient.AllFormsGridDisplayed == null) {\r\n panelSelection_RestoreNextPatient.AllFormsGridDisplayed = allFormsGridDisplayed;\r\n }\r\n if (panelSelection_RestoreNextPatient.AllVisitsGridDisplayed == null) {\r\n panelSelection_RestoreNextPatient.AllVisitsGridDisplayed = allVisitsGridDisplayed;\r\n }\r\n }\r\n\r\n //remove main content - it is wrong for the current patient - we will load the grid for current patient if grid is currently displayed\r\n RenderHtmlIntoControl(\"\", \"divBodyRender\");\r\n\r\n panelSelection_CurrentExpandedInfo_RenderedForm = null;//we don't know what will be rendered in divBodyRender - if form, we'll set the ID on callback\r\n panelSelection_CurrentExpandedInfo_Visits = null;//we have to reset it because we may not find the matching pro selection - if we do, then we'll restore it\r\n panelSelection_CurrentExpandedInfo_Forms = null;//we have to reset it because we may not find the matching pro selection - if we do, then we'll restore it\r\n}\r\n\r\nfunction GlobalHeaderLeft_OpenPatientSelection() {\r\n if (NavigateAwayWithCallBack(globalHeaderLeft_Template_AjaxUrl, \"Navigation\", \"GlobalHeaderLeft_OpenPatientSelection\"))\r\n return;\r\n GlobalHeaderLeft_AjaxPost({}, \"PatientSelection\", \"\", GlobalHeaderLeft_OpenPatientSelection_Callback, globalHeaderLeft_Error_FailedOpenPatSelection, \"divMasterAppBodyContent\");\r\n}\r\n\r\nfunction GlobalHeaderLeft_OpenPatientSelection_Callback(data) {\r\n var wndWidth = 200;\r\n var lnkOffset = $(\"#PatientsCountLinkElement\").offset();\r\n var lnkWidth = $(\"#PatientsCountLinkElement\").width();\r\n var lnkHeight = $(\"#PatientsCountLinkElement\").height();\r\n\r\n var offX = (wndWidth - lnkWidth) / 2;\r\n var posX = lnkOffset.left - offX;\r\n if (posX < 0)\r\n posX = 0;\r\n\r\n var nonCenteredWindowProperties = { top: lnkOffset.top + lnkHeight, left: posX, width: wndWidth };\r\n\r\n ShowModal(data, true, true, nonCenteredWindowProperties, true);\r\n}\r\n\r\nfunction GlobalHeaderLeft_RefreshPatient_Click(id, tfid, tot, caption, fromCache, isPanelCollapsed, isPatientNavigation) {\r\n if (NavigateAwayWithCallBack(globalHeaderLeft_Template_AjaxUrl, \"Navigation\", \"GlobalHeaderLeft_RefreshPatient_Click\", id, tfid, tot, caption, fromCache, isPanelCollapsed, isPatientNavigation))\r\n return;\r\n GlobalHeaderLeft_RefreshPatient(id, tfid, tot, caption, fromCache, isPanelCollapsed, isPatientNavigation);\r\n}\r\n\r\n\r\nfunction GlobalHeaderLeft_RefreshPatient(id, tfid, tot, caption, fromCache, isPanelCollapsed, isPatientNavigation) {\r\n if (typeof(panelSelection_CurrentExpandedInfo_Visits) == \"undefined\" || typeof(panelSelection_CurrentExpandedInfo_Forms) == \"undefined\")\r\n return;//there is nothing to refresh - might happen when system forms are rendered outside of navigation\r\n\r\n globalHeaderLeft_CurrentPatient = id;\r\n if (fromCache == null || fromCache == undefined || typeof (fromCache) != \"boolean\")\r\n fromCache = false;\r\n if (isPatientNavigation == null || isPatientNavigation == undefined || typeof (isPatientNavigation) != \"boolean\")\r\n isPatientNavigation = false;\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n if (isPanelVisible) {\r\n if ((isPanelCollapsed == null || isPanelCollapsed == undefined) && typeof (PanelSelection_IsPanelExpanded) == \"function\")\r\n isPanelCollapsed = !PanelSelection_IsPanelExpanded();\r\n else if (typeof (isPanelCollapsed) != \"boolean\")\r\n isPanelCollapsed = false;\r\n }\r\n else\r\n isPanelCollapsed = false;\r\n\r\n //this is for setting initial visibility after refresh\r\n var isFormsTabActive = ($(\"#FormsTabId\").hasClass(\"active-tab\"));\r\n var isVisitsTabContentVisitsVisible = !isFormsTabActive && (panelSelection_CurrentExpandedInfo_Visits == null);\r\n var isFormsTabContentProFormsVisible = isFormsTabActive && (panelSelection_CurrentExpandedInfo_Forms == null);\r\n var isVisitsTabContentFormsVisible = !isFormsTabActive && (panelSelection_CurrentExpandedInfo_Visits != null);\r\n var isFormsTabContentProFormsFormsVisitVisible = isFormsTabActive && (panelSelection_CurrentExpandedInfo_Forms != null);\r\n var rerenderForm = (!fromCache && !isPatientNavigation);\r\n\r\n var expandedVisitId = 0;\r\n var expandedProFormId = 0;\r\n if (panelSelection_CurrentExpandedInfo_Visits != null || panelSelection_CurrentExpandedInfo_Forms != null) {\r\n if (panelSelection_CurrentExpandedInfo_Visits != null)\r\n expandedVisitId = panelSelection_CurrentExpandedInfo_Visits.visitId;\r\n if (panelSelection_CurrentExpandedInfo_Forms != null)\r\n expandedProFormId = panelSelection_CurrentExpandedInfo_Forms.proFormId;\r\n }\r\n\r\n var ajaxData = {\r\n id: id, tfid: tfid, tot: tot, caption: caption, isPanelVisible: isPanelVisible, fromCache: fromCache,\r\n isFormsTabActive: isFormsTabActive,\r\n isVisitsTabContentVisitsVisible: isVisitsTabContentVisitsVisible, isFormsTabContentProFormsVisible: isFormsTabContentProFormsVisible,\r\n isVisitsTabContentFormsVisible: isVisitsTabContentFormsVisible, isFormsTabContentProFormsFormsVisitVisible: isFormsTabContentProFormsFormsVisitVisible,\r\n expandedVisitId: expandedVisitId, expandedProFormId: expandedProFormId, \r\n restoreNavigationForNextPatient: (isPatientNavigation && panelSelection_RestoreNextPatient && panelSelection_RestoreNextPatient != null) ? JSON.stringify(panelSelection_RestoreNextPatient) : null\r\n };\r\n GlobalHeaderLeft_AjaxPost(ajaxData,\r\n \"Navigation\", \"RefreshPatient\", GlobalHeaderLeft_RefreshPatient_Callback, globalHeaderLeft_Error_FailedRefreshPatient, isPanelVisible ? \"divPanelSelection\" : \"divMasterAppBodyContent\", \r\n isPanelVisible, isPanelCollapsed, rerenderForm);\r\n}\r\n\r\nfunction GlobalHeaderLeft_RefreshPatient_Callback(data, isPanelVisible, isPanelCollapsed, rerenderForm) {\r\n //refresh site/patients - do not proceed until this is done!\r\n //if (data && data.result != undefined) {\r\n // if (data.result == \"NOPAT\") {\r\n // if (globalHeaderLeft_Error_FailedRefreshPatient != undefined && globalHeaderLeft_Error_FailedRefreshPatient != \"\")\r\n // ReportGridAjax_ErrorHandler(globalHeaderLeft_Error_FailedRefreshPatient, data);\r\n // if (globalHeaderLeft_HrefHome)\r\n // NavigateAway(globalHeaderLeft_HrefHome, null, true);\r\n // return;\r\n // }\r\n //}\r\n\r\n GlobalHeaderLeft_AjaxPost({},\r\n \"Home\", \"RefreshTrialSitePatientsHeader\", GlobalHeaderLeft_RefreshPatient_Callback_RefreshTrialSitePatientsHeader_Callback, globalHeaderLeft_Error_FailedRefreshPatient, \"GlobalHeaderLeft_TrialSitePatients\", \"GlobalHeaderLeft_TrialSitePatients\",\r\n {data: data, isPanelVisible: isPanelVisible, isPanelCollapsed: isPanelCollapsed, rerenderForm: rerenderForm});\r\n}\r\n\r\nfunction GlobalHeaderLeft_DisableNavButtons(disableButtons) {\r\n if ($(\"#NavBarPatNavigationNext\").length > 0)\r\n $(\"#NavBarPatNavigationNext\").css(\"pointer-events\", disableButtons ? \"none\" : \"auto\");\r\n if ($(\"#NavBarPatNavigationPrev\").length > 0)\r\n $(\"#NavBarPatNavigationPrev\").css(\"pointer-events\", disableButtons ? \"none\" : \"auto\");\r\n}\r\n\r\nfunction GlobalHeaderLeft_RefreshPatient_Callback_RefreshTrialSitePatientsHeader_Callback(dataX, panelX, oldCallbackParams) {\r\n RenderHtmlIntoControl(dataX, panelX);//this is RefreshTrialSitePatientsHeader\r\n GlobalHeaderLeft_DisableNavButtons(true);\r\n\r\n //now we continue with RefreshPatient\r\n var data = oldCallbackParams.data;\r\n var isPanelVisible = oldCallbackParams.isPanelVisible;\r\n var isPanelCollapsed = oldCallbackParams.isPanelCollapsed;\r\n var rerenderForm = oldCallbackParams.rerenderForm; \r\n\r\n //refresh the grid for current patient?\r\n if ($(\"#divGlobalNavigation_AllVisitsGrid\").length > 0 || $(\"#divGlobalNavigation_AllFormsGrid\").length > 0) {\r\n var anch = $(\"#divBodyRender\").find(\"a[onclick^='ReportingGrid_ResetCacheAndReloadGrid']\");\r\n if (anch.length == 1)\r\n anch.trigger('click');\r\n }\r\n\r\n if (isPanelVisible) {\r\n if (isPanelCollapsed)\r\n PanelSelection_MainMenuContent_SetVisibility(false);\r\n panelSelection_CurrentExpandedInfo_ScrollY_Pat = $('#tabMenuItemsFormsList_PF').scrollTop();\r\n panelSelection_CurrentExpandedInfo_ScrollY_Vis = $('#tabMenuItemsFormsList_VS').scrollTop();\r\n\r\n RenderHtmlIntoControl(data.panelSelectionActions, \"divPanelActions\", false);\r\n RenderHtmlIntoControl(data.panelSelectionContent, \"divMainMenuContent\", false);\r\n\r\n var restorePatNav;\r\n if (data.restoreNextPat && (typeof data.restoreNextPat === 'string' || data.restoreNextPat instanceof String))\r\n restorePatNav = JSON.parse(data.restoreNextPat);\r\n if (restorePatNav) {\r\n //if that was navigation to next patient, we may have to restore the selected info's because we set them to null, but only if there was something there\r\n if (restorePatNav.ExpandedVisitProId > 0)\r\n panelSelection_CurrentExpandedInfo_Visits = {\r\n proId: restorePatNav.ExpandedVisitProId,\r\n instanceNo: restorePatNav.ExpandedVisitInstanceNo, \r\n visitId: restorePatNav.ExpandedVisitId\r\n };\r\n if (restorePatNav.ExpandedFormsProId > 0)\r\n panelSelection_CurrentExpandedInfo_Forms = {\r\n proFormId: restorePatNav.ExpandedFormsProId\r\n };\r\n if (restorePatNav.RenderedFormId > 0 && restorePatNav.RenderedProFormId > 0 && restorePatNav.RenderedFormInstanceNo > 0) {\r\n //render form\r\n PanelSelection_HighlightForm({ Id: restorePatNav.RenderedFormId, ProFormId: restorePatNav.RenderedProFormId, FormInstanceNo: restorePatNav.RenderedFormInstanceNo });//we want to highligt on click\r\n PanelSelection_RenderForm(\r\n { Id: restorePatNav.RenderedFormId, ProFormId: restorePatNav.RenderedProFormId, FormInstanceNo: restorePatNav.RenderedFormInstanceNo }, \r\n \"ICrf\", \"Form\", \"\", \"\");\r\n rerenderForm = false;\r\n }\r\n else if (restorePatNav.AllVisitsGridDisplayed && restorePatNav.RefreshGridPatId > 0) {\r\n PanelSelection_OnAllVisitsClick(null,'Grid','VisitListView', restorePatNav.RefreshGridPatId, restorePatNav.RefreshGridSysFormId, 6, restorePatNav.RefreshGridCaption);\r\n rerenderForm = false;\r\n }\r\n else if (restorePatNav.AllFormsGridDisplayed && restorePatNav.ExpandedVisitId > 0 && restorePatNav.RefreshGridPatId > 0) {\r\n PanelSelection_OnAllFormsClick(null,'Grid','FormListView', restorePatNav.ExpandedVisitId, restorePatNav.RefreshGridPatId, 8, restorePatNav.RefreshGridCaption);\r\n rerenderForm = false;\r\n }\r\n else\r\n GlobalHeaderLeft_DisableNavButtons(false);\r\n }\r\n else\r\n GlobalHeaderLeft_DisableNavButtons(false);\r\n\r\n if ($(\"#FormsTabId\").hasClass(\"active-tab\")) {\r\n $(\"#VisitsTabId\").removeClass(\"active-tab\");\r\n $(\"#VisitsTabContentId\").removeClass(\"active-tab\");\r\n $(\"#FormsTabContentId\").addClass(\"active-tab\");\r\n }\r\n\r\n PatientSelection_RestoreScrollAndSelection(isPanelCollapsed);//this will refresh buttons and resize\r\n }\r\n else\r\n GlobalHeaderLeft_DisableNavButtons(false);\r\n\r\n if (rerenderForm) {\r\n var rerenderFormInfo = { RenderedFormId: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.Id : 0,\r\n RenderedProFormId: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.ProFormId : 0,\r\n RenderedFormInstanceNo: (panelSelection_CurrentExpandedInfo_RenderedForm != null && panelSelection_CurrentExpandedInfo_RenderedForm != undefined) ? panelSelection_CurrentExpandedInfo_RenderedForm.FormInstanceNo : 0 };\r\n\r\n if (rerenderFormInfo.RenderedFormId > 0 && rerenderFormInfo.RenderedProFormId > 0 && rerenderFormInfo.RenderedFormInstanceNo > 0)\r\n PanelSelection_RenderForm(\r\n { Id: rerenderFormInfo.RenderedFormId, ProFormId: rerenderFormInfo.RenderedProFormId, FormInstanceNo: rerenderFormInfo.RenderedFormInstanceNo }, \r\n \"ICrf\", \"Form\", \"\", \"\"); \r\n }\r\n}\r\n\r\nfunction PatientSelection_RestoreScrollAndSelection(isPanelCollapsed) {\r\n if (isPanelCollapsed) {\r\n PanelSelection_CollapseExpandNavPanel(true);\r\n PanelSelection_MainMenuContent_SetVisibility(true);\r\n }\r\n else\r\n PanelSelection_ShowOrHideActionButtons();//we'll always call resize from this function \r\n\r\n setTimeout(PatientSelection_RestoreScrollPositions, 500);//in 500ms try to restore scrollbars (we cannot do that now because view might not be rendered yet)\r\n\r\n if (panelSelection_CurrentExpandedInfo_RenderedForm != null)\r\n PanelSelection_HighlightForm(panelSelection_CurrentExpandedInfo_RenderedForm);\r\n}\r\n\r\nfunction PatientSelection_RestoreScrollPositions() {\r\n if (panelSelection_CurrentExpandedInfo_ScrollY_Vis != null)\r\n $('#tabMenuItemsFormsList_VS').scrollTop(panelSelection_CurrentExpandedInfo_ScrollY_Vis);\r\n\r\n if (panelSelection_CurrentExpandedInfo_ScrollY_Pat != null)\r\n $('#tabMenuItemsFormsList_PF').scrollTop(panelSelection_CurrentExpandedInfo_ScrollY_Pat);\r\n}\r\n\r\nfunction PatientSelection_SelectPatient(patientListItemCount) {\r\n GlobalHeaderLeft_AjaxPost({ patientListItemCount: patientListItemCount }, \"PatientListView\", \"SelectPatientFromSession\", PatientSelection_SelectPatient_Callback, globalHeaderLeft_Error_FailedSelectPatient, \"divPopupPatientSelection\");\r\n}\r\n\r\nfunction PatientSelection_SelectPatient_Callback(data, direction) {\r\n if (data && data.result == \"OK\") {\r\n CloseModelPopup();\r\n var isPanelVisible = ($(\"#divPanelSelection\").length > 0 && $(\"#divPanelSelection\").is(\":visible\"));\r\n if (!isPanelVisible) {\r\n window.location.href = globalHeaderLeft_HrefSelectCurrentPatientList;\r\n }\r\n else {\r\n GlobalHeaderLeft_PrepDataForNavigationRestore();\r\n GlobalHeaderLeft_RefreshPatient(data.id, data.tfid, data.tot, data.caption, false, null, true);\r\n }\r\n }\r\n else {\r\n //navigation not possible\r\n ReportGridAjax_ErrorHandler(globalHeaderLeft_Error_PatientSelectionNotPossible, null);\r\n }\r\n}\r\n"]}