//  <li id="first"><<</li>
//  <li id="previous">...</li>
//  <li id="next">...</li>
//  <li id="last">>></li>

var pagecontrol=function(targetid, currentvalue, recordonepage, pcvalueattrname){
  if(pcvalueattrname==undefined || pcvalueattrname==null || pcvalueattrname=="") pcvalueattrname="pcvalue";
  var targetObject=document.getElementById(targetid);
  var lis=targetObject.getElementsByTagName("li");
 // if(lis==undefined||lis.length<=recordonepage){
 //   return;
 // }
  var currentindex=0;
  var maxcount=lis.length;
  for(var index=0;index<lis.length;index++){
    if(lis[index].getAttribute(pcvalueattrname)==currentvalue){
      currentindex=index;
      lis[index].className="current";
    }
    lis[index].style.display="none";
  }
  var maxpage=parseInt((maxcount-1)/recordonepage)+1;
  var currentpage=parseInt(currentindex/recordonepage);
  for(var index=currentpage*recordonepage;index<(currentpage+1)*recordonepage&&index<maxcount;index++){
    lis[index].style.display="";
  }
  var firstElement=document.createElement("LI");firstElement.setAttribute("id","first");firstElement.innerHTML="1 &lt;&lt;";
  var previousElement=document.createElement("LI");previousElement.setAttribute("id","previous");previousElement.innerHTML="...";
  var nextElement=document.createElement("LI");nextElement.setAttribute("id","next");nextElement.innerHTML="...";
  var lastElement=document.createElement("LI");lastElement.setAttribute("id","last");lastElement.innerHTML="&gt;&gt; " + maxcount;
  
  if(currentpage<(maxpage-1)){
      if((currentpage+1)*recordonepage>(maxcount-1)) nextElement.setAttribute(pcvalueattrname,lis[maxcount-1].getAttribute(pcvalueattrname));
      else nextElement.setAttribute(pcvalueattrname,lis[(currentpage+1)*recordonepage].getAttribute(pcvalueattrname));
      targetObject.appendChild(nextElement);
      lastElement.setAttribute(pcvalueattrname,lis[maxcount-1].getAttribute(pcvalueattrname));
      targetObject.appendChild(lastElement);
  }
  if(currentpage>0){
      firstElement.setAttribute(pcvalueattrname,lis[0].getAttribute(pcvalueattrname));
      if((currentpage-1)*recordonepage<0)previousElement.setAttribute(pcvalueattrname,lis[0].getAttribute(pcvalueattrname));
      else previousElement.setAttribute(pcvalueattrname,lis[(currentpage-1)*recordonepage].getAttribute(pcvalueattrname));
      targetObject.insertBefore(previousElement,targetObject.firstChild);
      targetObject.insertBefore(firstElement,targetObject.firstChild);
  }
  lis=targetObject.getElementsByTagName("li");
  for(var index=0;index<lis.length;index++){
    //if(lis[index].getAttribute(pcvalueattrname)==currentvalue){
    //  continue;
    //}
    if(document.all){
      lis[index].attachEvent('onclick',function(){
        location.href=location.href.replace(currentvalue,event.srcElement.getAttribute(pcvalueattrname));
      });
      lis[index].attachEvent('onmouseover',function(){
        event.srcElement.className="over";
      });
      lis[index].attachEvent('onmouseout',function(){
        event.srcElement.className="";
      });
    }else{
      lis[index].addEventListener('click',function(){
        location.href=location.href.replace(currentvalue,event.srcElement.getAttribute(pcvalueattrname));
      },false);
      lis[index].addEventListener('mouseover',function(){
        event.srcElement.className="over";
      },false);
      lis[index].addEventListener('mouseout',function(){
        event.srcElement.className="";
      },false);
    }
  }
};
