source: products/quintagroup.portlet.collection/trunk/quintagroup/portlet/collection/browser/resources/batch.js @ 2749

Last change on this file since 2749 was 2749, checked in by fenix, 14 years ago

removed batch navigation when javascript is not enabled

File size: 2.6 KB
Line 
1jq(document).ready(function(e) {
2    var prev_link = jq('.prevlink');
3    var next_link = jq('.nextlink');
4    var nav_links = jq('.navlink');
5    var batch_size = 4;
6    batch_size = nav_links.size() > batch_size ? batch_size : nav_links.size();
7
8    var hideNavigation = function (){
9      jq.each(nav_links, function(index, link){
10        jq(link).hide();
11      });
12    };
13
14    var showPageByIndex = function(index){
15      jq('dd[class*=page]').hide();
16      jq('dd.page-'+(index)).show();
17    };
18
19    var bind_prev_handler = function(link, index){
20      if (index == 0) {
21        jq(link).hide();
22      }
23      jq(link).unbind();
24      jq(link).click(function(e) {
25        if (!(index % batch_size)) {
26          hideNavigation();
27          for (i=1;i<=batch_size;i++){
28            jq(nav_links[index-i]).show();
29          }
30        }
31        nav_link_handler(index-1);
32     });
33    };
34    var bind_next_handler = function(link, index){
35      if (index == nav_links.size()-1) {
36        jq(link).hide();
37      }
38      jq(link).unbind();
39      jq(link).click(function(e) {
40        if (!((index+1) % batch_size)) {
41          hideNavigation();
42          for (i=1;i<=batch_size;i++){
43            if (i+index<nav_links.size()){
44              jq(nav_links[i+index]).show();
45            }
46            if (i==batch_size) {
47              jq(nav_links[i+index]).find('.navlinkSeparator').hide();
48            }
49          }
50        }
51        nav_link_handler(index+1);
52      });
53    };
54    var nav_link_handler = function(index){
55      if (index > 0) {
56        prev_link.show();
57        bind_prev_handler(prev_link, index);
58      }
59      else {
60        prev_link.hide();
61      }
62      if (index < nav_links.size()-1) {
63        next_link.show();
64        bind_next_handler(next_link, index);
65      }
66      else {
67        next_link.hide();
68      }
69      showPageByIndex(index);
70      for (i=0;i<nav_links.size();i++){
71        if (i == index) {
72          jq(nav_links[i]).addClass('selected');
73        }
74        else{
75          jq(nav_links[i]).removeClass('selected');
76      }
77      }
78    }
79    var initialize_navigation = function(){
80      prev_link.show();
81      next_link.show();
82      for (i=0; i<batch_size;i++){
83          jq(nav_links[i]).show();
84          if (i==batch_size-1) {
85            jq(nav_links[i]).find('.navlinkSeparator').hide();
86          }
87      }
88      showPageByIndex(0);
89      bind_prev_handler(prev_link, 0);
90      bind_next_handler(next_link, 0);
91      jq.each(nav_links, function(index, link) {
92        jq(link).unbind();
93        jq(link).click(function(e) {
94          nav_link_handler(index);
95        });
96    });
97    };
98
99   initialize_navigation();
100
101});
Note: See TracBrowser for help on using the repository browser.