diff --git a/plugins/bookmarks-by-zaso-logo.png b/plugins/bookmarks-by-zaso-logo.png new file mode 100644 index 00000000..2b97556b Binary files /dev/null and b/plugins/bookmarks-by-zaso-logo.png differ diff --git a/plugins/bookmarks-by-zaso-star.png b/plugins/bookmarks-by-zaso-star.png new file mode 100644 index 00000000..0d1c1cd7 Binary files /dev/null and b/plugins/bookmarks-by-zaso-star.png differ diff --git a/plugins/bookmarks-by-zaso.css b/plugins/bookmarks-by-zaso.css new file mode 100644 index 00000000..d15231bd --- /dev/null +++ b/plugins/bookmarks-by-zaso.css @@ -0,0 +1,368 @@ +#bookmarksBox * { + display: block; + width: auto; + height: auto; + font-family: Verdana,Geneva,sans-serif; + font-size: 13px; + line-height: 22px; + text-indent: 0; + text-decoration: none; + margin: 0; + padding: 0; +} + +#bookmarksBox { + margin-top: -100%; + position: absolute!important; + z-index: 4001; + top: 100px; + left: 100px; +} + +#bookmarksBox .addForm,#bookmarksBox #bookmarksTypeBar,#bookmarksBox h5 { + height: 28px; + overflow: hidden; + color: #fff; + font-size: 14px; +} + +#bookmarksBox #topBar,#bookmarksBox #topBar * { + height: 15px!important; +} + +#bookmarksBox #topBar * { + float: left!important; +} + +#bookmarksBox .handle { + text-indent: -20px; + width: 209px; + text-align: center; + color: #fff; + line-height: 8px; + cursor: move; +} + +#bookmarksBox #topBar .btn { + display: block; + width: 19px; + cursor: pointer; + color: #20a8b1; +} + +#bookmarksBox #topBar #bookmarksMin { + font-weight: 700; + text-align: center; + line-height: 14px; + font-size: 18px; +} + +#bookmarksBox #topBar #bookmarksMin: hover { + color: #FFD700; +} + +#bookmarksBox #bookmarksTypeBar { + clear: both; +} + +#bookmarksBox h5 { + width: 114px; + text-align: center; + color: #788; + padding: 4px 0; +} + +#bookmarksBox h5.current { + cursor: default; + background: 0; + color: #fff!important; +} + +#bookmarksBox h5: hover { + color: #FFD700; + background: rgba(0,0,0,0); +} + +#bookmarksBox #topBar .btn,#bookmarksBox .addForm,#bookmarksBox .handle,#bookmarksBox #bookmarksTypeBar,#bookmarksBox .bookmarkList li.bookmarksEmpty,#bookmarksBox .bookmarkList li.bkmrk a,#bookmarksBox .bookmarkList li.bkmrk: hover { + background-color: rgba(8,48,78,.85); +} + +#bookmarksBox h5,#bookmarksBox .bookmarkList li.bkmrk: hover .bookmarksLink,#bookmarksBox .addForm * { + background: rgba(0,0,0,.3); +} + +#bookmarksBox .addForm * { + display: block; + float: left; + padding: 4px 8px 3px; +} + +#bookmarksBox .addForm a { + cursor: pointer; + color: #20a8b1; + font-size: 12px; + width: 65px; + text-align: center; + line-height: 20px; + padding: 4px 0 3px; +} + +#bookmarksBox .addForm a: hover { + background: #FFD700; + color: #000; + text-decoration: none; +} + +#bookmarksBox .addForm input { + font-size: 11px!important; + color: #ffce00; + width: 81px; + line-height: 11px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +#bookmarksBox #bkmrk_portals .addForm input { + width: 147px; +} + +#bookmarksBox .addForm input: hover,#bookmarksBox .addForm input: focus { + outline: 0; + background: rgba(0,0,0,.6); +} + +#bookmarksBox .bookmarkList>ul { + width: 231px; + clear: both; + list-style-type: none; + color: #fff; + overflow: hidden; + max-height: 550px; +} + +#bookmarksBox .sortable-placeholder { + background: rgba(8,48,78,.55); + box-shadow: inset 1px 0 0 #20a8b1; +} + +#bookmarksBox .bookmarkList { + display: none; +} + +#bookmarksBox h5,#bookmarksBox .addForm *,#bookmarksBox ul li.bkmrk,#bookmarksBox ul li.bkmrk a { + height: 22px; +} + +#bookmarksBox h5,#bookmarksBox ul li.bkmrk a { + overflow: hidden; + cursor: pointer; + float: left; +} + +#bookmarksBox ul .bookmarksEmpty { + text-indent: 27px; + color: #eee; +} + +#bookmarksBox ul .bookmarksRemoveFrom { + width: 19px; + text-align: center; + color: #fff; +} + +#bookmarksBox ul .bookmarksLink { + width: 171px; + color: #FFD700; + padding: 0 10px 0 8px; +} + +#bookmarksBox ul .othersBookmarks .bookmarksLink { + width: 190px; +} + +#bookmarksBox ul .bookmarksRemoveFrom: hover { + color: #fff; + background: #e22; +} + +#bookmarksBox,#bookmarksBox * { + border-color: #20a8b1; + border-style: solid; + border-width: 0; +} + +#bookmarksBox #topBar,#bookmarksBox #bookmarksTypeBar,#bookmarksBox .addForm,#bookmarksBox ul .bookmarkFolder .folderLabel,#bookmarksBox ul li.bkmrk { + border-bottom-width: 1px; +} + +#bookmarksBox #topBar *,#bookmarksBox #bookmarksTypeBar *,#bookmarksBox .addForm * { + border-left-width: 1px; +} + +#bookmarksBox #topBar,#bookmarksBox #bookmarksTypeBar,#bookmarksBox .addForm { + border-right-width: 1px; +} + +#bookmarksBox ul .othersBookmarks .bookmarksRemoveFrom,#bookmarksBox ul .bookmarkFolder .folderLabel .bookmarksRemoveFrom { + border-left-width: 0; +} + +#bookmarksShow { + display: block; + position: absolute; + top: 0; + left: 250px; + width: 47px; + margin-top: -100%; + height: 64px; + cursor: pointer; + z-index: 4005; + background-position: center bottom; + background-repeat: no-repeat; + transition: margin-top 100ms ease-in-out; + background-image: url(@@INCLUDEIMAGE:plugins/bookmarks-by-zaso-logo.png@@); +} + +#bookmarksShow: hover { + margin-top: 0!important; +} + +#bookmarkStar { + display: inline-block; + position: relative; + top: 1px; + margin-right: 3px; + width: 16px; + height: 15px; + overflow: hidden; + background-image: url(@@INCLUDEIMAGE:plugins/bookmarks-by-zaso-star.png@@); + background-position: left center; + background-repeat: no-repeat; +} + +#bookmarkStar: hover,#bookmarkStar.favorite { + background-position: right center; +} + +#bookmarksBox .handleScroll { + cursor: s-resize; + width: 3px; + right: 3px; + background: #FFD700; + opacity: .7; +} + +#bookmarksBox .bookmarkList .bookmarkFolder { + overflow: hidden; + margin-top: -1px; + height: auto; + background: rgba(8,58,78,.7); +} + +#bookmarksBox .bookmarkList ul li.sortable-placeholder { + box-shadow: inset -1px 0 0 #20a8b1,inset 1px 0 0 #20a8b1,0 -1px 0 #20a8b1; + background: rgba(8,58,78,.9); +} + +#bookmarksBox .bookmarkList ul li ul li.sortable-placeholder { + height: 23px; + box-shadow: inset 0 -1px 0 #20a8b1,inset 1px 0 0 #20a8b1; +} + +#bookmarksBox .bookmarkList ul li.bookmarkFolder.ui-sortable-helper,#bookmarksBox .bookmarkList ul li.othersBookmarks ul,#bookmarksBox .bookmarkList ul li.othersBookmarks ul li.sortable-placeholder { + box-shadow: inset 0 -1px 0 #20a8b1; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span,#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>span,#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>span>span,#bookmarksBox .bookmarkList .triangle { + width: 0; + height: 0; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel { + overflow: visible; + height: 25px; + cursor: pointer; + background: #069; + text-indent: 0; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>* { + height: 25px; + float: left; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor { + line-height: 25px; + color: #fff; + width: 209px; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel .bookmarksAnchor span { + float: left; + border-color: transparent transparent transparent #FFF; + border-width: 5px 0 5px 7px; + margin: 7px 7px 0 6px; +} + +#bookmarksBox .bookmarkList .bookmarkFolder.active .folderLabel .bookmarksAnchor span { + border-color: #FFF transparent transparent; + border-width: 7px 5px 0; + margin: 9px 5px 0; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>span,#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>span>span { + display: none; + position: relative; + top: 21px; + left: 219px; + border-color: transparent #20a8b1 transparent transparent; + border-width: 0 12px 10px 0; + margin: -20px 0 0; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel>span>span { + top: 18px; + left: 0; + border-color: transparent #069 transparent transparent; + border-width: 0 10px 9px 0; +} + +#bookmarksBox .bookmarkList .bookmarkFolder.active .folderLabel: hover>span>span { + border-color: transparent #036 transparent transparent; +} + +#bookmarksBox .bookmarkList .bookmarkFolder .folderLabel: hover .bookmarksAnchor { + background: #036; +} + +#bookmarksBox .bookmarkList .bookmarkFolder ul { + display: none; + margin-left: 19px; +} + +#bookmarksBox .bookmarkList .bookmarkFolder.active ul { + display: block; + min-height: 22px; +} + +#bookmarksBox .bookmarkFolder.othersBookmarks ul { + margin-left: 0; +} + +#bookmarksBox .ui-sortable-helper,#bookmarksBox #topBar,#bookmarksBox ul .bookmarkFolder { + border-top-width: 1px; +} + +#bookmarksBox .bookmarkList.current,#bookmarksBox .bookmarkList .bookmarkFolder.active .folderLabel>span,#bookmarksBox .bookmarkList .bookmarkFolder.active .folderLabel>span>span { + display: block; +} + +#bookmarksBox ul .bookmarksLink.selected,#bookmarksBox ul .bookmarksLink: hover { + color: #03fe03; +} + +#bookmarksBox ul .bookmarkFolder,#bookmarksBox ul .bookmarksRemoveFrom,#bookmarksBox .bookmarkList .bkmrk.ui-sortable-helper { + border-right-width: 1px; + border-left-width: 1px; +} diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js new file mode 100644 index 00000000..df6c715e --- /dev/null +++ b/plugins/bookmarks-by-zaso.user.js @@ -0,0 +1,388 @@ +// ==UserScript== +// @id iitc-plugin-bookmarks@zaso +// @name IITC plugin: Bookmarks for maps and portals +// @version 0.1.3.@@DATETIMEVERSION@@ +// @namespace https://github.com/jonatkins/ingress-intel-total-conversion +// @updateURL @@UPDATEURL@@ +// @downloadURL @@DOWNLOADURL@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] Save your favorite Maps and Portals. +// @include https://www.ingress.com/intel* +// @include http://www.ingress.com/intel* +// @match https://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// ==/UserScript== + +function wrapper() { +// ensure plugin framework is there, even if iitc is not yet loaded +if(typeof window.plugin !== 'function') window.plugin = function() {}; + + +// PLUGIN START //////////////////////////////////////////////////////// + + +// use own namespace for plugin +window.plugin.bookmarks = function() {}; + +window.plugin.bookmarks.KEY_OTHER_BKMRK = 'idOthers'; +window.plugin.bookmarks.LOCAL_STORAGE_status_box = 'plugin-bookmarks-status-box'; +window.plugin.bookmarks.LOCAL_STORAGE_bkmrk_portals = 'plugin-bookmarks-portals-data'; +window.plugin.bookmarks.LOCAL_STORAGE_bkmrk_maps = 'plugin-bookmarks-maps-data'; + +window.plugin.bookmarks.bkmrk_portals = {}; +window.plugin.bookmarks.bkmrk_maps = {}; + +window.plugin.bookmarks.disabledMessage; +window.plugin.bookmarks.contentStarHTML; +window.plugin.bookmarks.bkmrkBox; +window.plugin.bookmarks.bkmrkRibbon; +window.plugin.bookmarks.loadList; +window.plugin.bookmarks.setupJS; + +/***************************************************************************************************************************************************************/ + +window.plugin.bookmarks.addStarToSidebar = function() { + if(typeof(Storage) === "undefined") { $('#portaldetails > .imgpreview').after(plugin.bookmarks.disabledMessage); return; } + var title = $('#portaldetails > h3').text(); + $('#portaldetails > h3').html(plugin.bookmarks.contentStarHTML+title); + plugin.bookmarks.updateStarPortal(); +} +window.plugin.bookmarks.updateStarPortal = function() { + window.plugin.bookmarks.loadBookmarks('bkmrk_portals'); + var guid = window.selectedPortal; + var list = plugin.bookmarks['bkmrk_portals']; + $('#bookmarkStar').removeClass('favorite'); + $('.bkmrk a.bookmarksLink.selected').removeClass('selected'); + for(var idFolders in list) { + for(var idBkmrk in list[idFolders]['bkmrk']) { + var portalGuid = list[idFolders]['bkmrk'][idBkmrk]['guid']; + if(guid == portalGuid) { + $('#bookmarkStar').addClass('favorite'); + $('.bkmrk#'+idBkmrk+' a.bookmarksLink').addClass('selected'); + } + } + } +} +window.plugin.bookmarks.switchStarPortal = function() { + var guid = window.selectedPortal; + + if($('#bookmarkStar').hasClass('favorite')) { + var list = plugin.bookmarks['bkmrk_portals']; + + for(var idFolders in list) { + for(var idBkmrk in list[idFolders]['bkmrk']) { + var portalGuid = list[idFolders]['bkmrk'][idBkmrk]['guid']; + if(guid == portalGuid) { + delete list[idFolders]['bkmrk'][idBkmrk]; + $('.bkmrk#'+idBkmrk+'').remove(); + } + } + } + } + else { + var linka = $('#portaldetails .linkdetails aside a:contains("Portal link")').attr('href'); + var namePortal = $('#portaldetails h3').text(); + + var ID = window.plugin.bookmarks.generateID(); + + var spac = linka.split('pll='); + var latlng = spac[1] ; + plugin.bookmarks['bkmrk_portals'][plugin.bookmarks.KEY_OTHER_BKMRK]['bkmrk'][ID] = {"guid":guid,"latlng":latlng,"label":namePortal}; + $('#bkmrk_portals li.othersBookmarks ul').append('
  • X'+namePortal+'
  • '); + } + window.plugin.bookmarks.storeBookmarks('bkmrk_portals'); + window.plugin.bookmarks.updateStarPortal(); +} +window.plugin.bookmarks.addBookmarkMap = function(elem) { + var mapLink = $(elem).attr('href'); + var pars = new RegExp('[\\?&]ll=([^&#]*)[&]z=([^&#]*)').exec(mapLink); + var res = pars[1].split(','); + res[2] = pars[2]; + var latlng = res[0]+','+res[1]; + var zoom = res[2]; + + var ID = window.plugin.bookmarks.generateID(); + + var nameMap = $(elem).siblings('input').val(); + nameMap = nameMap.replace(/\//g, '/').replace(/\\/g, '\').replace(/"/g, '"').replace(/"/g, '''); + + if(nameMap == '') { nameMap = ''; } + $(elem).siblings('input').val(''); + + plugin.bookmarks['bkmrk_maps'][plugin.bookmarks.KEY_OTHER_BKMRK]['bkmrk'][ID] = {"label":nameMap,"latlng":latlng,"z":parseInt(zoom)}; + plugin.bookmarks.storeBookmarks('bkmrk_maps'); + + if(nameMap=='') { nameMap = latlng+' ['+zoom+']'; } + $('#bkmrk_maps li.othersBookmarks ul').append('
  • X'+nameMap+'
  • '); +} + +/***************************************************************************************************************************************************************/ + +window.plugin.bookmarks.generateID = function() { + var d = new Date(); + var ID = d.getTime()+(Math.floor(Math.random()*99)+1); + var ID = 'id'+ID.toString(); + return ID; +} + +window.plugin.bookmarks.openFolder = function(elem) { + var typeList = $(elem).parent().parent().parent().parent('div').attr('id'); + var ID = $(elem).parent().parent('li').attr('id'); + var newFlag; + var flag = plugin.bookmarks[typeList][ID]['state']; + if(flag) { newFlag = 0; } + else if(!flag) { newFlag = 1; } + window.plugin.bookmarks[typeList][ID]['state'] = newFlag; + window.plugin.bookmarks.storeBookmarks(typeList); +} +window.plugin.bookmarks.addFolder = function(typeList) { + var ID = window.plugin.bookmarks.generateID(); + var input = '#'+typeList+' .addForm input'; + var nameFolder = $(input).val(); + nameFolder = nameFolder.replace(/\//g, '/').replace(/\\/g, '\').replace(/"/g, '"').replace(/"/g, '''); + if(nameFolder == '') { nameFolder = 'Folder'; } + $(input).val(''); + + plugin.bookmarks[typeList][ID] = {"label":nameFolder,"state":0,"bkmrk":{}}; + plugin.bookmarks.storeBookmarks(typeList); + + $('#'+typeList+' li.othersBookmarks').before('
  • X'+nameFolder+'
  • '); +} +window.plugin.bookmarks.deletBookmark = function(elem) { + var typeList = $(elem).parent().parent().parent().parent().parent('div').attr('id'); + var ID = $(elem).parent('li').attr('id'); + var IDfold = $(elem).parent().parent().parent('li').attr('id'); + delete window.plugin.bookmarks[typeList][IDfold]['bkmrk'][ID]; + window.plugin.bookmarks.storeBookmarks(typeList); + if(typeList == 'bkmrk_portals') { window.plugin.bookmarks.updateStarPortal(); } +} +window.plugin.bookmarks.deletFolder = function(elem) { + var typeList = $(elem).parent().parent().parent().parent('div').attr('id'); + var ID = $(elem).parent().parent('li').attr('id'); + delete plugin.bookmarks[typeList][ID]; + window.plugin.bookmarks.storeBookmarks(typeList); + if(typeList == 'bkmrk_portals') { window.plugin.bookmarks.updateStarPortal(); } +} + +window.plugin.bookmarks.sortBookmarksFolder = function(typeList) { + window.plugin.bookmarks.loadBookmarks(typeList); + var newArr = {}; + $('#'+typeList+' li.bookmarkFolder').each(function() { + var idFold = $(this).attr('id'); + newArr[idFold] = window.plugin.bookmarks[typeList][idFold]; + }); + window.plugin.bookmarks[typeList] = newArr; + window.plugin.bookmarks.storeBookmarks(typeList); +} +window.plugin.bookmarks.sortBookmarks = function(typeList) { + window.plugin.bookmarks.loadBookmarks(typeList); + var list = window.plugin.bookmarks[typeList]; + var newArr = {}; + + $('#'+typeList+' li.bookmarkFolder').each(function() { + var idFold = $(this).attr('id'); + newArr[idFold] = window.plugin.bookmarks[typeList][idFold]; + newArr[idFold].bkmrk = {}; + }); + + $('#'+typeList+' li.bkmrk').each(function() { + window.plugin.bookmarks.loadBookmarks(typeList); + var idFold = $(this).parent().parent('li').attr('id'); + var id = $(this).attr('id'); + + var list = window.plugin.bookmarks[typeList]; + for(var idFoldersOrigin in list) { + for(var idBkmrk in list[idFoldersOrigin]['bkmrk']) { + if(idBkmrk == id) { + newArr[idFold].bkmrk[id] = window.plugin.bookmarks[typeList][idFoldersOrigin].bkmrk[id]; + } + } + } + }); + window.plugin.bookmarks[typeList] = newArr; + window.plugin.bookmarks.storeBookmarks(typeList); +} + +window.plugin.bookmarks.storeBookmarks = function(typeList) { + var bookmarksObject = {}; + bookmarksObject[typeList] = plugin.bookmarks[typeList]; + var bookmarksObjectJSON = JSON.stringify(bookmarksObject); + localStorage[plugin.bookmarks['LOCAL_STORAGE_'+typeList]] = bookmarksObjectJSON; +} +window.plugin.bookmarks.loadBookmarks = function(typeList) { + var bookmarksObjectJSON = localStorage[plugin.bookmarks['LOCAL_STORAGE_'+typeList]]; + if(!bookmarksObjectJSON) return; + var bookmarksObject = JSON.parse(bookmarksObjectJSON); + plugin.bookmarks[typeList] = bookmarksObject[typeList]; +} +window.plugin.bookmarks.loadList = function(typeList) { + window.plugin.bookmarks.loadBookmarks(typeList); + var element = ''; + + var list = window.plugin.bookmarks[typeList]; + for(var idFolders in list) { + var folders = list[idFolders]; + var active = ''; + + var folderLabel = 'X'; + folderLabel += ''+folders['label']+''; + + if(folders['state']) { active = ' active'; } + if(idFolders == window.plugin.bookmarks.KEY_OTHER_BKMRK) { folderLabel = ''; active= ' othersBookmarks active' } + element += '
  • '+folderLabel+''; + } + $('#'+typeList+' ul').html(element); +} + +/***************************************************************************************************************************************************************/ + +window.plugin.bookmarks.setupJS = function() { + $(document).ready(function() { + //ENABLED THE DRAGGABLE PROPERTY OF THE BOX + $('#bookmarksBox').draggable({ handle:'.handle', containment:'window' }); + $("#bookmarksBox #bookmarksMin , #bookmarksBox ul li, #bookmarksBox ul li a, #bookmarksBox h5, #bookmarksBox .addForm a").disableSelection(); + + //SWICTH VISIBILITY OF THE BOX + $('#bookmarksMin').click(function() { $('#bookmarksBox').animate({marginTop:'-100%'}, {duration:400, queue:false}); $('#bookmarksShow').animate({marginTop:-36}, {duration:400, queue:false}); localStorage[window.plugin.bookmarks['LOCAL_STORAGE_status_box']] = 0; }); + $('#bookmarksShow').click(function() { $('#bookmarksBox').animate({marginTop:0}, {duration:400, queue:false}); $('#bookmarksShow').animate({marginTop:-100}, {duration:400, queue:false}); localStorage[window.plugin.bookmarks['LOCAL_STORAGE_status_box']]= 1; }); + if(localStorage[window.plugin.bookmarks['LOCAL_STORAGE_status_box']] == 1) { $('#bookmarksShow').trigger('click'); }else { $('#bookmarksMin').trigger('click'); } + + //SWITCH LIST (MAPS/PORTALS) + $('#bookmarksBox h5').click(function() {$('h5').removeClass('current');$(this).addClass('current');var sectList = '#'+$(this).attr('class').replace(' current', '');$('#bookmarksBox .bookmarkList').removeClass('current');$(sectList).addClass('current');}); + + //ACTIVE VERTICAL SCROLL-BAR ON THE LONG LISTS + $('.bookmarkList > ul').enscroll({ showOnHover: true, verticalTrackClass: 'trackScroll', verticalHandleClass: 'handleScroll', minScrollbarLength:28 }); + + //ENABLED THE SORTABLE PROPERTY OF THE FOLDERS AND BOOKMARKS + $(".bookmarkList > ul").sortable({items:"li.bookmarkFolder:not(.othersBookmarks)",handle:".bookmarksAnchor",placeholder:"sortable-placeholder",forcePlaceholderSize:true, + update:function(event, ui) { + var typeList = $('#'+ui.item.context.id).parent().parent('.bookmarkList').attr('id'); + window.plugin.bookmarks.sortBookmarksFolder(typeList); + } + }); + $(".bookmarkList ul li ul").sortable({items:"li.bkmrk",connectWith:".bookmarkList ul ul",handle:".bookmarksLink",placeholder:"sortable-placeholder",forcePlaceholderSize:true, + update:function(event, ui) { + var typeList = $('#'+ui.item.context.id).parent().parent().parent().parent('.bookmarkList').attr('id'); + window.plugin.bookmarks.sortBookmarks(typeList); + } + }); + + //REMOVE FOLDER + $('.bookmarkList').on('click', '.folderLabel .bookmarksRemoveFrom', function(e) { + window.plugin.bookmarks.deletFolder(this); + $(this).parent().parent('li').remove(); + e.preventDefault(); + }); + + //REMOVE BOOKMARK + $('.bookmarkList').on('click', '.bkmrk .bookmarksRemoveFrom', function(e) { + window.plugin.bookmarks.deletBookmark(this); + $(this).parent('li').remove(); + e.preventDefault(); + }); + + //OPEN/CLOSE FOLDER + $('#bookmarksBox').on('click', '.bookmarksAnchor', function(e) { + window.plugin.bookmarks.openFolder(this); + $(this).parent().parent('li').toggleClass('active'); + e.preventDefault(); + }); + + //ADD BOOKMARK/FOLDER + $('#bookmarksBox .addForm a').click(function(e) { + var typeList = $(this).parent().parent('div').attr('id'); + if($(this).hasClass('newMap')) { window.plugin.bookmarks.addBookmarkMap(this); } + else { window.plugin.bookmarks.addFolder(typeList); } + + //REFRESS SORTABLE EVENT FOR BKMRK + $(".bookmarkList ul li ul").sortable({items:"li.bkmrk",connectWith:".bookmarkList ul ul",handle:".bookmarksLink",placeholder:"sortable-placeholder",forcePlaceholderSize:true, + update:function(event, ui) { + var typeList = $('#'+ui.item.context.id).parent().parent().parent().parent('.bookmarkList').attr('id'); + window.plugin.bookmarks.sortBookmarks(typeList); + } + }); + e.preventDefault(); + }); + }); +} + +window.plugin.bookmarks.setupCSS = function() { + $("