Subversion Repositories My Stuff

Rev

Rev 15 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 15 Rev 27
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
        var $comment;  
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').find('textarea').val($comment);
24
                $('#comment_form > #comments-indicator').hide();
25
                $('#comment_form > #comments-indicator').hide();
25
                $.scrollTo( '#comments', 800, {onAfter:function(){
26
                $.scrollTo( '#comments', 800, {onAfter:function(){
26
                        $('.error').effect('pulsate');
27
                        $('.error').effect('pulsate');
27
                        $('.pagemessage').effect('pulsate');
28
                        $('.pagemessage').effect('pulsate');
28
                }
29
                }
29
                });
30
                });
30
                        },
31
                        },
31
                        beforeSubmit: function() {
32
                        beforeSubmit: function() {
-
 
33
                                $comment = $('#comment_form').find('textarea').val();
32
                                $('#comment_form > #comments-indicator').show();
34
                                $('#comment_form > #comments-indicator').show();
33
                        }
35
                        }
34
                };
36
                };
35
            $('#comment_form').find('form:first').validator().ajaxForm($options);
37
            $('#comment_form').find('form:first').validator().ajaxForm($options);
36
});
38
});
37
39
38
function checkboxChacked(){
40
function checkboxChacked(){
39
        var form = $('#comment_form').find('form:first');
41
        var form = $('#comment_form').find('form:first');
40
        var checkbox = form.find(':checkbox:first');
42
        var checkbox = form.find(':checkbox:first');
41
        var email = form.find(':email');
43
        var email = form.find(':email');
42
        if (checkbox.is(':checked')){
44
        if (checkbox.is(':checked')){
43
                email.attr("required", "required");
45
                email.attr("required", "required");
44
                email.attr("disabled", false);
46
                email.attr("disabled", false);
45
        }else{
47
        }else{
46
                email.attr("required", false);
48
                email.attr("required", false);
47
                email.attr("required", true);
49
                email.attr("required", true);
48
        }
50
        }
49
}
51
}
50
52
51
function toggleLinkClickSlide(){
53
function toggleLinkClickSlide(){
52
        var form = $('#comment_form').find('form:first');
54
        var form = $('#comment_form').find('form:first');
53
        var toggle_link = $('#comments').find('a.toggle_link:first');
55
        var toggle_link = $('#comments').find('a.toggle_link:first');
54
        var content = $('#comment_form');
56
        var content = $('#comment_form');
55
        toggle_link.click(function(){
57
        toggle_link.click(function(){
56
                if (toggle_link.is('.toggle_close')){
58
                if (toggle_link.is('.toggle_close')){
57
                        toggle_link.removeClass('toggle_close');
59
                        toggle_link.removeClass('toggle_close');
58
                        toggle_link.addClass('toggle_open');
60
                        toggle_link.addClass('toggle_open');
59
                 } else if (toggle_link.is('.toggle_open')){
61
                 } else if (toggle_link.is('.toggle_open')){
60
                        toggle_link.removeClass('toggle_open');
62
                        toggle_link.removeClass('toggle_open');
61
                        toggle_link.addClass('toggle_close');
63
                        toggle_link.addClass('toggle_close');
62
                 }
64
                 }
63
                content.slideToggle('slow');
65
                content.slideToggle('slow');
64
                var api = form.data("validator");
66
                var api = form.data("validator");
65
                api.reset();
67
                api.reset();
66
                return false;
68
                return false;
67
        });
69
        });
68
}
70
}
69
71
70
function toggleLinkClick(){
72
function toggleLinkClick(){
71
        var form = $('#comment_form').find('form:first');
73
        var form = $('#comment_form').find('form:first');
72
        var toggle_link = $('#comments').find('a.toggle_link:first');
74
        var toggle_link = $('#comments').find('a.toggle_link:first');
73
        toggle_link.click(function(){
75
        toggle_link.click(function(){
74
                var api = form.data("validator");
76
                var api = form.data("validator");
75
                api.reset();
77
                api.reset();
76
                return false;
78
                return false;
77
        });
79
        });
78
}
80
}
79
81
80
function checkBoxChange(){
82
function checkBoxChange(){
81
        var form = $('#comment_form').find('form:first');
83
        var form = $('#comment_form').find('form:first');
82
        var email = form.find(':email');
84
        var email = form.find(':email');
83
        $('#comment_form').find(':checkbox:first').change(function(){
85
        $('#comment_form').find(':checkbox:first').change(function(){
84
                if ($(this).is(':checked')) {
86
                if ($(this).is(':checked')) {
85
                        email.attr("required", "required");
87
                        email.attr("required", "required");
86
                        email.attr("disabled", false);
88
                        email.attr("disabled", false);
87
                }else{
89
                }else{
88
                        email.attr("required", false);
90
                        email.attr("required", false);
89
                        email.val("");
91
                        email.val("");
90
                        email.attr("disabled", true);
92
                        email.attr("disabled", true);
91
                        var api = form.data("validator");
93
                        var api = form.data("validator");
92
                        api.reset(email);
94
                        api.reset(email);
93
                }      
95
                }      
94
        });
96
        });
95
}
97
}