var arrCountList = [
  ['5', '5'],
  ['10', '10'],
  ['20', '20'],
  ['50', '50'],
  ['0', 'ALL']
];

with(document.form) {
  // ------- Init Constant -----------------------------------------------------------
  var vCountAll=parseInt(CountAll.value);
  var vCountInPage=parseInt(CountInPage.value);
  var vCount=vCountInPage;
  var vCurrentPage=parseInt(CurrentPage.value);
  
  if(vCountAll>0) {
  
  var vColCount;
  if(ColCount.value!="") vColCount=parseInt(ColCount.value);
  else vColCount=1;
  var vLinks=5;
  
  vCountInPage=vCountInPage*vColCount;
  // ------- Calculation Constant -----------------------------------------------------------  
  var vCoutPages=Math.ceil(vCountAll / vCountInPage);
  var vCurrentDecStart=Math.floor((vCurrentPage-1)/vLinks)*vLinks+1;
  var vLastDecStart=Math.floor((vCoutPages-1) /vLinks )*vLinks+1;

  var ForStop=((vCurrentDecStart+vLinks)<(vCoutPages+1))?vCurrentDecStart+vLinks:vCoutPages+1;
  // ------- Init Table -----------------------------------------------------------
  document.write('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td class="text_menu" width="150" nowrap>&nbsp;');
  var startItem=(vCurrentPage-1)*vCountInPage+1;
  var stopItem=(vCountInPage>0)?((vCurrentPage-1)*vCountInPage+vCountInPage):(vCountAll);
  if(stopItem>vCountAll) stopItem=vCountAll;
  document.write('Items:&nbsp;'+startItem+'-'+stopItem+' out of '+vCountAll);
  document.write('</td><td class="text_menu" align="center" nowrap>');   
  // ------- Write Page Line -------------------------------------------------  
  if(vCount>0) {
  document.write('&nbsp;Pages:&nbsp;');
  if(vCurrentDecStart>1) {
      document.write('<a href="javascript:goFirst()"><img src="images/buttons/arrow_begin.gif" width="7" height="21" vspace="0" hspace="0" border="0" align="absmiddle"></a>');
  }

  if(vCurrentPage>1) {
      document.write('<a href="javascript:goPrev()"><img src="images/buttons/arrow_prev.gif" width="7" height="21" vspace="0" hspace="0" border="0" align="absmiddle"></a>&nbsp;');
  }
  
  for(i=vCurrentDecStart; i<ForStop; i++) {
       if(i!=vCurrentPage ) document.write('<a href="javascript:goPage('+i+')" class="link_menu">'+i+'</a>');
      else document.write('<span class="title_main">'+i+'</span>');
      if(i<(ForStop-1)) document.write('&nbsp;|&nbsp;');
  }
  
  if(vCurrentPage<vCoutPages) {
      document.write('&nbsp;<a href="javascript:goNext()"><img src="images/buttons/arrow_next.gif" width="7" height="21" vspace="0" hspace="0" border="0" align="absmiddle"></a>');
  }

  if((vCurrentDecStart+vLinks)<(vCoutPages+1)) {
      document.write('<a href="javascript:goLast()"><img src="images/buttons/arrow_end.gif" width="7" height="21" vspace="0" hspace="0" border="0" align="absmiddle"></a>');
  }
  }
  // ------- Init Table -----------------------------------------------------------
  document.write('&nbsp;&nbsp;</td><td width="120" class="title_main" nowrap align="right">'); 
  // ------- Write Page Counter ---------------------------------------------    
  for(i=0;i<arrCountList.length; i++) {
    if(vCount==arrCountList[i][0])
	    document.write(arrCountList[i][1]+'&nbsp;');
	else
        document.write('<a href="javascript:SetCountInPage('+arrCountList[i][0]+');" class="link_menu">'+arrCountList[i][1]+'</a>&nbsp;');
  }
  document.write('</td></tr></table>');
 }
 else document.write('&nbsp;');
}

function goPage(x) {
 with(document.form) {
   CurrentPage.value=x;
   submit();
 }
}

function goFirst() {
 goPage(vCurrentPage-vLinks);
}

function goPrev() {
 goPage(vCurrentPage-1);
}

function goNext() {
 goPage(vCurrentPage+1);
}

function goLast() {
  if(vCurrentPage+vLinks<vCoutPages) goPage(vCurrentPage+vLinks);
  else goPage(vCoutPages);
}

function SetCountInPage(newCount) {
  with(document.form) {
    CountInPage.value=newCount;
	submit();
  }
}
