function Init() { parent.initPanel('chrome://chatzilla/content/pref-irc-stalk.xul'); loadList('StalkWords'); } function loadList(list) { var gList = document.getElementById('cz' + list); var prefList = gList.getAttribute("prefvalue"); var items = prefList.split(/\s*;\s*/); for (i in items) { listAddItem(list, items[i]); } listUpdateButtons(list); } function addStalkWord() { var word = prompt("Enter the stalk word to add:"); if (word) { listAddItem('StalkWords', word); } } function listUpdateButtons(list) { var gList = document.getElementById('cz' + list); var gButtonAdd = document.getElementById('czAdd' + list); var gButtonDel = document.getElementById('czDel' + list); if (gList.selectedItems && gList.selectedItems.length) { gButtonDel.removeAttribute("disabled"); } else { gButtonDel.setAttribute("disabled", "true"); } } function listUpdate(list) { var gList = document.getElementById('cz' + list); listUpdateButtons(list); var prefList = ""; for (var item = gList.firstChild; item; item = item.nextSibling) { var url = item.getAttribute("url"); if (prefList) { prefList = prefList + "; " + url; } else { prefList = url; } } gList.setAttribute("prefvalue", prefList); } function listAdd(list) { if (list == 'StalkWords') { addStalkWord(); } listUpdate(list); } function listDelete(list) { var gList = document.getElementById('cz' + list); var selected = gList.selectedItems[0]; gList.removeChild(selected); listUpdate(list); } function listAddItem(list, url) { var gList = document.getElementById('cz' + list); var newItem = document.createElement("listitem"); var label = url; newItem.setAttribute("label", label); newItem.setAttribute("url", url); gList.appendChild(newItem); } function listMoveUp(list) { var gList = document.getElementById('cz' + list); var selected = gList.selectedItems[0]; var before = selected.previousSibling; if (before) { before.parentNode.insertBefore(selected, before); gList.selectItem(selected); gList.ensureElementIsVisible(selected); } listUpdate(list); } function listMoveDown(list) { var gList = document.getElementById('cz' + list); var selected = gList.selectedItems[0]; if (selected.nextSibling) { if (selected.nextSibling.nextSibling) { gList.insertBefore(selected, selected.nextSibling.nextSibling); } else { gList.appendChild(selected); } gList.selectItem(selected); } listUpdate(list); }