
var ftcPaging = function(items,container,callback)
{
	this.items = items;
	this.container = container;
	this.callback = callback;
	this.active = 1;
	ftcPaging._init(this);
}
	ftcPaging.prototype.draw = function()
	{
		var s = this.genContainer();		
		UTIL.element(this.container,s);
		this.drawPaging();
	}
	//==================================
	ftcPaging.prototype.drawPaging = function()
	{
		var s = this.genPaging();
		
		UTIL.element("td_ftcpmain",s);
	}
	//======================================
	ftcPaging.prototype.genContainer = function()
	{
		var s = "<table id=\"ftcPager\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">";
		s+= "<tr>";
		s+= "<td>";
		s+= "<button id=\"ftcpfirst\" onclick=\""+this.getNav(1)+"\"></button>";
		s+= "</td><td>";
		s+= "<button id=\"ftcpprev\" onclick=\"ftcPaging._navigate('prev')\"></button></td>";
		s+= "<td id=\"td_ftcpmain\">&nbsp;</td>";
		s+= "<td>";
		s+= "<button id=\"ftcpnext\" onclick=\"ftcPaging._navigate('next')\"></button>";
		s+= "</td><td>";
		s+= "<button id=\"ftcplast\" onclick=\""+this.getNav(this.items)+"\"></button></td>";
		s+= "</tr></table>";
		return s;
	}
	//===========================================
	ftcPaging.prototype.genPaging = function()
	{
		var s = "";
		if(this.active >= 10) s+= this.genBlock("prev");
		var start = Math.floor(this.active/10)*10;
		var pages = (this.active >= 10) ? 10:9;
		if(0==start) start = 1;
		for(var i=start;i<start+pages;i++){
			if(i>this.items) break;
			s+= "<a ";
			if(this.active != i) s+= " class=\"ftcp-standard\" ";
			else s+= " class=\"ftcp-active\" ";
			s+= "  onclick=\""+this.getNav(i)+"\">"+i+"</a>&nbsp;";
		}
		if(i<=this.items) s+= this.genBlock("next");
		return s;	
	}
	//==============================================
	ftcPaging.prototype.genBlock = function(mode)
	{
		var start,end,s="";
		if("prev"==mode){
			start = 10;
			end = this.active-10;			
			s+= "<a class=\"ftcp-standard\" onclick=\""+this.getNav(1)+"\">1</a>... ";
		}else{
			start = Math.ceil(this.active/10)*10;
			if(start==this.active) start+=10;
			end = this.items;			
		}
		var z=0;
		for(var i=start;i<=end;i+=10){
			if("next"==mode && z>0) s+="... ";
			s+= "<a class=\"ftcp-standard\" onclick=\""+this.getNav(i)+"\">"+i+"</a>";
			if("prev"==mode ) s+= "... ";
			z++;
		}		
		return s;
	}
	//=================================================
	ftcPaging.prototype.getNav = function(no)
	{
		var s = "ftcPaging._select("+parseInt(no)+")";
		return s;
	}
	
/*CLASS METhODS *******************************************/
	ftcPaging.obj = null;
	ftcPaging._init = function(obj)
	{
		ftcPaging.obj = obj;
	}
	ftcPaging._navigate = function(mode)
	{
		var active = ftcPaging.obj.active;		
		var sel = (mode=="prev") ? parseInt(active)-1 : parseInt(active)+1;
		if(sel<1 || sel>ftcPaging.obj.items) return;
		ftcPaging._select(sel);
	}
	ftcPaging._select = function(no)
	{
		ftcPaging.obj.active = no;
		ftcPaging.obj.drawPaging();
		ftcPaging.obj.callback(no,ftcPaging.obj);
	}
//callback:
var pageIt = function(no,obj)
{
	//alert(no);
}