function listagem () {
	var $listagem;
	var $postagens;
	var espHorizontal;
	var margemMarcador;
	
	this.inicializar =
		function(elemento, horizontal) {
			$listagem = $(elemento);
			$postagens = $('.postagem', $listagem);
			espHorizontal = horizontal;
			margemMarcador = $listagem.is('.imagem-0') ? 21 : 0;
		};
	
	this.ordenarColunas = 
		function(colunas) {
			var containerWidth = $listagem.innerWidth();
			var colunaWidth = containerWidth / colunas;
			var espaco = espHorizontal / 2;
			
			$postagens.each(
				function(index, value) {
					var $this = $(value);
					var widthAdicional = 0;
					var widthRemover = 0;
					var leftRemove = 0;
					var rightRemove = 0;
					
					if ($this.is('esquerda')) {
						widthAdicional = espaco;
						leftRemove = espaco;
					}
						
					if ($this.is('direita')) {
						widthAdicional = espaco;
						rightRemove = espaco;
					}
					
					if ($.browser.msie) { //hack IE7
						if ($.browser.version.split('.')[0] == '7')
							widthRemover = 0;
					}
					$this.width(((colunaWidth - widthRemover) + widthAdicional) - espHorizontal); //1 pixel de erro no FireFox - IExplorer
					
					$this.css('marginLeft',(espaco - leftRemove) + 'px');
					$this.css('marginRight', (espaco - rightRemove) + 'px');
				});
			
		};
		
	this.conteudoCompleto = function() {
		$postagens.each(
			function(index, value) {
				var $this = $(value);
				var $centro = $('.centro', $this);
				var $imagem = $('.imagem', $centro);
				var widthInterno = 0;
				
				var $titTexto = $('.titulo-texto', $centro);
				var $autData = $('.autor-data', $centro);
				
				widthInterno = $centro.width() - $imagem.outerWidth(true) - margemMarcador;
				if ($titTexto.length);
					$titTexto.width(widthInterno);
				if ($autData.length)
					$autData.width($titTexto.width());
			}
		);
		
		$listagem.css('visibility', 'visible');
	}	
	
	this.ordenarConteudo =
		function() {
			this.conteudoCompleto();
		};
}
