// Paginator
//  Author: Evolver (ninzya@inbox.lv)

// check whether core file is included
if( typeof( core) =="undefined") alert( "core.js required in paginator.js");

var pagi ={};
//
pagi.add =function( pagi_pg_id, pagi_btn_id, navi_index, pages_total, callback) {
  var obj =core.resolve( pagi_pg_id);
  var btn =core.resolve( pagi_btn_id);
  core.regenerateId( obj.id);
  core.regenerateId( btn.id);
  btn.setAttribute( "pagi_id", obj.id);
  btn.onclick =function() {
    return pagi.directNavigation( this, btn, callback, pages_total);
  }
}
// direct navigation click handler
pagi.directNavigation =function( obj, btn, callback, pages_total) {
  var pg =core.resolve( obj.getAttribute( "pagi_id")).value;
  var pgp =parseInt( pg);
  if( pgp !=pg || pg < 1 || pg > pages_total) {
   alert( btn.getAttribute( "errormsg"));
   core.resolve( obj.getAttribute( "pagi_id")).focus();
   return false;
  }
  callback( pg);
  return false;
}