3 $.fn.toggle_slide = function(p) {
5 short_el = p['short_el'] || $(':first-child', this);
6 long_el = p['long_el'] || short_el.next();
8 short_text = p['short_text'],
9 long_text = p['long_text'];
11 var toggle_fun = function(cont, short_el, long_el, button, short_text, long_text) {
12 var toggle = function() {
13 if (cont.hasClass('short')) {
14 cont.animate({"height": long_el.attr("cont_h")+'px'}, {duration: "fast" }).removeClass('short');
17 if (button && long_text) button.html(long_text);
19 cont.animate({"height": short_el.attr("cont_h")+'px'}, {duration: "fast" }).addClass('short');
22 if (button && short_text) button.html(short_text);
28 if (long_el.html().length <= short_el.html().length)
31 // ensure long element shown first
32 long_el.show();short_el.hide();
33 long_el.attr("cont_h", $(this).height()).hide();
34 short_el.show().attr("cont_h", $(this).height());
35 $(this).addClass('short');
37 if (button && short_text) button.html(short_text);
38 if (button) button.hover(
39 function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
40 function() { $(this).css({background: '#EEE'}); }
41 ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
43 function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
44 function() { $(this).css({background: '#FFF'}); }
45 ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
47 function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
48 function() { $(this).css({background: '#FFF'}); }
49 ).click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
54 $('.fragment-short-text').each(function() {
55 var fragment = $(this).closest('.fragment');
56 fragment.toggle_slide({
58 long_el: fragment.find('.fragment-text')
66 $('.hidden-box-wrapper').each(function() {
67 var $hidden = $('.hidden-box', this);
68 $('.hidden-box-trigger', this).click(function(event) {
69 event.preventDefault();
70 if ($current == $hidden) {
74 $current && $current.hide('fast');
84 $('#themes-list-toggle').click(function(event) {
85 event.preventDefault();
86 $('#themes-list').toggle('slow');
90 $('.open-player').click(function(event) {
91 event.preventDefault();
92 window.open($(this).attr('href'),
94 'width=420, height=500'
99 $('.book-list-index').click(function(){
100 $('.book-list-show-index').hide('slow');
101 if($(this).parent().next('ul:not(:hidden)').length == 0){
102 $(this).parent().next('ul').toggle('slow');