Subversion Repositories oidplus

Rev

Rev 144 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
142 daniel-mar 1
g_hue_shift = null;
2
g_sat_shift = null;
3
g_val_shift = null;
286 daniel-mar 4
g_invcolors = null;
144 daniel-mar 5
g_hue_shift_saved = null;
6
g_sat_shift_saved = null;
7
g_val_shift_saved = null;
286 daniel-mar 8
g_invcolors_saved = null;
142 daniel-mar 9
 
144 daniel-mar 10
function color_reset_sliders_factory() {
143 daniel-mar 11
        $("#hshift").val(g_hue_shift = 0);
12
        $("#sshift").val(g_sat_shift = 0);
13
        $("#vshift").val(g_val_shift = 0);
286 daniel-mar 14
        $("#icolor").val(g_invcolors = 0);
143 daniel-mar 15
        $("#slider-hshift").slider("option", "value", g_hue_shift);
16
        $("#slider-sshift").slider("option", "value", g_sat_shift);
17
        $("#slider-vshift").slider("option", "value", g_val_shift);
286 daniel-mar 18
        $("#slider-icolor").slider("option", "value", g_invcolors);
143 daniel-mar 19
        test_color_theme();
20
}
21
 
144 daniel-mar 22
function color_reset_sliders_cfg() {
23
        $("#hshift").val(g_hue_shift = g_hue_shift_saved);
24
        $("#sshift").val(g_sat_shift = g_sat_shift_saved);
25
        $("#vshift").val(g_val_shift = g_val_shift_saved);
286 daniel-mar 26
        $("#icolor").val(g_invcolors = g_invcolors_saved);
144 daniel-mar 27
        $("#slider-hshift").slider("option", "value", g_hue_shift);
28
        $("#slider-sshift").slider("option", "value", g_sat_shift);
29
        $("#slider-vshift").slider("option", "value", g_val_shift);
286 daniel-mar 30
        $("#slider-icolor").slider("option", "value", g_invcolors);
144 daniel-mar 31
        test_color_theme();
32
}
33
 
142 daniel-mar 34
function setup_color_sliders() {
35
        $("#slider-hshift").slider({
36
                value: g_hue_shift,
37
                min:   -360,
38
                max:   360,
39
                slide: function(event, ui) {
40
                        $("#hshift").val(ui.value);
41
                }
42
        });
43
        $("#hshift").val($("#slider-hshift").slider("value"));
44
 
45
        $("#slider-sshift").slider({
46
                value: g_sat_shift,
47
                min:   -100,
48
                max:   100,
49
                slide: function(event, ui) {
50
                        $("#sshift").val(ui.value);
51
                }
52
        });
53
        $("#sshift").val($("#slider-sshift").slider("value"));
54
 
55
        $("#slider-vshift").slider({
56
                value: g_val_shift,
57
                min:   -100,
58
                max:   100,
59
                slide: function(event, ui) {
60
                        $("#vshift").val(ui.value);
61
                }
62
        });
63
        $("#vshift").val($("#slider-vshift").slider("value"));
286 daniel-mar 64
 
65
        /* ToDo: Checkbox instead */
66
        $("#slider-icolor").slider({
67
                value: g_invcolors,
68
                min:   0,
69
                max:   1,
70
                slide: function(event, ui) {
71
                        $("#icolor").val(ui.value);
72
                }
73
        });
74
        $("#icolor").val($("#slider-icolor").slider("value"));
142 daniel-mar 75
}
76
 
77
function test_color_theme() {
78
        g_hue_shift = $("#hshift").val();
79
        g_sat_shift = $("#sshift").val();
80
        g_val_shift = $("#vshift").val();
286 daniel-mar 81
        g_invcolors = $("#icolor").val();
82
        changeCSS('oidplus.min.css.php?invert='+$("#icolor").val()+'&h_shift='+$("#hshift").val()/360+'&s_shift='+$("#sshift" ).val()/100+'&v_shift='+$("#vshift" ).val()/100, 0);
142 daniel-mar 83
}
84
 
85
function changeCSS(cssFile, cssLinkIndex) {
86
        var oldlink = document.getElementsByTagName("link").item(cssLinkIndex);
87
 
88
        var newlink = document.createElement("link");
89
        newlink.setAttribute("rel", "stylesheet");
90
        newlink.setAttribute("type", "text/css");
91
        newlink.setAttribute("href", cssFile);
92
 
93
        document.getElementsByTagName("head").item(0).replaceChild(newlink, oldlink);
94
}
95
 
96
function crudActionColorUpdate(name) {
286 daniel-mar 97
        if(!window.confirm("Are you sure that you want to permanently change the color? Please make sure you have tested the colors first, because if the contrast is too extreme, you might not be able to see the controls anymore, in order to correct the colors.")) return false;
98
 
142 daniel-mar 99
        $.ajax({
100
                url:"ajax.php",
101
                method:"POST",
102
                data: {
103
                        action:"color_update",
104
                        hue_shift:document.getElementById('hshift').value,
105
                        sat_shift:document.getElementById('sshift').value,
106
                        val_shift:document.getElementById('vshift').value,
286 daniel-mar 107
                        invcolors:document.getElementById('icolor').value,
142 daniel-mar 108
                },
109
                error:function(jqXHR, textStatus, errorThrown) {
110
                        alert("Error: " + errorThrown);
111
                },
112
                success:function(data) {
113
                        if ("error" in data) {
114
                                alert("Error: " + data.error);
115
                        } else if (data.status == 0) {
144 daniel-mar 116
                                g_hue_shift_saved = g_hue_shift;
117
                                g_sat_shift_saved = g_sat_shift;
118
                                g_val_shift_saved = g_val_shift;
286 daniel-mar 119
                                g_invcolors_saved = g_invcolors;
142 daniel-mar 120
                                test_color_theme(); // apply visually
121
                                alert("Update OK");
122
                        } else {
123
                                alert("Error: " + data);
124
                        }
125
                }
126
        });
127
}
128