// TRUE se é um e-mail válido
function isValidEmail(strEmail) {
	validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	return (strEmail.search(validRegExp) != -1);
}

// retorna objeto com os parâmetros da URL.
// parâmetros:
// url (opcional): a URL a ser tratada. Padrão = URL atual
function parametrosURL(url) {
	// get the current URL
	if (!url)
		var url = window.location.toString();
	//get the parameters
	url.match(/\?(.+)$/);
	var params = RegExp.$1;
	// split up the query string and store in an
	// associative array
	var params = params.split("&");
	var queryStringList = {};

	for (var i=0;i<params.length;i++) {
/*		var tmp = params[i].split("=");
		queryStringList[tmp[0]] = unescape(tmp[1]);*/
		var p = params[i].indexOf("=");
		queryStringList[params[i].substr(0, p)] = params[i].substr(p + 1);
	}
	return queryStringList;
}

// monta URL com as propriedades de um objeto
function serializaObjetoParaURL(obj, prefixo) {
	var str = '';
	if (!prefixo)
		prefixo = '';
	if (obj)
		for (var chave in obj) {
			switch (typeof obj[chave]) {
				case 'function':
					break;
				case 'object':
					str += '&' + prefixo + chave + '=' + encodeURIComponent(obj[chave].toString());
					break;
				default:
					str += '&' + prefixo + chave + '=' + encodeURIComponent(obj[chave]);
			}
		}
	return str;
}

// classe para o controlador de mensagens
function mostraMsg(seletorJQuery, className, data, msg, usuario) {
	// define se a rolagem irá para o final ao inserir esta mensagem
	rolar = ($(seletorJQuery).scrollTop() + $(seletorJQuery).height() >= $(seletorJQuery).get(0).scrollHeight);
	console.log('mostraMsg(seletorJQuery=%o, className=%o, data=%o, msg=%o, usuario=%o)', seletorJQuery, className, data, msg, usuario);
	tpl = tplMensagem;
	tpl = tpl.replaceAll('[#MSG_DATA]', data);
	tpl = tpl.replaceAll('[#MSG_USUARIO]', (usuario?('<span class="de">' + usuario + '</span> disse:'):''));
	tpl = tpl.replaceAll('[#MSG_TEXTO]', msg);
	$(tpl)
		.attr({'class': className})
		.appendTo($(seletorJQuery));
	// rolagem automática
	if (rolar)
		$(seletorJQuery).scrollTop($(seletorJQuery).get(0).scrollHeight);
}
