Merge branch 'master' of git+ssh://github.com/fnp/wolnelektury
[wolnelektury.git] / wolnelektury / static / js / catalogue.js
index 9358851..ff95df5 100644 (file)
@@ -3,49 +3,49 @@ var LOCALE_TEXTS = {
                "DELETE_SHELF": "Czy na pewno usunąć półkę",
                "HIDE_DESCRIPTION": "Zwiń opis",
                "EXPAND_DESCRIPTION": "Rozwiń opis",
-               "LOADING": "Ładowanie",                
+               "LOADING": "Ładowanie"         
        },
     "de": {
         "DELETE_SHELF": "Translate me!",
         "HIDE_DESCRIPTION": "Translate me!",
         "EXPAND_DESCRIPTION": "Translate me!",
-        "LOADING": "Translate me!",             
+        "LOADING": "Translate me!"             
     },
        "fr": {
                "DELETE_SHELF": "Translate me!",
                "HIDE_DESCRIPTION": "Translate me!",
                "EXPAND_DESCRIPTION": "Translate me!",
-               "LOADING": "Translate me!",                             
+               "LOADING": "Translate me!"                              
        },
        "en": {
                "DELETE_SHELF": "Translate me!",
                "HIDE_DESCRIPTION": "Translate me!",
                "EXPAND_DESCRIPTION": "Translate me!",
-               "LOADING": "Translate me!",             
+               "LOADING": "Translate me!"              
        }, 
        "ru": {
                "DELETE_SHELF": "Translate me!",
                "HIDE_DESCRIPTION": "Translate me!",
                "EXPAND_DESCRIPTION": "Translate me!",
-               "LOADING": "Translate me!",             
+               "LOADING": "Translate me!"              
        },
        "es": {
                "DELETE_SHELF": "Translate me!",
                "HIDE_DESCRIPTION": "Translate me!",
                "EXPAND_DESCRIPTION": "Translate me!",
-               "LOADING": "Translate me!",                             
+               "LOADING": "Translate me!"                              
        },
     "lt":{
         "DELETE_SHELF": "Translate me!",
         "HIDE_DESCRIPTION": "Translate me!",
         "EXPAND_DESCRIPTION": "Translate me!",
-        "LOADING": "Translate me!",             
+        "LOADING": "Translate me!"             
     },
     "uk":{
         "DELETE_SHELF": "Translate me!",
         "HIDE_DESCRIPTION": "Translate me!",
         "EXPAND_DESCRIPTION": "Translate me!",
-        "LOADING": "Translate me!",             
+        "LOADING": "Translate me!"             
     }
 }
 var BANNER_TEXTS = [
@@ -310,21 +310,43 @@ function serverTime() {
         ).click(function() {
             location.href = $('h2 a', this).attr('href');
         });
-    
-        $('#toggle-description').hover(
-            function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
-            function() { $(this).css({background: '#EEE'}); }
-        ).click(function() {
-            if ($('#description').hasClass('hidden')) {
-                $('#description').slideDown('fast').removeClass('hidden');
-                $.cookie('description-state', 'opened', {path: '/', expires: 30});
-                $('p', this).html(LOCALE_TEXTS[LANGUAGE_CODE]['HIDE_DESCRIPTION'] + ' ▲');
-            } else {
-                $('#description').slideUp('fast').addClass('hidden');
-                $.cookie('description-state', 'closed', {path: '/', expires: 30});
-                $('p', this).html(LOCALE_TEXTS[LANGUAGE_CODE]['EXPAND_DESCRIPTION'] + ' ▼');
-            }
-        });
+        
+               function toggled_by_slide(cont, short_el, long_el, button, short_text, long_text) {
+                       function toggle(cont, short_el, long_el, button, short_text, long_text) {
+                   if (cont.hasClass('short')) {
+                       cont.animate({"height": long_el.attr("cont_h")+'px'}, {duration: "fast" }).removeClass('short');
+                       short_el.hide();
+                       long_el.show();
+                       button.html(long_text);
+                   } else {
+                       cont.animate({"height": short_el.attr("cont_h")+'px'}, {duration: "fast" }).addClass('short');
+                       long_el.hide();
+                       short_el.show();
+                       button.html(short_text);
+                   }
+                       }
+            long_el.attr("cont_h", cont.height()).hide();
+            short_el.show().attr("cont_h", cont.height());
+                       cont.addClass('short');
+                       button.html(short_text);
+                       button.hover(
+                function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+                function() { $(this).css({background: '#EEE'}); }
+                       ).click(function(){
+                               toggle(cont, short_el, long_el, button, short_text, long_text)
+                       });
+                       cont.hover(
+                function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+                function() { $(this).css({background: '#FFF'}); }
+            ).click(function(){
+                toggle(cont, short_el, long_el, button, short_text, long_text)
+            })
+               }
+        toggled_by_slide($('#description'), $('#description-short'), $('#description-long'),  
+          $('#toggle-description p'), 
+          LOCALE_TEXTS[LANGUAGE_CODE]['EXPAND_DESCRIPTION']+' ▼',
+                 LOCALE_TEXTS[LANGUAGE_CODE]['HIDE_DESCRIPTION'] + ' ▲'
+                 );
 
         $('#toggle-share-shelf').hover(
             function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
@@ -363,11 +385,6 @@ function serverTime() {
                 link.parent().remove();
             });
         });
-        
-        if ($.cookie('description-state') == 'closed') {
-            $('#description').hide().addClass('hidden');
-            $('#toggle-description p').html(LOCALE_TEXTS[LANGUAGE_CODE]['EXPAND_DESCRIPTION']+' ▼');
-        }
                
         $('#share-shelf').hide().addClass('hidden');
                $('#share-shelf input').focus(function(){this.select();});
@@ -414,4 +431,4 @@ function serverTime() {
             return false;
         });
     });
-})(jQuery)
\ No newline at end of file
+})(jQuery)