summaryrefslogtreecommitdiff
path: root/js/farbtastic/farbtastic.go.js
blob: 64dd7db204665db23e25f8890745587fd68dfd30 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
$(document).ready(function() {
    function UpdateColors(e) {
        var S = f.linked;
        var C = f.color;

        if (S && S.value && S.value != C) {
            UpdateSwatch(S);

            switch (parseInt(f.linked.id.slice(-1))) {
                case 1: default:
                    $('body').css({'background-color':C});
                    break;
                case 2:
                    $('#content').css({'background-color':C});
                    break;
                case 3:
                    $('#aside_primary').css({'background-color':C});
                    break;
                case 4:
                    $('body').css({'color':C});
                    break;
                case 5:
                    $('a').css({'color':C});
                    break;
            }
            S.value = C;
        }
    }

    function UpdateFarbtastic(e) {
        f.linked = e;
        f.setColor(e.value);
    }

    function UpdateSwatch(e) {
        $(e).css({
            "background-color": e.value,
            "color": f.hsl[2] > 0.5 ? "#000": "#fff"
        });
    }

    $('#settings_design_color').append('<div id="color-picker"></div>');
    $('#color-picker').hide();

    var f = $.farbtastic('#color-picker', UpdateColors);
    var swatches = $('#settings_design_color input');

    swatches
        .each(UpdateColors)

        .blur(function() {
            $(this).val($(this).val().toUpperCase());
         })

        .focus(function() {
            $('#color-picker').show();
            UpdateFarbtastic(this);
        })

        .change(function() {
            UpdateFarbtastic(this);
            UpdateSwatch(this);
        }).change()

        ;

});