summaryrefslogtreecommitdiff
path: root/lib/scripts/subscriptions.js
blob: d701f258f32244b00638bb422021ac208e2c6139 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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);
});