Changed JSONField implementation. Now to get and set decoded value you must use get_...
[wolnelektury.git] / wolnelektury / media / js / catalogue.js
index ad5a7c2..f86788b 100644 (file)
@@ -1,6 +1,6 @@
 (function($) {
     $(function() {
-        $('#id_q').labelify({labelledClass: 'blur'});
+        $('form input').labelify({labelledClass: 'blur'});
         
         target = $('#login-register-window div.target');
         
             function() { $(this).css({background: '#FFF'}); }
         );
         
+        $('.show-all-tags').click(function() {
+            $(this).parent().parent().fadeOut(function() { 
+                $(this).next().fadeIn();
+            });
+            return false;
+        });
+        
+        $('.hide-all-tags').click(function() {
+           $(this).parent().parent().fadeOut(function() {
+               $(this).prev().fadeIn();
+           });
+           return false; 
+        });
+        
         $('#registration-form').ajaxForm({
             dataType: 'json',
             beforeSubmit: function() {
@@ -80,7 +94,7 @@
         $('#login-register-window').jqm({
             target: target[0],
             overlay: 60,
-            trigger: '#login-register-link',
+            trigger: '.login-register-link',
             onShow: function(hash) {
                 var offset = $(hash.t).offset();
                 hash.w.css({position: 'absolute', left: offset.left - hash.w.width() + $(hash.t).width(), top: offset.top});
             }
         });
         
+        $('ul.shelf-list li').hover(function() {
+            $(this).css({background: '#EEE', cursor: 'pointer'});
+        }, function() {
+            $(this).css({background: 'transparent'});
+        }).click(function() {
+            location.href = $('a.visit-shelf', this).attr('href');
+        });
+        
+        $('.delete-shelf').click(function() { 
+            var link = $(this);
+            var shelf_name = $('.visit-shelf', link.parent()).text();
+            if (confirm('Czy na pewno usunąć półkę ' + shelf_name + '?')) {
+                $.post(link.attr('href'), function(data, textStatus) {
+                    link.parent().remove();
+                });
+            }
+            return false;
+        });
+        
         $('#user-shelves-window').jqm({
             ajax: '@href',
             target: $('#user-shelves-window div.target')[0],
                 hash.w.show();
             },
             onLoad: function(hash) { 
-                var shelf_name = $('a.visit-shelf', this).html();
-                
                 $('form', hash.w).ajaxForm({
                     target: $('#user-shelves-window div.target'),
                     success: function() { setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000) }
                 });
                 
+                $('input', hash.w).labelify({labelledClass: 'blur'});
+                
                 $('ul.shelf-list li', hash.w).hover(function() {
                     $(this).css({background: '#EEE', cursor: 'pointer'});
                 }, function() {
                     location.href = $('a.visit-shelf', this).attr('href');
                 });
                 
-                $('.delete-shelf').click(function() { 
+                $('.delete-shelf').click(function() {
+                    var link = $(this);
+                    var shelf_name = $('.visit-shelf', link.parent()).text();
                     if (confirm('Czy na pewno usunąć półkę ' + shelf_name + '?')) {
-                        $.post($(this).attr('href'), function(data, textStatus) {
-                            $('#user-shelves-window div.target').html(data);
-                            setTimeout(function() { $('#user-shelves-window').jqmHide() }, 1000);
+                        $.post(link.attr('href'), function(data, textStatus) {
+                            link.parent().remove();
                         });
                     }
                     return false;
                 });
             }
         });
+    
+        $('#books-list .book').hover(
+            function() { $(this).css({background: '#F3F3F3', cursor: 'pointer'}); },
+            function() { $(this).css({background: '#FFF'}); }
+        ).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');
+                $('p', this).html('Zwiń opis ▲');
+            } else {
+                $('#description').slideUp('fast').addClass('hidden');
+                $('p', this).html('Rozwiń opis ▼');
+            }
+        });
+    
+        var target = $('#set-window div.target');
+    
+        $('#set-window').jqm({
+            ajax: '@href', 
+            target: target[0],
+            overlay: 60,
+            trigger: 'a.jqm-trigger', 
+            onShow: function(hash) { 
+                var offset = $(hash.t).offset();
+                target.html('<p><img src="/media/img/indicator.gif" /> Ładowanie</p>');
+                hash.w.css({position: 'absolute', left: offset.left, top: offset.top}).show() },
+            onLoad: function(hash) { 
+                $('form', hash.w).ajaxForm({
+                    target: target,
+                    success: function() { setTimeout(function() { $('#set-window').jqmHide() }, 1000) }
+                });
+            }
+        });
+        
+        $('a.remove-from-shelf').click(function(event) {
+            event.preventDefault();
+            link = $(this);
+            $.post(link.attr('href'), function(data, textStatus) {
+                link.parent().remove();
+            });
+        });
+
     });
 })(jQuery)
\ No newline at end of file