PageSourceSearch

https://min.medicin.dk/Scripts/Medicin.dk/Autosuggest/suggest.js?v=xEmQqfccKtTARsdhraHpBpEfuy4Hrg2059imnkuBXCI

js medicin.dk collected 2026-10-01 11:41:26 UTC 9,398 bytes, 186 lines download raw bytes

1window.suggestSearchResults = [];
2$(document).ready(function () {
3
4    var getSearchfieldInstructionsText = function () {
5        var text = 'Indtast s' + String.fromCharCode(0x00f8) + 'geord...';
6
7        var mobileBrowser = (function (a) {
8            if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) ||
9                /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) return true;
10            return false;
11        })(navigator.userAgent || navigator.vendor || window.opera);
12
13        if (!mobileBrowser) {
14            if (isProMedicinSite()) {
15                text = "S" + String.fromCharCode(0x00f8) + "g i medicin.dk for sundhedsfaglige";
16            }
17            else if (isMinMedicinSite()) {
18                text = "S" + String.fromCharCode(0x00f8) + "g i medicin.dk for borgere";
19            }
20            else if (isIndlaegssedlerSite()) {
21                text = "Find indlægsseddel";
22            }
23        }
24
25        return text;
26    };
27
28    $(document).on('click', function () {
29        var Suggestions = $(".ui-autocomplete");
30        Suggestions.hide();
31    });
32
33    // jQuery escapes html on autocomplete ..
34    $["ui"]["autocomplete"].prototype["_renderItem"] = function (ul, item) {
35        return $("<li></li>")
36            .data("item.autocomplete", item)
37            .append($("<a href='#'></a>").html(item.label))
38            .appendTo(ul);
39    };
40
41    var styleSearchTextFieldLeft = function () {
42        $('.topsearch-searchbox').css('text-align', 'left');
43        $('.topsearch-searchbox').css('color', 'initial');
44    };
45
46    var styleSearchTextFieldCenter = function () {
47        $('.topsearch-searchbox').css('color', 'grey');
48    };
49
50    var suggest_js = function (TextSearchId, isBig) {
51        var TextId = "#" + TextSearchId;
52        var IsBigText = isBig;
53        var searchRequest = null;
54
55        $(TextId).on('keyup', function (e) {
56            if (e.key === "Enter" || e.keyCode === 13) {
57                $(TextId).blur();
58            }
59        });
60
61        $("#magnifierbtn").on('click', function () {
62            $(TextId).blur();
63        });
64
65        (function () {
66            var searchHelpText = "";
67            var searchHelpStyle = "";
68
69            $(TextId).focus();
70
71            var currentInputValue = $(TextId).val();
72            $(TextId).attr("placeholder", getSearchfieldInstructionsText()).val(currentInputValue);
73
74            $(TextId).focus(function () { setBlurEvent(); });
75            $(TextId).blur(function () { setFocusEvent(); });
76
77            $(TextId).mouseup(function () {
78                styleSearchTextFieldLeft();
79            });
80
81            $(TextId).autocomplete({
82                maxShowItems: 20,
83                delay: 25,
84
85                source: function (request, response) {
86                    var defaultSearchHelpStyle = "line-height:20px;height:30px; font-weight:bold; font-size:84%; background-color: #868686; color: #fff; position: relative; text-align: center; width: 100%;";
87                    var term = jQuery.trim(request.term);
88
89                    if (searchRequest && searchRequest.readyState !== 4) {
90                        searchRequest.abort();
91                    }
92
93                    searchRequest = $.ajax({
94                        url: "/Webservices/Search/JSONSearchResult.aspx",
95                        dataType: "json",
96                        data: {
97                            param: EncodeUrl(term)
98                        },
99                        success: function (data) {
100                            if (term !== jQuery.trim($(TextId).val())) {
101                                return;
102                            }
103
104                            if (data.results.length === 0) {
105                                searchHelpText = "TRYK [ENTER] FOR AT SØGE";
106                                searchHelpStyle = defaultSearchHelpStyle + " left: 1px; top: -2px;";
107
108                                response([{
109                                    label: "",
110                                    value: "",
111                                    url: "/Search/Search/Search/" + EncodeUrl(term)
112                                }]);
113                            }
114                            else {
115                                searchHelpText = "TRYK [ENTER] FOR FLERE RESULTATER";
116                                searchHelpStyle = defaultSearchHelpStyle + " margin-top: 8px;";
117
118                                suggestSearchResults = $.map(data.results, function (item) {
119                                    return {
120                                        label: unescape(item.title).replace(/\\'/ig, "'").replace(/\\"/ig, '"'),
121                                        value: unescape(item.title).replace(/\\'/ig, "'").replace(/\\"/ig, '"').replace(/(<([^>]+)>)/ig, ""),
122                                        url: item.url
123                                    };
124                                });
125
126                                window.suggestSearchResults = suggestSearchResults;
127                                response(suggestSearchResults);
128                            }
129                        }
130                    });
131                },
132
133                select: function (event, ui) {
134                    $(TextId).blur();
135                    if (ui.item && ui.item.url) {
136                        window.location.href = ui.item.url;
137                    }
138                }
139            });
140
141            // Overskriv _renderMenu så hjælpe-footeren tilføjes med korrekt data-binding
142            var acWidget = $(TextId).data("ui-autocomplete") || $(TextId).data("autocomplete");
143            if (acWidget) {
144                acWidget._renderMenu = function (ul, items) {
145                    var that = this;
146                    $.each(items, function (index, item) {
147                        that._renderItemData(ul, item);
148                    });
149
150                    // Tilføj footer som jQuery element med eksplicit data-binding
151                    var $footer = $('<li class="ui-menu-item ui-state-disabled ui-autocomplete-footer glob-main-color" tabindex="-1" style="pointer-events: none; cursor: default;">' +
152                        '<a href="#" onclick="return false;" style="' + searchHelpStyle + '; display: block; pointer-events: none;">' +
153                        searchHelpText +
154                        '</a>' +
155                        '</li>');
156
157                    // Bind dummy data så menufocus og keyboard navigation ikke kaster 'undefined (reading value)'
158                    var dummyData = { label: "", value: "", url: "" };
159                    $footer.data("ui-autocomplete-item", dummyData);
160                    $footer.data("item.autocomplete", dummyData);
161
162                    ul.append($footer);
163                };
164            }
165
166            if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
167                $(TextId).autocomplete('widget').off('menufocus hover mouseover mouseenter');
168            }
169        })();
170
171        function setBlurEvent() {
172            $(TextId).unbind('focus').blur(function () {
173                setFocusEvent();
174            });
175        }
176
177        function setFocusEvent() {
178            $(TextId).unbind('blur').focus(function () {
179                styleSearchTextFieldLeft();
180                setBlurEvent();
181            });
182        }
183    };
184
185    suggest_js('_TxtSearch', false);
186});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.