/*********** Funções JavaScript Novo Flog Brasil ***********/

var pfundo, plateral, plinks;

/**
 * Função que efetua o login do usuário via ajax
 * 
 * @author Lucas Mezêncio
 * @since 07/08/2009
 * 
 * @param {string} usr
 * @param {string} senha
 * @param {integer} id_com
 * @param {string} acao
 */
function fazer_login(usr, senha, id_com, acao){
	$.ajax({
		type : 'POST',
		url : '/login.php',
		data : { 
			usr : usr,
			senha : senha,
			id_com : id_com,
			acao : acao,
			ajax : 1
		},
		success : function(response){
			troca_login(response);
		},
		error : function(){
			setTimeout('fazer_login('+usr+', '+senha+', '+id_com+', '+acao+')', 2000);
		}
	});
}

/**
 * Função que efetua a troca dos formularios de login por mensagens de usuário já logado
 * 
 * @author Lucas Mezêncio
 * @since 10/08/2009
 * 
 * @param {json} txt
 */
function troca_login(txt){
	txt = eval('('+txt+')');
	if(txt.txt == 'ok'){
		var html_barra = ['<strong>Oi Sam!</strong> ', 'Enviar: <a href="/enviar_fotos.php">foto</a>', ' · <a href="/enviar_videos.php">vídeo</a>', ' · <a href="/enviar_texto.hpp">texto</a>', ' | Acessar: <a href="/resumo.php">resumo</a>', ' · <a href="/ultimos/">últimos</a>', ' · <a href="/configuracoes.php">configurações</a>', ' | <a href="/logout.php">sair</a>'].join('');
		$('#area_login').html(html_barra);
		var html_lateral = ['<li><a id="recados" href="/recados/">Recados</a></li>',
		'<li><a href="/listas.php" id="listas">Listas</a></li>'].join('');
		$('#nav_dados').html(html_lateral);
		var div_com = ['<input type="submit" class="botao" value="enviar comentário!"/>',
		'<center>Seja legal, evite fazer spam!</center>'].join('');
		$('#login'+txt.id_com).html(div_com);
		var acao = txt.acao+'('+txt.id_com+')';
		eval(acao);
	}else
		mostra_msg('Login inv&aacute;lido.');
}

/**
 * Função para salvar um comentário na página de post.
 * 
 * @author Lucas Mezêncio
 * @since 10/08/2009
 * @final 24/11/2009
 * 
 * @param {integer} id_com
 */
function salva_com(id_com){
	if($.cookie('login') == null && ($('#tenhocadastro'+id_com).attr('checked') == true)){
		if($.trim($('#usr'+id_com).val()) == '' || $.trim($('#senha'+id_com).val()) == ''){
			mostra_msg('Preencha o nome de usu&aacute;rio e senha.');
			return false;
		}
		
		fazer_login($('#usr'+id_com).val(), $('#senha'+id_com).val(), id_com, 'envia_comentario');
		return false;
	}else{
		envia_comentario(id_com);
		return false;
	}
}

function clear_field(field){
	if(field.defaultValue == field.value)
		field.value = '';
}

function reset_field(field){
	if(field.value == '') 
		field.value = field.defaultValue;
}

//funcoes para a parte de envio
var ready = false;

/**
 * Função para exibir/ocultar um elemento
 * 
 * @author Lucas Mezêncio
 * @final 01/09/2009
 * 
 * @param {string} id: '#id', '.classe', 'tag', etc..
 */
function abre_fecha(id){
	$(id).slideToggle();
	return false;
}

/**
 * Exibe/esconde uma sessão na página de resumo
 * 
 * @author Lucas Mezêncio
 * @final 10/09/2009
 * 
 * @param {string} id
 */
function abre_fecha_res(id){
	var div = $(id).prev().attr('href');
	
	if($(div).css('display') == 'none'){
		$(div).slideDown();
		$(id).html('x');
	}else{
		$(div).slideUp();
		$(id).html('+');
	}
}

/**
 * Esconde um elemento
 * 
 * @author Lucas Mezêncio
 * @since 01/09/2009
 * 
 * @param {string} id: '#id', '.classe', 'tag', etc..
 */
function fecha(id){
	$(id).fadeOut('fast', function(){
		$(this).hide();
	});
}

/**
 * 
 * @param {string} url
 */
function retorna_id_youtube(url){
	var cod = url.split('v=', 2);	
	cod = cod[1].substr(0, 11);
	return cod;
}

/**
 * Verifica se 'num' é uma URL do youtube válida. Se sim, insere o preview do vídeo
 * 
 * @author Lucas Mezêncio
 * 
 * @param {string} num
 */
function verifica_youtube(num){
	var url = $t('envia_arquivo'+num+'_url').value.replace(/(^\s+)|(\s+$)/);
	var verif = false;
	if(url.search('youtube.com') != -1){
		var urlpos = url.indexOf('v=');
		if(urlpos >= 0) 
			url = url.substring(urlpos + 2);
		if(url.length != 11){
			urlpos = url.indexOf('&');
			if(urlpos >= 0) 
				url = url.substring(0, 11);
		}
		if(url.length == 11)
			verif = true;
	}
	
	if(verif == false){
		$('#arquivo_preview'+num).html('&nbsp;');
		$('#envia_arquivo'+num+'_erro').css('display', 'block');
		$('#envia_arquivo'+num+'_ico').attr('src', 'favicon_default.ico');
		$('#envia_video_submit').attr({
			'disabled' : true,
			'readonly' : true
		}).addClass('btn2');
	}else{
		$('#arquivo_preview'+num).html('<span><img src="http://i.ytimg.com/vi/'+url+'/default.jpg" width="43" height="32" alt="Amostra" align="center" /></span>');
		$('#envia_arquivo'+num+'_erro').hide();
		$('#envia_arquivo'+num+'_ico').attr('src', 'http://www.youtube.com/favicon.ico');
		videos_perm();
		$('#envia_video_submit').attr({
			'disabled' : false,
			'readonly' : false
		}).removeClass('btn2');
	}
}

//fecha uma janela ativa
function fecharJanela(idJanela){
	$(idJanela).style.display = 'none';
}

/**
 * Adiciona uma linha de inserção de video 
 */
function adicionar_video(){
	var num_vids = $('#num_arquivos').val();
	
	if(num_vids.length > 0){
		var num = parseInt(num_vids.charAt(0));
		num_vids = num_vids.substr(1);
		
		var guarda_val = [];
		for(var i = 1;i <= 3;i++){
			try{
				guarda_val[i] = $('#envia_arquivo'+cont+'_url').val();
			}catch(e){}
		}
		//ERRO NO IE	
		var campTR = document.createElement('tr');
		campTR.id = 'arquivo'+num;
		campTR.style.display = 'none';
		
		if(num_vids.length % 2 == 0)
			campTR.className = 'bg2';
		
		var campTD1 = document.createElement('td');
		campTD1.className = 'move nome';
		campTD1.innerHTML = ['<a href="#" title="Mover" onmousedown="startMove(this.parentNode.parentNode.id); return false"><span class="handler">Mover</span></a>',
		'<span class="favicon"><img src="favicon_default.ico" alt="Endereço" id="envia_arquivo', num, '_ico"/></span>',
		'<input type="text" id="envia_arquivo', num, '_url" class="frm" onfocus="this.className = \'frm focus\'" onblur="this.className = \'frm\'; verifica_youtube(\'', num, '\')" name="vids[]" value="" />',
		'<small id="envia_arquivo', num, '_erro" class="erro" style="display: none;"></small>'].join('');
				
		var campTD2 = document.createElement('td');
		campTD2.id = 'arquivo_preview'+num;
		campTD2.className = 'preview';
		campTD2.innerHTML = '&nbsp;';
		
		var campTD3 = document.createElement('td');
		campTD3.className = 'nb tools';
		campTD3.innerHTML = ['<a href="#" onclick="exc_video(', num, '); return false;" title="Excluir" class="trash">Excluir</a>'].join('');
		
		campTR.appendChild(campTD1);
		campTR.appendChild(campTD2);
		campTR.appendChild(campTD3);
		
		$('#lista_opcoes').append(campTR);
		$('#arquivo'+num).fadeIn();
		
		for(cont = 1;cont <= 3; cont++){
			if(guarda_val[cont] != null && guarda_val[cont] != '')
				$('#envia_arquivo'+cont+'_url').val(guarda_val[cont]);
		}
		
		$('arquivos_atuais').value += num;
		$('#num_arquivos').val(num_vids);
		$('#envia_video_submit').attr({
			'disabled' : true,
			'readOnly' : true
		}).addClass('btn2');
		
		if(num_vids.length == 0){
			$('#adicionar1').hide();
			$('#adicionar2').show();
		}	
	}
}

/**
 * Verifica se videos podem ser postados 
 */
function videos_perm(){
	var postar = true;
	
	for(var i = 1;i <= 3;i++){
		try {
			if($('#envia_arquivo'+i+'_erro').attr('display') == 'block' || $('#envia_arquivo'+cont+'_url').val() == ''){
				postar = false;
				break;
			}
		}catch(e){}
	}
	
	if(postar){
		$('#envia_video_submit').attr({
			'disabled' : false,
			'readonly' : false
		}).removeClass('btn2');
	}else{
		$('#envia_video_submit').attr({
			'disabled' : true,
			'readOnly' : true
		}).addClass('btn2');
	}
}

/**
 * Excluir uma linha de insercao de video
 * 
 * @author Lucas Mezêncio
 * @final 01/09/2009
 * 
 * @param {integer} num
 */
function exc_video(num){
	var quant_videos = $('#num_arquivos').val().length;
	
	if(quant_videos < 4){
		exc('#arquivo'+num);
		$('#num_arquivos').val($('#num_arquivos').val()+num);
		$('#arquivos_atuais').val($('#arquivos_atuais').val().replace(num, ''));
		
		if(quant_videos == 0){
			$('#envia_video_submit').attr({
				'readOnly' : true,
				'disabled' : true
			}).addClass('btn2');
		}
		if($('#arquivos_atuais').val().length == 0){
			$('#envia_video_submit').attr({
				'readOnly' : true,
				'disabled' : true
			}).addClass('btn2');
		}
	}
}

/**
 * Pega a posicao de um elemento HTML
 * @param {string} o
 */
function getPos(o){
    var bo, x, y, b; x = y = 0;
	
    if(document.getBoxObjectFor){ //moz
        bo = document.getBoxObjectFor(o);
        x = bo.x; y = bo.y;
    }else if(o.getBoundingClientRect){ //ie
        bo = o.getBoundingClientRect();
        x = bo.left; y = bo.top;
        x += document.documentElement.scrollLeft;
        y += document.documentElement.scrollTop;
    }else{
        while(o && o.nodeName != 'BODY'){
            x += o.offsetLeft;
            y += o.offsetTop;
			
            if(window.opera) { //opera
                x -= 1;
                y -= 1;
            }else{ //resto
	            x += 1;
	            y += 1;
	        }
			
	        b = parseInt(document.defaultView.getComputedStyle(o,null).getPropertyValue('border-width'));
	        
			if(b > 0){
				x += b;
				y += b;
			}
			
	        o = o.offsetParent;
		}
	}
	return { x:x, y:y }
}

/**
 * url_encode version 1.0
 * 
 * @param {string} str
 */
function url_encode(str){
	var hex_chars = '0123456789ABCDEF';
	var noEncode = /^([a-zA-Z0-9\_\-\.])$/;
	var n, strCode, hex1, hex2, strEncode = '';

	for(n = 0; n < str.length; n++){
		if(noEncode.test(str.charAt(n)))
			strEncode += str.charAt(n);
		else{
			strCode = str.charCodeAt(n);
			hex1 = hex_chars.charAt(Math.floor(strCode / 16));
			hex2 = hex_chars.charAt(strCode % 16);
			strEncode += '%' + (hex1 + hex2);
		}
	}
	return strEncode;
}

/**
 * Funcao que submete um formulario
 * 
 * @param {string} elemId: id do elemento que esta chamando esta funcao
 * @param {integer} pag: pagina a ser chamada
 * @param {string} local: id do elemento que sera enviado o conteudo
 * @param {string} useFunc: funcao a ser chamada
 */
function enviaForm(elemId, pag, local, useFunc){
	var elem = $(elemId);
	var arrPost = [];
	var vez;
	
	for(var cont = 0;cont < elem.elements.length;cont++){
		vez = elem.elements[cont];
		
		if(vez.getAttribute('type') == 'text' || vez.getAttribute('type') == 'hidden' || vez.tagName == 'textarea')
			arrPost.push(vez.getAttribute('name') + '=' + url_encode(vez.value));
	}
	
	var strPost = (arrPost.length > 0) ? arrPost.join('&') : 'nada=nada';
	
	if(!useFunc)
		ajax.chamadaDiv(pag,strPost,local);
	else
		ajax.chamadaFunc(pag, strPost, local);
}

function calcula_tempo(segundos){
	var minuto = parseInt(segundos / 60);
	var segundo = segundos%60;
	return (minuto < 10 ? '0' : '')+minuto+' : '+(segundo < 10 ? '0' : '')+segundo;
}

/*---------------
Comeca reordenacao de fotos e videos
---------------*/
var isSombra = false;
var sombraDif = 0;
var sombraMaxY, sombraMinY = 0, sombra;
var sombraSel, sombraId;
var isFoto = false;

function startMove(id, foto){
	if(foto)
		isFoto = true;
	
	var quantVideos = $('num_arquivos').value.length;
	
	if(quantVideos <= 3){
		for(var cont = 1;cont <= 5;cont++){
			try {
				$('envia_arquivo'+cont+'_erro').style.display = 'none';
			}catch(e){}
		}
		
		sombra = document.createElement('div');
		
		var sombraElem = $(id);
		
		sombraId = parseInt(id.replace('arquivo',''));
		sombra.className = 'transp';
		sombra.style.display = 'block';
		sombra.style.width = sombraElem.offsetWidth + 'px';
		sombra.style.height = sombraElem.offsetHeight + 'px';
		
		var posElem = getPos(sombraElem);
		
		sombra.style.left = posElem.x + 'px';
		sombra.style.top = posElem.y + 'px';
		isSombra = true;
		document.body.appendChild(sombra);
		sombraDif = posMouse.y - posElem.y;
		
		sombraMinY = getPos($('lista_opcoes')).y;
		sombraMaxY = sombraMinY + $('lista_opcoes').offsetHeight - sombraElem.offsetHeight;
	}
}

var posMouse;

function coordenada(e) {
	var xCoord, yCoord;
	//obtendo dados de acordo com o navegador...
    //IE
    if (document.all && !window.opera){
        xCoord = event.clientX;
        yCoord = event.clientY;
    }
    //Firefox
    else if (document.layers){
        xCoord = e.x;
        yCoord = e.y;
    }
    //Outros
    else if ($){
        xCoord = e.clientX;
        yCoord = e.clientY;
    }
	
	xCoord += document.documentElement.scrollLeft;
	yCoord += document.documentElement.scrollTop;
	
	return { x: xCoord, y: yCoord };
}

document.onmousemove = function(e){
	posMouse = coordenada(e);
	
	if(isSombra) {
		var direcao = posMouse.y - sombraDif;
		
		if (direcao > sombraMinY && direcao < sombraMaxY) 
			sombra.style.top = direcao + 'px';
		else if(direcao < sombraMinY) {
			direcao = sombraMinY;
			sombra.style.top = sombraMinY + 'px';
		} else {
			direcao = sombraMaxY;
			sombra.style.top = sombraMaxY + 'px';
		}
		
		sombraSel = Math.round((direcao - sombraMinY) / parseInt(sombra.style.height.replace('px','')));
	}
}

document.onmouseup = function(){
	if(isSombra){
		sombra.style.display = 'none';
		isSombra = false;
		
		var elem = $('lista_opcoes').childNodes[sombraSel];
		var videosAtuais = $('arquivos_atuais').value;
		var idElem1 = sombraId;
		var idElem2 = videosAtuais.charAt(sombraSel);
		
		var temp;
		temp = $('envia_arquivo'+idElem1+'_url').value;
		$('envia_arquivo'+idElem1+'_url').value = $('envia_arquivo'+idElem2+'_url').value;
		$('envia_arquivo'+idElem2+'_url').value = temp;
		temp = $('arquivo_preview'+idElem1).innerHTML;
		$('arquivo_preview'+idElem1).innerHTML = $('arquivo_preview'+idElem2).innerHTML;
		$('arquivo_preview'+idElem2).innerHTML = temp;
		
		if(isFoto){
			temp = $('nome_arquivo'+idElem1).innerHTML;
			$('nome_arquivo'+idElem1).innerHTML = $('nome_arquivo'+idElem2).innerHTML;
			$('nome_arquivo'+idElem2).innerHTML = temp;
		}
		
		if($('envia_arquivo'+idElem1+'_ico')){
			temp = $('envia_arquivo'+idElem1+'_ico').src;
			$('envia_arquivo'+idElem1+'_ico').src = $('envia_arquivo'+idElem2+'_ico').src;
			$('envia_arquivo'+idElem2+'_ico').src = temp;
		}
	}
}

function mudaTR(id){
	if (isSombra){
		for(cont = 1; cont <= 3; cont++){
			try{
				$('arquivo'+cont).className = '';
			}
			catch(e){}
		}
		
		$(id).className = 'bg2';
	}
}
/*---------------
Termina reordenacao de fotos e videos
---------------*/

var upld;
var bkp_buffer = new Array();

/**
 * Acao para um texto que possa ser editado
 * 
 * @author Lucas Mezêncio
 * @since 17/08/2009
 * 
 * @param {integer} id
 * @param {boolean} tiny [opcional]
 */
function editavel(id, tiny){
	$('#salva_'+id).fadeIn();
	if(tiny)
		bkp_buffer[id] = tinyMCE.get(id).getContent();
	else
		bkp_buffer[id] = $('#'+id).val();
}

/**
 * Salva uma alteração feita em algum campo
 * 
 * @author Lucas Mezêncio
 * @since 17/08/2009
 * @final 01/09/2009
 * 
 * @param {string} id
 * @param {boolean} tiny [opcional]
 */
function salva_campo(id, tiny){
	if(tiny){
		var textarea = tinyMCE.get(id).getContent();
		
		if((textarea == '<p>&nbsp;</p>') || (textarea == null) || (textarea == '') || (textarea.noTag().length < 7)){
			mostra_msg('O texto n&atilde;o pode ficar em branco.');
			return false;
		}
		
		if(bkp_buffer[id] != tinyMCE.get(id).getContent()){
			$.ajax({
				type: 'POST',
				url: '/post_altera.php',
				data: {
					'campo': id,
					'valor': tinyMCE.get(id).getContent()
				},
				success : function(data){
					if(data == 'ok')
						fecha('#salva_'+id);
				},
				error : function(){
					setTimeout('salva_campo("'+id+'", '+tiny+')', 2000);
				}
			});
		}
	}else{
		if($.trim($('#'+id).val()) == ''){
			mostra_msg('O campo n&atilde;o pode ficar em branco.');
			return false;
		}
		if(bkp_buffer[id] != $('#'+id).val()){
			$.ajax({
				type : 'POST',
				url : '/post_altera.php',
				data : {
					'campo' : id,
					'valor' : $('#'+id).val()
				},
				success : function(data){
					if(data == 'ok')
						fecha('#salva_'+id);
				},
				error : function(){
					setTimeout('salva_campo("'+id+'")', 2000);
				}
			});
		}
	}
	fecha('#salva_'+id);
	return false;
}

/**
 * Funcao para salvar a frase do perfil do usuario
 * 
 * @author Lucas Mezêncio
 * 
 * @param {string} id
 * @param {string} frase
 */
function salva_frase(id, frase){
	if(bkp_buffer[id] != $('#'+id).val())
		$.ajax({
			type : 'POST',
			url : '/frase.php',
			data : {'frase' : frase},
			success : function(data){
				data = eval('('+data+')');
				$('#salva_'+id).hide();
				mostra_msg(data.msg);
			},
			error : function(){
				setTimeout('salva_frase('+id+', "'+frase+'")', 2000);
			}
		});
	return false;
}

/**
 * Salva o status ou mood de um usuário
 * 
 * @author Lucas Mezêncio
 * @since 18/08/2009
 * 
 * @param {string} tipo
 * @param {string} status
 */
function salva_status(tipo, status){
	var classe = [];
	if(tipo == 'status')
		classe = ['', 'online', 'away', 'offline'];
	else if(tipo == 'mood')
		for(var i = 1;i <= 20;i++)
			classe[i] = 'e'+i;
	
	$('#'+tipo+'_class').attr({
		'class' : classe[status],
		'title' : classe[status]
	});
	abre_fecha('#'+tipo+'_list');
	$.ajax({
		type : 'POST',
		url : '/altera.php',
		data : {
			tipo : tipo,
			status : status
		}
	});
	return false;
}

function setaBuffer(id){
	bkp_buffer[id] = $(id).value;
	return true;
}

function checaBuffer(id){
	if(bkp_buffer[id] == $(id).value)
		$('envia').disabled = true;
	else
		$('envia').disabled = false;
}

//-----------------------------------------------------------------------------------
//FUNCOES DE COMENTARIO
//-----------------------------------------------------------------------------------

/**
 * Função para encaixar o campo de responder a um comentario
 * 
 * @param {integer} id_com
 * @param {integer} id_com_pai
 */
function resp_com(id_com, id_com_pai){
	if($('#formcom'+id_com).html() == undefined){
		var inner = ['<form method="post" action="" style="display:none;" id="formcom', id_com, '" class="comment resposta" onsubmit="return salva_com(', id_com, ')">',
			'<input id="id_post', id_com, '" type="hidden" value="', $('id_post0').value, '" name="id_post" />',
			'<input id="ref', id_com, '" type="hidden" value="', id_com, '" name="ref" />',
			'<input id="id_com_pai', id_com, '" type="hidden" value="', (id_com_pai == undefined ? id_com : id_com_pai), '" name="id_com_pai" />',
			'<span class="avatar">',
				'<img src="', $('#avatar').attr('src'), '" alt="', $.cookie('nickname'), '" title="', $.cookie('nickname'), '" width="75px" height="75px" />',
			'</span>',
			'<div class="texto">',
				'<span class="balao"></span>',
				'Escreva seu coment&aacute;rio:',
				'<textarea id="comentario', id_com, '" cols="73" rows="7" onblur="this.className = \'\';" onfocus="this.className = \'focus\';">',
				'</textarea>',
				'<input type="checkbox" class="checkbox" id="privado', id_com, '" name="privado" />',
				'<label for="privado', id_com, '">Mensagem privada</label>',
				'<div id="login', id_com, '">',
					($.cookie('login') == null ? ['<input id="tenhocadastro', id_com, '" type="checkbox" onclick="tenho_cadastro(', id_com, ');" name="tenhocadastro"/>',
					'<label for="tenhocadastro', id_com, '">Possui cadastro no Flog Brasil?</label>',
					'<div id="anonimo', id_com, '">',
						'<label>Nome: </label>',
						'<input id="nome', id_com, '" class="campo" type="text" name="nome"/>',
						'<label>Site: </label>',
						'<input id="site', id_com, '" class="campo" type="text" name="site"/>',
						'<br />',
					'</div>',
					'<div id="logado', id_com, '" style="display: none;">',
						'<label for="usr', id_com, '">Login: </label>',
						'<input id="usr', id_com, '" class="campo" name="usr"/>',
						'<label for="senha', id_com, '">Senha: </label>',
						'<input id="senha', id_com, '" class="campo" type="password" name="senha"/>',
						'<br/>',
					'</div>'].join('') : ''),
					($.cookie('login') == null ? '<a href="/cadastro.php">Crie seu Flog Brasil grátis</a> &middot; <a href="/esqueci_senha.php">Esqueceu a senha?</a>' : ''),
					'<div>',
						'<a href="#" onclick="exc(\'#formcom', id_com, '\'); return false;">cancelar</a> ou <input type="submit" value="Enviar comentário!" class="botao" id="envcom', id_com ,'" />',
					'</div>',
					'<center>Seja legal, evite fazer spam!</center>',
				'</div>',
			'</div>',
		'</form>'].join('');
		
		$('#comment'+id_com).after(inner);
		$('#formcom'+id_com).slideDown();
	}
	return false;
}

/**
 * Envia um comentario (inicial ou resposta)
 * 
 * @author Lucas Mezêncio
 * @since 07/08/2009
 * 
 * @param {integer} id_com
 */
function envia_comentario(id_com){
	if($.trim($('#comentario'+id_com).val()) == ''){
		alert('Digite um comentário');
		return false;
	}
	
	var id_comentante = $.cookie('id_flog');
	var comentante = $.cookie('nickname');
	var end_comentante = 'fb:'+$.cookie('login');
	
	if($.cookie('login') == null){
		if($('#tenhocadastro'+id_com).attr('checked') == false){
			id_comentante = 0;
			comentante = $('#nome'+id_com).val();
			end_comentante = $('#site'+id_com).val();
		}
	}
	
	var login = $('#login'+id_com).html();
	
	$('#login'+id_com).html('<center><img src="/ajax-loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/post_envia.php',
		data : {
			comentario : url_encode($('#comentario'+id_com).val()),
			id_post : $('#id_post0').val(),
			ref : $('#ref'+id_com).val(),
			privado : $t('privado'+id_com).checked,
			id_com_pai : $('#id_com_pai'+id_com).val(),
			url : $('#url0').val(),
			id_flog : $('#id_flog0').val(),
			id_comentante : id_comentante,
			comentante : comentante,
			end_comentante : end_comentante,
			ajax : 1
		},
		success : function(txt){
			var t = eval('('+txt+')');
			if(t.erro == true){
				alert('Não foi possível enviar seu comentário. Tente novamente em alguns instantes.');
				$('#login'+id_com).html(login);
				return false;
			}
			comentario_enviado(txt);
		},
		error : function(){
			setTimeout('envia_comentario('+id_com+')', 2000);
		}
	});
	return false;
}

/**
 * Confirma quando um comentário é enviado e o exibe na tela
 * 
 * @author Lucas Mezêncio
 * 
 * @param {json} txt
 */
function comentario_enviado(txt){
	var itens = eval('('+txt+')');
        $('#numcomm').html(parseInt($('#numcomm').html()) + 1);
	$('#formcom'+itens.ref).before(decodeURIComponent(itens.inner));
	$('#comment'+itens.id_com).fadeIn();
	$('#comentario'+itens.ref).val('');
	$('#login'+itens.ref).html('<input class="botao" type="submit" value="enviar comentário!" /><center>Seja legal, evite fazer spam!</center>');
	
	mostra_msg('Coment&aacute;rio enviado com sucesso!')
	return false;
}

/**
 * Funcao que altera o número de exibição de posts no menu 'minhas coisas'
 * 
 * @author Lucas Mezêncio
 * @final 19/08/2009
 * 
 * @param {integer} max
 * @param {string} url
 * @param {integer} pag
 * @param {string} onde
 */
function altera_lista(max, url, pag, onde){
	$.ajax({
		type : 'POST',
		url : '/'+pag+'.php',
		data : {
			max : max,
			pag : 1,
			url : url
		},
		success : function(txt){
			$(onde).html(txt);
		},
		error : function(){
			setTimeout('altera_lista('+max+', "'+url+'", "'+pag+'", "'+onde+'")', 2000);
		}
	});
}

/**
 * Altera o numero de posts exibidos na pagina ultimos posts
 * 
 * @author Lucas Mezêncio
 * @since 19/08/2009
 * @final 23/09/2009
 * 
 * @param {integer} max
 * @param {string} login
 * @param {string} onde
 */
function altera_thumbs(max, login, onde){
	$(onde).html('<center><img src="/ajax-loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/minhas_coisas_ultimas.php',
		data : {
			max : max,
			pag : 1,
			url : login,
			onde : onde
		},
		success : function(txt){
			$(onde).html(txt);
		},
		error : function(){
			setTimeout('altera_thumbs('+max+', "'+login+'", "'+onde+'")', 2000);
		}
	});
}

/**
 * Exclui o comentário de um post
 * 
 * @author Lucas Mezêncio
 * @since 31/08/2009
 * 
 * @param {integer} id_com
 * @param {integer} id_post
 */
function excluir_comentario(id_com, id_post){
	if(confirm('Tem certeza que deseja excluir esse comentário?')){
		$.ajax({
			type: 'POST',
			url: '/post_envia.php',
			data: {
				id_com : id_com,
				id_post : id_post,
				exc : 1,
				com : 1
			},
			success: function(resp){
				if(resp == 'ok'){
					exc('#comment'+id_com);
                                        $('#numcomm').html(parseInt($('#numcomm').html()) - 1);
                                }else
					mostra_msg('Houve um erro ao excluir esse comentário, por favor tente novamente em alguns instantes.');
			},
			error : function(){
				setTimeout('excluir_comentario('+id_com+')', 2000);
			}
		});
	}
	return false;
}
/**----------------------------------------------------------------------------------
  ----------------------------------------------------------------------------------**/

/**
 * Trata a marcacao de um post como favorito
 * 
 * @author Lucas Mezêncio
 * @final 30/12/2009
 * 
 * @param {integer} id_post
 * @param {integer} id_usr
 * @param {integer} id_flog
 */
function marcar_favorito(id_post, id_usr, id_flog){
	$.ajax({
		type : 'POST',
		url : '/post_favorito.php',
		data : {
			id_post : id_post,
			id_flog : id_flog,
			id_usr : id_usr,
			url : $('#url0').val()
		},
		dataType : 'json',
		success : function(txt){
			if(txt.status == 'del'){
				$('#favorito'+id_post).removeClass('ativo');
				return false;
			}
			
			if(txt.status == 'fail'){
				mostra_msg('Ocorreu um erro, por favor tente novamente.');
				return false;
			}
			
			if(txt.status == 'add'){
				$('#favorito'+id_post).addClass('ativo');
				return false;
			}
		},
		error : function(){
			setTimeout('marcar_favorito('+id_post+', '+id_usr+', '+id_flog+')', 2000);
		}
	});
	return false;
}

// Verifica se um campo esta vazio
function verifica_campo(id){
	var janelaElem = $('erro'+id);
	
	if($(id).value == ''){
		janelaElem.style.display = 'block';
		$('envia_submit_fim').className = 'btn2';
		$('envia_submit_fim').readOnly = true;
		$('envia_submit_fim').disabled = true;
	}else{
		janelaElem.style.display = 'none';
		$('envia_submit_fim').className = 'btn';
		$('envia_submit_fim').readOnly = false;
		$('envia_submit_fim').disabled = false;
	}
}

String.prototype.noTag = function(){
	return this.replace(/<\/?[a-z]+>/g, "");
}

/**
 * Funcao para verificar se um textarea com tinyMCE esta vazio
 * 
 * @author Lucas Mezêncio
 */
function valida_envio(){
	if($.trim($('#titulo').val()) == ''){
		$('#erro_titulo').slideDown();
		$('#titulo').focus();
		return false;
	}
	var textarea = tinyMCE.get('texto').getContent();
	if((textarea == '<p>&nbsp;</p>') || (textarea == null) || (textarea == '') || (textarea.noTag().length < 7)){
		$('#erro_texto').slideDown();
		return false;
	}
}

// Funcao para contar quantas fotos o usuario ja selecionou
function contaFotos(quantPosts){
	var quant = $('lista_opcoes').childNodes.length;
	var lista_opcoes = $('lista_opcoes');
	var a;
	var i;
	var value = '';
	var controle = 2;
	var child = 0;
	
	for(a = quantPosts;a < 5;a++){
		if(a == 4 || a == 5)
			value += "";
		else{
			value += controle;
			controle++;
		}
	}
	
	/*
		quantPosts: controle.length
		0:          4 (2345)
		1:          3 (234)
		2:          2 (23)
		3:          1 (2)
		4, 5:       0 ()
	*/
	for(i = 0;i < quant;i++)
		if(lista_opcoes.childNodes[i].tagName == 'TR')
			child++;
	
	child = (child == 5) ? 4 : child;
	value = value.slice(0, value.length - child);
	$('num_arquivos').value = value;
}

// Funcao para converter segundos para minutos, horas, etc...
function converteSegundos(total, inicio){
	var comecou = false;
	var arr = new Array();
	
	if((inicio == 'd') || (comecou == true)){
		arr['dias'] = Math.floor(total / (60*60*24));
		total = (total % (60*30*24));
		comecou = true;
	}
	if((inicio == 'H') || (comecou == true)){
		arr['horas'] = Math.floor(total / (60*60));
		total = (total % (60*60));
		comecou = true;
	}
	if((inicio == 'i') || (comecou == true)){
		arr['minutos'] = Math.floor(total / 60);
		total = (total % 60);
		comecou = true;
	}
	arr['segundos'] = total;
	
	return arr;
}

/**
 * Oculta, exibe, troca o mes e o ano do calendário e atualiza a lista de meses
 * 
 * @author Lucas Mezêncio
 * 
 * @param {integer} mes
 * @param {integer} ano
 * @param {string} url
 * @param {boolean} a
 * @param {boolean} aj
 */
function gera_calendario(mes, ano, url, a, aj){
	var mes_sel = $('#mes_sel').val();
	var ano_sel = $('#ano_sel').val();
	var mesc = mes_sel == undefined || mes_sel == '' ? 1 : mes_sel;
	var anoc = ano_sel == undefined || ano_sel == '' ? ano : ano_sel;
	
	if(aj)
		mesc = mes;
	
	if(a != false)
		abre_fecha($(a).parent().parent());
	
	$('#calendario').slideUp();
	$('#lista_mes').html('<li><span>Carregando...</span></li>');
	
	$.ajax({
		type : 'POST',
		url : '/gera_calendario.php',
		data : {
			mes : mesc,
			ano : anoc,
			url : url
		},
		success : function(txt){
			txt = eval('('+txt+')');
			$('#lista_mes').html(txt.lista);
			$('#calend').html(txt.cal);
			$('#exibe_mes span').html(retorna_mes(mesc));
			$('#exibe_ano span').html(anoc);
			abre_fecha_cal('#calendario');
		},
		error : function(){
			setTimeout('gera_calendario('+mes+', '+ano+', "'+url+'")', 2000);
		}
	});
}

// Funcao para escolher aba atual
function trocaAba(idPai){
	child = $(idPai).childNodes;
	
	for(i = 0;i < child.length;i++)
		if(child[i].className == 'on')
			child[i].removeAttribute('class');
}

// Funcao para contar quantas fotos o usuario ja escolheu para realizar a reordenacao de fotos
function fotosAtuais(){
	var quant = $('num_arquivos').value;
	var i;
	var cont = '';
	
	for(i = 1;i <= quant;i++)
		cont += '0';
	
	$('arquivos_atuais').value = cont;	
}

// Funcao para passar as abas em 'minhas coisas' e 'view_thumbnails'
function passaAba(elem, lista, tipo, quant, id_flog){
	var child = $(lista).childNodes;
	var tamanho = child.length;
	var id = elem.id.split('_')[1];
	
	for(var i = 0;i < tamanho;i++){
		if(child[i].className == 'on'){
			if(elem.id == 'next_'+id){
				if(i < (tamanho -1)){
					child[i].removeAttribute('class');
					aba = parseInt(child[i].nextSibling.innerHTML, 10);
					child[i].nextSibling.className = 'on';
					$('menu_'+tipo).innerHTML = '<center><img src="loader.gif" /></center>';
					ajax.chamadaDiv('menu_'+tipo+'.php', 'max_'+id+'='+quant+'&pag_'+id+'='+aba+'&id_flog='+id_flog, 'menu_'+tipo);
				}
				break;
			}else{
				if(i > 0){
					child[i].removeAttribute('class');
					aba = parseInt(child[i].previousSibling.innerHTML, 10);
					child[i].previousSibling.className = 'on';
					$('menu_'+tipo).innerHTML = '<center><img src="loader.gif" /></center>';
					ajax.chamadaDiv('menu_'+tipo+'.php', 'max_'+id+'='+quant+'&pag_'+id+'='+aba+'&id_flog='+id_flog, 'menu_'+tipo);
				}
				break;
			}
		}
	}
}

/*********************************
	TAGS
*/
var cont_tags = 0;

function $t(id){
	return document.getElementById(id);
}

/**
 * Funcao para detectar o que o usuario digitou para criar as tags
 * 
 * @author Bruno Souza
 * 
 * @param {Object} objeto
 * @param {Object} event
 */
function manipula_tamanho_input(objeto, event){
	var num = objeto.id.split('_');
	var ie = (typeof window.ActiveXObject != 'undefined');
	
	if(ie)
		code = event.keyCode;
	else
		code = event.which;

	//backspace
	if(code == 8){
		if(objeto.size > 1)
			objeto.size = objeto.size - 5;
		else{
			if($t('as_'+num[2]).childNodes.length < 1)
				return false;
			
			remove_elemento($t('as_'+num[2]).lastChild.id);
			remove_elemento($t('tags_'+num[2]).lastChild.id);
		}
	//virgula
	}else if(code == 188 || code == 110){
		if(objeto.value.length > 1)
			cria_tag(objeto, 'virgula');
		else
			objeto.value = '';
	// enter
	}else if(code == 13){
		if(objeto.value.length != 0)
			cria_tag(objeto, 'enter');
		else
			objeto.value = '';
	//restante do teclado
	}else
		objeto.size = objeto.size + 1;
}

/**
 * Funcao que cria a tag em si.
 * @param {Object} objeto
 * @param {integer} botao
 */
function cria_tag(objeto, botao){
	var num = objeto.id.split('_');
	var tag = remove_virgulas(objeto.value);
	
	if(tag.length == 0){
		objeto.value = '';
		objeto.size = 5;
		return objeto.value;
	}
	
	var cria_li = $('<li><a href="#" class="hover" onclick="$(this).parent().remove(); remove_elemento(\'tag_input_'+cont_tags+'\'); return false;">'+tag+' <i class="x">x</i></a></li>');
	
	$('#as_'+num[2]).append(cria_li);
	cria_input_tag(objeto, botao);
	objeto.size = 5;
	objeto.value = '';
	return false;
}

/**
 * Funcao que cria os inputs que contem as tags para salvar no banco
 * 
 * @param {Object} objeto
 * @param {Object} botao
 */
function cria_input_tag(objeto, botao){
	var num = objeto.id.split('_');
	var tag = remove_virgulas(objeto.value);
	var cria_input = $('<input />').attr({
		'id' : 'tag_input_'+cont_tags,
		'name' : 'tags_livres_'+num[2]+'[]',
		'type' : 'hidden'
	}).val($.trim(tag));
	
	$('#tags_'+num[2]).append(cria_input);
	cont_tags++;
}

/**
 * Funcao para remover uma tag
 * 
 * @param {Object} elemento
 */
function remove_elemento(elemento){
	toremove = $t(elemento);
	toremove.parentNode.removeChild(toremove);
	return true;
}

/**
 * Cancela a exclusão/inclusão de tags.
 * 
 * @author Lucas Mezêncio
 * @since 11/12/2009
 * 
 * @param {integer} id_post
 * @param {Object} elem
 */
function cancela_tag(id_post, elem){
	$('#as'+id_post).html('');
	$('#tags'+id_post).html('');
	
	$(elem).fadeOut('fast');
	/*var tam = 0;
	
	for(i in mem_tag)
		tam++;
	
	if(tam > 0){
		for(var i = 0;i < tam;i++){
			$('#lista_tags').append(mem_tag['tag_'+id_post+i]);
			$('#tags_'+id_post).append(mem_tag['tag_input_'+id_post+i]);
		}
	}//*/
}

/**
 * Funcao para remover as virgulas das tags, visto que elas sao separadas por virgulas
 * 
 * @param {Object} tag
 */
function remove_virgulas(tag){
	return tag.replace(/[,]/g,'');
}

//------------------------------------------------------*/
/**
 * Funcao para adicionar/aceitar ou nao um amigo
 * 
 * @author Lucas Mezêncio
 * @final 05/10/2009
 * 
 * @param {integer} id_flog
 * @param {integer} id_amigo
 */
function adiciona_amigo(id_flog, id_amigo){
	if(id_flog == 0)
		redirect();
	$.ajax({
		type : 'POST',
		url : '/adiciona_amigo.php',
		data : {
			id_flog : id_flog,
			id_amigo : id_amigo,
			pedido : 1
		},
		success : function(data){
			mostra_msg(data);
		},
		error : function(){
			setTimeout('adiciona_amigo('+id_flog+', '+id_amigo+')', 2000);
		}
	});
}

/**
 * Confirma ou não a adição de um amigo.
 * 
 * @author Lucas Mezêncio
 * @final 17/11/2009
 * 
 * @param {integer} id_flog
 * @param {integer} id_amigo
 * @param {integer} amigo
 * @param {string} lamigo
 * @param {string} acao
 * @param {integer} idcard
 */
function confirma_amigo(id_flog, id_amigo, amigo, lamigo, acao, idcard){
	$.ajax({
		type : 'POST',
		url : '/adiciona_amigo.php',
		data : {
			id_flog : id_flog,
			id_amigo : id_amigo,
			amigo : amigo,
			lamigo : lamigo,
			acao : acao
		},
		success : function(data){
			mostra_msg(data);
			exc('#amigo_novo_'+idcard);
		},
		error : function(){
			setTimeout('confirma_amigo('+id_flog+', '+id_amigo+', "'+amigo+'", "'+lamigo+'", "'+acao+'", '+idcard+')', 2000);
		}
	});
}

/**
 * Funcao para enviar as fotos para descricao
 * 
 * @author Lucas Mezêncio
 */
function envia_fotos(){
	var arquivos = [];
	var nomes = [];
	var exifs = [];
	var exts = [];
	$('#passo_1form input[type=hidden][name=arquivos]').each(function(i){
		arquivos[i] = $(this).val();
	});
	$('#passo_1form input[type=hidden][name=nomes]').each(function(i){
		nomes[i] = $(this).val();
	});
	$('#passo_1form input[type=hidden][name=exifs]').each(function(i){
		exifs[i] = $(this).val();
	});
	$('#passo_1form input[type=hidden][name=exts]').each(function(i){
		exts[i] = $(this).val();
	});
	$.ajax({
		type : 'POST',
		url : '/envia_fotos_2.php',
		data : { 
			arquivos : arquivos.join('|'),
			nomes : nomes.join('|'),
			exifs : exifs.join('|'),
			exts : exts.join('|'),
			url : $('#url').val()
		},
		success : function(txt){
			$('#passo_2tbody').append(txt);
			$('#passo_1int').slideToggle();
			$('#passo_2int').slideToggle();
			$('#passo_1 h4').toggleClass('ativo');
			$('#passo_2 h4').toggleClass('ativo');
		},
		error : function(){
			setTimeout('envia_fotos()', 2000);
		}
	});
}

/******************************************
	Galerias
*/

/**
 * Cria uma galeria a partir do dropdown de galerias na insersão
 * de videos e fotos ou na página de gerenciamento de galerias
 * 
 * @author Lucas Mezêncio
 * @since 02/09/2009
 * 
 * @param {integer} id_flog
 * @param {integer} cod
 */
function cria_galeria(id_flog, cod){
	if(cod == undefined){
		$.ajax({
			type : 'POST',
			url : '/ger_galeria.php',
			data : {
				id_flog : id_flog,
				galeria : $('#novagal').val(),
				tipo : 'create'
			},
			success : function(data){
				$('#novagal').val('');
				altera_thumbs(25, $.cookie('login')+'-galerias', '#gerenciar');
				mostra_msg('Galeria criada com sucesso.');
			}
		});
		return false;
	}
	$.ajax({
		type : 'POST',
		url : '/ger_galeria.php',
		data : {
			id_flog : id_flog,
			galeria : $('#defgal'+cod).val(),
			tipo : 'create'
		},
		dataType : 'json',
		success : function(txt){
			if(txt != 'erro'){
				//txt = eval('('+txt+')');
				$('div.list').each(function(i){
					$('#nemgaleria'+i).remove();
					$('#listgal'+i).append('<a href="#" onclick="escolhe_galeria(\''+i+'\', this, '+txt.id_galeria+'); return false;">'+txt.galeria+'</a>');
					$('#defgal'+i).val('Criar nova').addClass('vazio');
				});
			}
		},
		error : function(){
			setTimeout('cria_galeria('+id_flog+', "'+cod+'")', 2000);
		}
	});
}

/**
 * Escolhe a galeria selecionada
 * 
 * @author Lucas Mezêncio
 * @since 02/09/2009
 * 
 * @param {integer} cod
 * @param {string} elem
 * @param {integer} id_galeria
 */
function escolhe_galeria(cod, elem, id_galeria){
	$('#mostragal'+cod).html($(elem).html());
	$('#id_galeria'+cod).val(id_galeria);
	abre_fecha($(elem).parent().parent());
	return false;
}

/**
 * Nao deixa que o input text/password submeta um formulário ao se pressionar <enter>
 * 
 * @author Lucas Mezêncio
 * @since 02/09/2009
 * 
 * @param {string} elem
 */
function controla_input(elem){
	$(elem).keypress(function(e){
		if(e.which == 13)
			return false;
	});
}

/**
 * Impede o usuário de digitar além de {num} caracteres
 * 
 * @author Lucas Mezêncio
 * @since 16/09/2009
 * 
 * @param {Object} elem
 * @param {integer} num
 */
function controla_textarea(elem, num){
	if($(elem).val().length > num){
		$(elem).val($(elem).val().substr(0, num));
		alert('Você pode escrever somente '+num+' caracteres.')
	}
	return false;
}

/**************************************************************
	Funcoes de recados
*/
var pb = 1;
var pv = 1;

/**
 * Cria a caixa de resposta a um comentário
 * 
 * @author Lucas Mezêncio
 * @since 11/09/2009
 * 
 * @param {integer} id_flog
 * @param {integer} id_rec
 */
function coloca_resp(id_flog, id_rec){
	var inner = ['<form action="/post_envia.php" class="recado resposta" style="display:none;" id="formrec', id_rec ,'" onsubmit="posta_recado(', id_flog, ', ', id_rec, '); return false;">',
		'Responder:',
		'<textarea rows="7" cols="80" id="scrap', id_rec, '" name="scrap"></textarea>',
		'<div>',
			'<label for="privado', id_rec, '">Privado?</label>',
			'<input type="checkbox" id="privado', id_rec, '" name="privado" />',
			'<a href="#" onclick="exc(\'#formrec', id_rec, '\'); return false;">cancelar</a>',
			'<input type="submit" class="botao" value="Responder"/>',
		'</div>',
	'</form>'].join('');
	$('#recado'+id_rec).after(inner);
	$('#formrec'+id_rec).fadeIn();
}

/**
 * Posta um recado
 * 
 * @author Lucas Mezêncio
 * @since 14/09/2009
 * 
 * @param {integer} id_flog
 * @param {integer} id_rec
 */
function posta_recado(id_flog, id_rec){
	if($('#scrap'+id_rec).val().length < 20 || $('#scrap'+id_rec).val().length == ''){
		$('#msgrec'+id_rec).html('Seu recado precisa ter, no mínimo, 20 caracteres.').slideDown();
		return false;
	}
	$.ajax({
		type : 'POST',
		url : '/post_envia.php',
		data : {
			scrap : url_encode($('#scrap'+id_rec).val()),
			privado : $('#privado'+id_rec).attr('checked'),
			id_flog : id_flog,
			id_rec : id_rec,
			ajax : 1
		},
		success : function(txt){
			txt = eval('('+txt+')');
			
			if(txt.erro == true)
				$('#msgrec'+id_rec).text('Desculpe, mas ocorreu um erro ao processar sua solicitação, tente novamente, por favor.').fadeIn();
			else{
				$('#scrap'+id_rec).val('');
				
				if($('#privado'+id_rec).attr('checked') == false || id_rec == 0){
					if($.trim($('#menu_recados').html()) == 'Nenhum recado seu.')
						$('#menu_recados').html('');
					$('#menu_recados').prepend(txt.inner);
					$('#recado'+txt.id_rec).fadeIn();
				}
				
				if(id_rec != 0)
					exc('#formrec'+id_rec);
				
				$('#numrec').html(parseInt($('#numrec').html()) + 1);
				$('#msgrec'+id_rec).html('').slideUp();
				mostra_msg('Recado enviado com sucesso.');
			}
		},
		error : function(){
			setTimeout('posta_recado('+id_flog+', '+id_rec+')', 2000);
		}
	});
	return false;
}

/**
 * Filtra os recados de um usuário
 * 
 * @author Lucas Mezêncio
 * @final 10/09/2009
 * 
 * @param {string} tipo
 * @param {object} id
 * @param {string} url
 */
function filtra_recados(tipo, id, url){
	var privado;
	switch(tipo){
		case 'pb':
			if(pb == 1){
				pb = 0;
				$(id).html('+');
			}else{
				pb = 1;
				$(id).html('x');
			}
			break;
		case 'pv':
			if(pv == 1){
				pv = 0;
				$(id).html('+');
			}else{
				pv = 1;
				$(id).html('x');
			}
			break;
	}
	
	if(pb == 0 && pv == 0) // ANÔNIMOS
		privado = 3;
	else if(pb == 1 && pv == 0) // PÚBLICOS
		privado = 2;
	else if(pb == 0 && pv == 1) // PRIVADOS
		privado = 1
	else if(pb == 1 && pb == 1) //TODOS
		privado = 0;
	
	$('#recados_int').html('<center><img src="" /></center>');
	
	$.ajax({
		type : 'POST',
		url : '/lista_recados.php',
		data : {
			'url' : url,
			'privado' : privado,
			'pag' : 1
		},
		success : function(txt){
			$('#recados_int').html(txt);
		},
		error : function(){
			setTimeout('filtra_recados("'+tipo+'", "'+url+'")', 2000);
		}
	});
}

/**
 * Exclui um recado
 * 
 * @author Lucas Mezêncio
 * @since 15/09/2009
 * 
 * @param {integer} id_rec
 */
function exc_recado(id_rec){
	$.ajax({
		type : 'POST',
		url : '/post_envia.php',
		data : {
			'id_rec' : id_rec,
			'exc' : 1,
			'rec' : 1
		},
		success : function(txt){
			if(txt == 'ok'){
				exc('#recado'+id_rec);
				$('#numrec').html(parseInt($('#numrec').html() - 1));
			}else 
				$('#msgrec'+id_rec).html('Houve um erro ao excluir recado, por favor tente novamente em alguns instantes.').fadeIn();
		}
	});
}

/**
 * Função que retorna um array com as páginas que devem ser mostradas na paginação
 * 
 * @param {integer} page
 * @param {integer} numRows
 * @param {integer} viewMax
 */
function pageNav(page, numRows, viewMax){
	var return_pages = new Array();
	var iVal = Math.ceil(numRows / viewMax);
	var indice = 0;
	if(numRows > 0 && iVal > 0 && numRows != viewMax){
		var end = iVal - 1;
		var start = 0;
		if(page < 6 && end > 6)
			end = 6;
		else if(page >= 5 && end > 5){
			start = Math.floor(page / 5) * 5 - 1;
			end = start + 5;
			if(end > iVal)
				end = iVal - 1;
			return_pages[indice] = '...';
			indice++;
		}
		for(i = start; i <= end; i++){
			return_pages[indice] = i + 1;
			indice++;
		}
		if(iVal > 6 && start < iVal - 6){
			if(iVal > 12 && i < iVal){
				return_pages[indice] = '...';
				indice++;
			}
		}
	}else
		return_pages[indice] = 1;
	
	return return_pages;
}

/**
 * Lista os posts
 * 
 * @author Lucas Mezêncio
 * 
 * @param {integer} id_flog
 * @param {string} url
 * @param {string} onde
 * @param {integer} pag
 * @param {integer} quant
 */
function lista_posts(id_flog, url, onde, pag, quant){
	if(pag == undefined)
		pag = 1;
	
	if(quant != 10)
		$('#menu_'+onde).css('height', (quant == 6 ? '240px' : '120px'));
	
	$('#menu_'+onde).html('<center><img src="loader.gif" /></center>');
	
	pag_nova = ((onde != 'mc' && onde != 'lst') && pag != 1 ? ((quant * pag) - quant) + 1 : pag);
	
	$.ajax({
		type : 'POST',
		url : '/menu_'+onde+'.php',
		data : {
			max : quant,
			pag : pag_nova,
			id_flog : id_flog,
			url : url
		},
		success : function(txt){
			$('#menu_'+onde).html(txt);
		},
		error : function(){
			setTimeout('lista_posts('+id_flog+', "'+url+'", "'+onde+'", '+pag+', '+quant+')', 2000);
		}
	});
	paginacao(pag, id_flog, quant, url, onde);
}

/**
 * Função que exibe a paginação do shoutbox
 * 
 * @final 11/09/2009
 * @exception Lucas Mezêncio
 * 
 * @param {integer} pag_atual
 * @param {integer} id_flog
 * @param {integer} quant
 * @param {string} url
 * @param {string} onde
 */
function paginacao(pag_atual, id_flog, quant, url, onde){
	var lista = $('#lista_'+onde);
	var total = eval('total_'+onde);
	var num_paginas = Math.ceil(total / quant);
	var conteudo_lista = '';
	
	lista.html('');
	
	if(num_paginas > 1){
		var page_nav = pageNav(pag_atual, total, quant);
		
		if(pag_atual != 1 && pag_atual >= 6)
			conteudo_lista += ['<li><a href="#" id="aba_', onde, '1" onclick="lista_posts(', id_flog, ', \'', url, '\', \'', onde, '\', 1, ', quant, '); return false;">01</a></li>'].join('');
		
		for(var i = 0;i < page_nav.length;i++){
			var txt_aba = (page_nav[i] < 10) ? '0'+page_nav[i] : page_nav[i];
			
			if(page_nav[i] == '...') 
				conteudo_lista += '<li><a onclick="return false;" href="#">...</a></li>';
			else
				conteudo_lista += ['<li>', (pag_atual == page_nav[i] ? '<a onclick="return false;" class="ativo" href="#" id="aba_'+onde+page_nav[i]+'">'+txt_aba+'</a>' :  '<a onclick="lista_posts('+id_flog+', \''+url+'\', \''+onde+'\', '+page_nav[i]+', '+quant+'); return false;" href="#" id="aba_'+onde+page_nav[i]+'">'+txt_aba+'</a>'), '</li>'].join('');
		}
		
		if(pag_atual < num_paginas && pag_atual < (num_paginas - 1) && num_paginas > 6)
			conteudo_lista += ['<li><a onclick="lista_posts('+id_flog+', \'', url, '\', \'', onde, '\', ', num_paginas, ', ', quant, '); return false;" href="#" id="aba_', onde, num_paginas, '">', num_paginas, '</a></li>'].join('');
		
		conteudo_lista += ['<li><a href="#" class="anterior" title="Ir prara anterior" onclick="', (pag_atual != 1 ? 'lista_posts('+id_flog+', \''+url+'\', \''+onde+'\', '+(pag_atual - 1)+', '+quant+'); ' : ''), 'return false;">Anterior <span>&laquo;</span></a></li>', (onde == 'mc' || onde == 'as' ? '<li><a href="/ultimos/" class="todas" title="Ver todas">todas</a></li>' : ''), '<li><a href="#" class="proxima" title="Ir para pr&oacute;xima" onclick="', (pag_atual != num_paginas ? 'lista_posts(\''+id_flog+'\', \''+url+'\', \''+onde+'\', '+(pag_atual + 1)+', '+quant+'); ' : ''), 'return false;">Pr&oacute;xima <span>&raquo;</span></a></li></ul>'].join('');
		
		$(lista).html(conteudo_lista);
	}
}

/**
 * Função para imprimir o flash dos vídeos do youtube
 * 
 * @author Lucas Mezêncio
 * @since 11/08/2009
 * 
 * @param {string} codigo
 */
function pswf(codigo){
	var embed = ['<object style="clear:both;display:block" width="600" height="363">',
		'<param name="movie" value="http://www.youtube.com/v/', codigo, '"></param>',
		'<param name="wmode" value="transparent"></param>',
		'<embed src="http://www.youtube.com/v/', codigo, '" type="application/x-shockwave-flash" wmode="transparent" width="600" height="363"></embed>',
	'</object>'].join('');
	document.write(embed);
}

/**
 * Posta os vídeos para a página de descrição.
 */
function postar_videos(){
	var urls = [];
	$('#lista_opcoes tr').each(function(i){
		urls[i] = $('#envia_arquivo'+(i + 1)+'_url').val();
	});
	var params = $('#envia_videos_1').serialize();
	$.ajax({
		type : 'POST',
		url : '/envia_videos_2.php',
		data : params,
		success : function(txt){
			$('#passo_2int tbody').append(txt);
			$('#passo_1int').slideToggle();
			$('#passo_2int').slideToggle();
			$('#passo_1 h4').toggleClass('ativo');
			$('#passo_2 h4').toggleClass('ativo');
			insere_chamadas(urls);
		},
		error : function(){
			setTimeout('postar_videos()', 2000);
		}
	});
}

/**
 * @author Lucas Mezêncio
 *
 * @param {array} urls
 */
function insere_chamadas(urls){
	for(i in urls){
		var cod = youtube_code(urls[i]);
		faz_chamada('http://gdata.youtube.com/feeds/api/videos/'+cod+'?alt=json-in-script&callback=?', false);
	}
}

/**
 * Exibe os dados de um determinado video do youtube
 * 
 * @author Lucas Mezêncio
 * @since 18/08/2009
 * 
 * @param {json} dados
 * @param {boolean} post
 */
function exibe_dados_video(dados, post){
	var cod = retorna_id_youtube(dados.entry.link[0].href);
	if(post){
		var date = dados.entry.published.$t;
		date = date.split('T');
		var data = date[0].split('-');
		$('#data'+cod).html(data[2]+'/'+data[1]+'/'+data[0]);
		
		var hora = date[1].split('.');
		hora = hora[0].substr(0, 5);
		$('#hora'+cod).html(hora.replace(':', 'h'));
		
		$('#autor'+cod).html(dados.entry.author[0].name.$t);
		$('#autor'+cod).attr('href', 'http://www.youtube.com/'+dados.entry.author[0].name.$t);
		$('#class'+cod).html(number_format(dados.entry.gd$rating.average, 2));
		
		var dur = dados.entry.media$group.media$content[0].duration;
		dur = converteSegundos(dur, 'i');
		$('#dur'+cod).html(dur['minutos']+':'+dur['segundos']);
		$('#viz'+cod).html(dados.entry.yt$statistics.viewCount);
	}else{
		$('#titvid'+cod).val(dados.entry.title.$t);
		$('#imgvid'+cod).attr({
			'src' : dados.entry.media$group.media$thumbnail[0].url,
			'alt' : dados.entry.title.$t
		});
	}
}

/**
 * Realiza uma chamada JSONp para o youtube
 * 
 * @author Lucas Mezêncio
 * @param {string} url
 * @param {boolean} post
 */
function faz_chamada(url, post){
	$.jsonp({
		url : url,
		pageCache : true,
		cache : true,
		timeout : 15000,
		success : function(data){
			exibe_dados_video(data, post);
		},
		error : function(){
			if(typeof(data) === 'undefined'){
				var exp = /\/videos\/([a-zA-Z0-9_-]+)?/;
				var cod = exp.exec(url);
				
				$('#titvid'+cod[1]).val('Insira um título.');
				$('#imgvid'+cod[1]).attr('src' , 'http://img.youtube.com/vi/'+cod[1]+'/default.jpg');
				
				return false;
			}
			setTimeout('faz_chamada("'+url+'", '+post+')', 2000);
		}
	});
}

function number_format(number, decimals, dec_point, thousands_sep){
    // Formats a number with grouped thousands
    //
    // version: 906.1806
    // discuss at: http://phpjs.org/functions/number_format
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
    // *     example 7: number_format(1000.55, 1);
    // *     returns 7: '1,000.6'
    // *     example 8: number_format(67000, 5, ',', '.');
    // *     returns 8: '67.000,00000'
    // *     example 9: number_format(0.9, 0);
    // *     returns 9: '1'
    // *     example 10: number_format('1.20', 2);
    // *     returns 10: '1.20'
    // *     example 11: number_format('1.20', 4);
    // *     returns 11: '1.2000'
    // *     example 12: number_format('1.2000', 3);
    // *     returns 12: '1.200'
    var n = number, prec = decimals;
 
    var toFixedFix = function (n, prec) {
        var k = Math.pow(10 , prec);
        return (Math.round(n * k) / k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if(abs >= 1000){
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    }else
        s = s.replace('.', dec);
 
    var decPos = s.indexOf(dec);
    if(prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec)
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    else if(prec >= 1 && decPos === -1)
        s += dec+new Array(prec).join(0)+'0';
    return s;
}

/**
 * Função para retornar uma ação de acordo com o erro no upload de imagens
 * 
 * @author Lucas Mezêncio
 * @since 27/08/2009
 * 
 * @param {integer} cod
 * @param {string} ID
 */
function retorna_erro(cod, ID){
	switch(cod){
		case 1: // Formatos
		case 2:
			break;
		case 3: // Pesado demais
			break;
		case 4: // Grande demais
			break;
		case 5: // Pequeno demais
			$('#tools'+ID).remove();
			$('#prev'+ID).attr('colspan', 2);
			break;
		case 6: // Nenhum selecionado
			break;
	}
}

/**
 * Função para excluir um elemento no DOM
 * 
 * @author Lucas Mezêncio
 * @since 27/08/2009
 * 
 * @param {string} id: de acordo com o jQuery: '#id', '.classe', 'tag', etc..
 */
function exc(id){
	$(id).slideUp('normal', function(){
		$(this).remove();
	});
}

/**
 * Troca a aba na parte de envio e o título da página
 * 
 * @author Lucas Mezêncio
 * @since 03/09/2009
 * @final 09/09/2009
 *
 * @param {string} ul
 * @param {integer} tipo
 * @param {string} onde
 * @param {Object} a
 * @param {string} url
 */
function troca_aba_envio(ul, tipo, onde, a, url){
	$(ul+' li a').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).addClass('ativo');
	$(onde).html('<center><img src="/loader.gif" /></center>');

	switch(tipo){
		case 0:
			$('#enviar_titulo').text('Enviar fotos').html();
			document.title = 'Enviar fotos';
			break;
		case 1:
			$('#enviar_titulo').text('Enviar vídeos').html();
			document.title = 'Enviar vídeos';
			break;
		case 2:
			$('#enviar_titulo').text('Escrever texto').html();
			document.title = 'Escrever texto';
			break;
	}

	$.ajax({
		type : 'POST',
		url : '/envia_'+get_tipo(tipo)+'_1.php',
		data : {url : url},
		success : function(txt){
			$(onde).html(txt);
		},
		error : function(){
			setTimeout('troca_aba("'+ul+'", '+tipo+', "'+onde+'", '+a+', "'+url+'")', 2000);
		}
	});
	return false;
}

/**
 * 
 * @param {string} ul
 * @param {string} pag
 * @param {object} a
 * @param {string} url
 */
function troca_aba_resumo(ul, pag, a, url){
	$(ul+' li a').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).addClass('ativo');
	$('#res_geral').html('<center><img src="/loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/resumo_'+pag+'.php',
		data : 'url='+url,
		success : function(txt){
			$('#res_geral').html(txt);
		},
		error : function(){
			setTimeout('troca_aba_resumo("'+ul+'", "'+pag+'", "'+a+'", "'+url+'")', 2000);
		}
	});
	return false;
}

/**
 * @author Lucas Mezêncio
 * @since 03/09/2009
 * 
 * @param {integer} tipo
 */
function get_tipo(tipo){
	switch(tipo){
		case 0:
		default:
			return 'fotos';
			break;
		case 1:
			return 'videos';
			break;
		case 2:
			return 'texto';
			break;
	}
	return false;
}

/**
 * Troca a aba do box 'minhas coisas'
 * 
 * @author Lucas Mezêncio
 * @since 21/09/2009
 * 
 * @param {string} url
 * @param {string} pag
 * @param {Object} a
 */
function troca_aba_mc(url, pag, a){
	if($(a).attr('class') == 'ativo')
		return false;
	
	$('#abasmc li a').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).addClass('ativo');
	$('#aside_mc').html('<center><img src="/loader.gif" /></center>');
	
	$.ajax({
		type : 'POST',
		url : '/'+pag+'.php',
		data : 'url='+url,
		success : function(resp){
			$('#aside_mc').html(resp);
		},
		error : function(){
			setTimeout('troca_aba_mc("'+url+'", "'+pag+'", "'+a+'")', 2000);
		}
	});
}

/**
 * Atualiza o nome de uma galeria
 * 
 * @author Lucas Mezêncio
 * @since 23/09/2009
 * 
 * @param {integer} id_gal
 */
function atualiza_galeria(id_gal){
	fecha('#salva_nomegal'+id_gal);
	$.ajax({
		type : 'POST',
		url : '/ger_galeria.php',
		data : {
			id_gal : id_gal,
			gal : $('#nomegal'+id_gal).val(),
			tipo : 'update'
		},
		success : function(resp){
			if(resp == 'ok'){
				$('#salva_nomegal'+id_gal).fadeOut();
				$('#erro_nomegal'+id_gal).slideUp();
			}
		},
		error : function(){
			setTimeout('atualiza_galeria('+id_gal+', "'+gal+'")', 2000);
		}
	});
}

/**
 * Troca a galeria de um post no gerenciamento de posts.
 * 
 * @author Lucas Mezêncio
 * @since 24/09/2009
 * 
 * @param {integer} id_gal
 * @param {integer} id_post
 */
function troca_galeria(id_gal, id_post){
	$.ajax({
		type : 'POST',
		url : '/ger_galeria.php',
		data : {
			id_gal : id_gal,
			id_post : id_post,
			login : $.cookie('login'),
			tipo : 'change'
		},
		success : function(){},
		error : function(){
			setTimeout('troca_galeria('+id_gal+', '+id_post+')', 2000);
		}
	});
}

/**
 * Apaga um post no gerenciamento de posts.
 * 
 * @author Lucas Mezêncio
 * @since 24/09/2009
 * 
 * @param {integer} id_post
 */
function deleta_post(id_post){
	if(confirm('Tem certeza que deseja excluir esse post?')){
		$.ajax({
			type : 'POST',
			url : '/post.php',
			data : {
				id_post : id_post,
				url : $.cookie('login'),
				id_flog : $.cookie('id_flog'),
				exc : 1
			},
			success : function(data){
				if(data == 'ok'){
					altera_thumbs(25, $.cookie('login')+'-posts', '#gerenciar');
					troca_aba_mc($.cookie('login'), 'minhas_coisas', $(''));
					exc('#tr'+id_post);
				}else
					$('#msgpost'+id_post).html('Houve um erro ao processar a sua solicita&ccedil;&atilde;o, por favor tente novamente.').slideDown();
			},
			error : function(){
				setTimeout('deleta_post('+id_post+')', 2000);
			}
		});
	}
}

/**
 * Apaga uma galeria no gerenciamento de galerias. Se {opcao} nao tiver setado, pergunta o que fazer com os posts da galeria. 
 * 
 * @author Lucas Mezêncio
 * @since 24/09/2009
 * 
 * @param {integer} id_galeria
 * @param {integer} opcao [opcional]
 */
function deleta_galeria(id_galeria, opcao){
	if(opcao == undefined){
		$('#erro_nomegal'+id_galeria).html('Voc&ecirc; desejaria <a href="#" onclick="deleta_galeria('+id_galeria+', 1); return false;">manter os posts</a> ou <a href="#" onclick="deleta_galeria('+id_galeria+', 0); return false;">apag&aacute;-los junto com a galeria</a>?').slideDown();
		return false;
	}
	$.ajax({
		type : 'POST',
		url : '/galeria.php',
		data : {
			exc : 1,
			id_galeria : id_galeria,
			opcao : opcao
		},
		success : function(data){
			if(data == 'erro')
				$('#erro_nomegal'+id_galeria).html('Houve um erro ao processar a sua solicita&ccedil;&atilde;o, por favor tente novamente.').slideDown();
			else{
				exc('#tr'+id_galeria);
				$('#msg').html('Galeria exclu&iacute;da com sucesso.').slideDown();
				setTimeout(function(){
					$('#msg').slideUp();
				}, 3000);
			}	
		},
		error : function(){
			setTimeout('deleta_galeria('+id_galeria+(opcao != undefined ? ', "'+opcao+'"' : '')+')', 2000);
		}
	});
}

/**
 * Deleta vários posts na página de gerenciamento de posts
 * 
 * @author Lucas Mezêncio
 * @final 29/09/2009
 */
function deleta_posts(botao){
	var ids = [];
	$('input[name=check]:checked').each(function(i){
		ids[i] = $(this).val();
	});
	$(botao).val('Excluindo...').attr('disabled', 'true');
	$.ajax({
		type : 'POST',
		url : '/post_lista.php',
		data : 'id_flog='+$.cookie('id_flog')+'&url='+$.cookie('login')+'&exc=1&ids[]='+ids.join('&ids[]='),
		success : function(data){
			if(data == 'ok'){
				altera_thumbs(25, $.cookie('login')+'-posts', '#gerenciar');
				troca_aba_mc($.cookie('login'), 'minhas_coisas', $(''));
				mostra_msg('Posts(s) exclu&iacute;d(s) com sucesso.');
				$(botao).val('Excluir posts selecionados');
			}
		},
		error : function(){
			setTimeout('deleta_posts()', 2000);
		}
	});
}

/**
 * Ativa o botao de delete de vários posts
 * 
 * @author Lucas Mezêncio
 * @since 29/09/2009
 */
function ativa_delete(){
	if($('input[name=check]:checked').length > 0)
		$('#deleta_posts').attr('disabled', false).removeClass('btn2');
	else
		$('#deleta_posts').attr('disabled', true).addClass('btn2');
}

/**
 * Fecha esconde um determinado elemento com o delay determinado.
 * 
 * @author Lucas Mezêncio
 * @final 14/10/2009
 * 
 * @param {string} elem
 * @param {integer} delay
 */
function fecha_delay(elem, delay){
	var d = (delay  ==  undefined) ? 3000 : delay;
	setTimeout(function(){
		$(elem).slideUp();
	}, d);
}

function pb_flog(v){
	var Num = Math.floor (Math.random() * 1000000);
	var uv_num = Math.floor (Math.random() * 1000000);
	var uv_c = 'flogbrasil';

    if(v == 0)
        document.write('<script src="http://ad.doubleclick.net/adj/br.terra.cifraclub/home;sz=468x60;dcopt=ist;ord='+Num+'?"></script>');
    else if(v == 1)
        document.write('<center><iframe src="http://ad.doubleclick.net/adi/br.terra.cifraclub/subs;sz=120x240;ord='+Num+'?" border="0" frameborder="no" scrolling="no" width="120" height="240" marginwidth="0" merginheight="0" topmargin="0" leftmargin="0"></iframe><img src="http://uv.terra.com.br/UV?c='+uv_c+'&ord='+uv_num+'" width="1" height="1" border="0" alt=""></center>');
	else if(v == 2)
        document.write('<center><iframe src="http://ad.doubleclick.net/adi/br.terra.cifraclub/subs;sz=300x250;ord='+Num+'?" border="0" frameborder="no" scrolling="no" width="300" height="250" marginwidth="0" merginheight="0" topmargin="0" leftmargin="0"></iframe><img src="http://uv.terra.com.br/UV?c='+uv_c+'&ord='+uv_num+'" width="1" height="1" border="0" alt=""></center>');
    else if(v == 3)
        document.write('<script src="http://ad.doubleclick.net/adj/br.terra.cifraclub/gral;sz=728x90;kw=top;dcopt=ist;ord='+Num+'?"></script>');
	else if(v == 4)
		document.write('<script src="http://ad.doubleclick.net/adj/br.terra.cifraclub/gral;sz=300x600;dcopt=ist;ord='+Num+'?"></script>');
}

/**
 * 
 * @author Lucas Mezêncio
 * @since 14/10/2009
 * 
 * @param {string} ul
 * @param {string} tipo
 * @param {Object} a
 * @param {string} url
 */
function troca_aba_config(ul, tipo, a, url){
	$(ul+' li a').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).addClass('ativo');
	$('#config').html('<center><img src="/loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/conf_'+tipo+'.php',
		data : {url : url},
		success : function(txt){
			//$(txt).appendTo('#config');
			$('#config').html(txt);
		},
		error : function(){
			setTimeout('troca_aba_config("'+ul+'", "'+tipo+'", "'+a+'", "'+url+'")', 2000);
		}
	});
	return false;
}

/**
 * Troca a senha do usuário.
 * 
 * @author Lucas Mezêncio
 * @since 15/10/2009
 */
function troca_senha(){
	if($.trim($('#senha_atual').val()) == ''){
		$('#senha_atual_em').html('&Eacute; preciso que voc&ecirc; digite sua senha atual.').slideDown();
		return false;
	}
	
	if($('#senha_nova').val().length < 6){
		$('#senha_nova_em').html('A nova senha deve conter, no m&iacute;nimo 6 caracteres. A sua cont&eacute;m apenas '+$('#senha_nova').val().length).slideDown();
		return false;
	}
	
	if($('#senha_nova').val() != $('#senha_nova_2').val()){
		$('#senha_nova_em').html('As senhas n&atilde;o conferem.').slideDown();
		return false;
	}
	
	$.ajax({
		type : 'POST',
		url : '/conf_senha.php',
		data : {
			senha_atual : $('#senha_atual').val(),
			senha_nova : $('#senha_nova').val()
		},
		success : function(data){
			if(data == 'erro'){
				$('#senha_atual_em').html('A senha atual est&aacute; incorreta.').slideDown();
				return false;
			}
			
			if(data == 'ok'){
				mostra_msg('Senha alterada com sucesso.');
				$('#c_senha em').each(function(i){
					$(this).slideUp();
				});
				document.getElementById('c_senha').reset();
			}
		},
		error : function(){
			setTimeout('troca_senha()', 2000);
		}
	});
	return false;
}

/**
 * Mostra uma determinada mensagem ao usuário
 * 
 * @author Lucas Mezêncio
 * @since 15/10/2009
 * 
 * @param {string} msg
 */
function mostra_msg(msg){
	$('#asideint').html(msg).slideDown();
	fecha_delay('#asideint');
}

/**
 * 
 * @param {string} onde
 */
function salva_conf(onde){
	var params = $('#c_'+onde).serialize();
	$('#botao_salvar').attr({
		'disabled': true,
		'readonly' : true
	}).val('Salvando...');
	$.ajax({
		type : 'POST',
		url : '/conf_'+onde+'.php',
		data : params,
		success : function(data){
			if(data == 'ok'){
				mostra_msg('Altera&ccedil;&otilde;es salvas.');
				$('#c_'+onde+' em').slideUp();
				$('#botao_salvar').attr({
					'disabled' : false,
					'readonly' : false
				}).val('Salvar alterações');
			}	
		},
		error : function(httpreq, status, erro){
			setTimeout('salva_conf("'+onde+'")', 2000);
		}
	});
	return false;
}

/**
 * Insere um option em um select
 * 
 * @param {Object} sel
 * @param {string} str
 * @param {boolean} selecionado
 */
function add_opcao(sel, str, selecionado){
	var pedacos = str.split('||');
	var opt = document.createElement('option');
	
	opt.text = pedacos[1];
	opt.value = pedacos[0];
	
	try{
		sel.add(opt, null); //nao funciona do IE
	}catch(ex){
		sel.add(opt); // so pro IE
	}
	
	if(selecionado)
		sel.options[sel.options.length - 1].selected = true;
}

/**
 * Funcao que busca as cidades de um determinado estado
 * 
 * @exception Modificada por Lucas Mezêncio para o Flog Brasil
 * @final 19/10/2009
 * 
 * @param {integer} el_est
 * @param {integer} el_cid
 * @param {integer} id_pais
 * @param {integer} id_estado
 */
function busca_estados(el_est, el_cid, id_pais, id_estado){ 
	var ss = document.getElementById(el_est);
	ss.innerHTML = '';
	var sc = document.getElementById(el_cid);
	sc.innerHTML = '';
	
	if(id_pais == 27){
		$('#estcid').slideDown();
		ss.disabled = false;
		add_opcao(ss, '0||Aguarde...');
		sc.disabled = false;
		
		$.ajax({
			url : '/busca_estados.php',
			data : {},
			success : function(data){
				ss.innerHTML = '';
				var str = data.split("\n");
				add_opcao(sc, '0||Selecione...');
				
				// Buscando os dados do ajax
				for(var i = 0; i < str.length - 1; i++){
					var pedacos = str[i].split('||');
					
					if((id_estado != undefined) && (pedacos[0] == id_estado))
						add_opcao(ss, str[i], true);
					else if((id_estado == undefined) && (pedacos[0] == 25)){
						add_opcao(ss, str[i], true);
						busca_cidades(el_cid, 25);
					}else
						add_opcao(ss, str[i]);
				}
			},
			error : function(){
				setTimeout('busca_estados("'+el_cid+'", "'+el_est+'", '+id_pais+(id_estado != undefined ? ', '+id_estado : '')+')');
			}
		});
	}else{
		$('#estcid').slideUp();
		add_opcao(ss, '0||Selecione...');
		add_opcao(sc, '0||Selecione...');
		ss.disabled = true;
		sc.disabled = true;
	}
}

/**
 * Funcao que busca as cidades de um determinado estado
 * 
 * @exception Modificada por Lucas Mezêncio para o Flog Brasil
 * @final 19/10/2009
 * 
 * @param {integer} id_estado
 * @param {integer} id_cidade
 */
function busca_cidades(el_cid, id_estado, id_cidade){
	var ss = document.getElementById(el_cid);
	ss.innerHTML = '';
	add_opcao(ss, '0||Aguarde...');
	
	$.ajax({
			url : '/busca_cidades.php',
			type : 'POST',
			data : 'id_estado='+id_estado,
			success : function(data){
				ss.innerHTML = '';
				
				if(id_estado == 0)
					add_opcao(ss, '0||Selecione...');
				else{
					var str = data.split("\n");
					
					// Buscando os dados do ajax
					for(var i = 0; i < str.length - 1; i++){
						var pedacos = str[i].split('||');
						
						if(id_cidade != undefined){
							if(pedacos[0] == id_cidade)
								add_opcao(ss, str[i],true);
							else
								add_opcao(ss, str[i]);
						}else if(pedacos[2] == 1)
							add_opcao(ss, str[i],true);
						else
							add_opcao(ss, str[i]);
					}
				}
			},
			error : function(){
				setTimeout('busca_cidades("'+el_cid+'", '+id_estado+(id_cidade != undefined ? ', '+id_cidade : '')+')');
			}
		});
}

/**
 * Seleciona um tema pré-definido
 * 
 * @author Lucas Mezêncio
 * 
 * @param {string} tema
 */
function seleciona_tema(tema){
	$('#css_usuario').attr('href', '/temp-'+tema+'.css');
	$('#tema').val($('input[name="tema"]:checked').val());
}

/**
 * Salva as configurações dos temas
 * 
 * @author Lucas Mezêncio
 * @final 29/10/2009
 * 
 * @param {Object} form
 */
function salva_temas(form){
	$('#botao_salvar').attr({
		'disabled': true,
		'readonly' : true
	}).val('Salvando...');
	
	$.ajax({
		type : 'POST',
		url : '/conf_aparencia.php',
		data : {
			fundo_final : $('#fundo_final').val() == '' ? pfundo : $('#fundo_final').val(),
			links_final : $('#links_final').val() == '' ? plinks : $('#links_final').val(),
			lateral_final : $('#lateral_final').val() == '' ? plateral : $('#lateral_final').val(),
			lateral : $('input[name="lateral"]:checked').val(),
			tema : $('#tema').val(),
			fundo_novo : $('#fundo_novo').val()
		},
		success : function(data){
			$('#botao_salvar').attr({
				'disabled': false,
				'readonly' : false
			}).val('Salvar alterações');
			
			if(data == 'fail'){
				mostra_msg('Ocorreu um erro. Por favor, tente novamente.')
				return false;
			}
			
			mostra_msg('Configura&ccedil;&otilde;es salvas.');
		},
		error : function(){
			setTimeout('salva_temas('+form+')', 2000);
		}
	});
}

/**
 * Faz um toggle entre elementos
 * 
 * @author Lucas Mezêncio
 * 
 * @param {Object} el1
 * @param {Object} el2
 * @param {string} effect
 */
function toggle(el1, el2, effect){
	eval('$(el1).'+effect+'Toggle();');
	eval('$(el2).'+effect+'Toggle();');
	return false;
}

/**
 * Abre o modal de upload de plano de fundo
 * 
 * @author Lucas Mezêncio
 */
function abre_modal(){
	$('#mod_img_fundo').css({
		'top' : $('#b_img').position().top + 19,
		'left' : $('#b_img').position().left + 132
	}).slideDown();
}

/**
 * Mostra o preview do avatar
 * 
 * @param {Object} coords
 */
function show_preview(c){
	update_coords(c);
    var rx = 77 / c.w;
    var ry = 77 / c.h;
    var iw = parseInt($('#crop_temp').width());
    var ih = parseInt($('#crop_temp').height());
	
	$('#preview').css({
		width: Math.round(rx * iw)+'px',
		height: Math.round(ry * ih)+'px',
		marginLeft: '-'+Math.round(rx * c.x)+'px',
		marginTop: '-'+Math.round(ry * c.y)+'px'
	});
		
    return false;
}

/**
 * Seta as coordenadas da foto para a criação do novo avatar
 * 
 * @param {Object} c
 */
function update_coords(c){
	$('#x').val(c.x);
	$('#y').val(c.y);
	$('#w').val(c.w);
	$('#h').val(c.h);
}

/**
 * Fecha o modal de recorte do avatar
 * 
 * @author Lucas Mezêncio
 * @since 10/11/2009
 * @final 17/12/2009
 * 
 * @param {boolean} cad
 */
function fecha_modal_crop(cad){
	if(cad){
		$('#novo_avatar').val('');
		$.ajax({
			type : 'POST',
			url : '/cadastro.php',
			data : {
				'sfoto' : true
			},
			success : function(data){
				
			},
			error : function(){
				
			}
		});
	}
	
	$('#modal_crop').slideUp('fast');
	$('#progbar1').html('');
}

/**
 * Realiza o upload da foto e o recorte da mesma.
 * 
 * @author Lucas Mezêncio
 * @final 09/11/2009
 * 
 * @param {boolean} rec
 */
function upload_foto(rec){
	var params = 'pronto=1&tipo='+(!rec ? 1 : 2)+'&'+$('#form_avatar').serialize();
	
	$.ajax({
		type : 'POST',
		url : '/conf_foto.php',
		data : params,
		dataType : 'json',
		success : function(data){
			if(data.erro == true){
				mostra_msg('Ocorreu um erro ao processar sua solicita&ccedil;&atilde;o.')
				return false;
			}
			
			$('#modal_crop').slideUp('fast');
			$('#avatar_temp').attr('src', data.img);
			$('#progbar1').html('');
		},
		error : function(){
			setTimeout('opload_foto('+rec+')', 2000);
		}
	});
}

/**
 * Remove o avatar do usuário
 * 
 * @author Lucas Mezêncio
 * @since 10/11/2009
 * 
 * @param {string} login
 */
function remover_foto(login){
	$.ajax({
		type : 'POST',
		url : '/conf_foto.php',
		data : {
			login : login,
			acao : 'no'
		},
		success : function(data){
			if(data == 'ok'){
				mostra_msg('Avatar exclu&iacute;do com sucesso.');
				$('#avatar_temp').attr('src', '/imagens/default.png');
				$('#avatar').attr('src', '/imagens/default.png');
			}
		}
	});
}

/**
 * Abre o modal para o recorte do avatar.
 * 
 * @author Lucas Mezêncio
 * @since 10/11/2009
 * 
 * @param {Object} resp
 */
function abrir_modal_crop(resp){
	var random_imagem = 0;
	random_imagem = (Math.random() * 50);
	
	$('#novo_avatar').val(resp.img);
    $('#preview').attr('src', '/imagens/temp/'+resp.img+'?rand='+random_imagem);
    $('#crop_temp').attr({
        'src': '/imagens/temp/'+resp.img+'?rand='+random_imagem
    }).load(function(){
        $(this).Jcrop({
            onChange : show_preview,
            onSelect : show_preview,
            boxWidth : 540,
            setSelect: [0, 0, 75, 75],
            aspectRatio: 1,
            callback : function(){
        		$('#loader').hide();
        		$('#center_img').css('height', null);
        	}
        });
    });
    $('#modal_crop').slideDown();
}

/**
 * Salva e atualiza o avatar do usuário
 * 
 * @author Lucas Mezêncio
 * @since 10/11/2009
 * 
 * @param {integer} id_flog
 * @param {string} url
 */
function salva_foto(id_flog, url){
	$('#botao_salvar').attr({
		'disabled': true,
		'readonly' : true
	}).val('Salvando...');
	
	$.ajax({
		type : 'POST',
		url : '/conf_foto.php',
		data : {
			img : ($('#novo_avatar').val() != '' ? $('#novo_avatar').val() : ''),
			id_flog : id_flog,
			login : url,
			acao : 'ok'
		},
		success : function(data){
			data = eval('('+data+')');
			
			$('#botao_salvar').attr({
				'disabled': false,
				'readonly' : false
			}).val('Salvar alterações');
			
			if(data.msg != 'ok'){
				if(data.msg == 'same')
					mostra_msg('Avatar atualizado com sucesso! =]');
				else
					mostra_msg('Ocorreu um erro, tente novamente, por favor.');
				return false;
			}
			
			mostra_msg('Avatar atualizado com sucesso! =]');
			$('#avatar').attr('src', data.endereco);
		},
		error : function(){
			setTimeout('salva_foto('+id_flog+', "'+url+'")', 2000);
		}
	});
}

/**
 * Seta a imagem de fundo do flog logo após o upload do mesmo.
 * 
 * @author Lucas Mezêncio
 * @since 10/11/2009
 * 
 * @param {Object} resp
 */
function seta_fundo(resp){
	var random_imagem = 0;
	random_imagem = (Math.random() * 50);
	
	$('#fundo_novo').val(resp.img);
	$('#progbar1').html('');
	$('#mod_img_fundo').slideUp('fast');
	$('#img').attr('checked', true);
	$('body').css('background-image' , 'url(/imagens/temp/'+resp.img+'?rand='+random_imagem+')');
	$('#fundo_img').css('background-image' , 'url(/imagens/temp/'+resp.img+'?rand='+random_imagem+')');
}

/**
 * Remove o fundo do flog do usuário.
 * 
 * @author Lucas Mezêncio
 * @since 11/11/2009
 */
function remove_fundo(){
	$('body').css('background-image', 'url()');
	$('#fundo_img').css('background-image', 'url()');
	$('#fundo_novo').val('');
	$('#cor_fundo').attr('checked', true);
}

/**
 * Adiciona o flerte
 * 
 * @author Lucas Mezêncio
 * @since 12/11/2009
 * 
 * @param {Object} id_flog
 * @param {Object} id_flerte
 * @param {string} apelido
 */
function flertar(id_flog, id_flerte, apelido){
	if(id_flog == 0)
		redirect();
	$.ajax({
		type : 'POST',
		url : '/flerte.php',
		data : {
			id_flog : id_flog,
			id_flerte : id_flerte,
			apelido : apelido
		},
		success : function(data){
			data = eval('('+data+')');
			mostra_msg(data.msg);
		},
		error : function(){
			setTimeout('flertar('+id_flog+', '+id_flerte+', "'+apelido+'")', 2000);
		}
	});
}

/**
 * Remove o flerte do usuário
 * 
 * @author Lucas Mezêncio
 * @since 13/11/2009
 * 
 * @param {integer} id_flerte
 * @param {string} nick
 */
function tira_flerte(id_flerte, nick){
	$.ajax({
		type : 'POST',
		url : '/flerte.php',
		data : {
			id_flerte : id_flerte,
			nick : nick,
			exc : 1
		},
		success : function(data){
			data = eval('('+data+')');
			
			if(data.erro == true){
				mostra_msg(data.msg);
				return false;
			}
			
			mostra_msg(data.msg);
			$('#flerte'+id_flerte).hide('slow');
		},
		error : function(){
			setTimeout('tira_flerte('+id_flerte+')', 2000);
		}
	});
}

/**
 * Bloqueia um usuário.
 * 
 * @author Lucas Mezêncio
 * @since 13/11/2009
 * 
 * @param {integer} id_flog
 */
function bloqueia(id_flog, id_amigo){
	if(id_flog == 0)
		redirect();
	$.ajax({
		type : 'POST',
		url : '/bloqueia.php',
		data : { id_flog : id_amigo },
		success: function(data){
			data = eval('('+data+')');
			mostra_msg(data.msg);
		},
		error : function(){
			setTimeout('bloqueia('+id_flog+', '+id_amigo+')', 2000);
		}
	});
}

/**
 * Remove um usuário da lista de bloqueio
 * 
 * @author Lucas Mezêncio
 * @since 13/11/2009
 * 
 * @param {integer} id_usr_bloqueado
 * @param {string} nick
 */
function tira_bloqueio(id_usr_bloqueado, nick){
	$.ajax({
		type : 'POST',
		url : '/bloqueia.php',
		data : {
			id_usr_bloqueado : id_usr_bloqueado,
			nick : nick,
			exc : 1
		},
		success : function(data){
			data = eval('('+data+')');
			
			if(data.erro == true){
				mostra_msg(data.msg);
				return false;
			}
			
			mostra_msg(data.msg);
			$('#bloqueia'+id_usr_bloqueado).hide('slow');
		},
		error : function(){
			setTimeout('tira_bloqueio('+id_usr_bloqueado+')', 2000);
		}
	});
}

/**
 * Abre ou fecha o calendário
 */
function abre_fecha_cal(){
	abre_fecha('#calendario');
	if($('#calendario').css('display') == 'block')
		$('#seta_cal').html('&#9660');
	else
		$('#seta_cal').html('&#9650');
}

/**
 * Atualiza a imagem do captcha.
 */
function refresh_imagem_conf(){
	var num = Math.floor(Math.random() * 1000) + 1;
	$('#imagem_conf').replaceWith('<img id="imagem_conf" src="/gera_captcha.php?rand='+num+'" alt="" />');
	return false;
}

/**
 * Seta o calendário quando é acessado um link vindo do mesmo
 * 
 * @author Lucas Mezêncio
 * @since 19/11/2009
 * 
 * @param {string} url
 */
function seta_calendario(url){
	var pos = window.location.href.indexOf('#');
	
	if(pos != -1){
		var data = window.location.href.substr(pos+1);
		
		if(data.length == 0)
			return false;
		
		var regexp = /([0-9]{2})([0-9]{4})/;
		data = regexp.exec(data);
		gera_calendario(parseInt(data[1], 10), parseInt(data[2]), url, false, true);
	}
}

/**
 * Retorna o nome de um determinado mes de acordo com o número do mesmo
 * 
 * @author Lucas Mezêncio
 * 
 * @param {integer} num
 */
function retorna_mes(num){
	var meses = ['', 'Janeiro', 'Fevereiro', 'Mar&ccedil;o', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
	
	return meses[num];
}

/**
 * Salva tags digitadas na edição de um post
 * 
 * @author Lucas Mezêncio
 * @since 25/11/2009
 * 
 * @param {Object} elem
 * @param {integer} id_post
 * @param {booleal} edit
 */
function salva_tags(elem, id_post, edit){
	/**
	 * SE NÃO EXISTIR NENHUMA TAG, TIRAR O '&' DO id_post AÍ EMBAIXO E SALVAR NORMAL.
	 */
	if($.trim($('#cria_tag_'+id_post).val()) != '')
		cria_tag($t('cria_tag_'+id_post), 'virgula');
	
	//var params = $(elem).serialize();
	$.ajax({
		type : 'POST',
		url : '/salva_tag.php',
		data : $(elem).serialize()+'&id_post='+id_post+(edit ? '&edit=1' : ''),
		dataType : 'json',
		success : function(data){
			cancela_tag(id_post, '#salva_marcadores_texto_'+id_post);
			
			if(data.ok)
				return false;
			
			$('#lista_tags').html(data.tags);
			$('#tags_'+id_post).html(data.inputs);
		},
		error : function(){
			setTimeout('salva_tags('+elem+', '+id_post+')', 2000);
		}
	});
}

/**
 * Imprime no console parâmetros passados por vírgula.
 */
function log(){
    if(window && window.console && window.console.log) 
        for(var i = 0, len = arguments.length; i < len; i++) 
            console.log(arguments[i]);
}

/**
 * Retorna o código de um vídeo do youtube.
 * 
 * @author Lucas Mezêncio
 * @since 03/12/2009
 * 
 * @param {string} url
 */
function youtube_code(url){
	var exp = /(youtube.com).+(v\/|v=)([a-zA-Z0-9\-_]+)/;
	cod = exp.exec(url);
	
	return cod[3];
}

/** 
 * @param {Object} a
 */
function troca_aba(a){
	$('#'+$(a).parent().parent().attr('id')+' li').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).parent().addClass('ativo');
}

/**
 * Atualiza a quantidade de amigos vistos na página de visualização de amigos
 * 
 * @author Lucas Mezêncio
 * @since 07/12/2009
 * 
 * @param {integer} max
 * @param {string} url
 * @param {string} onde
 */
function atualiza_amigos(max, url, onde){
	$('#menu_'+onde).html('<center><img src="/ajax-loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/lista_amigos.php',
		data : {
			url : url,
			max : max
		},
		success : function(data){
			$('#menu_'+onde).html(data);
		},
		error : function(){
			setTimeout('atualiza_amigos('+max+', "'+url+'", "'+onde+'")', 2000)
		}
	});
}

/**
 * Exclui uma determinada tag
 * 
 * @author Lucas Mezêncio
 * @since 16/12/2009
 * 
 * @param {integer} id_post
 * @param {integer} id_tag
 */
function exclui_tag(id_tag, id_post){
	if(confirm('Deseja realmente excluir esta tag?')){
		$.ajax({
			type : 'POST',
			url : '/salva_tag.php',
			dataType : 'json',
			data : {
				id_post : id_post,
				id_tag : id_tag,
				exc : 1
			},
			success : function(data){
				$('#lista_tags').html(data.tags);
				$('#tags_'+id_post).html(data.inputs);
			},
			error : function(){
				setTimeout('exclui_tag('+id_post+', '+id_tag+')', 2000);
			}
		});		
	}
}

/**
 * Verifica se o login já existe no FlogBrasil
 * 
 * @author Lucas Mezêncio
 * @since 16/12/2009
 * 
 * @param {string} val
 */
function valida_login(val){
	val = $.trim(val);
	$('#img_novologin').attr('src', '/loading.gif').show();
	
	if(val == ''){
		$('#msg_novologin').html('O campo de login não pode ficar em branco').slideDown();
		$('#img_novologin').attr('src', '/x.gif');
		return false;
	}
	
	$.ajax({
		type : 'POST',
		url : '/cadastro.php',
		dataType : 'json',
		data : {
			val : 1,
			login : val
		},
		success : function(data){
			if(data.erro){
				$('#msg_novologin').html(data.msg).slideDown();
				$('#img_novologin').attr('src', '/x.gif');
				return false;
			}
			
			$('#msg_novologin').slideUp();
			$('#img_novologin').attr('src', '/v.gif');
		},
		error : function(){
			setTimeout('valida_login("'+val+'")', 2000);
		}
	});
}

/**
 * Checa se o captcha foi digitado corretamente
 * 
 * @author Lucas Mezêncio
 * @since 21/12/2009
 */
function check_imagem(id){
	$.ajax({
		type : 'POST',
		url : '/cadastro.php',
		data : {
			'verificacao' : $('#verificacao').val(),
			'ajax' : 1
		},
		dataType : 'json',
		success : function(data){
			if(data.erro == 'captcha'){
				$('#erro_captcha').slideDown();
				refresh_imagem_conf();
				return false;
			}
			envia_form(id);
		},
		error : function(){
			setTimeout('check_imagem()', 2000);
		}
	});
}

/**
 * Submete um dado formulário
 * 
 * @author Lucas Mezêncio
 * @since 21/12/2009
 * 
 * @param {string} id
 */
function envia_form(id){
	$t(id).submit();
}

/**
 * 
 * @param {Object} tipo
 * @param {Object} a
 */
function troca_aba_maisacess(tipo, a){
	$('#abasmaisacess li a').each(function(){
		if($(this).attr('class') == 'ativo')
			$(this).removeAttr('class');
	});
	$(a).addClass('ativo');
	$('#maisacess').html('<center><img src="/loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/mais_acessados.php',
		data : {
			periodo : tipo
		},
		success : function(data){
			$('#maisacess').html(data);
		},
		error : function(){
			setTimeout('troca_aba_maisacess("'+tipo+'", "'+a+'")', 2000);
		}
	});
}

/**
 * Envia email com os procedimentos para a redefinição de senha do usuário
 * 
 * @author Lucas Mezêncio
 * @since 29/12/2009
 * 
 * @param {string} email
 */
function envia_senha(){
	var email = $('#emailesq').val();
	
	if($.trim(email) == ''){
		mostra_msg('Digite o email.');
		$('#emailesq').focus();
		return false;
	}
	
	$('#interna').toggle();
	$('#cadastro').toggle();
	
	$.ajax({
		type : 'POST',
		url : '/esqueci_senha.php',
		data : { email : email },
		dataType : 'json',
		success : function(data){
			if(data.status == 'nc'){
				mostra_msg(data.msg);
				$('#interna').toggle();
				$('#cadastro').toggle();
				return false;
			}
			
			$('#interna').html(data.msg).toggle();
			$('#cadastro').toggle();
		},
		error : function(){
			setTimeout('envia_senha("'+email+'")', 2000);
		}
	});
	return false;
}

/**
 * Providencia a troca da sennha do usuário
 * 
 * @author Lucas Mezêncio
 * @since 29/12/2009
 */
function refaz_senha(){
	var senha = $.trim($('#senha_rec').val());
	
	$('#interna').hide();
	$('#cadastro').show();
	$.ajax({
		type : 'POST',
		url : '/esqueci_senha.php',
		data : {
			rec : true,
			senha : senha,
			enc : $('#rec').val()
		},
		dataType : 'json',
		success : function(data){
			$('#cadastro').hide();
			
			if(data.status != 'ok'){
				mostra_msg(data.msg);
				$('#interna').show();
				return false;
			}
			
			$('#interna').html(data.msg).show();
			return false;
		},
		error : function(){
			setTimeout('refaz_senha()', 2000);
		}
	});
	return false;
}

/**
 * Exibe mais posts / usuarios / galerias nos boxes laterais
 * 
 * @author Lucas Mezêncio
 * @since 30/12/2009
 * 
 * @param {string} onde
 * @param {integer} id_flog
 * @param {integer} max
 * @param {integer} pag
 * @param {string} url
 */
function ver_mais_posts(onde, id_flog, max, pag, url){
	$('#menu_'+onde).append('<center id="loadmais" style="clear:both"><img src="/loader.gif" /></center>');
	$('#menu_'+onde).parent().scrollTo('#mais_'+onde, 300);
	$.ajax({
		type : 'POST',
		url : '/menu_'+onde+'.php',
		data : {
			id_flog : id_flog,
			max : max,
			pag : pag,
			url : url
		},
		success : function(data){
			// Incrementa o valor da página de busca com eval
			eval('pag_'+onde+'_novo = pag_'+onde+'_novo + 6');
			$('#loadmais').before(data);
			$('#menu_'+onde).parent().scrollTo('#mais_'+onde, 300);
			$('#loadmais').remove();
		}
	});
}

/**
 * Exibe ou oculta a opcao de logar na hora de comentar
 *
 * @author Lucas Mezêncio
 * @since 02/02/2010
 * 
 * @param {integer} num
 */
function tenho_cadastro(num){
	if($('#tenhocadastro'+num).attr('checked') == true){
		$('#envcom'+num).val('Entrar e enviar comentário!');
		$('#anonimo'+num).slideUp();
		$('#logado'+num).slideDown();
	}else{
		$('#envcom'+num).val('Enviar comentário!');
		$('#anonimo'+num).slideDown();
		$('#logado'+num).slideUp();
	}
}

/**
 * Altera o numero de posts exibidos na pagina de busca de tags
 * 
 * @author Lucas Mezêncio
 * @since 08/02/2010
 * 
 * @param {string} tag
 * @param {integer} max
 */
function altera_tags(tag, max){
	$('#galeria').html('<center><img src="/ajax-loader.gif" /></center>');
	$.ajax({
		type : 'POST',
		url : '/busca_tags.php',
		data : {
			tag : tag,
			max : max
		},
		success : function(txt){
			$('#galeria').html(txt);
		},
		error : function(){
			setTimeout('altera_tags("'+tag+'", '+pag+', '+max+')', 2000);
		}
	});
}

/**
 * Lista as tags
 * 
 * @author Lucas Mezêncio
 * @since 08/02/2010
 * 
 * @param {string} tag
 * @param {integer} pag
 * @param {integer} max
 */
function lista_tags(tag, pag, max){
	if(pag == undefined)
		pag = 1;
	
	$('#menu_tags').html('<center><img src="loader.gif" /></center>');
	
	pag_nova = (pag != 1 ? ((max * pag) - max) + 1 : pag);
	
	$.ajax({
		type : 'POST',
		url : '/menu_tags.php',
		data : {
			tag : tag,
			pag : pag_nova,
			max : max
		},
		success : function(txt){
			$('#menu_tags').html(txt);
		},
		error : function(){
			setTimeout('lista_tags("'+tag+'", '+pag+', '+max+')', 2000);
		}
	});
	pag_tags(tag, pag, max);
}

/**
 * Função que exibe e recria a paginação das tags
 * 
 * @final 08/02/2010
 * @exception Lucas Mezêncio
 * 
 * @param {integer} tag
 * @param {integer} pag
 * @param {integer} max
 */
function pag_tags(tag, pag, max){
	var lista = $('#lista_tags');
	var total = total_tags
	var num_paginas = Math.ceil(total / max);
	var conteudo_lista = '';
	
	lista.html('');
	
	if(num_paginas > 1){
		var page_nav = pageNav(pag, total, max);
		
		if(pag != 1 && pag >= 6)
			conteudo_lista += ['<li><a href="#" id="aba_tags1" onclick="lista_tags(\'', tag, '\', 1, ', max, '); return false;">01</a></li>'].join('');
		
		for(var i = 0;i < page_nav.length;i++){
			var txt_aba = (page_nav[i] < 10) ? '0'+page_nav[i] : page_nav[i];
			
			if(page_nav[i] == '...') 
				conteudo_lista += '<li><a onclick="return false;" href="#">...</a></li>';
			else
				conteudo_lista += ['<li>', (pag == page_nav[i] ? '<a onclick="return false;" class="ativo" href="#" id="aba_tags'+page_nav[i]+'">'+txt_aba+'</a>' :  '<a onclick="lista_tags(\''+tag+'\', '+page_nav[i]+', '+max+'); return false;" href="#" id="aba_tags'+page_nav[i]+'">'+txt_aba+'</a>'), '</li>'].join('');
		}
		
		if(pag < num_paginas && pag < (num_paginas - 1) && num_paginas > 6)
			conteudo_lista += ['<li><a onclick="lista_tags(\'', tag, '\', ', num_paginas, ', ', max, '); return false;" href="#" id="aba_tags', num_paginas, '">', num_paginas, '</a></li>'].join('');
		
		conteudo_lista += ['<li><a href="#" class="anterior" title="Ir prara anterior" onclick="', (pag != 1 ? 'lista_tags(\''+tag+'\', '+(pag - 1)+', '+max+'); ' : ''), 'return false;">Anterior <span>&laquo;</span></a></li>', '<li><a href="#" class="proxima" title="Ir para pr&oacute;xima" onclick="', (pag != num_paginas ? 'lista_tags(\''+tag+'\', '+(pag + 1)+', '+max+'); ' : ''), 'return false;">Pr&oacute;xima <span>&raquo;</span></a></li></ul>'].join('');
		
		$(lista).html(conteudo_lista);
	}
}

/**
 * 
 */
function redirect(){
	window.location = '/login.php';
	return false;
}

/**
 * Verifica se o osuário quer ou não ver um flog com maioridade
 * 
 * @author Lucas Mezêncio
 * @since 26/02/2010
 * 
 * @param {integer} id_flog
 * 
 * @return boolean
 */
function dezoito(id_flog){
	if(confirm('Esse site possui conteudo impróprio para menores de 18 anos. Deseja continuar mesmo assim?')){
		$.cookie('dezoito'+id_flog, 1);
		return true;
	}
	
	return window.location = 'http:/flogbrasil.terra.com.br/';
}

/**
 * Plugin do destaque da capa do Letras Mobile
 * 
 * @exception Modificado pelo Lucas para o Flog Brasil
 */
(function($){
    $.destaque = function(elemento, options){
		var id = elemento.id;
        var div_destaques = $('#img_'+id);
		var div_nomes = $('#nomes_'+id);
        var timeout = 5000;
		var total = json_destaques.lista.length;
        var total_inserido = 0;
        var destaque_atual = null;
		var div_pag = '#dstqs';
		
        destaque();
		
        function append(){
			div_destaques.append(json_destaques.lista[destaque_atual]);
			div_nomes.append(json_destaques.nomes[destaque_atual]);
			troca_classe(div_pag, destaque_atual);
            total_inserido++;
            destaque_atual++;
        }
		
        function desaparece(){
            div_destaques.children('div:eq('+(destaque_atual - 1)+')').hide();
			div_nomes.children('a:eq('+(destaque_atual - 1)+')').hide();
        }
		
        function destaque(){
            if(destaque_atual != null){
                div_destaques.fadeOut(500, function(){
                    desaparece();
					
                    if(destaque_atual == total)
                        destaque_atual = 0;
					
                    if(total_inserido >= total){
                        div_destaques.children('div:eq('+(destaque_atual)+')').show();
						div_nomes.children('a:eq('+(destaque_atual)+')').show();
						troca_classe(div_pag, destaque_atual);
                        destaque_atual++;
                    }else
                        append();
					
                    div_destaques.fadeIn(1000, function(){
                        setTimeout(destaque, timeout);
                    });
					div_nomes.fadeIn(1000, function(){
                        setTimeout('', timeout);
                    });
                });
            }else{
                div_destaques.hide();
				div_nomes.hide();
                destaque_atual = 0;
                append();
                div_destaques.fadeIn(500, function(){
                    setTimeout(destaque, timeout);
                });
				div_nomes.fadeIn(500, function(){
                    setTimeout('', timeout);
                });
            }
        }
		
		function troca_classe(el, num){
			$(el).children().each(function(){
				if($(this).attr('class') == 'ativo')
					$(this).removeAttr('class');
			});
			$(el).children('a:eq('+num+')').addClass('ativo');
		}
    }

    $.fn.destaque = function(options){
        options = options || {};
		
        this.each(function(){
            new $.destaque(this, options);
        });
		
        return this;
    };
})(jQuery);

