{"version":3,"sources":["app/professionalssearch.js"],"names":["define","$","ajax","$dropdowns","History","window","searchServiceGuids","Array","searchLevelGuids","searchOfficeGuids","searchKeyword","firstnameKeyword","lastnameKeyword","searchLetter","pageCount","parseInt","text","totalProfessionalsFound","currentPage","professionalResults","sortField","escapeHtml","str","div","document","createElement","appendChild","createTextNode","innerHTML","updateFacadeText","facadeEl","$selectedItem","currentText","$this","this","find","length","$facadeEl","siblings","executeSearchClick","e","keywordSearchType","target","data","keyWord","val","remove","append","getKeywordSearchFilterBreadcrumb","isRelevancySearch","removeClass","addClass","GetSearchCriteria","GetAvailableFilters","BindRemoveCriteriaClick","width","animate","scrollTop","offset","top","show","hide","newSearchKeyword","updateHistory","newFirstnameKeyword","newLastnameKeyword","each","selectedOption","hasClass","obj","Object","Guid","attr","push","ResetSearch","scroll","html","removeAttr","prop","parent","call","uri","location","toString","indexOf","clean_uri","substring","history","replaceState","title","fadeOut","promise","done","ShowSearchResults","FilterFilters","serviceGuids","levelGuids","officeGuids","inArray","children","not","type","url","JSON","stringify","keyword","firstname","lastname","letter","skip","take","contentType","dataType","beforeSend","ajaxQ","abortAll","success","response","d","Attorneys","TotalProfessionalsFound","fadeIn","ServiceGuids","LevelGuids","OfficeGuids","ajaxUrl","slice","join","p","error","xhr","ajaxOptions","thrownError","unbind","click","searchType","currURL","getState","removeQueryString","dataGuid","selector","closest","queryStringBefore","host","currQueryString","queryStringAfter","newQueryString","qmIDX","startIDX","endIDX","charAt","replace","stateObj","href","pushState","encodeURIComponent","keywordValue","getParameterByName","name","results","RegExp","exec","search","decodeURIComponent","keyWordType","off","on","change","$self","keypress","which","trim","toUpperCase","orderArray","sets","split","keyValueArray","i","keyVals","value","parseQueryStringForOrder","keywordSearchValue"],"mappings":"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","file":"professionalssearch.js","sourcesContent":["define(['jquery', 'jquery.history', 'ajaxrequesttracker'], function ($) {\r\n\r\n    var History = window.History;\r\n\r\n    var searchServiceGuids = new Array();\r\n    var searchLevelGuids = new Array();\r\n    var searchOfficeGuids = new Array();\r\n    var searchKeyword = \"\"; //original keyword search\r\n    var firstnameKeyword = \"\";\r\n    var lastnameKeyword = \"\";\r\n    var searchLetter = \"\";\r\n    var pageCount = parseInt($(\"#hiddenPageCount\").text());\r\n    var totalProfessionalsFound = 0;\r\n\r\n    var currentPage = 0;\r\n    var professionalResults = new Array();\r\n    var sortField = '';\r\n    var stateObj = [];\r\n    var ajax;\r\n\r\n    function escapeHtml(str) {\r\n        var div = document.createElement('div');\r\n        div.appendChild(document.createTextNode(str));\r\n        return div.innerHTML;\r\n    };\r\n\r\n    $(\".selector.filter-options__keyword\").click(function () {\r\n        if ($(this).hasClass(\"is-disabled\"))\r\n            return;\r\n        if ($(this).hasClass(\"is-selected\")) {\r\n            $(this).removeClass(\"is-selected\");\r\n            var selector = $(\".form-results__criteria\").find('[data-guid=\"' + $(this).attr(\"data-guid\") + '\"]')\r\n            $(selector).remove();\r\n        }\r\n        else {\r\n            var keyWordType = ($(this).parent().parent().parent()).attr(\"data-tabname\");\r\n            //todo(?) this adds an empty breadcrumb on an empty search\r\n            $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"' + keyWordType + '\" data-guid=\"' + $(this).attr(\"data-guid\") + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + $(this).text() + '</a>');\r\n            $(this).addClass(\"is-selected\");\r\n\r\n            updateHistory({}, keyWordType, $(this).attr(\"data-guid\"));\r\n        }\r\n\r\n        currentPage = 0;\r\n        GetSearchCriteria();\r\n        GetAvailableFilters()\r\n        BindRemoveCriteriaClick();\r\n    });\r\n\r\n    function updateFacadeText(facadeEl) {\r\n        var $this = $(this),\r\n            $selectedItem,\r\n            $siblingEl,\r\n            currentText;\r\n\r\n        $selectedItem = $this.find(':selected');\r\n\r\n        if (!$selectedItem.length) { return; }\r\n\r\n        // get the facade element used to display\r\n        // the text of the selected option\r\n        $facadeEl = $this.siblings(facadeEl);\r\n\r\n        // get 'value' attribute value for selected option\r\n        currentText = $selectedItem.text();\r\n\r\n        // update select text label with current selected option value\r\n        if ($facadeEl.length && currentText.length) {\r\n            $facadeEl.text(currentText);\r\n        }\r\n    }\r\n\r\n    // execute this once the DOMContentLoaded has fired (dom ready)\r\n    $(function (context, targetEl, facadeEl) {\r\n\r\n        var $dropdowns = $(context).find(targetEl);\r\n\r\n        var eventNamespace = context;\r\n\r\n        if ($dropdowns.length) {\r\n            $dropdowns\r\n                .off(eventNamespace)\r\n                .on('change' + eventNamespace, function () {\r\n                    updateFacadeText.call(this, facadeEl);\r\n                })\r\n        }\r\n\r\n    }('.selector-ele', 'select', 'span'));\r\n\r\n    $(\".select-service\").change(function () {\r\n\r\n        var $self = $(this);\r\n\r\n        $self\r\n            .attr(\"disabled\", \"true\")\r\n            .parent().addClass('is-disabled');\r\n\r\n        var selectedOption = $self.find(\"option:selected\");\r\n        $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"' + $(selectedOption).attr(\"data-type\") + '\" data-guid=\"' + $(selectedOption).attr(\"data-guid\") + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + $(selectedOption).text() + '</a>');\r\n\r\n        updateHistory({}, $(selectedOption).attr(\"data-type\"), $(selectedOption).attr(\"data-guid\"));\r\n\r\n        currentPage = 0;\r\n        GetSearchCriteria();\r\n        GetAvailableFilters();\r\n        BindRemoveCriteriaClick();\r\n    });\r\n\r\n    $(\".form-results__clear\").click(function () {\r\n        searchServiceGuids = new Array();\r\n        searchLevelGuids = new Array();\r\n        searchOfficeGuids = new Array();\r\n\r\n        ResetSearch();\r\n        GetAvailableFilters();\r\n    });\r\n\r\n    function executeSearchClick(e) {\r\n        var keywordSearchType = $(e.target).data('type');\r\n        var keyWord = $(\".search-form__input.\" + keywordSearchType).val();\r\n\r\n        if (keyWord) {\r\n            $(\".form-results__keyword.keyword-field\").remove();\r\n            $(\".form-results__criteria\").append(getKeywordSearchFilterBreadcrumb(keywordSearchType, keyWord));\r\n        }\r\n\r\n        //add relevance sort type when applicable\r\n        //keywords are not updated in time to use this function\r\n        if (isRelevancySearch() && (keywordSearchType != \"firstname\") && (keywordSearchType != \"lastname\")) {\r\n            $(\".filtering__action\").removeClass(\"is-active\");\r\n            sortField = 'relevance'\r\n        }\r\n        else {\r\n            $(\".filtering__action.title\").addClass(\"is-active\");\r\n            sortField = \"title\";\r\n        }\r\n\r\n        currentPage = 0;\r\n        GetSearchCriteria();\r\n        GetAvailableFilters()\r\n        BindRemoveCriteriaClick();\r\n    }\r\n\r\n    $(\".search-form button\").click(function (e) {\r\n        executeSearchClick(e);\r\n    });\r\n\r\n    $(\".search-form__input\").keypress(function (e) {\r\n        if (e.which == 13) {\r\n            executeSearchClick(e);\r\n            return false;\r\n        }\r\n    });\r\n\r\n    $(\".filtering__action.title\").click(function () {\r\n        sortField = \"title\";\r\n        currentPage = 0;\r\n        pageCount = parseInt($(\"#hiddenPageCount\").text());\r\n        $(\".listing.professional-results\").html(\"\");\r\n        GetSearchCriteria();\r\n        GetAvailableFilters();\r\n        BindRemoveCriteriaClick();\r\n        $(\".filtering__action\").removeClass(\"is-active\");\r\n        $(this).addClass(\"is-active\")\r\n    });\r\n\r\n    $(\".filtering__action.name\").click(function () {\r\n        sortField = \"name\";\r\n        currentPage = 0;\r\n        pageCount = parseInt($(\"#hiddenPageCount\").text());\r\n        $(\".listing.professional-results\").html(\"\");\r\n        GetSearchCriteria();\r\n        GetAvailableFilters()\r\n        BindRemoveCriteriaClick();\r\n        $(\".filtering__action\").removeClass(\"is-active\");\r\n        $(this).addClass(\"is-active\")\r\n    });\r\n\r\n    $(\".btn-accordion.search\").click(function () {\r\n        ShowSearchResults();\r\n    });\r\n\r\n    $(\".letterPicker__letter\").click(function () {\r\n        if ($(\".form-results__keyword\").length != 0) {  //mobile scroll\r\n            ResetSearch(false);\r\n        }\r\n        searchLetter = $(this).text().trim().toUpperCase();\r\n        $(\".form-results__criteria\").append('<a role=\"button\" class=\"btn btn-grey  form-results__keyword letter-field\" href=\"javascript:void(0)\">' + searchLetter + '</a>');\r\n\r\n        updateHistory({}, \"letter\", searchLetter);\r\n\r\n        currentPage = 0;\r\n        GetSearchCriteria();\r\n        GetAvailableFilters()\r\n        BindRemoveCriteriaClick();\r\n    });\r\n\r\n    function GetSearchCriteria() {\r\n\r\n        if ($(\".form-results__keyword\").length != 0) {  //mobile scroll\r\n            if ($(\"body\").width() < 750) {\r\n                $('html, body').animate({\r\n                    scrollTop: $(\".site-main--interior\").offset().top - 75\r\n                }, 1000);\r\n            }\r\n        }\r\n\r\n        $(\".loading-image\").show();\r\n        $(\".professional-features\").hide();\r\n        $(\".professional-search\").show();\r\n        $(\".form-results\").show();\r\n\r\n        //always check all three text inputs in case they change multiple before submitting once\r\n        var newSearchKeyword = escapeHtml($(\".search-form__input.keyword\").val());\r\n        if (newSearchKeyword != searchKeyword) {\r\n            searchKeyword = newSearchKeyword;\r\n            updateHistory({}, \"keyword\", searchKeyword);\r\n        }\r\n\r\n        if (searchKeyword != \"\") {\r\n            if ($(\".form-results__keyword.keyword-field.keyword\").length == 0)\r\n                $(\".form-results__criteria\").append(getKeywordSearchFilterBreadcrumb(\"keyword\", searchKeyword));\r\n        }\r\n\r\n        var newFirstnameKeyword = escapeHtml($(\".search-form__input.firstname\").val());\r\n        if (newFirstnameKeyword != firstnameKeyword) {\r\n            firstnameKeyword = newFirstnameKeyword;\r\n            updateHistory({}, \"firstname\", firstnameKeyword);\r\n        }\r\n\r\n        if (firstnameKeyword != \"\") {\r\n            if ($(\".form-results__keyword.keyword-field.firstname\").length == 0)\r\n                $(\".form-results__criteria\").append(getKeywordSearchFilterBreadcrumb(\"firstname\", firstnameKeyword));\r\n        }\r\n\r\n        var newLastnameKeyword = escapeHtml($(\".search-form__input.lastname\").val());\r\n        if (newLastnameKeyword != lastnameKeyword) {\r\n            lastnameKeyword = newLastnameKeyword;\r\n            updateHistory({}, \"lastname\", lastnameKeyword);\r\n        }\r\n\r\n        if (lastnameKeyword != \"\") {\r\n            if ($(\".form-results__keyword.keyword-field.lastname\").length == 0)\r\n                $(\".form-results__criteria\").append(getKeywordSearchFilterBreadcrumb(\"lastname\", lastnameKeyword));\r\n        }\r\n\r\n        searchServiceGuids = new Array();\r\n        searchLevelGuids = new Array();\r\n        searchOfficeGuids = new Array();\r\n\r\n        $(\".select-service\").each(function () {\r\n            var selectedOption = $(this).find(\"option:selected\");\r\n            if (!$(selectedOption).hasClass(\"selector\"))\r\n                return;\r\n            var obj = new Object();\r\n            obj.Guid = $(selectedOption).attr(\"data-guid\");\r\n            searchServiceGuids.push(obj);\r\n        });\r\n\r\n        $(\".professional-title .selector.is-selected\").each(function () {\r\n            //topics are a keyword search\r\n            var obj = new Object();\r\n            obj.Guid = $(this).attr(\"data-guid\");\r\n            searchLevelGuids.push(obj);\r\n        });\r\n\r\n        $(\".professional-office .selector.is-selected\").each(function () {\r\n            //topics are a keyword search\r\n            var obj = new Object();\r\n            obj.Guid = $(this).attr(\"data-guid\");\r\n            searchOfficeGuids.push(obj);\r\n        });\r\n    }\r\n\r\n    function ResetSearch(scroll) {\r\n        if (scroll != false) {\r\n            $('html, body').animate({\r\n                scrollTop: 0\r\n            }, 1000);\r\n        }\r\n\r\n        if (sortField === 'relevance') {\r\n            sortField = 'title';\r\n            $('.filtering__action.title').addClass(\"is-active\")\r\n        }\r\n\r\n        $(\".form-results__keyword\").remove();\r\n        $(\".search-form__input\").val(\"\");\r\n        searchKeyword = \"\";\r\n        firstnameKeyword = \"\";\r\n        lastnameKeyword = \"\";\r\n        searchLetter = \"\";\r\n\r\n        $(\".form-results\").hide();\r\n        $(\".listing.professional-results\").html(\"\");\r\n        $(\".selector\").removeClass(\"is-selected\");\r\n        $(\".selector\").removeClass(\"is-disabled\");\r\n        $(\".selector\").show();\r\n        $(\".selector\").removeAttr(\"disabled\");\r\n        $(\".filtering.filtering--result-stat\").hide();\r\n        $(\".select-service\").each(function () {\r\n            $(this).find(\"option[value='-1']\").prop('selected', true);\r\n\r\n            $(this)\r\n                .removeAttr(\"disabled\")\r\n                .parent().removeClass('is-disabled');\r\n\r\n            updateFacadeText.call(this, 'span');\r\n        });\r\n\r\n        $(\".btn-accordion.search\").hide();\r\n        $(\".professional-features\").show();\r\n        $(\".loading-image\").hide();\r\n\r\n        //resetting url querystring\r\n        var uri = window.location.toString();\r\n        if (uri.indexOf(\"?\") > 0) {\r\n            var clean_uri = uri.substring(0, uri.indexOf(\"?\"));\r\n            window.history.replaceState({}, document.title, clean_uri);\r\n        }\r\n\r\n        currentPage = 0;\r\n    }\r\n\r\n    function GetAvailableFilters() {\r\n        $(\".listing.professional-results\").fadeOut(\"fast\", function () {\r\n            $(\".listing.professional-results\").html(\"\");\r\n        }).promise().done(function () {\r\n            if ($(\".form-results__keyword\").length == 0) {\r\n                ResetSearch();\r\n                $(\".btn-accordion.search\").hide();\r\n            }\r\n\r\n            if (isRelevancySearch() && sortField === '') {\r\n                sortField = 'relevance'\r\n            } else if (!isRelevancySearch() && (sortField == 'relevance' || sortField == '')) {\r\n                sortField = 'title'\r\n            }\r\n\r\n            ShowSearchResults();\r\n        });\r\n    }\r\n\r\n    function FilterFilters(serviceGuids, levelGuids, officeGuids) {\r\n        $(\".recent-listings\").hide();\r\n        //disable all selectors\r\n        $(\".selector\").addClass(\"is-disabled\");\r\n        $(\".select-service .selector\").hide();\r\n        $(\".select-service .selector\").attr(\"disabled\", \"disabled\");\r\n        //then reanable\r\n        $(\".selector\").each(function () {\r\n            if ($.inArray($(this).attr(\"data-guid\"), serviceGuids) >= 0) {\r\n                $(this).show();\r\n                $(this).removeClass(\"is-disabled\");\r\n                $(this).removeAttr(\"disabled\");\r\n            }\r\n\r\n            if ($.inArray($(this).attr(\"data-guid\"), levelGuids) >= 0)\r\n                $(this).removeClass(\"is-disabled\");\r\n            if ($.inArray($(this).attr(\"data-guid\"), officeGuids) >= 0)\r\n                $(this).removeClass(\"is-disabled\");\r\n        });\r\n\r\n        $(\".select-service\").each(function () {\r\n            if ($(this).children().not(\".is-disabled\").length == 1) {\r\n                $(this).attr(\"disabled\", \"true\").parent().addClass('is-disabled');\r\n            }\r\n        });\r\n    }\r\n\r\n    function ShowSearchResults() {\r\n        $(\".btn-accordion.search\").hide();\r\n\r\n        ajax = $.ajax({\r\n            type: \"POST\",\r\n            url: \"/Layouts/WebUserControls/Main/Professionals/ProfessionalsSearchService.asmx/FilterMenu\",\r\n            data: JSON.stringify({ \r\n                searchServiceGuids: searchServiceGuids, \r\n                searchLevelGuids: searchLevelGuids, \r\n                searchOfficeGuids: searchOfficeGuids, \r\n                keyword: searchKeyword, \r\n                firstname: firstnameKeyword, \r\n                lastname: lastnameKeyword, \r\n                sortField: sortField, \r\n                letter: escapeHtml(searchLetter),\r\n                skip: (currentPage * pageCount),\r\n                take: pageCount\r\n             }),\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.Attorneys;\r\n                totalProfessionalsFound = response.d.TotalProfessionalsFound;\r\n                currentPage = currentPage;\r\n                pageCount = parseInt($(\"#hiddenPageCount\").text());\r\n\r\n                currentPage++;\r\n\r\n                if (totalProfessionalsFound == 0) {\r\n                    $(\".loading-image\").hide();\r\n                    $(\".filtering.filtering--result-stat\").fadeIn('slow');\r\n\r\n                    FilterFilters(response.d.ServiceGuids, response.d.LevelGuids, response.d.OfficeGuids);\r\n                    $(\".filtering__results\").text(\"Result(s): \" + response.d.TotalProfessionalsFound);\r\n\r\n                    return;\r\n                }\r\n        \r\n                if (currentPage * pageCount < totalProfessionalsFound)\r\n                    $(\".btn-accordion.search\").show();\r\n        \r\n                var guidArray = professionalResults.slice(0, pageCount);\r\n                var ajaxUrl = \"/Layouts/WebUserControls/Main/Professionals/AjaxLoadListItems.aspx?guidArray=\" + guidArray.join(\",\");\r\n        \r\n                $.ajax({ url: ajaxUrl })\r\n                    .done(function (p) {\r\n                        $(\".listing.professional-results\").append(p);\r\n                        $(\".listing.professional-results\").fadeIn('slow');\r\n                        $(\".filtering.filtering--result-stat\").fadeIn('slow');\r\n                        $(\".loading-image\").hide();\r\n                    });\r\n\r\n                FilterFilters(response.d.ServiceGuids, response.d.LevelGuids, response.d.OfficeGuids);\r\n                $(\".filtering__results\").text(\"Result(s): \" + response.d.TotalProfessionalsFound);\r\n            },\r\n            error: function (xhr, ajaxOptions, thrownError) {\r\n            }\r\n        });\r\n    }\r\n\r\n    function BindRemoveCriteriaClick() {\r\n        //remove search\r\n        $(\".form-results__keyword\").unbind();\r\n        $(\".form-results__keyword\").click(function () {\r\n            if ($(this).hasClass(\"keyword-field\")) {\r\n\r\n                //is this firstname, keyword, or lastname removal click?\r\n                var searchType = $(this).data('type');\r\n\r\n                $(\".search-form__input.\" + searchType).val(\"\");\r\n                var currURL = History.getState().url;\r\n\r\n                switch (searchType) {\r\n                    case \"keyword\":\r\n                        History.replaceState({}, \"\", removeQueryString(currURL, \"keyword\", searchKeyword));\r\n                        searchKeyword = \"\";\r\n                        break;\r\n                    case \"firstname\":\r\n                        History.replaceState({}, \"\", removeQueryString(currURL, \"firstname\", firstnameKeyword));\r\n                        firstnameKeyword = \"\";\r\n                        break;\r\n                    case \"lastname\":\r\n                        History.replaceState({}, \"\", removeQueryString(currURL, \"lastname\", lastnameKeyword));\r\n                        lastnameKeyword = \"\";\r\n                        break;\r\n                }\r\n            }\r\n            else if ($(this).hasClass(\"letter-field\")) {\r\n                var currURL = History.getState().url;\r\n                History.replaceState({}, \"\", removeQueryString(currURL, \"letter\", searchLetter));\r\n                searchLetter = \"\";\r\n            }\r\n            else {\r\n                var dataGuid = $(this).attr(\"data-guid\");\r\n                var dataType = $(this).attr(\"data-type\");\r\n                $('[data-guid=\"' + dataGuid + '\"]').removeClass(\"is-selected\");\r\n                $('[data-guid=\"' + dataGuid + '\"]').prop(\"selected\", false);\r\n                var parent = $('#' + dataType);\r\n                var selector = $(parent).find(\".select-service\").find('[data-guid=\"' + dataGuid + '\"]');\r\n\r\n                $(parent).prop(\"disabled\", false);\r\n\r\n                $(parent).parent().removeClass(\"is-disabled\");\r\n                $(selector).removeClass(\"is-selected\");\r\n\r\n                $(parent).find(\"option[value='-1']\").attr('selected', 'selected');\r\n\r\n                updateFacadeText.call($(selector).parent(), 'span');\r\n                $(selector).closest('.selector-ele').removeClass(\"is-disabled\");\r\n\r\n                var currURL = History.getState().url;\r\n                History.replaceState({}, \"\", removeQueryString(currURL, dataType, dataGuid));\r\n            }\r\n\r\n            currentPage = 0;\r\n            $(this).remove();\r\n            GetSearchCriteria();\r\n            GetAvailableFilters()\r\n        });\r\n    }\r\n\r\n    function removeQueryString(currURL, dataType, dataGuid) {\r\n        var currQueryString = dataType + \"=\" + dataGuid;\r\n        var queryStringBefore = \"\";\r\n        var queryStringAfter = \"\";\r\n        var host = \"\";\r\n        var newQueryString = \"\";\r\n\r\n        //index of question mark\r\n        var qmIDX = currURL.indexOf(\"?\");\r\n\r\n        //subtract one to include ? or & char\r\n        var startIDX = currURL.indexOf(currQueryString) - 1;\r\n\r\n        var endIDX = currQueryString.length + startIDX + 1;\r\n\r\n        queryStringBefore = currURL.substring(qmIDX, startIDX);\r\n        host = currURL.substring(0, qmIDX);\r\n\r\n        if (endIDX == currURL.length) {\r\n            queryStringAfter = \"\";\r\n        } else {\r\n            queryStringAfter = currURL.substring(endIDX, currURL.length);\r\n        }\r\n\r\n        if (queryStringBefore == \"\" && queryStringAfter == \"\") {\r\n            return host;\r\n        } else {\r\n            newQueryString = queryStringBefore + queryStringAfter;\r\n            if (newQueryString.charAt(0) == \"&\") {\r\n                newQueryString = newQueryString.replace(\"&\", \"?\");\r\n            }\r\n            return newQueryString;\r\n        }\r\n    }\r\n\r\n    function updateHistory(stateObj, dataType, dataGuid) {\r\n        if (window.location.href.toString().indexOf(\"?\") == -1) {\r\n            History.pushState({}, document.title, \"?\" + dataType + \"=\" + encodeURIComponent(dataGuid));\r\n        }\r\n        else if (dataType == \"letter\") {\r\n            History.replaceState({}, document.title, \"?\" + dataType + \"=\" + encodeURIComponent(dataGuid))\r\n        }\r\n        else if ((dataType == \"keyword\" || dataType == \"firstname\" || dataType == \"lastname\") && window.location.href.toString().indexOf(dataType) > -1) {\r\n            if (dataGuid == \"\") {\r\n                var currURL = History.getState().url;\r\n                var keywordValue = getParameterByName(dataType);\r\n                History.replaceState({}, document.title, removeQueryString(currURL, dataType, keywordValue));\r\n            } else {\r\n                var currURL = History.getState().url;\r\n                var keywordValue = getParameterByName(dataType);\r\n                var updatedKeywordQuery = History.getState().url.replace(dataType + \"=\" + keywordValue, dataType + \"=\" + dataGuid);\r\n                var newQueryString = removeQueryString(currURL, dataType, keywordValue);\r\n                if (window.location.href.toString().indexOf(\"?\" + dataType) > -1) {\r\n                    History.replaceState({}, document.title, newQueryString + \"?\" + dataType + \"=\" + dataGuid);\r\n                } else {\r\n                    History.replaceState({}, document.title, newQueryString + \"&\" + dataType + \"=\" + dataGuid);\r\n                }\r\n            }\r\n        } else if (window.location.href.toString().indexOf(\"?\") > -1 && window.location.href.toString().indexOf(dataGuid) == -1) {\r\n            History.replaceState({}, document.title, History.getState().url += \"&\" + dataType + \"=\" + encodeURIComponent(dataGuid));\r\n        }\r\n    }\r\n\r\n    function getParameterByName(name) {\r\n        name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n        var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n            results = regex.exec(location.search);\r\n        return results == null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n    }\r\n\r\n    function getParametersByName(name) {\r\n        var parts = location.search.replace('?', '').split('&');\r\n        var arr = [];\r\n        for (var i = 0; i < parts.length; i++) {\r\n            var part = parts[i].split('=');\r\n            if (part[0] == name)\r\n                arr.push(part[1]);\r\n        }\r\n        return arr;\r\n    }\r\n\r\n    function parseQueryStringForOrder() {\r\n        var queryString = window.location.search;\r\n\r\n        var sets = queryString.replace(\"?\", \"\").split(\"&\");\r\n        var keyValueArray = [];\r\n\r\n        for (var i = 0; i < sets.length; i++) {\r\n            var keyVals = sets[i].split('=');\r\n            keyValueArray.push({ name: keyVals[0], value: keyVals[1] });\r\n        }\r\n\r\n        return keyValueArray;\r\n    }\r\n\r\n    function isRelevancySearch() {\r\n        if (firstnameKeyword || lastnameKeyword)\r\n            return false;\r\n        if (searchServiceGuids.length === 0 && searchLevelGuids.length === 0 && searchOfficeGuids.length === 0 && searchLetter === '')\r\n            return true;\r\n        return false;\r\n    }\r\n\r\n    function getKeywordSearchFilterBreadcrumb(keywordSearchType, text) {\r\n        return '<a role=\"button\" data-type=\"' + keywordSearchType + '\" class=\"btn btn-grey  form-results__keyword keyword-field ' + keywordSearchType + ' \" href=\"javascript:void(0)\">' + text + '</a>'\r\n    }\r\n\r\n    $(function () {\r\n        if (window.location.href.indexOf(\"?\") > -1) {\r\n\r\n            searchServiceGuids = new Array();\r\n            searchLevelGuids = new Array();\r\n            searchOfficeGuids = new Array();\r\n\r\n            var orderArray = parseQueryStringForOrder();\r\n\r\n            for (var i = 0; i < orderArray.length; i++) {\r\n                if (orderArray[i].name == \"practice\") {\r\n                    var selectedOption = $('.select-service option[data-guid=\"' + orderArray[i].value + '\"]');\r\n                    $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"practice\" data-guid=\"' + orderArray[i].value + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + selectedOption[0].text + '</a>');\r\n                    selectedOption.attr(\"selected\", \"selected\");\r\n\r\n                    BindRemoveCriteriaClick();\r\n                } else if (orderArray[i].name == \"industry\") {\r\n                    var selectedOption = $('.select-service option[data-guid=\"' + orderArray[i].value + '\"]');\r\n                    $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"industry\" data-guid=\"' + orderArray[i].value + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + selectedOption[0].text + '</a>');\r\n                    selectedOption.attr(\"selected\", \"selected\");\r\n\r\n                    BindRemoveCriteriaClick();\r\n                } else if (orderArray[i].name == \"region\") {\r\n                    var selectedOption = $('.select-service option[data-guid=\"' + orderArray[i].value + '\"]');\r\n                    $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"region\" data-guid=\"' + orderArray[i].value + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + selectedOption[0].text + '</a>');\r\n                    selectedOption.attr(\"selected\", \"selected\");\r\n\r\n                    BindRemoveCriteriaClick();\r\n                } else if (orderArray[i].name == \"office\") {\r\n                    $(\".professional-office .selector\").each(function () {\r\n                        if (orderArray[i].value == $(this).attr(\"data-guid\")) {\r\n                            $(this).addClass(\"is-selected\");\r\n                            $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"office\" data-guid=\"' + orderArray[i].value + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + $(this).text() + '</a>');\r\n                            BindRemoveCriteriaClick();\r\n                        }\r\n                    });\r\n                } else if (orderArray[i].name == \"title\") {\r\n                    $(\".professional-title .selector\").each(function () {\r\n                        if (orderArray[i].value == $(this).attr(\"data-guid\")) {\r\n                            $(this).addClass(\"is-selected\");\r\n                            $(\".form-results__criteria\").append('<a role=\"button\" data-type=\"title\" data-guid=\"' + orderArray[i].value + '\" class=\"btn btn-grey  form-results__keyword\" href=\"javascript:void(0)\">' + $(this).text() + '</a>');\r\n                            BindRemoveCriteriaClick();\r\n                        }\r\n                    });\r\n                } else if (orderArray[i].name == \"keyword\" || orderArray[i].name == \"firstname\" || orderArray[i].name == \"lastname\") {\r\n                    while (orderArray[i].value.indexOf(\"%20\") > 0) {\r\n                        orderArray[i].value = orderArray[i].value.replace(\"%20\", \" \");\r\n                    }\r\n                    var keywordSearchType = orderArray[i].name;\r\n                    var keywordSearchValue = orderArray[i].value;\r\n\r\n                    $(\".search-form__input.\" + keywordSearchType).val(keywordSearchValue);\r\n                    $(\".form-results__criteria\").append(getKeywordSearchFilterBreadcrumb(keywordSearchType, keywordSearchValue));\r\n\r\n                    BindRemoveCriteriaClick();\r\n                } else if (orderArray[i].name == \"letter\") {\r\n                    searchLetter = orderArray[i].value;\r\n                    $(\".form-results__criteria\").append('<a role=\"button\" class=\"btn btn-grey  form-results__keyword letter-field\" href=\"javascript:void(0)\">' + orderArray[i].value + '</a>');\r\n\r\n                    BindRemoveCriteriaClick();\r\n                }\r\n            }\r\n\r\n            GetSearchCriteria();\r\n            GetAvailableFilters();\r\n        }\r\n    });\r\n});"]}