您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Bookmark your places on the map
当前为
// ==UserScript== // @name WME Bookmarks // @version 0.20 // @description Bookmark your places on the map // @namespace Sebiseba // @include https://www.waze.com/editor/* // @include https://www.waze.com/*/editor/* // @include https://editor-beta.waze.com/* // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGjElEQVR4nGJgGGAAAAAA//9ipETz3r17nf/8+RvDwsK8xNnZeS85ZgAAAAD//2KhxAE/f/3uYGZmNvn567cOAwODKTlmAAAAAP//YqLEAX///tURFRFh+PPnj8m+ffvEyTEDAAAA//8i2wG7d+/JZmNj4xAVFWHg4eFh+PP3bxo55gAAAAD//yLbAX/+/gkSEhJk4OLiYhASEmL48+evHznmAAAAAP//It8Bf/5aiQiLMLCwsDCIiUKigRxzAAAAAP//IssBe/bsCWdjY+Pg5eVhYGRkZODk5GTg4uJk2L17dzapZgEAAAD//yLLAb9//4ng4+NlYGFhYfj//z8DExMTg7CwMMPv33+CSDULAAAA//8iywG/fv+2ExYSYvj79y8c8/PzM/z6/duKVLMAAAAA//8i2QF79uxxZmJiEuLl5WX49+8f3AGcHBwMLCwsHLt27SIpGgAAAAD//yLZAT9//srh5+NjYGBgYPjz5w8cMzAwMAgICDD8+vWbpGgAAAAA//9iZGBgYFi/YePjv3//yhCrSUNdnUFAgB9F7P///wwfPn5kuHnzFtGWMzMzPwEAAAD//2zVsRGAIBAF0b3DFCNmPOtQ+69GAiwBhm8BGu+8eBeAMUbZYyMicHcww+1/E2ZGSone+6etOXOdB5J+rSTmnEiitYe71vICAAD//2JhYGBgEBTgN3vx8uXqZ89fqMvLyTIICQkx/IVqoBZghHro06dPDA8fPWb48/v3EwEBgQQAAAAA//9C8eaGDRsXfvr0KU5CUoJBRlqagYGBgeHv378UW87MzMzAxMTE8PTpU4anT58x8PHxLQoI8I9nYGBgAAAAAP//wgjnHTt3Or969XohOxubtKKiIgMHBzvD79+/4T4gBfz//5+BlZWV4fv37wwPHz1m+Pb163txcbFsT0/P5TA1AAAAAP//wmrq3r17xd+8eTvr48ePfjKyMgwS4uIMv3//Jik0mJiYGNjY2BjevH3L8PDBQwZuHu6D4mJi4c7Ozi+R1QEAAAD//8LrrS1bt0Y+fPBwHr+AAIeSogLD79+/Gf79+0e05ffu32f48P7DDxkZmTJ/f7/J2NQCAAAA//8iGK579uwRf/jo8favX74YysrJMnCwsxN0wO/ffxgeP3nMwMLCeltBQT7U3c3tIi61AAAAAP//IlgQubi4vOTi4jzKwcnJwMLMzPDjxw+C+P//fwxcXFwMHOzsN/FZzsDAwAAAAAD//yKqSfbyxYtgUVExhs+fPxOjnIGBAVIm3Lt/35aQOgAAAAD//yIYAtu3bzf49PmLJCw1I+OfP38ycHJyMvz+/RtD7s+fPwy/f/3m37x5ixs+8wEAAAD//yLogNevX6dyc3MxfPz4ASWYGRgYGPj5+RnevHnDwMvLy8DExIQi//HjRwYeHh6GZ8+eFeAzHwAAAP//IhgFjx4/DhIWEmb4+vUrXExYWJiBmZmF4dq16ww/fvz4+ezZc3ZVVVUGFhYWhvfv3zP8+/eP4ffv3wzcPDwMT58+w1tFAwAAAP//whsCW7dtM/z08ZMEIyMDvOwXFxdn+P7jB8OlS5cYBAUFdrS0NHNISkqsuHDhAsPnz18YREVFGZiYmBh+//7N8Of3H4ZfP3/wb9y40R2XHQAAAAD//8LrgOfPnqXz8PIyfP36lYGTk5NBXFyc4f79+wy3bt3+pa+vV5ydne3JwMDAkJaWFmlqahJ/7/79X/fv32cQFRVl4ObmZvjy5TMDLy8fw8NHjwpw2QEAAAD//8LrgPv37weys7Ey8PDwMHBxcTGcO3ee4dev3/cdHewtIiMj+5DVhoaGLnJ3c5X/9ev3/XPnzjOwsrIyCAgIMLCzszE8efwEZzQAAAAA///C6YAtW7YYfvz4SUxeXp7h67dvDGfOnGWQk5db1dBQr+Tt7X0emx5XV9cXDQ31SioqKrPOn7/A8P79ewYpKSmGP39+861bt84Tmx4AAAAA///C6YAHDx5m8/PzM1y8eInh+rVrvy0szNNzc3IicalHBunpaekODvYB9x88+HLmzBkGfn4BhocPHyZjUwsAAAD//1TOrQ7CMBQG0N37fbd6WIbiJ0tJikHwKogG1Ucupgo3kk0xOiwKwROc8xcQEaeqK5K7eX7VUkozTuMzhHBNKd2dcxczO5HsAWwBrAF0ADYAOpJ7kt7MzjHG6ej97V3rI+fcLMtnIHlQ1VZE7Gd+AQAA//8acAQAAAD//wMA0QVN81BfUzsAAAAASUVORK5CYII= // @URL https://greasyfork.org/scripts/4515-wme-bookmarks // @grant none // @copyright Sebiseba 2014 // ==/UserScript== // icon from ©iconza (https://www.iconfinder.com/iconsets/iconza) // icon form ©Sketchdock (https://www.iconfinder.com/iconsets/sketchdock-ecommerce-icons) var WMEF_Version = GM_info.script.version; var icon_signet ="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"; var icon_addlink ="iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAB0UlEQVR4XqVVgW3CQAz8RB0g3YBOUBALlAlKJ0iYgHQCYALoBDQThA2SBRB0AtiAbEDvpUN52WBQOOn0L7+Vi517J3IdMBwOEyw5mII9hmvwZ7vdbtwVRB1E+ljKVkDhF2ITGYw7iFRCRCJD3lgJdRBJgvACfAXfwH0Qn0qhlydEJmjRL/cNcr6wHnj2oSu6L+LbNOMbN0qE4JnE40J44JEt+sbet2lAEYk82B+VkGVhcA2eENh5cj/1ZyI3Y9UXFErIcNcOzMR3SRirhMhaVLMyhEwLN+QF/VBE5H2htep7RffcxW+z4nlO627AvysiI+TS5krItjD4znYthODSFNFC9j3B2fmKhRNbRCOmg0rjMoYPSETeUYkYNp6D54DZLZsHOSfGEuZkYHU55z6TQocgYX7T7lw9xUvsKKDIs4T2bm2s/E8LB5d16cmx5FHR6rdAgwGibT0pIs5PQXW5rMARMg5mfnrXwbQtOYUbzq6Z4a5P9zjSiD+p0s7TFg4rQDwS+Son5j9eTWPbwjbMycDKUnAcCBTgSs4u5ldty9vKZCVE/eIIVgY+jEIImbmRewL+ntDCFvYoYhC75zAC95YIc1z3ivSlToNW1mAR/vL/Acg9BLVmh/IBAAAAAElFTkSuQmCC"; var icon_delete ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggaDwcglEfa9wAAAftJREFUOMvNks1qFEEUhb+q7uqedNMdTJwJdjBRdBYG/4MEsgiGBAIuBBF8D8GXcO/LuHAjQkQJoglOFiN0YH4MKBomM3a6a6rcTOvEyQNYUHA5de5368CF/+Z0CABoU6m3qdRL7a/u19v49XEvgBiHdJ0okUo1AExRXLsw7HUAuipOpF9p4EjMcf+PDiDLooVXla67X1tdiWqrK5FwZKOFWmghF6TyGrUnj6PaveVIuu5+C686ARDIEPDRQ0x/IKp3bsfKD7dVOLtdfbAVm88NQZ4D+CPvZISOCNek6748f+tGBUAIgaxfZdhsgrF8+7ibGa23Ett/PQHoEJAwoE1l2VH+q9mb16etMWAtwnH4/mnvaFicbMyT7ZTeUxESBnQImCfbkWHYtkWBLQqs1litAdr/Np8ClA+HYbU7u762NMwyjLVYaxme5Exfubz01Y275aCJCCl4U9HcQe3Rw7nB23cCY+ilBz8sEF9aPAcglbJHzeZhURwvXsTkp36g8BLhyJlf73cQ1tpemmZG5xtW5xu9NM2EENZqDZYZiZ+cuY2pCO533TjrunG2J4LN0QC5K4LNUv8igvXxnjKCkDBlIHqBt55h1TOKD4A38uTPUXc9hH5K/kbAwMJPoBBjIAVEgA+4o+YyogX02O0DA0CLM5KIs5ZsBJmofwPkNtFJWyXQAQAAAABJRU5ErkJggg=="; var icon_comment ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggaDwYCWDyqUgAAAV5JREFUOMvFkrtKA2EQhb/5s7kZxcYLgtraWIhaqO9g4yNIHivY2foUAUWCoo2doEYEQYVNdpPN7s7YbMLGy1r6w4GBM3Nm5vwD//1kHKwen2/Xq16nWilJUUEUpzYYJrvdk/0rAG9M1KteZ39zRcLY4QokwiiWu/vXDuCmBKqVkvRHgh8mfAQJv2mICIZMaC9POoG33ggnYH9v/V3AzNBUKdzhi7Q3zRlqClrgughm9l3ALIMqVjBBvpixkwDBIG6/fgSTpDxUFVXFzIiiEWmatqccWW9eiIjU0lTPRFjINVDn3MbsbGNeVQmC8M7MHkTkCBg+tvZM/rq0tebFjhNpNxozNd/vbXVPDm5+XCGbxgGlzJsKUHlq7V2ng/fDXq9vJIN6ljNpXMoV14AlYPkLVvzbU99rLF4Ony81ernSrC4GVHICZWAuEypnU7jc5yc5BEAIJFJwalJwQZP4E5TjnzLm35jJAAAAAElFTkSuQmCC"; var icon_nocomment ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggaDwY14IEPXQAAAW1JREFUOMvFk71KA0EUhb872SwrKhIUxdLK1r9afQEbHyHqW6mtna21kkqCP4WKpYWNAYUYN+tm514LN3FXklg6cODCnXvmnJkz8N9L+sXh4flaFFWbYRjIuIE0zSxJehv7+1tXAEG/EUXV5urqkoAiMpxDBOI4lfv75ybgSgRhGIiZkiQp3W7KCA5EBOfcoBv8dtTpJDgnmI0z8tMsEZgZ3iuqo69BhBJ5iUBVyTIdKb9vwWyIArNveK8ULJaFG4iUvbl+EcefjVbrHTNQtRKyTPFeMTM6nU96Pd8o5eD4+EJEJPLen4LMFV0FgVuenZ2a8V55ff14MLMn52TXjKRe3zT5K2lHRxfrlYo0arXJ6OWlvXJwsH071EKuxgGV/G5CINzb27xut992Wq13S9PuRL5ncHClMBwB88DCLyyenZ20a7W5y7u7pj4+3mg+1wMGDy5AFZjOiaq5CldITlbABxADmYz5YDIyfoX6C0s3pa+Fu7UfAAAAAElFTkSuQmCC"; var icon_valid ="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"; var icon_relocate ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAgtJREFUeNqkk79PE2EYxz/ve+9xFGyhpdeyQChhMSFxcjYxpv+RgyYKZZANNycJiYRE0c0J40B1YmUwBEIgsNCCSY/r1Tvu7n1dDhsUCQnf6R2e9/vj+SGMMdwFkjtCXT5WVr5fW5Akul4sDr3rdqO3xpgXgLm1gzhOH7tufnVyslwdGxt+rrWZu3WEJNFPKpXCh2p1pHJ8/BNAuO69Oa3NPCBuJMiU1yqVkXKr5TEzU8VxbOI4pVgcemlM34m8SbnV6jA1Vca2FbVahVIpT5oakc/n5oBnxjAu/6d8cuJRq7kMDCiEEFiWhZQCY/T1U9DaPHDdwkfXLZTOzs6Zni6jlEIIiePYHBy0abc9LEsa3/+1YFnW4pUIWuuZiYmxUkaGlBKlrD+fT089LEsQhsnC8HC+EYY9ej2/70BKSZpqHMdCa83u7gmzsxMcHrZptzsMDuaMMQML3e7R/ObmZ9bX3xAE532CIPAB2NtrNeM4oVDIPdrePgIMo6Mlms0vjY2N9w3f77C//+PfHqyuvhb1+ifGxy8eel6PQiFHtxsCtmk2vy4uLT1txHEks9g620ij+uMLxc7OIVEUWFGU0Ol0IqVstbX1bWV5+dVaHEf3s9IQ8AEPSMXlNSqlhqS0S8YYRwihhEABIk2TIE0TkW1fAlwAAdC7QiCEEH8fSoYc4GS2dUaSAClgfg8AI1f2jUShF+IAAAAASUVORK5CYII="; var icon_backup ="iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKzSURBVHjatFZJT9tgEH1fnDirQthSdolFrQSV4MCRcoML/RP8AI69lpZrj9zhT/QMUnsHxKaChGgboISw1VlJvPSbSWyZACVulZFG1thf3pvljR1hWRaaaT402ZpO4HcHq6tf6fJB+uJ/YH4kjPn5Nw8JbPCxsX60t8c8I19d5bC3l1p0YT0gcMALhZJngnDYj/7+VqRSN4tPETB4Pl9iJyOVXV/noWlFlMsGx4GAglgsJM9G4fcr934fjYaenoHbCMg0LZyd3aJUqmB0tAcjIy8Qj4cghA+5XAnp9G/c3hYksd7YkN3g5Om0hkrFwMzMGLq7E/ysWCzDMEyZaZAJMxkNh4fn3ggKhTIuLrLclunpVwyezZawufmDAVtawtIj6Opq4TNUqSeCYrGCwcFO2V8fhoaS3IK1tX05lzuMjw9AVf3cmuPjS297YFskomJiYsCJT09veNBzc+NIJuN8T9cNbGx8Z2kaRrUCSigUCjxPoKoKDg5+OfM4P9fQ1hZ1wKtgCoJBlZ/19rYysKL4OLkGhgycnFzfuxeLBbktiUSEY9M0pd4vmXR29rVzjmaytfXzeRXZgyPF0NApw93dEwwPJzn7/f1TOfCcA57JZFlhNKcG96B6pR3QdROdnXGpLA3r69+kdHVetqmpl9weSmBnJ8XnGtwDOBWoagB9fW2YnBzkyihTAuroiLGa7u50bG+neMs9LxqZEODeHx1doKcn4QyapEvqovv1bXmUQEiklZUvLDubxDYCI1XZyvqbUUVPfXCEZZlL8nUrFXTlVOHFaV5ULeEIyrgKardCEJm6vPx5KRqNv/vXr00+r31aWHj7ngqX2GY9AbUsTMssPViLlZrTc+EeFa0DKbnm1BsaRoHeNhTXE6AG4HO5cF3FY3pwEVk1Io6tGrBo9t+WPwIMAGRjnEELGxjIAAAAAElFTkSuQmCC"; var icon_cancel ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggcCi8VvAktSQAAAZhJREFUOMvFk89qE1EUh797z4xp0Qb/DBOLpCiCrotC49sUWxB8Al1NBNE3cCFx6a4v4cZYSougC6UgJdrSigkFUeNk5hwXncRJiOnSCwcu9/D97u+ccy/87+WmHS6tvxnmljutxs4sAT8N7rQaqFpixvZpDvw0eHH1dbNeqybnz1X+CRYu/5ZQhpdvxEll/ixvP3zhdzrYBKTEini38fnFnScjgTJ89XI1qcUX2e+lxNUQ8YaqkueKqgHGp/0eu89uuzEHV+62n966GT/w4TyHx4ORPdWcLMuKUFRzfvX77D1fcQDByJd3vN87JooE70501YxcQW0YhpqNDc+XSng4SNNH3W9dzOwk6T0iHhFBRAgCIQjCsWYGAJ1WYyjSrK+16XZ7SRRd4ujoK2maFk10FMbEObcxczT1tXbz+v1tu3Zvy04b4+Sr9L6yIAD11VePl9Y3hwJngLBw7MtNkBI8B8SWpzVwi9/fvfzovLT7B1sOiIEIuAAsFNwAUFcSCIvk3MRtAAYokAEp8AP4CWRuxgebzNm0/R+R3aag7ETr7wAAAABJRU5ErkJggg=="; var icon_info ="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3ggcCiUhZ1IxdgAAAaVJREFUOMvFkj1rVEEUhp9zP/bmakiCBoKaaCUopLILphbsBftgbWVjYX6H/0BBEAR/QkCRdHYqEd1CTDaim2zuZu6957W46364G1sHBg7DzDPPe2bgf42rD94aQPJnYXXrza08S3azVmz/OihBryh3BHeAYgjIs2R3Y/2SFVWMARhEZgiQawKy9627+f3gx0vg7hCQtWIryojPB33MIJyWLKbHLM3P8bM6TxF8CEizHEnLANEsTQMsjnn2aJ1Xj29yfSVt1gZTGhklfyVEcoShuuL2k0/UMpYXWiRjrXH32QAJvBZEcHmh5vnDawjYfnHI3n4Y7oui6GwDl4Mb3ZAyn8esXszI0sMJ7XGDaNJAyB3Jae8f0emWAPRDjeS417g3ddONKUBDl8TahYgbV84BsH1vheOiai6QcHfMZkUw0ECxsjm2nn5FLtLEaCU2FsOmexDKWt3eqSEhoNevef/lZJTVGkOAEPoAnQnAUae9+aH0nTgavJfZ7H8MVKF4d/Lx9f1xFxvABOSDOh3rkYAaqIAAhGRxjepXu7IzPuJk0BFkqv4NL9LKlyfSx2sAAAAASUVORK5CYII="; var link=""; var contentselect=""; /* helper function */ function getId(node) { return document.getElementById(node); } function getElementsByClassName(classname, node) { node || (node = document.getElementsByTagName("body")[0]); for (var a = [], re = new RegExp("\\b" + classname + "\\b"), els = node.getElementsByTagName("*"), i = 0, j = els.length;i < j;i++) { re.test(els[i].className) && a.push(els[i]); } return a; } function getFunctionWithArgs(func, args) { return ( function () { var json_args = JSON.stringify(args); return function() { var args = JSON.parse(json_args); func.apply(this, args); } } )(); } function GetLink() { link=""; var a = getElementsByClassName("WazeControlPermalink")[0].innerHTML; var b = a.substring(a.indexOf("https")).split('?'); var c = b[1].split(/"/g); var d = c[0].split('&'); for (i=0; d[i]; i++) { if (d[i].substring(0,3)=="lon" || d[i].substring(0,3)=="lat") { link = link + d[i].substring(4) +"&"; } if (d[i].substring(0,4)=="zoom") { link = link + d[i].substring(5,6) +"&"; } } link = link.substring(0,link.length-1); //console.log("WME Bookmarks link: " + link); return link; } /* Bootstrap */ function BKM_bootstrap() { if (typeof unsafeWindow === "undefined") { unsafeWindow = ( function () { var dummyElem = document.createElement('p'); dummyElem.setAttribute('onclick', 'return window;'); return dummyElem.onclick(); }) (); } /* begin running the code! */ console.log("WME Bookmarks: " + WMEF_Version + " starting"); BKMinit(); } /* Verif */ function BKMinit(){ // Verify localStorage if ("undefined" === typeof localStorage.WMEBookmarks) { localStorage.setItem('WMEBookmarks', ""); } // Waze object needed BKMWaze = unsafeWindow.Waze; if(typeof(BKMWaze) === 'undefined'){ console.error("WME Bookmarks - BKMWaze : NOK"); window.setTimeout(BKMinit, 500); return; } BKMlocation = BKMWaze.location; if(typeof(BKMlocation) == 'undefined'){ console.error("WME Bookmarks - BKMlocation : NOK"); window.setTimeout(BKMinit, 500); return; } BKMcountry = BKMWaze.model.countries.top; if(typeof(BKMcountry) == 'undefined'){ //console.error("WME Bookmarks - BKMcountry DOM : NOK"); window.setTimeout(BKMinit, 500); return; } // Traductions BKMI18n = unsafeWindow.I18n; if(typeof(BKMI18n) === 'undefined'){ console.error("WME Bookmarks - BKMI18n : NOK"); setTimeout(BKMinit, 500); return; } // Waze GUI needed BKMhandle = getId("user-info"); if(typeof(BKMhandle) === 'undefined'){ console.error("WME Bookmarks - BKMhandle : NOK"); setTimeout(BKMinit, 500); return; } BKMhandleClass = getElementsByClassName("nav-tabs", BKMhandle)[0]; if(typeof(BKMhandleClass) === 'undefined'){ //console.error("WME Bookmarks - BKMhandleClass : NOK"); setTimeout(BKMinit, 500); return; } BKMhandleClass2 = getElementsByClassName("tab-content", BKMhandle)[0]; if(typeof(BKMhandleClass2) === 'undefined'){ //console.error("WME Bookmarks - BKMhandleClass2 : NOK"); setTimeout(BKMinit, 500); return; } // Translation var BKMLang = BKMI18n.locale; if (BKMLang == "fr") { lang = new Array("Favoris","Noms","Nom","Supprimer ","Commentaire","Sans Nom","Changer","Sauvegarde / Restauration","Valider","Annuler"); text=" Copiez ces données dans un fichier TXT pour les conserver.<br/>Collez vos données pour les restaurer.<br/>Attention les données existantes seront perdues, pensez à les fusionner si nécessaire."; } else { lang = new Array("Bookmarks","Names","Name","Delete ","Comment","Unnamed","Change","Backup / Restore","Valid","Cancel"); text=" Copy data into a TXT file to preserve them.<br/>Paste your data to restore them.<br/>Please note existing data will be lost, think about merge them if necessary."; } // Then running BKMcountryActive = BKMWaze.model.countries.top.name; BKMTableCountries(); BKMcss(); BKMhtml(); } function BKMhtml() { //Create content in favorite's tab var newtab = document.createElement('li'); newtab.innerHTML = "<a href='#sidepanel-favorites' data-toggle='tab'><img style='width:16px;' title='"+ lang[0] +"' src='data:image/png;base64,"+ icon_signet +"' /> "+ lang[0] +"</a>"; BKMhandleClass.appendChild(newtab); var addon = document.createElement('section'); addon.id = "favorites-addon"; // Bookmarks header var content = "<div style='float:left; height:34px;'><a href='#'><img class='BKMbutton' id='Backup' title='"+ lang[7] +"' style='border:0;' src='data:image/png;base64,"+ icon_backup +"' /></a> </div>"; content +="<div style='float:left; margin-left:5px;'><b><a href='https://greasyfork.org/scripts/4515-wme-bookmarks' target='_blank'><u>WME Bookmarks</u></a></b> v"+ WMEF_Version + "</div>"; content += "<div id='addBKMButton' style='float:right; height:34px;'></div>"; content += "<div class='divEntete' id='divEntete'><div id='divEnteteNom'>"+ lang[1] +"</div><div id ='divEntetePays'><select type='text' name='Country' id='SelectCountry'></select></div></div>"; // Bookmarks container content += "<div id='BKMcontent'></div>"; // Editing infos content += "<div id='BKMEdit'></div>"; addon.innerHTML = content; addon.id = "sidepanel-favorites"; addon.className = "tab-pane"; BKMhandleClass2.appendChild(addon); select(); console.info("WME Bookmarks HTML loaded"); getId('Backup').onclick = BKMBackup; getId('SelectCountry').onchange = (function() { clearTimeout(timer); BKMCheckActiveCountry(); BKMcountryActive=getId('SelectCountry').value; getId('BKMcontent').innerHTML=""; BKMLoad(); }); BKMLoad(); BKMAddButtonIfLoad(); BKMCheckActiveCountry(); } function BKMcss() { var cssElt = document.createElement("style"); cssElt.type = "text/css"; var css = "img { vertical-align:top;}"; css += ".BKMbutton { height:24px; border:1px solid #93C4D3; padding:3px; }"; css += ".divEntete { clear:both; line-height:22px; height:26px; padding-left:5px; font-weight:bold; border:2px solid #3d3d3d; background-color:#BEDCE5;}"; css += "#divEnteteNom { float:left; text-align:left; border-right:2px solid #3d3d3d; width:80px; }"; css += "#divEntetePays { float:right; }"; css += "#SelectCountry { height:22px; background-color:#BEDCE5; border:0; }"; css += ".divBKM { clear:both; line-height:21px; height: 24px; border: 1px solid #3d3d3d; border-top:0; }"; css += ".divName { float:left; text-align:left; padding-left:5px; width:215px; }"; css += ".divSuppr { float:right; width:20px; padding-top :3px; }"; css += "#BKMEdit { display:none; height:135px; margin-top:10px; border:2px solid #3d3d3d; }"; css += "#divEditTitre { line-height:24px; height:24px; border-bottom:1px solid #3d3d3d; }"; css += "#divEdit { float:left; width: 50px; height:23px; text-align:left; padding-left:5px; font-weight:bold; background-color:#BEDCE5; }"; css += "#divEditName { float:left; width:195px; height:23px; padding:0; padding-left:5px; border:0; margin:0; }"; css += "#divComm { float:left; width:100%; line-height:24px; height:23px; padding-left:5px; text-align:left; font-weight:bold; background-color:#BEDCE5; border-bottom:1px solid #3d3d3d; }"; css += "#divCommEdit { float:left; width:275px; height:81px; border:0; margin:0; padding:2px; resize:none; }"; css += "#divBackup { width:296px; height:200px; margin:2px 0 10px; resize:none; border:2px solid #3d3d3d; }"; css += ".divComment { clear:both; position:relative; display:none; padding:0 0 3px 20px; text-align:left; background: #BEDCE5 url(data:image/png;base64," +icon_comment +") no-repeat left top; border-bottom:1px solid #3d3d3d; }"; cssElt.innerHTML = css; document.body.appendChild(cssElt); console.info("WME Bookmarks CSS loaded"); } function BKMLoad() { var listfav= localStorage.getItem("WMEBookmarks"); if (listfav) { var a = listfav.split(','); for (var i = 0; a[i]; i++) { var b = a[i].split('|'); if (b[0] == BKMcountryActive) { BKMTableHTML(b[1],b[2],b[3],i); } } console.info("WME Bookmarks all ID loaded, script ready "); } else { console.info("WME Bookmarks no ID to load, script ready"); } } function BKMTableHTML(name,link,comment,i) { var div = document.createElement('div'); div.className="divBKM"; div.id="divBKM_"+i; var divname = document.createElement('div'); divname.className="divName"; var divnamea = document.createElement('a'); divnamea.innerHTML="<b>"+name.substring(0,36)+"</b>"; divnamea.href = "#"; divnamea.onclick = getFunctionWithArgs(BKMJump, [link]); if (comment) { divnamea.onmouseover = (function() { getId("divBKM_"+i).style.backgroundColor="#BEDCE5"; getId("divBKM_"+i).style.borderBottom="1px dashed #77aacc"; getId("divComment_"+i).style.display="block"; }); divnamea.onmouseout = (function() { getId("divBKM_"+i).style.backgroundColor="#FFFFFF"; getId("divBKM_"+i).style.borderBottom="1px solid #3d3d3d"; getId("divComment_"+i).style.display="none"; }); } divname.appendChild(divnamea); div.appendChild(divname); var divsuppr = document.createElement('div'); divsuppr.className="divSuppr"; var divsuppra = document.createElement('a'); divsuppra.innerHTML="<img title='Suppr' src='data:image/png;base64," +icon_delete +"' />"; divsuppra.href = "#"; divsuppra.onclick = getFunctionWithArgs(BKMSuppr, [name, link]); divsuppr.appendChild(divsuppra); div.appendChild(divsuppr); var divcomment = document.createElement('div'); divcomment.className="divSuppr"; var divcommenta = document.createElement('a'); if (comment == "") { divcommenta.innerHTML="<img title='+' src='data:image/png;base64," +icon_nocomment +"' />"; } else { divcommenta.innerHTML="<img title='"+comment.replace(/\'/g,''').replace(/"/g,'"')+"' src='data:image/png;base64," +icon_comment +"' />"; } divcommenta.href = "#"; divcommenta.onclick = getFunctionWithArgs(BKMHTMLEditName, [name,link,comment]); if (comment) { divcommenta.onmouseover = (function() { getId("divBKM_"+i).style.backgroundColor="#BEDCE5"; getId("divBKM_"+i).style.borderBottom="1px dashed #77aacc"; getId("divComment_"+i).style.display="block"; }); divcommenta.onmouseout = (function() { getId("divBKM_"+i).style.backgroundColor="#FFFFFF"; getId("divBKM_"+i).style.borderBottom="1px solid #3d3d3d"; getId("divComment_"+i).style.display="none"; }); } divcomment.appendChild(divcommenta); div.appendChild(divcomment); var divlocate = document.createElement('div'); divlocate.className="divSuppr"; var divlocatea = document.createElement('a'); divlocatea.innerHTML="<img title='Relocate' src='data:image/png;base64," +icon_relocate +"' />"; divlocatea.href = "#"; divlocatea.onclick = getFunctionWithArgs(BKMLocate, [link, name]); divlocate.appendChild(divlocatea); div.appendChild(divlocate); var divcomment = document.createElement('div'); divcomment.className="divSuppr"; var divseecomment = document.createElement('div'); divseecomment.className="divComment"; divseecomment.id="divComment_"+i; divseecomment.innerHTML=comment.replace(/ /g,'<br>'); div.appendChild(divseecomment); getId('BKMcontent').appendChild(div); } function BKMInsertPermalink() { BKMcountryActive = BKMWaze.model.countries.top.name; GetLink(); //Get name var town = getElementsByClassName("WazeControlLocationInfo")[0]; var name = town.innerHTML.split(","); name = name[0].substring(6); if (!name) { name = lang[5]; } console.info("WME Bookmarks Add link: "+BKMcountryActive+" / "+name+" / "+link); //Add in HTML table var id = new Date().getTime(); getId('BKMcontent').innerHTML=""; BKMLoad(); select(); BKMTableHTML(name,link,"",9999); BKMHTMLEditName(name,link,""); //Add in memory var newbkm = BKMcountryActive +"|"+ name +"|"+ link +"|,"; var tosave = localStorage.getItem("WMEBookmarks") + newbkm; localStorage.setItem("WMEBookmarks", tosave); //console.info("WME Bookmarks Save Memory: "+ tosave); //Reload Select list if new country var a = countries.indexOf(BKMcountryActive); if (a == -1) { BKMTableCountries(); select(); } } function BKMHTMLEditName(name,link,comment) { getId('BKMEdit').style.display = "block"; var content1 = "<div id='divEditTitre'><div id='divEdit'>"+ lang[2] +"</div><input type='text' id='divEditName' value='"+name.replace(/\'/g,''').replace(/"/g,'"')+"' />"; content1 += "<div class='divSuppr'><a href='#'><img id='EditValid' margin-top:3px;' title='Valid' src='data:image/png;base64," +icon_valid +"' /></a></div>"; content1 += "</div><div><div id='divComm'>"+ lang[4] +"</div><textarea id='divCommEdit'>"; if (comment == "") { content1 += ""; } else { content1 += comment; } content1 += "</textarea></div>"; getId('BKMEdit').innerHTML=content1; getId('EditValid').onclick = getFunctionWithArgs(BKMEditName, [link]); } function BKMEditName(link) { var newname = getId('divEditName').value; var newcomment = getId('divCommEdit').value.replace(/,/g,',').replace(/;/g,';').replace(/\|/g,'|').replace(new RegExp('(\r\n|\r|\n)', 'g'),' '); getId('BKMEdit').style.display = "none"; // console.info("WME Bookmarks New Values: "+newname+" "+newcomment); clearTimeout(timer); BKMCheckActiveCountry(); var listfav= localStorage.getItem("WMEBookmarks"); var a = listfav.split(','), tosave=""; for (var i = 0; a[i]; i++) { var b = a[i].indexOf(link); if (b == -1) { tosave = tosave + a[i] + ","; } else { tosave = tosave + BKMcountryActive +"|"+ newname +"|"+ link +"|"+ newcomment +","; } } localStorage.setItem("WMEBookmarks", tosave); getId('BKMcontent').innerHTML=""; BKMLoad(); } function BKMSuppr(name,id) { var answer = window.confirm(lang[3]+name+" ?"); if (answer){ //console.info("WME Bookmarks Suppr: "+id); var listfav= localStorage.getItem("WMEBookmarks"); var a = listfav.split(','), tosave=""; for (var i = 0; a[i]; i++) { var b = a[i].indexOf(id); if (b == -1) { tosave = tosave + a[i] + ","; } } localStorage.setItem("WMEBookmarks", tosave); getId('BKMEdit').style.display = "none"; getId('BKMcontent').innerHTML=""; BKMLoad(); } } function BKMLocate(id,name) { var answer = window.confirm(lang[6]+" Lon/Lat/Zoom ? ("+name+")"); if (answer){ GetLink(); var listfav= localStorage.getItem("WMEBookmarks"); var a = listfav.split(','), tosave=""; for (var i = 0; a[i]; i++) { var b = a[i].indexOf(id); if (b == -1) { tosave = tosave + a[i] + ","; } else { var c = a[i].split('|'); tosave = tosave + c[0] +"|"+ c[1] +"|"+ link +"|"+ c[3] +","; //console.info("WME Bookmarks localStorage: "+id +" -> "+ c[0] +"|"+ c[1] +"|"+ link +"|"+ c[3]); } } localStorage.setItem("WMEBookmarks", tosave); getId('BKMcontent').innerHTML=""; BKMLoad(); } } function BKMJump(xy) { var coord=xy.split('&'); //console.log("WME Bookmarks Move to: "+ coord[0] +" / "+ coord[1] +" / Zoom: "+ coord[2]); var xy = OpenLayers.Layer.SphericalMercator.forwardMercator(parseFloat(coord[0]), parseFloat(coord[1])); unsafeWindow.Waze.map.setCenter(xy); unsafeWindow.Waze.map.zoomTo(coord[2]); var BKMcountryActiveWME = BKMWaze.model.countries.top.name; BKMAddButtonIfLoad(); getId('BKMcontent').innerHTML=""; BKMLoad(); } function BKMAddButtonIfLoad() { var loaded = Waze.map.controls[5].pending; //console.log("WME Bookmarks Scan Map Loaded : "+ loaded.length); if(loaded.length != 0){ getId('addBKMButton').innerHTML=""; setTimeout(BKMAddButtonIfLoad, 500); return; } getId('addBKMButton').innerHTML="<a href='#'><img class='BKMbutton' id='AddIcon' title='Add' src='data:image/png;base64," + icon_addlink + "' /></a>"; getId('AddIcon').onclick = BKMInsertPermalink; timerbutton = setTimeout(BKMAddButtonIfLoad, 2000); } function BKMCheckActiveCountry() { var BKMcountryActiveWME = BKMWaze.model.countries.top.name; if (BKMcountryActive != BKMcountryActiveWME) { console.log("WME Bookmarks Country changed : *"+ BKMcountryActive+"* / *"+BKMcountryActiveWME+"*"); BKMcountryActive = BKMcountryActiveWME; select(); getId('SelectCountry').onchange = (function() { clearTimeout(timer); BKMCheckActiveCountry(); BKMcountryActive=getId('SelectCountry').value; getId('BKMcontent').innerHTML=""; BKMLoad(); }); getId('BKMcontent').innerHTML=""; BKMLoad(); } timer = setTimeout(BKMCheckActiveCountry, 5000); } function BKMBackup() { var listfav= localStorage.getItem("WMEBookmarks"); var a = listfav.split(','), tosave="" for (var i = 0; a[i]; i++) { tosave = tosave + a[i].replace(/\|/g,';').replace(/ /g,'<br>') + "\n"; console.log("WME Bookmarks Backup Line : "+ a[i].replace(/\|/g,';') + "\n"); } var content=lang[7]+"<div class='divSuppr'><a href='#'><img id='BackupValid' title='"+lang[8]+"' src='data:image/png;base64," +icon_valid +"' /></a></div>"; content +="<div class='divSuppr'><a href='#'><img id='BackupCancel' title='"+lang[9]+"' src='data:image/png;base64," +icon_cancel +"' /></a></div>"; getId('divEntete').innerHTML=content; clearTimeout(timerbutton); getId('addBKMButton').innerHTML=""; getId('BKMEdit').style.display = "none"; getId('BKMcontent').innerHTML="<textarea id='divBackup'>"+tosave+"</textarea><br/><img title='Info' src='data:image/png;base64," +icon_info +"' />"+text; getId('divBackup').onclick=(function() {getId('divBackup').focus(); getId('divBackup').select(); }) getId('Backup').onclick=cancel; getId('BackupCancel').onclick=cancel; getId('BackupValid').onclick=backup; function cancel() { getId('divEntete').innerHTML="<div id='divEnteteNom'>"+ lang[1] +"</div><div id='divEntetePays'><select type='text' name='Country' id='SelectCountry'></select></div>"; select(); getId('SelectCountry').onchange = (function() { clearTimeout(timer); BKMCheckActiveCountry(); BKMcountryActive=getId('SelectCountry').value; getId('BKMcontent').innerHTML=""; BKMLoad(); }); getId('BKMcontent').innerHTML=""; getId('Backup').onclick = BKMBackup; BKMAddButtonIfLoad(); BKMLoad(); } function backup() { var backupdata = getId('divBackup').value; backupdata = backupdata.replace(/,/g,',').replace(/\&/g,'&').replace(/\n/g,',').replace(/\;/g,'|').replace(/\<br\>/g,' '); //console.log("WME Bookmarks Backup : "+ backupdata); getId('divEntete').innerHTML="<div id='divEnteteNom'>"+ lang[1] +"</div><div id='divEntetePays'><select type='text' name='Country' id='SelectCountry'></select></div>"; BKMTableCountries(); select(); getId('SelectCountry').onchange = (function() { clearTimeout(timer); BKMCheckActiveCountry(); BKMcountryActive=getId('SelectCountry').value; getId('BKMcontent').innerHTML=""; BKMLoad(); }); getId('Backup').onclick = BKMBackup; localStorage.setItem("WMEBookmarks", backupdata); getId('BKMcontent').innerHTML=""; BKMAddButtonIfLoad(); BKMLoad(); } } function BKMTableCountries() { console.log("WME Bookmarks Scan Countries listed"); countries = new Array(); var listfav= localStorage.getItem("WMEBookmarks"); var a = listfav.split(','); for (var i = 0; a[i]; i++) { var b = a[i].split('|'); var c = countries.indexOf(b[0]); if (c == -1) { countries.push(b[0]); } } } function select(){ //Add countries in select BKMcountryActive = BKMWaze.model.countries.top.name; var CSelect = getId('SelectCountry'); CSelect.innerHTML=""; for (k=0; countries[k]; k++) { var CList = document.createElement('option'); CList.value = countries[k]; CList.text = countries[k]; if (countries[k] == BKMcountryActive) CList.selected = true; CSelect.appendChild(CList); } //If country not listed var a = countries.indexOf(BKMcountryActive); if (a == -1) { var CList = document.createElement('option'); CList.value = BKMcountryActive; CList.text = BKMcountryActive; CList.selected = true; CSelect.appendChild(CList); } } /* begin running the code! */ BKM_bootstrap();