function updt() {
 if($('shdiv')) {
  $('shdiv').style.display='none';
  $('pgdiv').style.display='none';
  var ls=$('ls1');
  var tab=$$('.ltab tbody')[0];
  for(i=tab.rows.length-1; i > 0; i--)
   for(j=0; j < tab.rows[i].cells.length; j++) tab.rows[i].cells[j].style.visibility='hidden';
  var msg=$('lmsg');
  if(msg.innerHTML != '') msg.innerHTML='';

  var rq='md=js';
  for(i=0; i<d.ctr.elements.length; i++) {
   if(d.ctr.elements[i].name) rq+='&'+escape(d.ctr.elements[i].name)+'='+escape(d.ctr.elements[i].value);
  }
  var jsR= new Request.JSON({url:d.location.href, method:'post', onFailure:function(){d.ctr.submit();}, onComplete:function(j) {
if(j==null) {
 d.ctr.submit();
 return;
}
var msg=$('lmsg');
if(j.error) {
 msg.className='el';
 msg.innerHTML=j.error;
}
else {
 msg.className='';
 msg.innerHTML='';
}
if($('big')) $('big').innerHTML=j.tc;
var i, x, y, tr, td, attribs, attrib;
var tab=$$('.ltab tbody')[0];
for(i=tab.rows.length-1; i > -1; i--) tab.deleteRow(i);
for(i=0; i < j.fields.length; i++) {
 tr=$(tab.insertRow(i));
 tr.addEvent("mouseover", function(){this.setStyle("background","#EEEEEE");});
 tr.addEvent("mouseout", function(){this.setStyle("background","#FDFDFD");});
 for(x=0; x < j.fields[i].length; x++) {
  td=$(tr.insertCell(x));
  td.innerHTML=j.fields[i][x];
  if(j.mods[i] && j.mods[i][x]) {
   attribs=j.mods[i][x].match(/\S+=\S+/);
   for(y=0; y < attribs.length; y++) {
    attrib=attribs[y].split(/=/);
    td.setAttribute(attrib[0],attrib[1].substr(1,attrib[1].length-2));
   }
  }
 }
 td=tr.insertCell(x);
 td.className='lbt';
 td.innerHTML='';
 for(y=0; y<j.buttons[i].length; y++) td.innerHTML+=j.buttons[i][y];
}
var pgct=Math.ceil(j.tc / j.showing);
$('pgct').innerHTML=pgct;
if(j.page <= 1) $('lbs').className=$('lbp').className='hide';
else $('lbs').className=$('lbp').className='';
if(j.page >= pgct) $('lbn').className=$('lbe').className='hide';
else $('lbn').className=$('lbe').className='';
d.ctr.page.value=j.page;
d.ctr.showing.value=j.showing;
var shi=$('shi');
var pgi=$('pgi');
 }}).send(rq);
 }
 else d.ctr.submit();
}
function prevPage() {
 var pg=parseInt(d.ctr.page.value,10)-1;
 if(pg < 1) pg=1;
 goToPage(pg);
}
function nextPage() {
 var ct=parseInt($('pgct').innerHTML,10);
 var pg=parseInt(d.ctr.page.value,10)+1;
 if(pg > ct) pg=ct;
 if(pg < 1) pg=1;
 goToPage(pg);
}
function lastPage() {
 var ct=parseInt($('pgct').innerHTML,10);
 if(ct < 1) ct=1;
 goToPage(ct);
}
function goToPage(page) {
 d.ctr.page.value=page;
 d.ctr.act.value="now";
 updt();
}
function reSortPage(sorter) {
 d.ctr.page.value=1;
 d.ctr.sort.value=sorter;
 d.ctr.act.value="now";
 d.ctr.submit();
}
function changeShow(val) {
 d.ctr.showing.value = val;
 d.ctr.act.value="now";
 updt();
}
function getElementsByClassName(classname, node) {
 if(!node) node = document.getElementsByTagName("body")[0];
 var a=[];
 var re=new RegExp('\\b' + classname + '\\b');
 var els=node.getElementsByTagName("*");
 for(var i=0,j=els.length; i<j; i++)
  if(re.test(els[i].className))a.push(els[i]);
 return a;
}
window.addEvent("domready", function() {
 $each($$('.ltab tbody tr'), function(el,idx){
  el.addEvent("mouseover", function(){this.setStyle("background","#EEEEEE");});
  el.addEvent("mouseout", function(){this.setStyle("background","#FDFDFD");});
 });

var onSh=false;
var shi=$('shi');
var shdiv=new Element('div', { 'id':'shdiv' });
var shopts=[10,20,25,30,50,100];
for(var i=0; i < shopts.length; i++) {
 var sDiv=new Element('div', { 'html':shopts[i], 'class':'ldiv' });
 sDiv.addEvent('mouseover', function(){ this.setStyle("background","#EEEEEE");onSh=true });
 sDiv.addEvent('mouseout', function(){ this.setStyle("background","#FFFFFF");onSh=false });
 sDiv.addEvent('click', function(){changeShow(this.innerHTML)});
 sDiv.inject(shdiv);
}
shdiv.setStyle('display','none');

if(shi) {
 shdiv.inject(d.body);
}
var pgi=$('pgi');
if(pgi) {
 var onPg=false;
 var pgdiv=new Element('div', { 'id':'pgdiv' });
 var pgopts=[];
 for(var i=0; i < $('pgct').innerHTML; i++) {
  pgopts[i]=i+1;
  var sDiv=new Element('div', { 'html':pgopts[i], 'class':'ldiv'});
  sDiv.addEvent('mouseover', function(){this.setStyle('background',"#EEEEEE");});
  sDiv.addEvent('mouseout', function(){this.setStyle('background',"#FFFFFF");});
  sDiv.addEvent('click', function(){ goToPage(parseInt(this.innerHTML));});
  sDiv.inject(pgdiv);
 }
 pgdiv.setStyle('display','none');
 pgdiv.inject(d.body);

 pgi.addEvent('click', function(){
if(pgopts.length > 1) {
 pgdiv.setStyle('display','block');
 var dim=this.getPosition();
 pgdiv.style.left=dim.x+'px';
 pgdiv.style.top=(dim.y-1-parseInt($('pgct').innerHTML)*22)+'px';
 if(pgopts.length > 6) {
  pgdiv.className='overflow';
  pgdiv.style.top=(dim.y-133)+'px';
 }
}
 });
 pgi.addEvent('blur', function(){  if(!onPg) pgdiv.setStyle('display','none'); });
 pgi.addEvent('change', function(){ d.ctr.act.value="now"; updt(); });
 pgdiv.addEvent('mouseover', function(){onPg=true;});
 pgdiv.addEvent('mouseout', function(){onPg=false;});
}
if(shi) {
 shi.addEvent('click', function(){
var dim=this.getPosition();
shdiv.style.left=dim.x+'px';
shdiv.style.top=(dim.y-133)+'px';
shdiv.setStyle('display','block');
 });
 shi.addEvent('blur', function(){ if(!onSh) shdiv.setStyle('display','none'); });
 shi.addEvent('change', function(){ d.ctr.act.value="now"; updt(); });
}
});