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

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

fixed bug

File size: 2.4 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          }
47        }
48        nav_link_handler(index+1);
49      });
50    };
51    var nav_link_handler = function(index){
52      if (index > 0) {
53        prev_link.show();
54        bind_prev_handler(prev_link, index);
55      }
56      else {
57        prev_link.hide();
58      }
59      if (index < nav_links.size()-1) {
60        next_link.show();
61        bind_next_handler(next_link, index);
62      }
63      else {
64        next_link.hide();
65      }
66      showPageByIndex(index);
67      for (i=0;i<nav_links.size();i++){
68        if (i == index) {
69          jq(nav_links[i]).addClass('selected');
70        }
71        else{
72          jq(nav_links[i]).removeClass('selected');
73      }
74      }
75    }
76    var initialize_navigation = function(){
77      hideNavigation();
78      for (i=0; i<batch_size;i++){
79          jq(nav_links[i]).show();
80      }
81      showPageByIndex(0);
82      bind_prev_handler(prev_link, 0);
83      bind_next_handler(next_link, 0);
84      jq.each(nav_links, function(index, link) {
85        jq(link).unbind();
86        jq(link).click(function(e) {
87          nav_link_handler(index);
88        });
89    });
90    };
91
92   initialize_navigation();
93
94});
Note: See TracBrowser for help on using the repository browser.