/*** 
	*Necessita importar a classe Navegacao. 
	
	Exemplo de implementacao:	
	pagBloco = new PaginacaoBlc({
		nome:'pagBloco',				   
		conteiner:'.lst-dominios UL LI',//identificador do objeto jquery
		qntBcs:20,
		bt_ant:'#paginacao .prevfirst',//identificador do objeto jquery
		bt_prox:'#paginacao .nextLast',//identificador do objeto jquery
		fade:false,
		nums:{
			classe:'#paginacao .num',//identificador do objeto jquery
			qntd:3,
			separador:'&nbsp;&nbsp;',
			click:true,
			clAtual:'numActive'
		}

	});

 ***/
function PaginacaoBloco(args){
	var me = this;	
	this.nome = args.nome;	
	this.conteiner = args.conteiner.split(';');	
	this.atuais = [];
	this.blocos = [];
	this.qntBcs = args.qntBcs;
	//this.bt_ant = $(args.bt_ant);
	//this.bt_prox = $(args.bt_prox);	
	this.limPgs = [];
	this.excessao = args.excessao;
	this.aoPaginar = args.aoPaginar;

	this.isExcessao = function(obj){
		if(me.excessao){
			for(var i in me.excessao){			
				if(obj.attr(i) == me.excessao[i]){
					return true;
				}			
			}
		}
		return false;
	}
	
	for(var j=0;j<me.conteiner.length;j++){
		me.blocos[j] = [];
		me.atuais[j] = [];
		var cont = 0;
		$(me.conteiner[j]).each(function(i){
			if(!me.isExcessao($(this))){
				//alert(args.qntBcs)
				me.blocos[j][cont] = {};					  
				me.blocos[j][cont].data=$(this).html();
				me.blocos[j][cont].href=$(this).attr('href');
				if(cont < args.qntBcs){
					me.atuais[j][cont] = $(this);
				}else{
					$(this).remove();
				}
				cont++;
			}
		});
		this.limPgs[j] = me.blocos[j].length/me.qntBcs;
		this.limPgs[j] = (this.limPgs[j]%1)==0?this.limPgs[j]:parseInt(this.limPgs[j]+1);
	}
	
	this.at_blocos = function(ind){		
		if(args.fade){			
			for(var j=0;j<me.atuais.length;j++){			
				/*for(var i=0;i<me.atuais[j].length;i++){
					//alert(me.atuais[j].length)								
					me.atuais[j][i].fadeOut(25);				
				}		*/
				for(var i=0;i<me.atuais[j].length;i++){
					var indc = ind*me.qntBcs+i;
					me.atuais[j][i].css('display','none');
					if(indc < me.blocos[j].length){
						me.atuais[j][i].attr('href',me.blocos[j][indc].href);
						me.atuais[j][i].html(me.blocos[j][indc].data);	
						me.atuais[j][i].fadeIn('normal');
					}				
				}
			}	
		}else{
			for(var j=0;j<me.atuais.length;j++){
				for(var i=0;i<me.atuais[j].length;i++){
					var indc = ind*me.qntBcs+i;	
					//alert(me.blocos[j][indc].data)
					me.atuais[j][i].css('display','none');
					if(indc < me.blocos[j].length){
						me.atuais[j][i].attr('href',me.blocos[j][indc].href);
						me.atuais[j][i].html(me.blocos[j][indc].data);	
						me.atuais[j][i].css('display','block');
					}
				}
			}		
		}
		if(me.aoPaginar)
			me.aoPaginar();
	}	
	var rept = (args.repetir)?args.repetir:false;
	this.nav = new Navegacao({
		limite:me.limPgs[0],
		repetir:rept,
		nums:args.nums,
		bt_prox:me.bt_prox,
		bt_ant:me.bt_ant,
		callBack:me.at_blocos,
		obj:me
	});	

	this.proximo = function(){	
		me.nav.incrIndex();
	}
	this.anterior = function(){
		me.nav.decrIndex();
	}	

	//this.bt_ant.click(me.anterior);
	//this.bt_prox.click(me.proximo);
}
