(function($){
	$.ShowHide = {

		__constructor : function(){
			var me = this;
			me.initConfig();

			// targets (bind em elementos passando o evento)
			$(".jNiceSelectWrapper a").click(function() {
				switch($(this).attr('name')) {
					case "fotosGrandes":
						me.fotosGrandes();
						break;
					case "fotoDesc":
						me.fotoDesc();
						break;
					case "somenteDesc":
						me.somenteDesc();
						break;
					default:null;
				}
			});

			$("dl.itens dt").click(function(e){
				me.listaDefinicao(e);
			});

			//me.maisImoveis();
			me.dropDownOver();
			//me.closeEmps();
			me.favoritosFechar();
		},

		fotosGrandes: function(e){
			var me = this;

			$(".anuncios").show();
			$("#listagem").hide();
		},

		fotoDesc: function(e){
			var me = this;

			$(".anuncios").hide();
			//verticalAlign alterado de top para middle por Erackson em 22/10/2009.
			$("#listagem").removeClass('desc').addClass('foto').show().find('td').css("verticalAlign","middle").end().find('.first').show().end().find('.second span').show();
		},

		somenteDesc: function(e){
			var me = this;

			$(".anuncios").hide();
			//alteração feita por Erackson em 22/10/2009
			//$("#listagem").removeClass('foto').addClass('desc').show().find('td').css("verticalAlign","middle").end().find('.first').hide().end().find('.second span').hide();
			$("#listagem").removeClass('foto').addClass('desc').show().find('td').css("verticalAlign","middle").end().find('.first').hide();
		},

		maisImoveis: function() {
			$(".panelclick").click(function() {
				$(".maisimoveis:visible").hide();
				if($(this).prevAll(".maisimoveis:first").is(':visible')) return false;
				$(this).prevAll(".maisimoveis:first").slideDown("fast");
			});
		},

		listaDefinicao: function(e) {
			var $o = (e.target.tagName != "DT")?$(e.target).parents("dt"):$(e.target);
			
			$("dl.itens dt").css("fontWeight","normal");
			
			if ($o.next().is(':hidden')) {
				$o.css("fontWeight","bold");
			} else {
				$o.css("fontWeight","normal");
			}
			
			var $nextDiv = $o.next();
			var $visibleSiblings = $nextDiv.siblings('dd:visible');
		 
			if ($visibleSiblings.length) {
				$visibleSiblings.slideUp('fast', function() {
					$nextDiv.slideToggle('fast');
				});
			} else {
				$nextDiv.slideToggle('fast');
			}
		},

		dropDownOver: function() {
			var timerId = 0;
			$(".menu > li").hover(
				function() {
					$(this).find("div:not(':animated')").slideDown("fast");
				},
				function() {
					var _this = this;
					timerId = setTimeout(function() { $(_this).find("div:not(':animated')").slideUp("fast") }, 200);
				}
			).find("ul li").hover(
				function() {
					if ($(this).attr('class') == 'vertodos') {
						$(this).css("background","#84766a").find('a').css('color','#fff');
					} else {
						$(this).css("background","#fff");
					}
				},
				function() {
					$(this).css("background","#c5da49").find('a').css('color','#84766a');
				}
			)
		},

		closeEmps: function() {
			$(".emp .fechar").click(function() {
				var $obj = $('.emp');															 
				var clicked = $obj.index($(this).parent());
				var total = $obj.length;

				if (clicked < total - 4) {
					$obj.each(function(i) {
						if ((i%4) == 0) {
							$obj.not(':first').removeClass("firstemp");
							$(".emp:eq(4)").removeClass("firstemp").addClass("firstline");
							$(".emp:eq("+(i+1)+")").addClass("firstemp");
						} 
					});
				}
				if (total == 5) $(".emp:eq(4)").removeClass("firstemp").addClass("firstline");
				$(this).parent().fadeOut("fast").remove();
				return false;
			})
		},
		
		favoritosFechar: function() {
			var $obj = $(".fechar-favoritos");
			$obj.find('img').load(function() {
				$(this).fadeTo('fast', 1);   
			});
			
			$obj.mouseover(function() {
				$(this).find('img')
				.fadeTo('fast', .01)
				.queue(function () {
					$(this)
					.dequeue()
					.attr('src', "../img/bt-favoritos-fechar-over.gif");
				});
			}).mouseout(function() {
				$(this).find('img')
				.fadeTo('fast', .01)
				.queue(function () {
					$(this)
					.dequeue()
					.attr('src', "../img/bt-favoritos-fechar.gif");
				});
			});	
		},

		initConfig: function() {
			$(".maisimoveis").hide();
			$("#listagem.modelosbusca").hide();
			$("#listagem tr:odd").css("background","#f1efed");
			$("dl.itens dd").hide();
			$(".menu li div").hide();
		}

	}
})(jQuery);
