﻿//Copyright WebMail Wou3, Inc. 2007-2010
Type.registerNamespace('WebMail2');
//MessageTextID is the ID of the div that displays the location in the list i.e. 1 to PageSize of TotalCount
WebMail2.Navigate=function(PageSize)
{
	this._PageSize=Number(PageSize);
	this._MessageText=null;
}
WebMail2.Navigate.prototype=
{
GoNextPage:function(iVal)
{
	if(iVal > 0)
	{
		if( (Number(g_objPageNo.value)+1) > this.LastPage())
		{
			g_objPageNo.value = this.LastPage();
			this.UpdateNavigateLabel();
			return;
		}
		g_objPageNo.value = Number(g_objPageNo.value) + 1;
	}
	else
	{
		if(g_objPageNo.value == this.LastPage())
		{
			this.UpdateNavigateLabel();
			return;
		}
		g_objPageNo.value = this.LastPage();
	}
	this.UpdateNavigateLabel();
	listObject.refresh(false);
},
GoPrevPage:function(iVal)
{
	if(iVal <= 0)
	{   
		 if(g_objPageNo.value == 1)
		{
			this.UpdateNavigateLabel();
			return;
		}
		g_objPageNo.value = 1;
	}
	else
	{
		if(Number(g_objPageNo.value) <=1 )
		{
			g_objPageNo.value=1;
			this.UpdateNavigateLabel();
			return;
		}
		g_objPageNo.value = Number(g_objPageNo.value) - 1;
	}
	this.UpdateNavigateLabel();
	listObject.refresh(false);
},
UpdateNavigateLabel:function()
{
	if(this._MessageText==null)
		this._MessageText=document.getElementById('divNavigateText');
	
	var folder=null;
	var msgCount=0;
	if(foldersArray!=null)
		folder=foldersArray.get_FolderByPath(page.get_FolderPath());
	if(folder!=null)
		msgCount=folder.get_TotalMessages();
	
	if(msgCount>0)
	{
		if( Number(g_objPageNo.value) > this.LastPage())
		{
			g_objPageNo.value = this.LastPage();
		}   
		
		g_objStartAt.value = (this._PageSize * (Number(g_objPageNo.value) - 1));
		var startEnd = Number(g_objStartAt.value) + this._PageSize;
		
		if (Number(g_objStartAt.value) > msgCount)
		{
			g_objPageNo.value = Math.floor(msgCount / this._PageSize);
			g_objStartAt.value = (this._PageSize * (Number(g_objPageNo.value) - 1));
			startEnd = msgCount;
		}
		else if(startEnd > msgCount)
			startEnd = msgCount;

		var startAt = Number(g_objStartAt.value) + 1;
		if(this._MessageText!=null)
			this._MessageText.innerHTML = "{0} - {1} of {2}".replace("{0}",startAt).replace("{1}",startEnd).replace("{2}",msgCount) ;
	}
	else
	{
		if(this._MessageText!=null)
			this._MessageText.innerHTML =  'empty folder';
	}
},
LastPage:function()
{
	var folder = foldersArray.get_FolderByPath(page.get_FolderPath());
	var msgCount = folder.get_TotalMessages();
	
	if(msgCount>0)
		return Math.ceil(msgCount / this._PageSize);
	else
		return 1;
},
PageNo:function()
{
	return Number(g_objPageNo.value);
}
}
WebMail2.Navigate.registerClass("WebMail2.Navigate");