diff options
author | Adrian Lang <lang@cosmocode.de> | 2010-01-20 10:56:01 +0100 |
---|---|---|
committer | Adrian Lang <lang@cosmocode.de> | 2010-01-20 10:56:01 +0100 |
commit | 7d723f3d24511105ce37006f9439632c3d8f915e (patch) | |
tree | 605809aace3e368d953466f76425b41d56fa1b38 /lib/scripts/subscriptions.js | |
parent | 1c64eaeaa3295062b0a4e9b20b772274cd86ca42 (diff) | |
parent | eee44352b2c73d56818600770b87f891b88a545f (diff) | |
download | rpg-7d723f3d24511105ce37006f9439632c3d8f915e.tar.gz rpg-7d723f3d24511105ce37006f9439632c3d8f915e.tar.bz2 |
Merge branch 'subscription'
Diffstat (limited to 'lib/scripts/subscriptions.js')
-rw-r--r-- | lib/scripts/subscriptions.js | 46 |
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); +}); |