{"version":3,"sources":["app/officedetail.js"],"names":["define","$","Masonry","imagesLoaded","ajax","itemguid","attr","publicationResults","Array","newsResults","eventsResults","publicationPage","newsPage","eventPage","sortField","currentProfessionalsPage","professionalsPageCount","parseInt","text","professionalResults","manualStateChange","LoadContent","removeClass","tab","currentTab","queryString","window","location","search","params","substring","split","i","length","undefined","find","decodeURIComponent","UpdateTitleTag","addClass","LoadTab","index","show","hide","ajaxUrl","url","done","p","html","click","this","LoadProfessionals","LoadPublications","type","data","JSON","stringify","entityGuid","contentType","dataType","success","response","d","currentUpcoming","RecursiveLoadListItems","error","xhr","ajaxOptions","thrownError","LoadRecentEvents","LoadNews","fadeIn","publicationPageSize","startPage","pageSize","pop","newsPageSize","eventsPageSize","sortDirection","beforeSend","ajaxQ","abortAll","RunRecursiveAjaxCalls","append","LoadProfressionalItems","items","targetElement","showAdditionalFields","titleTag","titleTagParts","namePart","indexOf","replace","History","getState","Adapter","bind","State","trigger","e","preventDefault","protocol","host","pathname","join","tabName","tabIndex","pushState","encodeURIComponent"],"mappings":"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","file":"officedetail.js","sourcesContent":["define(['jquery', 'masonry', 'imagesLoaded', 'jquery.history', 'ajaxrequesttracker'], function ($, Masonry, imagesLoaded) {\r\n\r\n    var itemguid = $(\"#secondaryMenu\").attr(\"data-guid\");\r\n    var publicationResults = new Array();\r\n    var newsResults = new Array();\r\n    var eventsResults = new Array();\r\n    var publicationPage = 1;\r\n    var newsPage = 1;\r\n    var eventPage = 1;\r\n    var sortField = \"title\";\r\n    var currentProfessionalsPage = 1;\r\n    var professionalsPageCount = parseInt($(\"#hiddenPageCount\").text());\r\n    var professionalResults = new Array();\r\n    var rebindExpandCollapse = false;\r\n    var manualStateChange = false;\r\n    var ajax;\r\n\r\n    LoadContent();\r\n\r\n    (function (window, undefined) {\r\n        // Define variables\r\n        var History = window.History,\r\n            State = History.getState();\r\n\r\n        // Bind statechange event\r\n        History.Adapter.bind(window, 'statechange', function () {\r\n            var State = History.getState();\r\n            if (manualStateChange == true) {\r\n                LoadContent(decodeURIComponent(State.data.tab));\r\n                $('.nav__link.is-active').trigger('mouseover');\r\n            }\r\n            manualStateChange = true;\r\n        });\r\n\r\n    })(window)\r\n\r\n    $(\".secondary-tabs .nav__item .nav__link\").click(function (e) {\r\n        e.preventDefault();\r\n        var url = [location.protocol, '//', location.host, location.pathname].join('');\r\n        var tab = $(this).text();\r\n        var tabName = $(this).attr(\"data-tabname\");\r\n        var tabIndex = $(this).attr(\"data-tabindex\");\r\n        UpdateTitleTag(decodeURIComponent(tab));\r\n        manualStateChange = true;\r\n        History.pushState({ tab: tabIndex }, $(\"title\").text(), \"?tab=\" + encodeURIComponent(tabName));\r\n\r\n    });\r\n\r\n    function LoadContent() {\r\n        $(\".secondary-tabs .nav__link\").removeClass(\"is-active\");\r\n        var queryString = window.location.search;\r\n        queryString = queryString.substring(1);\r\n        var params = queryString.split(\"&\");\r\n        var tab;\r\n        for (i = 0; i < params.length; i++) {\r\n            var temp = params[i].split(\"=\");\r\n            tab = temp[1];\r\n        }\r\n        var currentTab;\r\n        if (tab === undefined)\r\n            currentTab = $(\".secondary-tabs .nav__link\")[0];\r\n        else\r\n            currentTab = $(\".secondary-tabs\").find('[data-tabname=\"' + decodeURIComponent(tab) + '\"]');\r\n\r\n        $(\".tabs__label\").text($(currentTab).text());\r\n        UpdateTitleTag($(currentTab).text());\r\n        $(currentTab).addClass(\"is-active\");\r\n        var index = $(currentTab).attr(\"data-tabindex\");\r\n        LoadTab(index);\r\n    }\r\n\r\n    function LoadTab(index) {\r\n        $(\".loading-image\").show();\r\n        $(\".site-main.site-main--interior\").hide();\r\n        $(\".site-footer\").hide();\r\n\r\n        if (index == \"1\") {\r\n            ajaxUrl = \"/Layouts/WebUserControls/Main/Offices/tabs/AjaxLoadProfessionals.aspx?officeGuid=\" + itemguid;\r\n            $.ajax({ url: ajaxUrl }).done(function (p) {\r\n                $(\".tab-wrapper.col--main.col--main--reverse\").html(p);\r\n                currentProfessionalsPage = 1;\r\n                BindAttorneyFilters();\r\n                LoadProfessionals();\r\n            });\r\n        }\r\n        else if (index == \"2\") {\r\n            ajaxUrl = \"/Layouts/WebUserControls/Main/Offices/tabs/AjaxLoadInsights.aspx?officeGuid=\" + itemguid;\r\n            $.ajax({ url: ajaxUrl }).done(function (p) {\r\n                $(\".tab-wrapper.col--main.col--main--reverse\").html(p);\r\n                publicationPage = 1;\r\n                eventPage = 1;\r\n                LoadPublications();\r\n                LoadUpcomingEvents();\r\n                LoadRecentEvents();\r\n\r\n                $(\".js-accordion-trigger.publications\").click(function () {\r\n                    LoadPublications();\r\n                });\r\n                $(\".js-accordion-trigger.recent-events\").click(function () {\r\n                    LoadRecentEvents();\r\n                });\r\n            });\r\n        }\r\n        else if (index == \"3\") {\r\n            ajaxUrl = \"/Layouts/WebUserControls/Main/Offices/tabs/AjaxLoadNews.aspx?officeGuid=\" + itemguid;\r\n            $.ajax({ url: ajaxUrl }).done(function (p) {\r\n                $(\".tab-wrapper.col--main.col--main--reverse\").html(p);\r\n                newsPage = 1;\r\n                LoadNews();\r\n\r\n                $(\".js-accordion-trigger.news\").click(function () {\r\n                    LoadNews();\r\n                });\r\n            });\r\n        }\r\n        else {\r\n            ajaxUrl = \"/Layouts/WebUserControls/Main/Offices/tabs/AjaxLoadFactSheet.aspx?officeGuid=\" + itemguid;\r\n\r\n            $.ajax({ url: ajaxUrl }).done(function (p) {\r\n                $(\".tab-wrapper.col--main.col--main--reverse\").html(p);\r\n                $(\".site-main.site-main--interior\").fadeIn('slow');\r\n                $(\".site-footer\").fadeIn('slow');\r\n                $(\".loading-image\").hide();\r\n            });\r\n        }\r\n    }\r\n\r\n    function LoadPublications() {\r\n        var publicationPageSize = parseInt($(\".js-accordion-trigger.publications\").attr(\"data-page-size\"));\r\n\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Insights/InsightSearchService.asmx/GetRelatedPublications\",\r\n            data: JSON.stringify({ entityGuid: itemguid, startPage: publicationPage, pageSize: publicationPageSize + 1 }), //add 1 so we can tell if there are more to load\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            success: function (response) {\r\n                publicationResults = response.d;\r\n\r\n                if (publicationResults.length == 0 && publicationPage == 1) {\r\n                    $(\".mod.mod-insights.publications\").hide();\r\n                    return;\r\n                }\r\n\r\n                if (publicationResults.length <= publicationPageSize)\r\n                    $(\".js-accordion-trigger.publications\").hide();\r\n                else\r\n                    publicationResults.pop();       //get arid of last result it was just to check if there were more\r\n\r\n                RecursiveLoadListItems(0, publicationResults, $(\".mod.mod-insights.publications .articles-list\"))\r\n\r\n                $(\".mod.mod-insights.publications\").show();\r\n\r\n                publicationPage = publicationPage + 1;\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    function LoadNews() {\r\n        var newsPageSize = parseInt($(\".js-accordion-trigger.news\").attr(\"data-page-size\"));\r\n\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Insights/InsightSearchService.asmx/GetRelatedNews\",\r\n            data: JSON.stringify({ entityGuid: itemguid, startPage: newsPage, pageSize: newsPageSize + 1 }), //add 1 so we can tell if there are more to load\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            success: function (response) {\r\n                newsResults = response.d;\r\n                if (newsResults.length == 0 && newsPage == 1) {\r\n                    $(\".mod.mod-news\").hide();\r\n                    return;\r\n                }\r\n                if (newsResults.length <= newsPageSize)\r\n                    $(\".js-accordion-trigger.news\").hide();\r\n                else\r\n                    newsResults.pop();       //get arid of last result it was just to check if there were more\r\n\r\n                RecursiveLoadListItems(0, newsResults, $(\".mod.mod-news .articles-list\"));\r\n                newsPage = newsPage + 1;\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    function LoadUpcomingEvents() {\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Insights/InsightSearchService.asmx/GetRelatedUpcomingEventsNew\",\r\n            data: JSON.stringify({ entityGuid: itemguid }), //add 1 so we can tell if there are more to load\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            success: function (response) {\r\n                eventsResults = response.d;\r\n                var currentUpcoming = $(\".upcoming .articles-list li\").length;\r\n                if (eventsResults.length == 0 && eventPage == 1 && currentUpcoming == 0) {\r\n                    $(\".mod.mod-events .upcoming\").hide();\r\n                    return;\r\n                }\r\n\r\n                RecursiveLoadListItems(0, eventsResults, $(\".mod.mod-events .upcoming .articles-list\"), true);\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    function LoadRecentEvents() {\r\n        var eventsPageSize = parseInt($(\".js-accordion-trigger.recent-events\").attr(\"data-page-size\"));\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Insights/InsightSearchService.asmx/GetRelatedRecentEvents\",\r\n            data: JSON.stringify({ entityGuid: itemguid, startPage: eventPage, pageSize: eventsPageSize + 1 }), //add 1 so we can tell if there are more to load\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            success: function (response) {\r\n                eventsResults = response.d;\r\n                if (eventsResults.length == 0 && eventPage == 1) {\r\n                    $(\".mod.mod-events .recent\").hide();\r\n                    return;\r\n                }\r\n                if (eventsResults.length <= eventsPageSize)\r\n                    $(\".js-accordion-trigger.recent-events\").hide();\r\n                else\r\n                    eventsResults.pop();       //get arid of last result it was just to check if there were more\r\n\r\n                RecursiveLoadListItems(0, eventsResults, $(\".mod.mod-events .recent .articles-list\"), true);\r\n                eventPage = eventPage + 1;\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    function LoadProfessionals() {\r\n        if (currentProfessionalsPage == 1)\r\n            $(\".listing.professional-results\").html(\"\");\r\n\r\n        professionalsPageCount = parseInt($(\"#hiddenPageCount\").text());\r\n\r\n        ajax = $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Professionals/ProfessionalsSearchService.asmx/GetRelatedLawyers\",\r\n            data: JSON.stringify({ entityGuid: itemguid, startPage: currentProfessionalsPage, pageSize: professionalsPageCount + 1, sortDirection: sortField }),\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            beforeSend: function () {\r\n                if (ajax != null) {\r\n                    $.ajaxQ.abortAll();\r\n                }\r\n            },\r\n            success: function (response) {\r\n                professionalResults = response.d;\r\n                professionalsPageCount = parseInt($(\"#hiddenPageCount\").text());\r\n                LoadProfressionalItems();\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    function LoadProfressionalItems() {\r\n        $(\".filtering.filtering--result-stat\").show();\r\n\r\n        if (professionalResults.length == 0) {\r\n            return;\r\n        }\r\n\r\n        if (professionalResults.length <= professionalsPageCount)\r\n            $(\".btn-accordion.professional\").hide();\r\n        else {\r\n            $(\".btn-accordion.professional\").show();\r\n            professionalResults.pop();       //get arid of last result it was just to check if there were more\r\n        }\r\n\r\n        RunRecursiveAjaxCalls(0);\r\n        currentProfessionalsPage++;\r\n    }\r\n\r\n    function RunRecursiveAjaxCalls(i) {\r\n        if (i >= professionalResults.length) {\r\n            $(\".site-main.site-main--interior\").fadeIn('slow');\r\n            $(\".site-footer\").fadeIn('slow');\r\n            $(\".loading-image\").hide();\r\n            return;\r\n        }\r\n\r\n        var ajaxUrl = \"/Layouts/WebUserControls/Main/Professionals/AjaxLoadListItem.aspx?guid=\" + professionalResults[i];\r\n        var loading = false;\r\n\r\n        $.ajax({ url: ajaxUrl })\r\n            .done(function (p) {\r\n                $(\".listing.professional-results\").append(p);\r\n                RunRecursiveAjaxCalls(i + 1);\r\n            });\r\n    }\r\n\r\n    function RecursiveLoadListItems(index, items, targetElement, showAdditionalFields) {\r\n        if (index >= items.length) {\r\n            $(\".site-footer\").fadeIn('slow');\r\n            $(\".site-main.site-main--interior\").fadeIn('slow');\r\n            $(\".loading-image\").hide();\r\n            return;\r\n        }\r\n\r\n        var ajaxUrl = \"/Layouts/WebUserControls/Main/Insights/AjaxLoadListItem.aspx?guid=\" + items[index];\r\n        if (showAdditionalFields)\r\n            ajaxUrl += '&showadditionalfields=true';\r\n\r\n        $.ajax({ url: ajaxUrl })\r\n            .done(function (p) {\r\n                $(targetElement).append(p);\r\n                RecursiveLoadListItems(index + 1, items, targetElement, showAdditionalFields);\r\n            });\r\n    }\r\n\r\n    function UpdateTitleTag(tab) {\r\n        var titleTag;\r\n        var titleTagParts = $(\"title\").text().split(\"|\");\r\n        var namePart = titleTagParts[0];\r\n        if (titleTagParts[0].indexOf(\"-\") != -1)\r\n            namePart = titleTagParts[0].substring(0, titleTagParts[0].indexOf(\"-\"));\r\n        if (tab !== undefined && tab !== 'undefined')\r\n            namePart = namePart + \" - \" + tab;\r\n        titleTag = namePart;\r\n        for (i = 1; i < titleTagParts.length; i++) {\r\n            titleTag = titleTag + \" | \" + titleTagParts[i];\r\n        }\r\n        $(\"title\").text(titleTag.replace(\" and \", \" & \").replace(\"&amp;\", \"&\"));\r\n    }\r\n\r\n    function BindTranslationClick() {\r\n        $(\".translation\").click(function () {\r\n            translationGuid = $(this).attr(\"data-translation-guid\");\r\n            LoadTab(1, translationGuid);\r\n        })\r\n    }\r\n\r\n    function BindAttorneyFilters() {\r\n        $(\".filtering__action.title\").click(function () {\r\n            sortField = \"title\";\r\n            currentProfessionalsPage = 1;\r\n            professionalsPageCount = parseInt($(\"#hiddenPageCount\").text());\r\n            $(\".listing.professional-results\").html(\"\");\r\n            $(\".filtering__action\").removeClass(\"is-active\");\r\n            $(this).addClass(\"is-active\")\r\n            LoadProfessionals();\r\n        })\r\n\r\n        $(\".filtering__action.name\").click(function () {\r\n            sortField = \"name\";\r\n            currentProfessionalsPage = 1;\r\n            professionalsPageCount = parseInt($(\"#hiddenPageCount\").text());\r\n            $(\".listing.professional-results\").html(\"\");\r\n            $(\".filtering__action\").removeClass(\"is-active\");\r\n            $(this).addClass(\"is-active\")\r\n            LoadProfessionals();\r\n        })\r\n\r\n        $(\".btn-accordion.professional\").click(function () {\r\n            LoadProfessionals();\r\n        })\r\n    }\r\n\r\n    function BindAccordion() {\r\n        $('.accordion').click(function () {\r\n            var $this = $(this),\r\n                $list = $this.find('.accordion__list'),\r\n                $active = $('.js-is-active .accordion__list');\r\n\r\n            ($active.length > 0) ?\r\n                $('.js-is-active .accordion__list').slideUp(function () {\r\n                    if (!$this.hasClass('js-is-active')) {\r\n                        $('.accordion').removeClass('js-is-active');\r\n                        $this.addClass('js-is-active');\r\n                        $list.slideDown();\r\n                    }\r\n                    else $this.removeClass('js-is-active');\r\n                }) :\r\n                $list.slideDown(function () { $this.addClass('js-is-active'); });\r\n        });\r\n    }\r\n\r\n    function BindMasonry() {\r\n        var container = document.querySelector('.tab-wrapper.col--main.col--main--reverse');\r\n        if (!!container) {\r\n            imagesLoaded(container, function () {\r\n                $(\".masonry-board\").each(function () {\r\n                    var secondContainer = $(this).get(0);\r\n\r\n                    if (!!secondContainer) {\r\n                        var msnry = new Masonry(secondContainer, {\r\n                            \"gutter\": secondContainer.querySelector('.gutter-sizer'),\r\n                            \"itemSelector\": '.box',\r\n                            \"columnWidth\": secondContainer.querySelector('.grid-sizer'),\r\n                        });\r\n                    }\r\n                })\r\n            });\r\n        };\r\n    }\r\n});"]}