summaryrefslogtreecommitdiff
path: root/lib/scripts/subscriptions.js
diff options
context:
space:
mode:
authorAdrian Lang <lang@cosmocode.de>2010-01-20 10:56:01 +0100
committerAdrian Lang <lang@cosmocode.de>2010-01-20 10:56:01 +0100
commit7d723f3d24511105ce37006f9439632c3d8f915e (patch)
tree605809aace3e368d953466f76425b41d56fa1b38 /lib/scripts/subscriptions.js
parent1c64eaeaa3295062b0a4e9b20b772274cd86ca42 (diff)
parenteee44352b2c73d56818600770b87f891b88a545f (diff)
downloadrpg-7d723f3d24511105ce37006f9439632c3d8f915e.tar.gz
rpg-7d723f3d24511105ce37006f9439632c3d8f915e.tar.bz2
Merge branch 'subscription'
Diffstat (limited to 'lib/scripts/subscriptions.js')
-rw-r--r--lib/scripts/subscriptions.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/scripts/subscriptions.js b/lib/scripts/subscriptions.js
new file mode 100644
index 000000000..d701f258f
--- /dev/null
+++ b/lib/scripts/subscriptions.js
@@ -0,0 +1,46 @@
+/**
+ * Hide list subscription style if target is a page
+ *
+ * @author Adrian Lang <lang@cosmocode.de>
+ */
+
+addInitEvent(function () {
+ var form = $('subscribe__form');
+ if (!form) {
+ return;
+ }
+
+ var styleradios = {};
+
+ function update_state() {
+ if (!this.checked) {
+ return;
+ }
+ if (this.value.match(/:$/)) {
+ styleradios.list.parentNode.style.display = '';
+ } else {
+ styleradios.list.parentNode.style.display = 'none';
+ if (styleradios.list.checked) {
+ styleradios.digest.checked = 'checked';
+ }
+ }
+ }
+
+ var cur_sel = null;
+
+ var inputs = form.getElementsByTagName('input');
+ for (var i = 0; i < inputs.length ; ++i) {
+ switch (inputs[i].name) {
+ case 'sub_target':
+ addEvent(inputs[i], 'click', update_state);
+ if (inputs[i].checked) {
+ cur_sel = inputs[i];
+ }
+ break;
+ case 'sub_style':
+ styleradios[inputs[i].value] = inputs[i];
+ break;
+ }
+ }
+ update_state.call(cur_sel);
+});