User:Quarl/watchbutton.js

// User:Quarl/watchbutton.js - change standard watch/unwatch tab to be // asynchronous.

// quarl 2006-02-03 initial version

// requires: wikiwatch.js, util.js

//

var watchbutton = new Object;

watchbutton.toggleAsync = function { if (watchbutton.currentlyWatched) { wikiwatch.unwatchAsync(wikiPage, watchbutton._wuwSuccess, watchbutton.tab); } else { wikiwatch.watchAsync(wikiPage, watchbutton._wuwSuccess, watchbutton.tab); }   return false; }

watchbutton._wuwSuccess = function { watchbutton.currentlyWatched = !watchbutton.currentlyWatched; if (watchbutton.currentlyWatched) { watchbutton.link.innerHTML = 'Unwatch'; watchbutton.link.href = wikiPage.qurl + '&action=unwatch'; watchbutton.link.title = 'Remove this page from your watchlist'; } else { watchbutton.link.innerHTML = 'Watch'; watchbutton.link.href = wikiPage.qurl + '&action=watch'; watchbutton.link.title = 'Add this page to your watchlist'; } }

watchbutton._load = function {   var tab_unwatch = document.getElementById('ca-unwatch'); if (tab_unwatch) { watchbutton.currentlyWatched = true; watchbutton.tab = tab_unwatch; }

var tab_watch = document.getElementById('ca-watch'); if (tab_watch) { watchbutton.currentlyWatched = false; watchbutton.tab = tab_watch; }

if (!watchbutton.tab) return;

watchbutton.link = watchbutton.tab.getElementsByTagName('a')[0]; watchbutton.link.onclick = watchbutton.toggleAsync;

}

addOnloadHook(watchbutton._load);

//