/*
@author     galih.xp@gmail.com
@version    0.1.0
@copyright  2010
*/

function Paging(){
   var url;
   var count=0;
   var limit=10;
   var maxPage;
   var pageView;
   var destClass;
   var obj;
   var parentObj;
   var pagePosition=1;

   this.setPagePosition = function(pPosition){
      pagePosition = pPosition;
   }

   this.getPagePosition = function(){
      return pagePosition;
   }

   this.setParentObj = function(pObj){
      parentObj = pObj;
   }

   this.setDest = function(pDest){
      destClass = pDest;
   }

   this.setUrl = function(pUrl){
      url = pUrl;
   }

   this.setCount = function(pCount){
      count = pCount;
   }

   this.setLimit = function(pLimit){
      limit = pLimit;
   }

   this.setMaxPage = function(){
      maxPage=Math.ceil(count/limit);
   }

   this.setPageView = function(pPageView){
      pageView = pPageView;
   }

   this.getAddtionalParam = function(){
      return additionalParam;
   }

   this.getParentObj = function(){
      return parentObj;
   }

   this.getDest = function(){
      return destClass;
   }

   this.getUrl = function(){
      return url;
   }

   this.getCount = function(){
      return count;
   }

   this.getLimit = function(){
      return limit;
   }

   this.getMaxPage= function(){
      return maxPage;
   }

   this.getPageView = function(){
      return pageView;
   }

   this.getObject = function(){
      return obj;
   }

   this.createPaging = function(){
      this.setMaxPage();

      var objDiv = new DOM("div");
      objDiv.setAttribute("class","paging");

      var classPaging ='url_paging';

      var objHrefFirst = new DOM("a");
      objHrefFirst.setAttribute("class",classPaging);
      objHrefFirst.setAttribute("id","first");
      objHrefFirst.setAttribute("onClick","ajax.get('"+url+"/isComponent/1/page/1','sub-content');");
      objHrefFirst.appendText("first");
      objHrefFirst.appendTo(objDiv);

      if(pagePosition>1){
         prevPage = pagePosition-1;
      }else{
         prevPage = 1;
      }

      var objHrefPrev = new DOM("a");
      objHrefPrev.setAttribute("class",classPaging);
      objHrefPrev.setAttribute("onClick","ajax.get('"+url+"/isComponent/1/page/"+prevPage+"','sub-content');");
      objHrefPrev.appendText("prev");
      objHrefPrev.appendTo(objDiv);

      if(pagePosition<maxPage){
         nextPage = pagePosition+1;
      }else{
         nextPage = maxPage;
      }

      objDiv.appendText("Page "+pagePosition+" From "+maxPage);

      var objHrefNext = new DOM("a");
      objHrefNext.setAttribute("class",classPaging);
      objHrefNext.setAttribute("onClick","ajax.get('"+url+"/isComponent/1/page/"+nextPage+"','sub-content');");
      objHrefNext.appendText("next");
      objHrefNext.appendTo(objDiv);

      var objHrefLast = new DOM("a");
      objHrefLast.setAttribute("class",classPaging);
      objHrefLast.setAttribute("onClick","ajax.get('"+url+"/isComponent/1/page/"+maxPage+"','sub-content');");
      objHrefLast.appendText("last");
      objHrefLast.appendTo(objDiv);

      objDiv.appendTo(parentObj);
      obj = objDiv;
   }
}

