function countVPages(objectsPerPage) {
    var vElementCount = $$('.' + vBlockClassName).length;
    var vPagesCount   = (vElementCount/vBlockPerPage);
    if( vPagesCount > vPagesCount.round() ) {
        return vPagesCount.round() + 1;
    } else {
        return vPagesCount.round();
    }
}

function buildVPageNavigator( vPagesCount ) {
  if ( vPagesCount == 1 ) {
      return false;
  }

  var navTitleDiv = new Element('div', {'class': 'alignleft'});
  navTitleDiv.injectInside(vNavigationPannelId);
  navTitleDiv.setHTML('Навигация по страницам:');

  var vPagesLinks = new Element('div', {'id': 'vPagesLinks'});
  vPagesLinks.injectInside(vNavigationPannelId);

  var vBackLink = new Element('a', {
      'id'    : 'vPageBack',
      'href'  : '#top'
  });
  vBackLink.injectInside('vPagesLinks');
  vBackLink.setHTML('&laquo; Предыдущая');
  vBackLink.addEvent('click', function(e) {     
      new Event(e).stop();
      showBackVPage();
      var myFx = new Fx.Scroll(window).toTop();
  });

  var pageNumber = 1;
  while ( pageNumber <= vPagesCount ) {
      var link = new Element('a', {
          'id'    : 'vPage' + pageNumber,
          'href'  : '#top',
          'rel'   : pageNumber
      });

      link.injectInside('vPagesLinks');
      link.setHTML('<' + pageNumber + '>');
      link.addEvent('click', function(e) {
         new Event(e).stop();
         showVPage(this.rel);
         var myFx = new Fx.Scroll(window).toTop();   
      });
      pageNumber++;
  }

  var vForwardLink = new Element('a', {
      'id'    : 'vPageForward',
      'href'  : '#top'
  });
  vForwardLink.injectInside('vPagesLinks');
  vForwardLink.setHTML('Следующая &raquo;');
  vForwardLink.addEvent('click', function(e) {
      new Event(e).stop();
      showForwardVPage();
      var myFx = new Fx.Scroll(window).toTop();
  });

  vCurrentPage = 1;
  showVPage(vCurrentPage);
}

function showForwardVPage() {
    showVPage( vCurrentPage + 1 );
}
function showBackVPage() {
    showVPage( vCurrentPage - 1 );
}
function showVPage( i ) {
    if(i == 1) {
        $('vPageBack').setStyle('display', 'none');
        $('vPageForward').setStyle('display', 'inline');
    } else if(i == vPagesCount) {
        $('vPageBack').setStyle('display', 'inline');
        $('vPageForward').setStyle('display', 'none');
    } else {
        $('vPageBack').setStyle('display', 'inline');
        $('vPageForward').setStyle('display', 'inline');
    }
    $$('#pageNavigationPaginate a').each(function (pageNavLink) {
        pageNavLink.setStyle('font-weight', 'normal');
    });
    $('vPage' + i).setStyle('font-weight', 'bold');

    $$('.' + vBlockClassName).each(function(vBlock, index){
        if(index >= (i-1)*vBlockPerPage && index < i*vBlockPerPage) {
            vBlock.setStyle('display', 'block');
        } else {
            vBlock.setStyle('display', 'none');
        }
    });
    vCurrentPage = i.toInt();
}

