/*---------------------------------------------------  
 *   PagerControl for AJAX
 *  (c) 2005 Jigar Desai <desaijm@hotmail.com>
 *  Date Change: 12/31/2005
 *  requires: prototype.js http://prototype.conio.net/
 *--------------------------------------------------*/

function PagerControl(pageSize,step){
    this.PageSize = pageSize;
    this.Step = step;
    this.TotalPapers = null;
    this.EarliestYear = null;
    this.YearSelected = 12;
    this.PageCount = 0;
    this.CurrentPage = 1;
    //this.HeaderTemplate = "[ ";
    //this.HeaderTemplate = "<table width=100%><tr class=searchpaging nounderline><td align=left><b>{#total#} Items &nbsp;|</b>&nbsp; < ";
	//this.ItemTemplate = "<a href=\"javascript:{#reloadfunction}({#page},{#year#},{#total#},{#earliestyear#})\">{#title}</a> &nbsp; ";
    //this.SelectedItemTemplate = "{#title} &nbsp; ";
    //this.FooterTemplate = " ]";
    //this.FooterTemplate = " ></td><td align=right>.</td></tr></table>";
    // TO's Changes
    this.HeaderTemplate = "<br><div class=\"searchpaging nounderline\" style=\"float:left;\"><b>{#total#} Items {#year#}&nbsp;|</b>&nbsp;";
	this.ItemTemplate = "<a href=\"javascript:{#reloadfunction}({#page},{#year#},{#total#})\">{#title}</a> ";
    this.SelectedItemTemplate = "{#title} ";
    //this.FooterTemplate = " ]";
    this.FooterTemplate = "</div>";    
    
    this.HostControlID = null;
}

PagerControl.prototype.RenderPager = function(reloadFunction){
    var result = "";
	var pagingResult = "";
    var pageFrom = (((this.CurrentPage * this.PageSize) - this.PageSize) + 1);
    
    var pageTo = (this.CurrentPage * this.PageSize);
    
    if (pageTo > this.TotalPapers)
    {
        pageTo = this.TotalPapers;
    }
    
     if (this.YearSelected == 12)
		{
			result += this.HeaderTemplate.replace("{#from#}",pageFrom).replace("{#to#}",pageTo).replace("{#total#}",this.TotalPapers).replace("{#year#}"," for the last 12 months");
			document.getElementById('hdrTitle').innerHTML = "Research for the last 12 months";
		}
		else if (this.YearSelected == 0)
		{
		   	result += this.HeaderTemplate.replace("{#from#}",pageFrom).replace("{#to#}",pageTo).replace("{#total#}",this.TotalPapers).replace("{#year#}","");
	 		document.getElementById('hdrTitle').innerHTML = "All research";
		}
		else
		{
		    result += this.HeaderTemplate.replace("{#from#}",pageFrom).replace("{#to#}",pageTo).replace("{#total#}",this.TotalPapers).replace("{#year#}"," for " + this.YearSelected);
		 	document.getElementById('hdrTitle').innerHTML = "Research for " + this.YearSelected;
		}
		
	 // document.getElementById('hdrTitle').innerHTML += "<a href=\"index_all.cfm\" class=\"green\" style=\" \"><img src=\"/ui/redesign/images/viewAllResearch.gif\" border=\"0\" align= \"right\"></a>";
	 //document.getElementById('hdrTitle').innerHTML += "<span  style=\"text-align:right;\"><a href=\"index_all.cfm\" class=\"green\" style=\" \"><img src=\"/ui/redesign/images/viewAllResearch.gif\" border=\"0\"></a></span>";
		
    if (this.PageCount > 1){
        //result += this.HeaderTemplate;
        var startPoint = Math.floor((this.CurrentPage/this.Step)) * this.Step;
       
	
		
        if((this.CurrentPage % this.Step) == 0) {
            startPoint -= this.Step;
        }
        
        if(startPoint >= this.Step){
            pagingResult += this.ItemTemplate.replace("{#page}",startPoint).replace("{#title}","...").replace("{#reloadfunction}",reloadFunction).replace("{#year#}",this.YearSelected).replace("{#total#}",this.TotalPapers).replace("{#earliestyear#}",this.EarliestYear);
        }
        
        for(var i=startPoint +1;i<=this.PageCount && i<=(startPoint + this.Step);i++){
            if(i != this.CurrentPage){
                pagingResult += this.ItemTemplate.replace("{#page}",i).replace("{#title}",i).replace("{#reloadfunction}",reloadFunction).replace("{#year#}",this.YearSelected).replace("{#total#}",this.TotalPapers).replace("{#earliestyear#}",this.EarliestYear);
            }else{
                pagingResult += this.SelectedItemTemplate.replace("{#title}",i);
            }
        }
        
        if(startPoint < (this.PageCount - this.Step)){
            pagingResult += this.ItemTemplate.replace("{#page}",(startPoint + this.Step +1)).replace("{#title}","...").replace("{#reloadfunction}",reloadFunction).replace("{#year#}",this.YearSelected).replace("{#total#}",this.TotalPapers).replace("{#earliestyear#}",this.EarliestYear);
        }
        result += pagingResult + this.FooterTemplate;
    }
	document.getElementById('pagingFooter').innerHTML = pagingResult;
    $(this.HostControlID).innerHTML = result;
}

