// manual fave palette by ohgod $(function(){ $('#manual-palette-button').click(manPaletteClicked); $('#manual-add-button').click(function () { addManualFav($('#manual-add-url-txt').val().trim()); $('#manual-add-url-txt').val(""); }); $('#manual-remove-button').click(function () { removeManualFav($('#manual-add-url-txt').val().trim()); $('#manual-add-url-txt').val(""); }); }); function manPaletteClicked() { if ($("#manual-palette").css("display") == "none") { manPaletteShow(); } else { $("#manual-palette").css("display", "none"); $("#manual-palette-thumbs").html(""); } }; function manPaletteShow() { $("#manual-palette").show(); if (! hasLocalStorage()) { $('#manual-palette-localstorage-error').show() } else if (manPaletteIsEmpty()) { $('#manual-palette-thumbs-empty').show(); } else { manualPaletteBuildImageThumbs(); } }; function hasLocalStorage() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } } function manPaletteIsEmpty() { return localStorage.manual_favs === undefined || localStorage.manual_favs === "[]" || localStorage.manual_favs === ""; }; function getManualFaves() { return localStorage.manual_favs ? JSON.parse(localStorage.manual_favs) : []; }; function setManualFaves(mfavs) { localStorage.manual_favs = JSON.stringify(mfavs); }; function manualPaletteBuildImageThumbs() { var imgs = JSON.parse(localStorage.manual_favs); if (imgs && imgs.length != 0) { for (var i = 0; i < imgs.length; i++) { $("#manual-palette-thumbs").append(""); } } }; function addManualFav(imgsrc) { if (!imgsrc) return; if (hasLocalStorage()) { if (manPaletteIsEmpty()) $("#manual-palette-thumbs").html(""); var mfavs = getManualFaves(); if ($.inArray(imgsrc, mfavs) == -1) { mfavs.push(imgsrc); setManualFaves(mfavs); $("#manual-palette-thumbs").append(""); } } }; function removeManualFav(imgsrc) { if (hasLocalStorage()) { var mfavs = getManualFaves(); var idx = $.inArray(imgsrc, mfavs); if (idx != -1) { mfavs.splice(idx, 1); setManualFaves(mfavs); $("#manual-palette-thumbs").html(""); manualPaletteBuildImageThumbs(); } } };