Subversion Repositories My Stuff

Rev

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

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