/**
 * 
 */
var v_ = [];

/**
 * 
 */
var c_ = 0.68;

/**
 * 
 * @param form
 * @return boolean
 */
function checkEmail(form) {
	var check = false;
	var val = $('input[type=text]', form).val();
	var rgx1 = /(\@.*\@)|(.*\.\..*)|(.*\@\..*)|(^\.)|(\.$)|(\@\/)|(.*\@\-.*)|(.*\.$)/i;
	var rgx2 = /^[_\w\d][\w\d\_\/\-\.]*\@[\d\w\-\.]+[0-9A-z]$/i;
	var rgx3 = /.*\@.*\.+.*/i;
	if (val.match(rgx1) || !val.match(rgx2) || !val.match(rgx3)) {
		window.alert('Por favor, inclua um e-mail valido.\nPor exemplo: nome@example.com');
	} else {
		check = true;
	}
	return check;
}

/**
 * 
 * @param form
 * @return boolean
 */
function checkPhone(form) {
	var check = false;
	var val = $('input[type=text]', form).val();
	if (!val.match(/^[0-9]{10}$/gi)) {
		window.alert('Por favor, inclua apenas numeros no formato DDD+Telefone.\nPor exemplo: 1199991234');
	} else {
		check = true;
	}
	return check;
}

/**
 * 
 * @param post
 * @return void
 */
function cadastroEmail(post) {
	$('form.email').addClass('inativo');
	$('form.sms').addClass('inativo');
	$('#email_' + post).removeClass('inativo');
}

/**
 * 
 * @param post
 * @return void
 */
function cadastroSMS(post) {
	$('form.email').addClass('inativo');
	$('form.sms').addClass('inativo');
	$('#sms_' + post).removeClass('inativo');
}

/**
 * 
 * @param lower
 * @return void
 */
function setFontSize(lower) {
	lower = (typeof lower == 'boolean') ? lower : false;

	var relValue = 0.1;
	var fontType = 'em';
	var Default = 0.68;
	var UpLimit = 0.88;
	var LowLimit = 0.68;
	var elemento = $('#limites');
	var v_ = undefined;

	v_ = ((c_ >= 0) ? c_ : Default);
	v_ = (lower ? (v_ - relValue) : (v_ + relValue));
	v_ = (v_ >= UpLimit) ? UpLimit : ((v_ <= LowLimit) ? LowLimit : v_);
	c_ = v_;
	elemento.css('font-size', v_ + fontType);
}

/**
 * 
 * @return void
 */
function load() {
	if (GBrowserIsCompatible()) {
		var pt = eval('new GLatLng(' + gmaps_conf.ll + ')');
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(pt, 17);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		var marker = new GMarker(pt);
		GEvent.addListener(marker, "click", function() {
			var html = '<div>' + gmaps_conf.desc + '</div>';
			marker.openInfoWindowHtml(html);
		});
		map.addOverlay(marker);
		GEvent.trigger(marker, "click");
	}
}

/*
 * Estrutura executada no fim do carregamento do documento.
 */
$(document).ready( function() {

	/*
	 * Mostra/esconde os imóveis em próximos e últimos lançamentos.
	 */
	$("#coluna2 div.caixa").addClass("ativo");

	var titulo = $("#coluna2 h3.proximos, #coluna2 h3.ultimos");
	titulo.addClass("ativo").click( function() {
		if ($(this).hasClass("ativo")) {
			$(this).removeClass("ativo");
			$(this).next().removeClass("ativo");
		} else {
			$(this).addClass("ativo");
			$(this).next().addClass("ativo");
		}
		return false;
	});

	/*
	 * Abre links externos em outra janela ou aba.
	 */
	$('a[rel=external]').attr('target', '_blank');

	/*
	 * Comportamentos "mágicos" em campos de formulário que têm a classe CSS
	 * magic_text. Ao entrar nesses campos o conteúdo é limpo de acordo com o
	 * valor.
	 */
	$('.magic_text').each( function() {
		var input = $(this);
		if (!v_[input.attr('id')]) {
			v_[input.attr('id')] = input.val();
		}
		input.focus( function() {
			var i_ = $(this);
			if (i_.val() == v_[i_.attr('id')]) {
				i_.val('');
			}
		}).blur( function() {
			var i_ = $(this);
			if (i_.val().match(/^\s*$/)) {
				i_.val(v_[i_.attr('id')]);
			}
		});
	});

	/*
	 * Mostra/esconde os widgets da barra lateral.
	 */
	$('dt a.expande').click( function() {
		var dt = $(this).parent('dt');
		var dd = dt.next('dd');
		if (dt.hasClass('ativo') && dd.hasClass('ativo')) {
			dt.removeClass('ativo');
			dd.removeClass('ativo');
		} else {
			dt.addClass('ativo');
			dd.addClass('ativo');
		}
		return false;
	});

	/*
	 * Mostra os formulários de cadastro de e-mail e número de telefone para
	 * recebimento de novidades do blog.
	 */
	$('#lnk_email, #lnk_sms').click( function() {
		$('ul.meta form').removeClass('ativo');
		$(this).next().addClass('ativo');
		return false;
	});

	/*
	 * Ação no botão de fechar do popup.
	 */
	$('.popup a.botao').click( function () {
		$('.popup').css('display', 'none');
		return false;
	});

	/*
	 * Altera elementos do box do captcha de comentários.
	 */
	$('p.thdrpy a').addClass('botao direita').wrapInner('<strong></strong>');
	$('li.validacao').prepend($('#secureimgdiv'));
	$('span, br', 'li.validacao').remove();

});
