(function($) {            
    var checkpagenr = function(i) {
        var pagenr = parseInt($(i).val());
                
        if (pagenr) {
            var maxpages = parseInt($(i).parent().prev().text());
            if (pagenr < 1) {
                $(i).val(1)
            } else if (maxpages && pagenr > maxpages) {
                $(i).val(maxpages)            
            } else if (pagenr != $(i).val()) {
                $(i).val(pagenr)            
            }
        } else {
            $(i).val('')
        }                
    }
    $.fn.gotopage = function() {
        var form = ($(this).get(0) && $(this).get(0).tagName.toLowerCase() == 'form')? $(this) : $(this).find('form');    
        form.find('input').blur(function(e){
              checkpagenr(this);
          })
         form.submit(function(e){
              e.preventDefault();   
              var i = $(this).find('input');
              checkpagenr(i);                               
              var pagenr = parseInt(i.val());
              if (pagenr) {
                  document.location.href = $(this).attr('action') + '/' + pagenr;
              }
          })
          return this;
      }                                                           
})($);
