{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./src/assets/aws.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/number-parse-float.js","webpack:///./node_modules/core-js/modules/es.parse-float.js","webpack:///./src/assets/SmartSearch.js","webpack:///./node_modules/core-js/modules/es.array.last-index-of.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js"],"names":["redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","source","INCORRECT_NAME","name","R","this","p","String","rf","f","undefined","unsafe","AWS","result","kommunekoder","ajax","url","callback","xmlhttp","response","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","getAddress","lat","lng","JSON","parse","street","vejstykke","navn","nr","husnr","postalCode","postnummer","region","getCoords","ad","decodeAddress","params","encodeURI","r","getFirstCoords","awsifyName","str","s","split","replace","word","first","toUpperCase","join","address","indexOf","trim","hasNumbers","last","length","pop","getHouseNumbers","v","a","getFirstHouseNumber","searchForStreetsOnFyn","fuzzy","encodeURIComponent","res","i","postnumre","push","code","comune","href","lookUpHouseNumbers","vn","kk","number","city","postalcode","latlng","adgangspunkt","koordinater","sort","b","parseFloat","Object","defineProperty","Array","enumerable","value","obj","match","$","$trim","forcedStringTrimMethod","target","proto","forced","global","whitespaces","$parseFloat","FORCED","Infinity","module","exports","string","trimmedString","charAt","parseFloatImplementation","SmartSearch","kommuneKode","debug","searchData","searchDataExpanded","awsResults","autocompleteResults","priorityResults","searchResult","DataManager","getData","keyWords","recommendData","tagSearchList","tagList","menuList","data","recommended","SearchDataParser","banList","commonStreetEndings","checkForCommonStreetEnding","input","se","withNumber","rest","ip","reverse","il","matches","e","lookFor","l","lastIndexOf","index","pos","substring","parseInt","searchAddresses","tagsResults","resetPriorityList","alert","c","document","createElement","setAttribute","getElementsByTagName","appendChild","src","onload","CJS","activate","request","console","log","test","multiNumberSearch","newinput","item","tekst","type","adgangsadresse","addToPriorityList","sortData","fuzzySearch","onerror","toLowerCase","data2","d","n","addToFullMatch","axios","get","then","parts","filterMultiNumberResults","catch","error","origNumbers","numbers","restOfAddress","newRes","priorityList","priorityOrder","placesFound","cat","category","dateCheck","feature","endDate","Date","now","search","ss","sName","similar","similarityWith","lcn","tagId","toString","alreadyFoundTags","x","added","name_plural","pn","stripTags","desc","ni","pni","m","title","nn","realType","children","child_added","child_des","unshift","lookInKeyWords","searchInRecommended","sortList","placeExists","placeId","id","innerHTML","textContent","innerText","list","sortAutoComplete","temp","splitValue","keys","k","t","aName","bName","offset","alreadyFoundKeyWords","sea","keywordIdForCheck","found","kw","tag_id","group_id","addMissingTagId","item_id","al","bl","sim","checked","z","indices","y","a1","a2","a3","non","METHOD_NAME","toIndexedObject","toInteger","toLength","arrayMethodIsStrict","arrayMethodUsesToLength","min","Math","nativeLastIndexOf","NEGATIVE_ZERO","STRICT_METHOD","USES_TO_LENGTH","ACCESSORS","1","searchElement","apply","arguments","O"],"mappings":"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","file":"js/chunk-05d2deef.e81aa703.js","sourcesContent":["'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","const AWS = new function() {\r\n this.result;\r\n this.kommunekoder = \"420|480|430|440|482|410|450|461|479\";\r\n\r\n this.ajax = function (url, callback){\r\n var xmlhttp;\r\n var response;\r\n xmlhttp = new XMLHttpRequest();\r\n xmlhttp.onreadystatechange = function(){\r\n if (xmlhttp.readyState == 4 && xmlhttp.status == 200){\r\n response = xmlhttp.responseText;\r\n }\r\n }\r\n xmlhttp.open(\"GET\", url, false);\r\n xmlhttp.send();\r\n\r\n return response;\r\n }\r\n\r\n this.getAddress = function(lat, lng){\r\n var response = this.ajax(\"https://dawa.aws.dk/adgangsadresser/reverse?x=\"+lng+\"&y=\"+lat);\r\n response = JSON.parse(response);\r\n\r\n return {\r\n street: response.vejstykke.navn,\r\n nr: response.husnr,\r\n postalCode: response.postnummer.nr,\r\n region: response.region.navn\r\n };\r\n };\r\n\r\n\r\n this.getCoords = function(ad){\r\n ad = this.decodeAddress(ad);\r\n\r\n var params = \"vejnavn=\"+encodeURI(ad.street);\r\n if(ad.nr != undefined){\r\n params += \"&husnr=\"+ad.nr;\r\n }\r\n\r\n if(ad.postalCode != undefined){\r\n params += \"&postnr=\"+ad.postalCode;\r\n }\r\n else{\r\n params += \"&kommunekode=461\";\r\n }\r\n\r\n var r = this.ajax(\"https://dawa.aws.dk/adresser?\"+params);\r\n r = JSON.parse(r);\r\n\r\n if(r == \"\"){\r\n return false;\r\n }\r\n\r\n return r;\r\n\r\n };\r\n\r\n this.getFirstCoords = function(ad) {\r\n var result = this.getCoords(ad);\r\n\r\n if(result == \"\") {\r\n return false;\r\n }\r\n return result[0];\r\n };\r\n\r\n\r\n this.awsifyName = function(str){\r\n\t str = str.split(\"-\");\r\n\r\n\t for(var s in str){\r\n\t\t str[s] = str[s].replace(/[^\\s]+/g, function(word) {\r\n return word.replace(/^./, function(first) {\r\n return first.toUpperCase();\r\n });\r\n });\r\n\t }\r\n\r\n\t return str.join(\"-\");\r\n\r\n\t /*\r\n return str = str.replace(/[^\\s]+/g, function(word) {\r\n return word.replace(/^./, function(first) {\r\n return first.toUpperCase();\r\n });\r\n });*/\r\n }\r\n\r\n\r\n this.decodeAddress = function(address) {\r\n var result = {};\r\n\r\n if(address.indexOf(\",\") !== -1) {\r\n address = address.split(\",\");\r\n result.postalCode = address[1].trim();\r\n address = address[0];\r\n }\r\n\r\n if(address.hasNumbers()) {\r\n address = address.split(\" \");\r\n\r\n \t if(address.last().length == 4 && address.last().hasNumbers()) {\r\n\t\t result.postalCode = address.last();\r\n\t address.pop();\r\n \t }\r\n \t if(address.last().hasNumbers()) {\r\n\t\t result.nr = address.last().trim();\r\n\t address.pop();\r\n }\r\n result.street = this.awsifyName(address.join(\" \").trim());\r\n }\r\n else {\r\n result.street = this.awsifyName(address);\r\n }\r\n\r\n return result;\r\n };\r\n\r\n\r\n this.getHouseNumbers = function(v, p){\r\n\tvar a = \"&kommunekode=461\";\r\n\tif(p != undefined){\r\n\t\ta = \"&postnr=\"+p;\r\n\t}\r\n\r\n\tvar r = this.ajax(\"http://dawa.aws.dk/adgangsadresser?vejnavn=\"+v+a);\r\n\tr = JSON.parse(r);\r\n\r\n\tif(r == \"\"){\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn r;\r\n };\r\n\r\n this.getFirstHouseNumber = function(v, p){\r\n\tvar r = this.getHouseNumbers(v);\r\n\r\n\tif(r == \"\" || r == false){\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn r[0].husnr;\r\n };\r\n\r\n\r\n this.searchForStreetsOnFyn = function(v, fuzzy) {\r\n \tif(fuzzy == undefined){\r\n \t\tfuzzy = \"\";\r\n \t}\r\n \telse{\r\n \t\tfuzzy = \"&fuzzy=true\";\r\n \t}\r\n\r\n\r\n \tvar r = this.ajax(\"https://dawa.aws.dk/vejnavne?q=\"+encodeURIComponent(v)+\"*&kommunekode=\"+this.kommunekoder+fuzzy);\r\n\r\n \tr = JSON.parse(r);\r\n \t//console.log(r);\r\n \tif(r == \"\" || r == false){\r\n \t\treturn false;\r\n \t}\r\n\r\n \tvar res = [];\r\n\r\n \tfor(var i in r){\r\n \t\tfor(var p in r[i].postnumre){\r\n \t\t\tres.push({street: r[i].navn, code: r[i].postnumre[p].nr, comune: r[i].postnumre[p].navn, href: r[i].postnumre[p].href});\r\n \t\t}\r\n \t}\r\n\r\n \treturn res;\r\n };\r\n\r\n\r\n\r\n this.lookUpHouseNumbers = function(vn, kk){\r\n\r\n\tvar r = this.ajax(\"https://dawa.aws.dk/adgangsadresser?vejnavn=\"+encodeURIComponent(vn)+\"&postnr=\"+kk);\r\n\r\n\tr = JSON.parse(r);\r\n\r\n\tif(r == \"\" || r == false){\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar res = [];\r\n\r\n\tfor(var i in r){\r\n\t\tres.push({street: r[i].vejstykke.navn,\r\n\t\t\t\t\tnumber: r[i].husnr,\r\n\t\t\t\t\tcity: r[i].postnummer.navn,\r\n\t\t\t\t\tpostalcode: r[i].postnummer.nr,\r\n\t\t\t\t\tlatlng: {\r\n\t\t\t\t\t\tlat: r[i].adgangspunkt.koordinater[1],\r\n\t\t\t\t\t\tlng: r[i].adgangspunkt.koordinater[0]\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t}\r\n\r\n\tres.sort(function(a, b){\r\n\t\treturn parseFloat(a.number) - parseFloat(b.number);\r\n\t});\r\n\r\n\treturn res;\r\n };\r\n};\r\n\r\nObject.defineProperty(Array.prototype, \"first\", {\r\n enumerable: false,\r\n value: function(obj) {\r\n return this[0];\r\n }\r\n});\r\n\r\nObject.defineProperty(Array.prototype, \"last\", {\r\n enumerable: false,\r\n value: function(obj) {\r\n return this[this.length - 1];\r\n }\r\n});\r\n\r\nObject.defineProperty(String.prototype, \"hasNumbers\", {\r\n enumerable: false,\r\n value: function(){\r\n return this.match(/\\d/i);\r\n }\r\n});\r\n\r\nexport default AWS;\r\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseFloat = global.parseFloat;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(String(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $ = require('../internals/export');\nvar parseFloatImplementation = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != parseFloatImplementation }, {\n parseFloat: parseFloatImplementation\n});\n","import AWS from '@/assets/aws.js'\r\nimport DataManager from '@/assets/DataManager.js'\r\nimport SearchDataParser from '@/assets/SearchDataParser.js'\r\nimport axios from 'axios'\r\n\r\n/* SMART SEARCH */\r\nconst SmartSearch = new function() {\r\n\tthis.kommuneKode = '420|480|430|440|482|410|450|461|479';\r\n\tthis.debug = false;\r\n\tthis.searchData = [];\r\n\tthis.searchDataExpanded = [];\r\n\tthis.awsResults = [];\r\n\tthis.autocompleteResults = [];\r\n\tthis.priorityResults = [];\r\n\tthis.searchResult = [];\r\n\r\n\tDataManager.getData([\r\n\t\t\tDataManager.keyWords,\r\n\t\t\tDataManager.recommendData,\r\n\t\t\tDataManager.tagSearchList,\r\n\t\t\tDataManager.searchData,\r\n\t\t\tDataManager.searchDataExpanded,\r\n\t\t\tDataManager.tagList,\r\n\t\t\tDataManager.menuList,\r\n\t\t], (response) => {\r\n\t\tthis.keyWords = response[0].data;\r\n\t\tthis.recommended = response[1].data;\r\n\t\tthis.tagSearchList = response[2].data;\r\n\t\tthis.searchData = SearchDataParser(response[3].data, response[4].data).searchData;\r\n\t\tthis.searchDataExpanded = SearchDataParser(response[3].data, response[4].data).searchDataExpanded;\r\n\t\tthis.tagList = response[5].data;\r\n\t\tthis.menuList = response[6].data;\r\n\t});\r\n\r\n\t//Ban list\r\n\tthis.banList = ['Afroditevej', 'Benedikts Plads', 'Bergsøes Plads', 'Bolbrogade', 'Bostongade', 'Branddamvej', 'Brejngaardsvej', 'Bøgeskovvej', 'Carl Nielsens Kvarter', 'Carl Nielsens Plads', 'Deleurans Plads', 'Drejebænken', 'Drøjsbjerggyden', 'Estlandkaj', 'Flintagervej', 'Flittergræsset', 'Fynske Motorvej', 'Glasgowgade', 'Gultvedvej', 'Halmstadsgade', 'Hauges Plads', 'H.C. Andersens Torv', 'Hedvigslund', 'Hellevad', 'Israels Plads', 'Jordemodersmutten', 'Kinopladsen', 'Landskronagade', 'Lindvedhave', 'Lysbjergvej', 'Lysekilgade', 'Lærkesporen', 'Løkkerisvej', 'Morten Korchs Plads', 'Munkebjerg Plads', 'Måneruden', 'Narvikgade', 'Nyenstad', 'Nørre Boulevard', 'Odense Å Sti', 'Odins Bro', 'Oliekaj', 'Oluf Bagers Plads', 'Paraplyen', 'Pjente Plads', 'Richard Møller Nielsens Plads', 'Ruslandkaj', 'Rørdamvej', 'Skibhusmarken', 'Skotlandgade', 'Skotlandkaj', 'Skt. Knuds Plads', 'Stavangergade', 'Stenfiskerkajen', 'Stykgodskajen', 'Svendborgmotorvejen', 'Sømosegårdvej', 'Søndre Hospitalsvej', 'Tidselgyden', 'Toldbodkaj', 'Tromsøgade', 'Tværgyden', 'Tysklandkaj', 'Tønsberggade', 'Vasagade', 'Vesterbankevej', 'Vestre Boulevard', 'Vestre Kanaldæmning', 'Østre Plads', 'Østre Ringvej'];\r\n\r\n\tthis.commonStreetEndings = [\"vej\", \"gade\", \"alle\", \"allé\", \"stræde\", \"passage\", \"park\", \"parken\", \"have\", \"haven\", \"torv\", \"plads\"];\r\n\r\n\t// function for checking if the user has misspelled fx. brandts passage as brandtspassage\r\n\tthis.checkForCommonStreetEnding = function(input){\r\n\t\tvar se = SmartSearch.commonStreetEndings;\r\n\t\tvar withNumber = false;\r\n\t\tvar rest = [];\r\n\t\tif(input.match(/\\d+/g) != null){\r\n\t\t\twithNumber = true;\r\n\t\t\tvar ip = input.split(\" \");\r\n\t\t\tfor(var i = ip.length - 1; i > 0; i--){\r\n\t\t\t\tif(ip[i].match(/\\d+/g) != null){\r\n\t\t\t\t\trest.push(ip[i]);\r\n\t\t\t\t\tdelete ip[i]\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\trest.push(ip[i]);\r\n\t\t\t\t\tdelete ip[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tinput = ip.join(\" \").trim();\r\n\t\t}\r\n\r\n\t\tif(rest.length == 0){\r\n\t\t\trest = false;\r\n\t\t\tinput = input.trim();\r\n\t\t}\r\n\t\telse{\r\n\t\t\trest = rest.reverse().join(\" \");\r\n\t\t}\r\n\r\n\t\tvar il = input.length;\r\n\r\n\t\tvar matches = [];\r\n\t\tfor(var e in se){\r\n\t\t\tvar lookFor = \"\";\r\n\t\t\tfor(var l in se[e]){\r\n\t\t\t\tlookFor += se[e][l];\r\n\r\n\t\t\t\tif(input.lastIndexOf(lookFor) == -1){\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tvar i = (input.lastIndexOf(lookFor) + lookFor.length - 1) + 1;\r\n\r\n\t\t\t\tif(i == il){\r\n\t\t\t\t\tmatches.push({lookFor: lookFor, index: e});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(matches.length == 0){\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\r\n\t\tmatches.sort(function(a, b){\r\n\t\t return b.lookFor.length - a.lookFor.length;\r\n\t\t});\r\n\r\n\t\tvar pos = input.lastIndexOf(matches[0].lookFor);\r\n\r\n\t\tif(withNumber){\r\n\t\t\treturn input.substring(0,pos) + \" \" + se[parseInt(matches[0].index)] + ((!!rest) ? \" \" + rest : \"\");\r\n\t\t}\r\n\r\n\t\treturn input.substring(0,pos) + \" \" + matches[0].lookFor + input.substring(pos+matches[0].lookFor.length) + ((!!rest) ? \" \" + rest : \"\");\r\n\t};\r\n\r\n\t//Primary search function\r\n\tthis.searchAddresses = function(obj, callback) {\r\n\t\tthis.tagsResults = [];\r\n\r\n\t\tSmartSearch.resetPriorityList();\r\n\r\n\t\t//Activate debugmode\r\n\t\tif(obj.value == \"!!debugmode\"){\r\n\t\t\talert(\"Debug mode on\");\r\n\t\t\tvar c = document.createElement(\"link\");\r\n\t\t\tc.setAttribute(\"rel\", \"stylesheet\");\r\n\t\t\tc.setAttribute(\"type\", \"text/css\");\r\n\t\t\tc.setAttribute(\"href\", \"apptools/console/console.css\");\r\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(c);\r\n\r\n\t\t\tvar s = document.createElement(\"script\");\r\n\t\t\ts.src=\"apptools/console/console.js\";\r\n\t\t\ts.onload = function(){\r\n\t\t\t\tCJS.activate();\r\n\t\t\t}\r\n\t\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(s);\r\n\t\t}\r\n\r\n\t\tSmartSearch.searchResult.length = 0;\r\n\t\tSmartSearch.autocompleteResults.length = 0;\r\n\t\tSmartSearch.awsResults.length = 0;\r\n\t\tvar input = obj.value;\r\n\t\tif(input.length > 2) {\r\n\t\t\tif(input.match(/\\d+/g) != null) {\r\n\r\n\t\t\t\tvar request = new XMLHttpRequest();\r\n\t\t\t\trequest.open('GET', 'https://dawa.aws.dk/adgangsadresser/autocomplete?q='+encodeURIComponent(input)+'&per_side=100&kommunekode='+SmartSearch.kommuneKode, true);\r\n\t\t\t\trequest.onload = function() {\r\n\t\t\t\t if(this.status >= 200 && this.status < 400) {\r\n\t\t\t\t var data = JSON.parse(this.response);\r\n\t\t\t\t\t\tif(SmartSearch.debug) {\r\n\t\t\t\t\t\t\tconsole.log('Adgangsadresser:');\r\n\t\t\t\t\t\t\tconsole.log(data);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(data.length == 0 && /^.+\\d*\\s?-\\s?\\d*.+$/.test(input)) {\r\n\t\t\t\t\t\t\tSmartSearch.multiNumberSearch(input, obj, callback);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(data.length == 0) {\r\n\t\t\t\t\t\t\tvar newinput = SmartSearch.checkForCommonStreetEnding(input);\r\n\r\n\t\t\t\t\t\t\tif(!!newinput){\r\n\t\t\t\t\t\t\t\tdata = JSON.parse(AWS.ajax(\"https://dawa.aws.dk/adgangsadresser/autocomplete?q=\"+encodeURIComponent(newinput)+\"&kommunekode=\"+SmartSearch.kommuneKode));\r\n\r\n\t\t\t\t\t\t\t\tif(data.length != 0){\r\n\t\t\t\t\t\t\t\t\tfor(var i in data) {\r\n\t\t\t\t\t\t\t\t\t\tvar item = {name: data[i].tekst, type: 'Adresse', href: data[i].adgangsadresse.href}\r\n\t\t\t\t\t\t\t\t\t\t//SmartSearch.autocompleteResults.push(item);\r\n\t\t\t\t\t\t\t\t\t\tSmartSearch.addToPriorityList(item, \"addresses_autocomplete\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tSmartSearch.sortData(obj, callback);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\tSmartSearch.fuzzySearch(input, obj, callback);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tSmartSearch.fuzzySearch(input, obj, callback);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tfor(var i in data) {\r\n\t\t\t\t\t\t\t\tvar item = {name: data[i].tekst, type: 'Adresse', href: data[i].adgangsadresse.href}\r\n\t\t\t\t\t\t\t\t//SmartSearch.autocompleteResults.push(item);\r\n\r\n\t\t\t\t\t\t\t\tSmartSearch.addToPriorityList(item, \"addresses_autocomplete\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tSmartSearch.sortData(obj, callback);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t\telse {\r\n\t\t\t\t console.log('AWS error');\r\n\t\t\t\t }\r\n\t\t\t\t};\r\n\r\n\t\t\t\trequest.onerror = function() {\r\n\t\t\t\t console.log('AWS connection error');\r\n\t\t\t\t};\r\n\r\n\t\t\t\trequest.send();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// tjek om input ligger gemt fra tidligere\r\n\t\t\t\tvar data = AWS.searchForStreetsOnFyn(input);\r\n\r\n\t\t\t\tif(SmartSearch.debug) {\r\n\t\t\t\t\tconsole.log('Vejnavne:');\r\n\t\t\t\t\tconsole.log(data);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(data == false){\r\n\t\t\t\t\tvar newinput = SmartSearch.checkForCommonStreetEnding(input);\r\n\r\n\t\t\t\t\tif(!!newinput){\r\n\t\t\t\t\t\tdata = AWS.searchForStreetsOnFyn(newinput);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// check for fx søndergade odense\r\n\t\t\t\tinput = input.toLowerCase();\r\n\t\t\t\tif(data == false){\r\n\t\t\t\t\tvar data2 = AWS.searchForStreetsOnFyn(input, true);\r\n\r\n\t\t\t\t\tdata = [];\r\n\t\t\t\t\tfor(var d in data2){\r\n\t\t\t\t\t\tvar n = data2[d].street.toLowerCase();\r\n\t\t\t\t\t\tvar c = data2[d].comune.toLowerCase().split(\" \");\r\n\r\n\t\t\t\t\t\tif(input.indexOf(n) != -1 && input.indexOf(c[0]) != -1){\r\n\t\t\t\t\t\t\tdata.push(data2[d]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(data.length == 0){\r\n\t\t\t\t\t\tdata = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// gem data\r\n\t\t\t\tvar addToFullMatch = [];\r\n\r\n\t\t\t\tfor(var i in data) {\r\n\t\t\t\t\tif(SmartSearch.banList.indexOf(data[i].tekst) == -1) {\r\n\t\t\t\t\t\tvar item = {name: data[i].street, type: 'Vej', href: 'https://dawa.aws.dk/adgangsadresser?vejnavn='+data[i].street+'&postnr='+data[i].code, comune: data[i].comune, code: data[i].code}\r\n\r\n\t\t\t\t\t\tif(item.name.toLowerCase() == input){\r\n\t\t\t\t\t\t\taddToFullMatch.push(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tSmartSearch.addToPriorityList(item, \"addresses\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor(var i = addToFullMatch.length - 1; i >= 0; i--){\r\n\t\t\t\t\tSmartSearch.addToPriorityList(addToFullMatch[i], \"full_match\");\r\n\t\t\t\t}\r\n\t\t\t\tSmartSearch.sortData(obj, callback);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tthis.fuzzySearch = function(input, obj, callback){\r\n\t\t// with the fuzzy parameter on, aws returns a much wider list of suggestions\r\n\t\taxios.get('https://dawa.aws.dk/adgangsadresser/autocomplete?q='+encodeURIComponent(input)+'&kommunekode='+SmartSearch.kommuneKode+'&fuzzy=true')\r\n\t .then((response) => {\r\n\t\t\tvar data = response.data;\r\n\t\t\tif(SmartSearch.debug) {\r\n\t\t\t\tconsole.log('Fuzzy:');\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t}\r\n\t\t\tvar parts = input.split(\" \");\r\n\t\t\tvar nr = false;\r\n\r\n\t\t\tfor(var p in parts){\r\n\t\t\t\tif(/\\d/.test(parts[p])){\r\n\t\t\t\t\tnr = \" \"+parts[p];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//var searchedName = input.split(nr)[0].toLowerCase();\r\n\t\t\tif(!!nr){\r\n\t\t\t\tvar data = SmartSearch.filterMultiNumberResults(data, nr);\r\n\r\n\t\t\t\tfor(var i in data) {\r\n\t\t\t\t\tvar item = {name: data[i].tekst, type: 'Adresse', href: data[i].adgangsadresse.href}\r\n\t\t\t\t\t//SmartSearch.searchResult.push(item);\r\n\r\n\t\t\t\t\tSmartSearch.addToPriorityList(item, \"addresses\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tSmartSearch.sortData(obj, callback);\r\n\t })\r\n\t .catch(function (error) {\r\n\t console.log(error);\r\n\t });\r\n\t};\r\n\r\n\tthis.multiNumberSearch = function(input, obj, callback){\r\n\t\tvar origNumbers = input.match(/\\d*\\s?-\\s?\\d*/)[0];\r\n\t\tvar numbers = origNumbers.split(\"-\");\r\n\t\tvar restOfAddress = input.split(origNumbers);\r\n\r\n\t\tvar res = [];\r\n\r\n\t\tfor(var n in numbers){\r\n\t\t\tvar number = numbers[n].trim();\r\n\r\n\t\t\tvar a = restOfAddress[0] +\" \"+ number + ((restOfAddress[1]) ? \" \"+restOfAddress[1] : \"\");\r\n\r\n\t\t\tvar r = AWS.ajax(\"https://dawa.aws.dk/adgangsadresser/autocomplete?q=\"+encodeURIComponent(a)+\"&kommunekode=\"+SmartSearch.kommuneKode);\r\n\r\n\r\n\t\t\tr = SmartSearch.filterMultiNumberResults(JSON.parse(r), number);\r\n\r\n\r\n\t\t\tres.push(r);\r\n\t\t}\r\n\r\n\t\tfor(var r in res){\r\n\t\t\tvar data = res[r].reverse();\r\n\t\t\tfor(var i in data){\r\n\t\t\t\tvar item = {name: data[i].tekst, type: 'Adresse', href: data[i].adgangsadresse.href}\r\n\t\t\t\t//SmartSearch.searchResult.push(item);\r\n\t\t\t\tSmartSearch.addToPriorityList(item, \"addresses\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tSmartSearch.sortData(obj, callback);\r\n\r\n\t};\r\n\r\n\tthis.filterMultiNumberResults = function(res, number){\r\n\t\tvar newRes = [];\r\n\t\tfor(var r in res){\r\n\t\t\tvar n = parseInt(res[r].adgangsadresse.husnr);\r\n\t\t\tif(n == number){\r\n\t\t\t\tnewRes.push(res[r]);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\treturn newRes;\r\n\t};\r\n\r\n\t// sorting order\r\n\t/*\r\n\t81 = By\r\n\t59 = Bydel\r\n\t51 = Parkering\r\n\t80 = Vej uden husnumre\r\n\t*/\r\n\r\n\tthis.priorityList = [];\r\n\tthis.priorityOrder = [\"full_match\", \"keywords\", \"partial_match_at_start\", \"partial_match\", \"81\", \"59\", \"odense\", \"51\", \"80\", \"addresses\", \"addresses_autocomplete\", \"places\"];\r\n\tthis.placesFound = [];\r\n\r\n\tthis.addToPriorityList = function(obj, cat){\r\n\t\tSmartSearch.priorityList[cat].push(obj);\r\n\t\tSmartSearch.placesFound.push({obj: obj, category: cat});\r\n\t};\r\n\r\n\tthis.resetPriorityList = function(){\r\n\t\t//this.priorityList = [];\r\n\t\tthis.placesFound = [];\r\n\t\tfor(var p in SmartSearch.priorityOrder){\r\n\t\t\tthis.priorityList[SmartSearch.priorityOrder[p]] = [];\r\n\t\t}\r\n\t};\r\n\r\n\tthis.dateCheck = function(feature){\r\n\t\tif(feature.endDate == undefined || feature.endDate == null || !feature.endDate){\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar n = Date.now() / 1000;\r\n\r\n\t\treturn (n < feature.endDate);\r\n\t};\r\n\r\n\tthis.sortData = function(obj, callback){\r\n\t\tvar search = obj.value.toLowerCase().replace(\".\", \"\").trim();\r\n\t\tvar length = this.searchData.length;\r\n\t\tvar result = [];\r\n\t\tSmartSearch.priorityResults.length = 0;\r\n\r\n\t\tfor(var i = 0; i < length; i++){\r\n\r\n\t\t\tif(this.searchData[i] == undefined){\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tvar ss = search.split(\" \");\r\n\t\t\tvar match = true;\r\n\t\t\tvar sName = this.searchData[i].name.toLowerCase();\r\n\r\n\t\t\tfor(var s in ss){\r\n\t\t\t\tif(sName.indexOf(ss[s]) == -1){\r\n\t\t\t\t\tmatch = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// check if the name of the place and the search value are similar enough to be accepted\r\n\t\t\tif(!match){\r\n\t\t\t\tvar similar = search.similarityWith(sName);\r\n\r\n\t\t\t\tif(search.length < 5){\r\n\t\t\t\t\tif(similar > 0.8){\r\n\t\t\t\t\t\tmatch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tif(similar > 0.8){\r\n\t\t\t\t\t\tmatch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if the first check didn't pass, then we check again with the values reversed in order to catch more results\r\n\t\t\tif(!match){\r\n\t\t\t\tvar similar = sName.similarityWith(search);\r\n\r\n\t\t\t\tif(search.length < 5){\r\n\t\t\t\t\tif(similar > 0.8){\r\n\t\t\t\t\t\tmatch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tif(similar > 0.8){\r\n\t\t\t\t\t\tmatch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(match) {\r\n\t\t\t\tvar lcn = this.searchData[i].name.toLowerCase();\r\n\t\t\t\tif(this.searchData[i].tagId == undefined) {\r\n\t\t\t\t\tconsole.log(this.searchData[i]);\r\n\t\t\t\t}\r\n\t\t\t\t// full or partial match\r\n\t\t\t\tif(this.searchData[i].name && lcn == search){\r\n\t\t\t\t\tSmartSearch.addToPriorityList(this.searchData[i], \"full_match\");\r\n\t\t\t\t}\r\n\t\t\t\telse if(this.searchData[i].name && lcn.indexOf(search) != -1){\r\n\t\t\t\t\tif(lcn.indexOf(search) == 0){\r\n\t\t\t\t\t\tSmartSearch.addToPriorityList(this.searchData[i], \"partial_match_at_start\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tSmartSearch.addToPriorityList(this.searchData[i], \"partial_match\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t// tag id match\r\n\t\t\t\telse if(SmartSearch.priorityList[this.searchData[i].tagId.toString()] != undefined){\r\n\t\t\t\t\tSmartSearch.addToPriorityList(this.searchData[i], this.searchData[i].tagId.toString());\r\n\t\t\t\t}\r\n\t\t\t\t// rest\r\n\t\t\t\telse {\r\n\t\t\t\t\tSmartSearch.addToPriorityList(this.searchData[i], \"places\");\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// check addresses results for results from odense\r\n\t\tfor(var i = 0; i < SmartSearch.priorityList[\"addresses\"].length; i++){\r\n\t\t\tif(SmartSearch.priorityList[\"addresses\"][i] != undefined) {\r\n\t\t\t\tif(SmartSearch.priorityList[\"addresses\"][i].comune && SmartSearch.priorityList[\"addresses\"][i].comune.indexOf(\"Odense\") != -1 ||\r\n\t\t\t\t\tSmartSearch.priorityList[\"addresses\"][i].tekst && SmartSearch.priorityList[\"addresses\"][i].tekst.indexOf(\"Odense\") != -1 ||\r\n\t\t\t\t\tSmartSearch.priorityList[\"addresses\"][i].name.indexOf(\"Odense\") != -1){\r\n\r\n\t\t\t\t\tSmartSearch.addToPriorityList(SmartSearch.priorityList[\"addresses\"][i], \"odense\");\r\n\r\n\t\t\t\t\tdelete SmartSearch.priorityList[\"addresses\"][i];\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// check autocomplete addresses results for results from odense\r\n\t\tfor(var i = 0; i < SmartSearch.priorityList[\"addresses_autocomplete\"].length; i++){\r\n\t\t\tif(SmartSearch.priorityList[\"addresses_autocomplete\"][i].comune && SmartSearch.priorityList[\"addresses_autocomplete\"][i].comune.indexOf(\"Odense\") != -1 ||\r\n\t\t\t\tSmartSearch.priorityList[\"addresses_autocomplete\"][i].tekst && SmartSearch.priorityList[\"addresses_autocomplete\"][i].tekst.indexOf(\"Odense\") != -1 ||\r\n\t\t\t\tSmartSearch.priorityList[\"addresses_autocomplete\"][i].name.indexOf(\"Odense\") != -1){\r\n\r\n\t\t\t\tSmartSearch.addToPriorityList(SmartSearch.priorityList[\"addresses_autocomplete\"][i], \"odense\");\r\n\r\n\t\t\t\tdelete SmartSearch.priorityList[\"addresses_autocomplete\"][i];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.alreadyFoundTags = [];\r\n\t\t\tvar first = [];\r\n\r\n\t\t\tfor(var a in SmartSearch.tagSearchList){\r\n\t\t\t\tvar x = parseInt(SmartSearch.tagSearchList[a]);\r\n\r\n\t\t\t\t// the value can be undefined due to the data being messy sometimes if not all of it has been published yet\r\n\t\t\t\tif(this.tagList[x] == undefined){\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar added = false;\r\n\r\n\t\t\t\t// avoid double entries\r\n\t\t\t\tSmartSearch.alreadyFoundTags.push(this.tagList[x].name.trim());\r\n\t\t\t\tSmartSearch.alreadyFoundTags.push(this.tagList[x].name_plural.trim());\r\n\r\n\t\t\t\tvar n = this.tagList[x].name.toLowerCase();\r\n\t\t\t\tvar pn = this.tagList[x].name_plural.toLowerCase();\r\n\r\n\t\t\t\tvar d = this.stripTags(this.tagList[x].desc);\r\n\r\n\t\t\t\tvar ni = n.indexOf(search);\r\n\t\t\t\tvar pni = pn.indexOf(search);\r\n\r\n\t\t\t\tif(ni > -1 || pni > -1){\r\n\t\t\t\t\tif(ni == 0 || pni == 0){\r\n\t\t\t\t\t\tfirst.push(this.tagList[x]);\r\n\t\t\t\t\t\tadded = true;\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tSmartSearch.tagsResults.push(this.tagList[x]);\r\n\t\t\t\t\tadded = true;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// search in description\r\n\t\t\t\tif(!added && d != \"\" && d != undefined && d.toLowerCase().indexOf(search) != -1){\r\n\t\t\t\t\tSmartSearch.tagsResults.push(this.tagList[x]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor(var m in this.menuList){\r\n\t\t\t\tif(!this.dateCheck(this.menuList[m])){\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t//console.log(this.menuList[m]);\r\n\t\t\t\tvar n = this.menuList[m].title.toLowerCase();\r\n\t\t\t\tvar d = this.stripTags(this.menuList[m].desc);\r\n\r\n\t\t\t\tvar added = false;\r\n\t\t\t\t//console.log(n);\r\n\t\t\t\tvar nn = n.split(\" \");\r\n\r\n\t\t\t\tthis.menuList[m].realType = \"theme\";\r\n\r\n\t\t\t\tfor(var i in nn){\r\n\t\t\t\t\tif(nn[i].length < 3){\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar index = search.indexOf(nn[i])\r\n\t\t\t\t\tif(index > -1){\r\n\t\t\t\t\t\t// set an additional property that shows the real type, otherwise it will be seen as a group\r\n\t\t\t\t\t\tthis.menuList[m].realType = \"theme\";\r\n\t\t\t\t\t\tif(index == 0){\r\n\t\t\t\t\t\t\tfirst.push(this.menuList[m]);\r\n\t\t\t\t\t\t\tadded = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tSmartSearch.tagsResults.push(this.menuList[m]);\r\n\t\t\t\t\t\tadded = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// search in description\r\n\t\t\t\tif(!added && d != \"\" && d != undefined && d.toLowerCase().indexOf(search) != -1){\r\n\t\t\t\t\tSmartSearch.tagsResults.push(this.menuList[m]);\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\t// search children\r\n\t\t\t\t//if(app.supportsSearchInThemeChildren === true){\r\n\t\t\t\t\tfor(var c in this.menuList[m].children){\r\n\t\t\t\t\t\tif(!this.dateCheck(this.menuList[m].children[c])){\r\n\t\t\t\t\t\t\t// avoid double entries\r\n\t\t\t\t\t\t\tif(SmartSearch.alreadyFoundTags.indexOf(this.menuList[m].children[c].title.trim()) != -1){\r\n\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// skip places\r\n\t\t\t\t\t\t\tif(this.menuList[m].children[c].type == \"place\"){\r\n\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tvar child_added = false;\r\n\r\n\t\t\t\t\t\t\tSmartSearch.alreadyFoundTags.push(this.menuList[m].children[c].title);\r\n\r\n\t\t\t\t\t\t\tvar nn = this.menuList[m].children[c].title.toLowerCase().split(\" \");\r\n\r\n\t\t\t\t\t\t\tfor(var i in nn){\r\n\t\t\t\t\t\t\t\tif(nn[i].length <= 3){\r\n\t\t\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tvar index = nn[i].indexOf(search);\r\n\r\n\t\t\t\t\t\t\t\tif(index == -1){\r\n\t\t\t\t\t\t\t\t\tindex = search.indexOf(nn[i]);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(index > -1){\r\n\t\t\t\t\t\t\t\t\t//console.log(this.menuList[m].children[c]);\r\n\r\n\t\t\t\t\t\t\t\t\tif(index == 0){\r\n\t\t\t\t\t\t\t\t\t\tfirst.push(this.menuList[m].children[c]);\r\n\t\t\t\t\t\t\t\t\t\tchild_added = true;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tSmartSearch.tagsResults.push(this.menuList[m].children[c]);\r\n\t\t\t\t\t\t\t\t\tchild_added = true;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif(!child_added){\r\n\t\t\t\t\t\t\t\tvar child_des = this.stripTags(this.menuList[m].children[c].desc);\r\n\t\t\t\t\t\t\t\tif(child_des != \"\" && child_des != undefined && child_des.toLowerCase().indexOf(search) != -1){\r\n\t\t\t\t\t\t\t\t\tSmartSearch.tagsResults.push(this.menuList[m].children[c]);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t//}\r\n\r\n\t\t\t}\r\n\r\n\t\t\tfirst = first.reverse();\r\n\r\n\t\t\tfor(var f in first){\r\n\t\t\t\tSmartSearch.tagsResults.unshift(first[f]);\r\n\t\t\t}\r\n\r\n\t\t\tSmartSearch.lookInKeyWords(search);\r\n\t\t//}\r\n\r\n\r\n\t\tSmartSearch.searchInRecommended(search);\r\n\r\n\r\n\t\tfor(var i = SmartSearch.priorityOrder.length - 1; i >= 0; i--){\r\n\r\n\t\t\tif(SmartSearch.priorityOrder[i] == \"addresses_autocomplete\"){\r\n\t\t\t\t/* Sort aws autocomplete results - requires a bit more work than the others */\r\n\t\t\t\tSmartSearch.priorityList[SmartSearch.priorityOrder[i]] = SmartSearch.sortList(SmartSearch.priorityList[SmartSearch.priorityOrder[i]], true);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tSmartSearch.sortList(SmartSearch.priorityList[SmartSearch.priorityOrder[i]]);\r\n\t\t\t}\r\n\r\n\t\t\t// add the results to the final resultlist\r\n\t\t\tfor(var a = 0; a < SmartSearch.priorityList[SmartSearch.priorityOrder[i]].length; a++){\r\n\t\t\t\tSmartSearch.searchResult.unshift(SmartSearch.priorityList[SmartSearch.priorityOrder[i]][a]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar placeExists = [];\r\n\t\t// format the resultlist so all results have the same properties\r\n\t\tfor(var i = 0; i < SmartSearch.searchResult.length; i++) {\r\n\r\n\t\t\tif(SmartSearch.searchResult[i] == undefined){\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif(SmartSearch.searchResult[i].placeId != undefined || SmartSearch.searchResult[i].type == \"item\") {\r\n\t\t\t\tvar placeId = parseInt(SmartSearch.searchResult[i].placeId) || parseInt(SmartSearch.searchResult[i].id);\r\n\t\t\t\tif(placeExists.indexOf(placeId) == -1) {\r\n\t\t\t\t\tplaceExists.push(placeId);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(!SmartSearch.searchResult[i].type){\r\n\t\t\t\tif(this.tagList[SmartSearch.searchResult[i].tagId] != undefined){\r\n\t\t\t\t\tSmartSearch.searchResult[i].type = this.tagList[SmartSearch.searchResult[i].tagId].name;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tresult.push({name: SmartSearch.searchResult[i].name,\r\n\t\t\t\t\t\ttype: SmartSearch.searchResult[i].type,\r\n\t\t\t\t\t\ttagId: SmartSearch.searchResult[i].tagId,\r\n\t\t\t\t\t\tplaceId: SmartSearch.searchResult[i].placeId || SmartSearch.searchResult[i].id,\r\n\t\t\t\t\t\thref: SmartSearch.searchResult[i].href,\r\n\t\t\t\t\t\tlat: SmartSearch.searchResult[i].lat,\r\n\t\t\t\t\t\tlng: SmartSearch.searchResult[i].lng,\r\n\t\t\t\t\t\tcomune: SmartSearch.searchResult[i].comune,\r\n\t\t\t\t\t\tcode: SmartSearch.searchResult[i].code\r\n\t\t\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tSmartSearch.searchResult = result;\r\n\r\n\t\tif(SmartSearch.debug) {\r\n\t\t\tconsole.log(result);\r\n\t\t}\r\n\t\tif(callback && callback != undefined && callback != null){\r\n\t\t\tcallback(result);\r\n\t\t}\r\n\t};\r\n\r\n\tthis.stripTags = function(s){\r\n\t\tif(s == undefined){\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tvar d = document.createElement(\"div\");\r\n\t\td.innerHTML = s;\r\n\r\n\t\treturn d.textContent || d.innerText || \"\";\r\n\t};\r\n\r\n\r\n\t// function for sorting the results alphabetically\r\n\tthis.sortList = function(list, sortAutoComplete){\r\n\r\n\t\tif(sortAutoComplete){\r\n\r\n\t\t\tvar temp = {};\r\n\t\t\t//list.reverse();\r\n\t\t\tfor(var i = 0; i < list.length; i++){\r\n\t\t\t\tif(list[i] == undefined){\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar c = SmartSearch.splitValue(list[i].name, list[i].name.lastIndexOf(\", \"), 2)[1].split(\" \")[0];\r\n\r\n\t\t\t\tc = parseInt(c);\r\n\r\n\t\t\t\tif(temp[c] == undefined){\r\n\t\t\t\t\ttemp[c] = [];\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttemp[c].push(list[i]);\r\n\t\t\t}\r\n\r\n\t\t\tlist = [];\r\n\r\n\t\t\tvar keys = new Array();\r\n\r\n\t\t\tfor(var k in temp){\r\n\t\t\t\tkeys.unshift(k);\r\n\t\t\t}\r\n\r\n\t\t\t//keys.reverse();\r\n\r\n\t\t\tlist.sort(function(a, b) {\r\n\t\t\t\treturn ((a < b) ? 1 : ((a > b) ? -1 : 0));\r\n\t\t\t});\r\n\r\n\t\t\tfor(var t = keys.length - 1; t >= 0; t--){\r\n\t\t\t\tfor(var a in temp[keys[t]]){\r\n\t\t\t\t\tlist.push(temp[keys[t]][a]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn list.reverse();\r\n\t\t}\r\n\r\n\r\n\t\tlist.sort(function(a, b) {\r\n\t\t\tvar aName = a.name.toLowerCase();\r\n\t\t\tvar bName = b.name.toLowerCase();\r\n\t\t\treturn ((aName < bName) ? 1 : ((aName > bName) ? -1 : 0));\r\n\t\t});\r\n\t};\r\n\r\n\r\n\tthis.splitValue = function(value, index, offset) {\r\n\t\toffset = offset || 0;\r\n\r\n\t\treturn [value.substring(0, index), value.substring(index + offset)];\r\n\t}\r\n\tthis.alreadyFoundTags = [];\r\n\r\n\tthis.alreadyFoundKeyWords = [];\r\n\r\n\tthis.lookInKeyWords = function(search){\r\n\t\tthis.alreadyFoundKeyWords = [];\r\n\r\n\t\tvar sea = search.split(\" \");\r\n\r\n\t\tfor(var s in SmartSearch.keyWords){\r\n\r\n\t\t\tvar match = true;\r\n\r\n\t\t\tfor(var se in sea){\r\n\t\t\t\tif(s.indexOf(sea[se]) == -1){\r\n\t\t\t\t\tmatch = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(match){\r\n\t\t\t\tfor(var k in SmartSearch.keyWords[s]){\r\n\t\t\t\t\tif(this.alreadyFoundKeyWords.indexOf(this.keywordIdForCheck(SmartSearch.keyWords[s][k])) != -1 || SmartSearch.keyWords[s][k].tagId == \"1\"){\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar found = false;\r\n\r\n\t\t\t\t\tif(SmartSearch.keyWords[s][k].type == \"tag\"){\r\n\t\t\t\t\t\tfor(var t in SmartSearch.tagsResults){\r\n\t\t\t\t\t\t\tif(SmartSearch.tagsResults[t].id == SmartSearch.keyWords[s][k].tagId){\r\n\t\t\t\t\t\t\t\tfound = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(found){\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(SmartSearch.keyWords[s][k].type == \"tag\"){\r\n\t\t\t\t\t\tSmartSearch.tagsResults.push(SmartSearch.keyWords[s][k]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\t//SmartSearch.searchResult.unshift(SmartSearch.keyWords[s][k]);\r\n\t\t\t\t\t\tSmartSearch.priorityList[\"keywords\"].push(SmartSearch.keyWords[s][k]);\r\n\r\n\t\t\t\t\t\tfor(var p in SmartSearch.placesFound){\r\n\t\t\t\t\t\t\tif(SmartSearch.placesFound[p].obj.tagId == SmartSearch.keyWords[s][k].tagId){\r\n\t\t\t\t\t\t\t\tvar cat = SmartSearch.placesFound[p].category;\r\n\r\n\t\t\t\t\t\t\t\tfor(var l in SmartSearch.priorityList[cat]){\r\n\t\t\t\t\t\t\t\t\tif(SmartSearch.priorityList[cat][l].id == SmartSearch.placesFound[p].obj.id){\r\n\t\t\t\t\t\t\t\t\t\t//delete SmartSearch.priorityList[cat][l];\r\n\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.alreadyFoundKeyWords.push(this.keywordIdForCheck(SmartSearch.keyWords[s][k]))\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tthis.keywordIdForCheck = function(kw){\r\n\t\tif(kw.id != undefined){\r\n\t\t\treturn kw.id;\r\n\t\t}\r\n\r\n\t\treturn \"t\"+kw.tagId;\r\n\t};\r\n\r\n\tthis.searchInRecommended = function(search){\r\n\t\tfor(var r in this.recommended){\r\n\r\n\t\t\tif(this.recommended[r] == undefined){\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tvar found = false;\r\n\r\n\t\t\tthis.recommended[r].tagId = this.recommended[r].tag_id || this.recommended[r].group_id;\r\n\r\n\t\t\tfor(var t in SmartSearch.tagsResults){\r\n\t\t\t\tif(SmartSearch.tagsResults[t].id == this.recommended[r].tagId){\r\n\t\t\t\t\tfound = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(found){\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tvar n = this.recommended[r].title;\r\n\t\t\tvar d = this.stripTags(this.recommended[r].desc);\r\n\r\n\t\t\tif(n.toLowerCase().indexOf(search) != -1){\r\n\t\t\t\tthis.tagsResults.push(this.addMissingTagId(this.recommended[r]));\r\n\t\t\t}\r\n\t\t\telse if(d != null && d.toLowerCase().indexOf(search) != -1){\r\n\t\t\t\tthis.tagsResults.push(this.addMissingTagId(this.recommended[r]));\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t};\r\n\r\n\tthis.addMissingTagId = function(a){\r\n\t\tvar r = {};\r\n\r\n\t\t// make a copy\r\n\t\tfor(var i in a){\r\n\t\t\tr[i] = a[i];\r\n\t\t}\r\n\r\n\t\tif(r.type != \"place\" && r.tagId != undefined || r.type == \"item\" && r.tagId != undefined){\r\n\t\t\treturn r;\r\n\t\t}\r\n\r\n\t\tvar id = parseInt(r.item_id);\r\n\r\n\t\tfor(var e in this.searchDataExpanded){\r\n\t\t\tif(this.searchDataExpanded[e].placeId == id){\r\n\t\t\t\tr.tagId = this.searchDataExpanded[e].tagId;\r\n\t\t\t\tr.type = \"item\";\r\n\t\t\t\tr.id = r.item_id;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn r;\r\n\t};\r\n\r\n}\r\n\r\nObject.defineProperty(String.prototype, \"similarityWith\", {\r\n\tenumerable: false,\r\n\tvalue: function(b, log){\r\n\t\tvar a = this.replace(/å/g, \"aa\");\r\n\t\tb = b.replace(/å/g, \"aa\");\r\n\t\tlog = log || false;\r\n\t\tvar al = a.length;\r\n\t\tvar bl = b.length;\r\n\r\n\t\tif(al < 1 || bl < 1) return 0;\r\n\t\tif(a == b) return 1;\r\n\r\n\t\tvar res = 0;\r\n\t\tvar sim = 0;\r\n\r\n\t\tvar checked = [];\r\n\r\n\t\tfor(var i = 0; i < al; i++){\r\n\t\t\tvar z = b.indexOf(a[i]);\r\n\r\n\r\n\t\t\tif(z != -1){\r\n\t\t\t\tvar indices = [];\r\n\t\t\t\tfor(var x = 0; x < bl; x++){\r\n\t\t\t\t\tif(b[x] === a[i]){\r\n\t\t\t\t\t\tindices.push(x);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor(var y in indices){\r\n\t\t\t\t\tvar a1 = (a[i - 1] + a[i]).replace(\"undefined\", \"\").replace(\" \", \"\");\r\n\t\t\t\t\tvar a2 = (a[i] + a[i + 1]).replace(\"undefined\", \"\").replace(\" \", \"\");\r\n\r\n\t\t\t\t\tvar a3 = a1[0] + a2;\r\n\r\n\t\t\t\t\tif(checked.indexOf(a3) != -1){\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tchecked.push(a3);\r\n\r\n\t\t\t\t\tif(b.indexOf(a3) != -1){\r\n\t\t\t\t\t\tsim++;\r\n\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\tif(b.indexOf(a1) != -1){\r\n\t\t\t\t\t\tsim += 0.5;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(b.indexOf(a2) != -1){\r\n\t\t\t\t\t\tsim += 0.5;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//b = b.replace(a[i], \"\");\r\n\t\t\t\tif(log){\r\n\t\t\t\t\tconsole.log(\"%c\"+a[i] + \" - \" + z, \"color: green;\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif(log){\r\n\t\t\t\t\tconsole.log(\"%c\"+a[i] + \" - \" + z, \"color: red;\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(log){\r\n\t\t\t\tconsole.log(b);\r\n\t\t\t}\r\n\t\t}\r\n\t\tres = sim / al;\r\n\t\treturn res;\r\n\t}\r\n});\r\n\r\nexport default SmartSearch;\r\n","var $ = require('../internals/export');\nvar lastIndexOf = require('../internals/array-last-index-of');\n\n// `Array.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\n$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {\n lastIndexOf: lastIndexOf\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('lastIndexOf', { ACCESSORS: true, 1: 2147483647 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : nativeLastIndexOf;\n"],"sourceRoot":""}