// manual fave palette by ohgod
$(function(){
$('#manual-palette-button').click(manPaletteToggle);
$('#manual-add-url-txt').keyup(ifEnter(function(){
addManualFav($('#manual-add-url-txt').val().trim());
$('#manual-add-url-txt').val("");
}));
/*
$('#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("");
});
*/
});
var manPaletteOpen = false;
var manPaletteLocked = false;
function manPaletteToggle() {
if ($("#manual-palette").css("display") == "none") {
manPaletteLocked = true;
manPaletteShow();
} else {
manPaletteLocked = false;
manPaletteHide();
}
};
function manPaletteHideUnlessLocked (){
if (manPaletteLocked) return;
manPaletteHide();
}
function manPaletteHide() {
manPaletteOpen = false;
$("#manual-palette").css("display", "none");
$("#manual-palette-thumbs").html("");
}
function manPaletteShow() {
if (manPaletteOpen) return;
manPaletteOpen = true;
$("#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(url, mfavs) == -1) {
mfavs.push(url);
setManualFaves(mfavs);
manualPaletteBuildImageThumbs();
// $("#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);
manualPaletteBuildImageThumbs();
}
}
};
// textchimp autocomplete mod
function manualPaletteBuildImageThumbs() {
$("#manual-palette-thumbs").html("");
var imgs = JSON.parse(localStorage.manual_favs);
if (imgs && imgs.length != 0) {
for (var i = 0; i < imgs.length; i++) {
$("#manual-palette-thumbs").append('\