// 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(url) {
if (!url) 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(url) {
if (hasLocalStorage()) {
var mfavs = getManualFaves();
var idx = $.inArray(url, mfavs);
if (idx != -1) {
mfavs.splice(idx, 1);
setManualFaves(mfavs);
$("#manual-palette-thumbs").html("");
manualPaletteBuildImageThumbs();
}
}
};