$(document).ready(function(){
	ativa_paginacao();				   
});

function paginacao(obj){ //voce precisa passar um elemento que está dentro do módulo pra que ele descubra em que módulo vc está
	this.pg = 1;
	this.modulo = $(obj).parents('.modulo').attr('id'); //ele pega o elemento que abrange todo o módulo e puxa seu id
	this.pai = $(obj).parents('.modulo');
	
	//this.pg = $(".paginacao strong", this.pai).html();
	this.por_pg = $(".por_pg option:selected", this.pai).val();
	
	if($(".campo", this.pai).html()){
		if($(".campo", this.pai).get(0).tagName == 'SELECT') //se o campo for um select ele pega o option
			this.campo = $(".campo option:selected", this.pai).val();
		else
			this.campo = $(".campo.selected", this.pai).attr('href'); //se for um link ele pega o href	
	
	}
							
	this.ordem = $(".ordem.selected", this.pai).attr('alt');
	
	var arr = '';
	if($(".variavel", this.pai).val()){
		
		$(".variavel", this.pai).each(function(i){
			arr += "{ name:'"+$(this).attr('name')+"', value:'"+$(this).val()+"'},";								  
		});
	}
	
	this.imprime = function(response){
		$('.imprime_resultado', $('#socios')).html(response)
		console.log(this.pai)
	}
	
	this.envia = function(){ //envia o post com a identificação do módulo e recebe o resultado
		carregando();
		arr += "{ name: 'campo', value: '"+this.campo+"' }, { name: 'ordem', value: '"+this.ordem+"' }, { name: 'pg', value: "+this.pg+" }, { name: 'por_pg', value: "+this.por_pg+" }";
		this.valores = eval("["+arr+"]");

		pai = this.pai
		$.post(base_url()+'modulo/'+this.modulo, this.valores,  function(response){ 
			$('.imprime_resultado', pai).html(response)
			ativa_num(pai)
			carregando();
		});
	}
	
	
}
					
function ativa_paginacao(obj){
	if(!obj)
		obj = $('body')
	
	$('select.campo', obj).change(function(){ pagina(this) });
							
	$('.por_pg', obj).change(function(){ 
		pagina(this);
	});
							
	$('.ordem', obj).click(function(){							
		alterna_classe(this, '.ordem', 'selected');
		pagina(this);
		return false;
	});
						
	$('a.campo', obj).click(function(){
		alterna_classe(this, '.campo', 'selected');
		pagina(this);
		return false;
	});
	ativa_num(obj);
}

function ativa_num(obj){
	$('.paginacao a', obj).click(function(){
		var pag = new paginacao(this)				
		pag.pg = $(this).text()
		pag.envia()
		return false;
	});
}
					
function pagina(obj){
	var pag = new paginacao(obj);					
	pag.envia();
}
function alterna_classe(obj, identificador, classe){
	$(identificador, $(obj).parents('.modulo')).each(function(e){ $(this).removeClass(classe); });
	$(obj).addClass(classe);
	
}	