var DEFAULT_PAGE_SIZE = 30;

var m_nPageSize = DEFAULT_PAGE_SIZE;
var m_sDataSrcId = "DocumentsDataSrc";
var m_nPageIndex = 1;
function first(){
 var rsData = eval(m_sDataSrcId+".recordset");
 rsData.movefirst();
 setPageHTML();
}
function previous(){
 var rsData = eval(m_sDataSrcId+".recordset");
 rsData.moveprevious();
 setPageHTML();
}
function next(){
 var rsData = eval(m_sDataSrcId+".recordset");
 rsData.movenext();
 setPageHTML();
}
function last(){
 var rsData = eval(m_sDataSrcId+".recordset");
 rsData.movelast();
 setPageHTML();
}
function gotoPage(_nPage){
 var rsData = eval(m_sDataSrcId+".recordset");
 rsData.absoluteposition = _nPage;
 setPageHTML();
}
function setPageDisplay(){
 var rsData = eval(m_sDataSrcId+".recordset");
 var sFirstDisplay = "none";
 var sLastDisplay = "none";
 if(rsData.recordcount > 0){
  if(rsData.absoluteposition>1)sFirstDisplay = "";
  if(rsData.absoluteposition < rsData.recordcount)sLastDisplay = "";
 }
 a_Pre.style.display = a_First.style.display = sFirstDisplay;
 a_Next.style.display = a_Last.style.display = sLastDisplay;
}
function setPageHTML(){
 var rsData = eval(m_sDataSrcId+".recordset");
 var nPageCount = rsData.recordcount; 
 var nPageIndex = rsData.absoluteposition;
 var sHtml = "";
 for(var i=1; i<=nPageCount; i++){
  if(nPageIndex != i){
   sHtml += "<a href=\"javascript:gotoPage("+i+");\" class='txthei'>"+i+"</a>&nbsp;";
  }else{
   sHtml += "<span style=\"color:red\"><b>"+i+"</b></span>&nbsp;";
  }
 }
 span_PageNum.innerHTML = sHtml;
 PageSize.value = m_nPageSize;
 PageIndex.value = nPageIndex;
 setPageDisplay();
}
function setDataSrc(_sDataSrcName){
 var rsData = eval(m_sDataSrcId+".recordset");
 if(rsData.absoluteposition>0 && rsData.absoluteposition >= m_nPageIndex){
  rsData.absoluteposition = m_nPageIndex;
 }else{
  rsData.absoluteposition = 1;
 }
 RecTable.dataSrc = _sDataSrcName;
 RecTable.dataFld = "D";
 setPageHTML();
}
function doSearch(){
 var sSearchWord = SearchWord.value;
 var sPageSize = PageSize.value;
 if(sPageSize.length>0 && isNaN(sPageSize)){
  alert("is not a number£¡");
  PageSize.select();
  PageSize.focus();
  return;
 }
 if(sPageSize.length>0){
  m_nPageSize = parseInt(sPageSize);
  if(m_nPageSize<=0)m_nPageSize = DEFAULT_PAGE_SIZE;
 }
 else{
  m_nPageSize = DEFAULT_PAGE_SIZE;
 }
 var sPageIndex = PageIndex.value;
 if(sPageIndex.length>0 && isNaN(sPageIndex)){
  alert("curpage is not a number");
  PageIndex.select();
  PageIndex.focus();
  return;
 }
 if(sPageIndex.length>0){
  m_nPageIndex = parseInt(sPageIndex);
  if(m_nPageIndex<=0){
   m_nPageIndex = 1;
  }
 }
 else{
  m_nPageIndex = 1;
 }
 
 var sPath = "//D";
 if(sSearchWord.length > 0){
  sPath += "[contains(T,\""+sSearchWord+"\")]";
 }
 DocumentsDataSrc.XMLDocument.setProperty("SelectionLanguage", "XPath"); 
 var arNodes = DocumentsDataSrc.XMLDocument.selectNodes(sPath);
 reloadXML(arNodes);
}
function reloadXML(_arNodes){ 
 span_RecordCount.innerText = _arNodes.length;
 SelectDocs.async = false;
 SelectDocs.resolveExternals = false;
 var objDom = SelectDocs.XMLDocument;
 var objRoot = objDom.selectSingleNode("recs"); 
 var oSelection = objDom.selectNodes("//Documents"); 
 if(oSelection != null){
  oSelection.removeAll();
 }
 
 var nNodeCount = (_arNodes==null?0:_arNodes.length);
 var nCurrPageCount = parseInt(nNodeCount/m_nPageSize);
 if((nNodeCount % m_nPageSize) > 0)nCurrPageCount++;
 var nCurrPose = 0;
 for(var i=0; i<nCurrPageCount; i++){
  var objDocs =  objDom.createElement("Documents");
  
  for(var j=0; j<m_nPageSize; j++){
   nCurrPose = i*m_nPageSize + j;
   if(nCurrPose >= nNodeCount)break;
   var objNode = _arNodes[nCurrPose].cloneNode(true);
   objDocs.appendChild(objNode);  
  }
  objRoot.appendChild(objDocs);
 } 
 m_sDataSrcId = "SelectDocs";
 setDataSrc("#"+m_sDataSrcId);
}
function init(){
 doSearch();
}
init();