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.click(toggle_fun(cont, short_el, long_el, button, short_text, long_text));
 
  43         $('.fragment-with-short').each(function() {
 
  44             $(this).toggle_slide({
 
  45                 short_el: $('.fragment-short-text', this),
 
  46                 long_el: $('.fragment-long-text', this),
 
  47                 button: $('.toggle', this)
 
  50         $('#description').each(function() {
 
  51             $(this).toggle_slide({
 
  52                 short_el: $('#description-short', this),
 
  53                 long_el: $('#description-long', this),
 
  62                         $('.hidden-box-wrapper').each(function() {
 
  63                                 var $hidden = $('.hidden-box', this);
 
  64                                 $('.hidden-box-trigger', this).click(function(event) {
 
  65                                         event.preventDefault();
 
  66                                         if ($current == $hidden) {
 
  70                                                 $current && $current.hide('fast');
 
  76                         $('body').click(function(e) {
 
  77                                 if ($current == null) return;
 
  82                                         if (p.hasClass('hidden-box-trigger'))
 
  86                                 $current.hide('fast');
 
  94 $('#themes-list-toggle').click(function(event) {
 
  95     event.preventDefault();
 
  96     $('#themes-list').toggle('slow');
 
 100 $('.open-player').click(function(event) {
 
 101     event.preventDefault();
 
 102     window.open($(this).attr('href'),
 
 104         'width=422, height=500'
 
 109         $('.book-list-index').click(function(){
 
 110             $('.book-list-show-index').hide('slow');
 
 111             if($(this).parent().next('ul:not(:hidden)').length == 0){
 
 112                 $(this).parent().next('ul').toggle('slow');
 
 117         $('.hoverclick').click(function() {$(this).closest('.hoverget').toggleClass('hover');});
 
 120             $("#search").search();});