Subversion Repositories My Stuff

Rev

Rev 14 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14 Rev 15
1
/*#######################################################################
1
/*#######################################################################
2
# This script is distributed in the hope that it will be useful,
2
# This script is distributed in the hope that it will be useful,
3
# but WITHOUT ANY WARRANTY; without even the implied warranty of
3
# but WITHOUT ANY WARRANTY; without even the implied warranty of
4
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5
# GNU General Public License for more details.
5
# GNU General Public License for more details.
6
# Author: Andrzej Kardas
6
# Author: Andrzej Kardas
7
# License: GPLv3
7
# License: GPLv3
8
# The full version of the licencse can be obtainted by visiting:
8
# The full version of the licencse can be obtainted by visiting:
9
# http://www.gnu.org/licenses/gpl.html
9
# http://www.gnu.org/licenses/gpl.html
10
#######################################################################*/
10
#######################################################################*/
11
$(document).ready(function(){
11
$(document).ready(function(){
12
        checkBoxChange();
12
        checkBoxChange();
13
        toggleLinkClick();
13
        toggleLinkClick();
14
        checkboxChacked();
14
        checkboxChacked();
15
               
15
               
16
        var $options = {
16
        var $options = {
17
                        success: function(data) {
17
                        success: function(data) {
18
                var response = $(data).find('#comments');
18
                var response = $(data).find('#comments');
19
                $('#comments').replaceWith(response);
19
                $('#comments').replaceWith(response);
20
                $('#comment_form').find('form:first').validator().ajaxForm($options);
20
                $('#comment_form').find('form:first').validator().ajaxForm($options);
21
                checkboxChacked();
21
                checkboxChacked();
22
                checkBoxChange();
22
                checkBoxChange();
23
                toggleLinkClickSlide();
23
                toggleLinkClickSlide();
24
                $('#comment_form > #comments-indicator').hide();
24
                $('#comment_form > #comments-indicator').hide();
-
 
25
                $.scrollTo( '#comments', 800, {onAfter:function(){
-
 
26
                        $('.error').effect('pulsate');
-
 
27
                        $('.pagemessage').effect('pulsate');
-
 
28
                }
-
 
29
                });
25
                        },
30
                        },
26
                        beforeSubmit: function() {
31
                        beforeSubmit: function() {
27
                                $('#comment_form > #comments-indicator').show();
32
                                $('#comment_form > #comments-indicator').show();
28
                        }
33
                        }
29
                };
34
                };
30
            $('#comment_form').find('form:first').validator().ajaxForm($options);
35
            $('#comment_form').find('form:first').validator().ajaxForm($options);
31
});
36
});
32
37
33
function checkboxChacked(){
38
function checkboxChacked(){
34
        var form = $('#comment_form').find('form:first');
39
        var form = $('#comment_form').find('form:first');
35
        var checkbox = form.find(':checkbox:first');
40
        var checkbox = form.find(':checkbox:first');
36
        var email = form.find(':email');
41
        var email = form.find(':email');
37
        if (checkbox.is(':checked')){
42
        if (checkbox.is(':checked')){
38
                email.attr("required", "required");
43
                email.attr("required", "required");
39
                email.attr("disabled", false);
44
                email.attr("disabled", false);
40
        }else{
45
        }else{
41
                email.attr("required", false);
46
                email.attr("required", false);
42
                email.attr("required", true);
47
                email.attr("required", true);
43
        }
48
        }
44
}
49
}
45
50
46
function toggleLinkClickSlide(){
51
function toggleLinkClickSlide(){
47
        var form = $('#comment_form').find('form:first');
52
        var form = $('#comment_form').find('form:first');
48
        var toggle_link = $('#comments').find('a.toggle_link:first');
53
        var toggle_link = $('#comments').find('a.toggle_link:first');
49
        var content = $('#comment_form');
54
        var content = $('#comment_form');
50
        toggle_link.click(function(){
55
        toggle_link.click(function(){
51
                if (toggle_link.is('.toggle_close')){
56
                if (toggle_link.is('.toggle_close')){
52
                        toggle_link.removeClass('toggle_close');
57
                        toggle_link.removeClass('toggle_close');
53
                        toggle_link.addClass('toggle_open');
58
                        toggle_link.addClass('toggle_open');
54
                 } else if (toggle_link.is('.toggle_open')){
59
                 } else if (toggle_link.is('.toggle_open')){
55
                        toggle_link.removeClass('toggle_open');
60
                        toggle_link.removeClass('toggle_open');
56
                        toggle_link.addClass('toggle_close');
61
                        toggle_link.addClass('toggle_close');
57
                 }
62
                 }
58
                content.slideToggle('slow');
63
                content.slideToggle('slow');
59
                var api = form.data("validator");
64
                var api = form.data("validator");
60
                api.reset();
65
                api.reset();
61
                return false;
66
                return false;
62
        });
67
        });
63
}
68
}
64
69
65
function toggleLinkClick(){
70
function toggleLinkClick(){
66
        var form = $('#comment_form').find('form:first');
71
        var form = $('#comment_form').find('form:first');
67
        var toggle_link = $('#comments').find('a.toggle_link:first');
72
        var toggle_link = $('#comments').find('a.toggle_link:first');
68
        toggle_link.click(function(){
73
        toggle_link.click(function(){
69
                var api = form.data("validator");
74
                var api = form.data("validator");
70
                api.reset();
75
                api.reset();
71
                return false;
76
                return false;
72
        });
77
        });
73
}
78
}
74
79
75
function checkBoxChange(){
80
function checkBoxChange(){
76
        var form = $('#comment_form').find('form:first');
81
        var form = $('#comment_form').find('form:first');
77
        var email = form.find(':email');
82
        var email = form.find(':email');
78
        $('#comment_form').find(':checkbox:first').change(function(){
83
        $('#comment_form').find(':checkbox:first').change(function(){
79
                if ($(this).is(':checked')) {
84
                if ($(this).is(':checked')) {
80
                        email.attr("required", "required");
85
                        email.attr("required", "required");
81
                        email.attr("disabled", false);
86
                        email.attr("disabled", false);
82
                }else{
87
                }else{
83
                        email.attr("required", false);
88
                        email.attr("required", false);
84
                        email.val("");
89
                        email.val("");
85
                        email.attr("disabled", true);
90
                        email.attr("disabled", true);
86
                        var api = form.data("validator");
91
                        var api = form.data("validator");
87
                        api.reset(email);
92
                        api.reset(email);
88
                }      
93
                }      
89
        });
94
        });
90
}
95
}