// funções onload comuns
$(document).ready(function() { 
	
	// target=_blank via javascript, pra passar na validação w3c
	$('a').each(function() {
		if ($(this).attr('rel') == 'external') {
			$(this).click(function() {
				window.open($(this).attr('href'));
				return false;					   
			});
		}
	}); // end a.each
	
	// div para criar nova conta
	$('#link-create').click(function() { 
		$('select').each(function(){$(this).hide();});
		$('#overlay-site').fadeIn(function() { $('#janela-create').fadeIn( function() { $('#new_email').focus(); } ); });
		return false;
	}); // end link-create.click
	
	// cancela new account
	$('#link-new-cancelar').click(function() {
		$('#janela-create').fadeOut(function() { $('#overlay-site').fadeOut(function() { $('select').each(function(){$(this).show();});	}); });	
		return false;
	});
	
	// div para criar nova conta
	$('#link-password').click(function() { 
		$('select').each(function(){$(this).hide();});
		$('#overlay-site').fadeIn(function() { $('#janela-senha').fadeIn( function() { $('#esqueci-login').focus(); } ); });
		return false;
	}); // end link-create.click	
	
	// processa formulário de novo usuário
	$('#btn-new-account').click(function() {
		$('#form-create').hide();
		$('#form-create-loading').show();
		
		// valida dados
		var email 				= $('#new_email').val();
		var confirma_email		= $('#new_confirm_email').val();
		var erro				= '';
		
		if (!email) {
			erro += '<li>Please, inform your e-mail.</li>';	
		} else if (!validaEmail(email)) {
			erro += '<li>Invalid e-mail adress.</li>';	
		} else if (email != confirma_email) {
			erro += '<li>E-mails don\'t match.</li>';
		}
		
		if (erro) {
			msgTopo(erro, 'erro', 5000);
			$('#form-create').show();
			$('#form-create-loading').hide();			
			$('#new_email').focus();
		} else {
			xajax_precadastro(email);
		}
		
		return false;
		
	}); // end processa form new
	
	// abre form de nova instituição
	$('#link-new-institution').click(function() {
		$('#div-instituicao').slideDown('fast', function() {
			$('#nova-instituicao').focus();										 
		});
		return false;
	});
	
	// fecha form de nova instituição
	$('#btn-cancelar-instituicao').click(function() {
		$('#nova-instituicao').val('');
		$('#div-instituicao').slideUp();
		return false;
	});
	
	// envia dados da instituicao
	$('#btn-salvar-instituicao').click(function() {
		var instituicao = $('#nova-instituicao').val();
		if (!instituicao) {
			msgTopo('<li>Type in the institution name</li>', 'erro', 5000);
			$('#nova-instituicao').focus();
			return false;
		} else {
			$('#form-instituicao').hide();
			$('#loading-instituicao').show();
			xajax_cadastraInstituicao(instituicao);
		}
	});	
	
	// exibe/esconde selects de cidade/estado de acordo com país
	$('#cod_paises').change(trocaPais);
	trocaPais();
	
	// [areas dos revisores
	$('.chk-area').click(function() { 
		if ($(this).is(':checked')) {
			$('#area_preferida').append('<option value="'+$(this).val()+'" id="opt-'+$(this).val()+'">'+$('#lbl-'+$(this).val()).html()+'</option>');
			if (!$('#area_preferida option:selected').val()) {
				$('#opt-'+$(this).val()).attr('selected', true);
			}
		} else {
			$('#opt-'+$(this).val()).remove();
		}
	});
	
	$('.chk-area').each(function() { 
		if ($(this).is(':checked')) {
			$('#area_preferida').append('<option value="'+$(this).val()+'" id="opt-'+$(this).val()+'">'+$('#lbl-'+$(this).val()).html()+'</option>');
			if (!$('#area_preferida option:selected').val()) {
				$('#opt-'+$(this).val()).attr('selected', true);
			}
		} else {
			$('#opt-'+$(this).val()).remove();
		}								 
	});
	
	// declina ser revisor
	$('#btn-revisor-decline').click(function() { 
		$('#tipo').val('4');
		$('#total_revisoes').removeClass('required');
		$('#area_preferida').removeClass('required');
		$('#div-lista-eventos').removeClass('required');
		$('#frm-cadastro').submit();		
	});
	
	// envia form de login
	$('#sbt-login').click(function() {
		// limpa timeout
		clearTimeout(msgTimer);
		// carregando...
		$('#msg-topo').hide();
		$('#botao-login-carregando').show();
		$('#botao-login-input').hide();
		// valida dados
		var erro 	= '';
		
		// login vazio
		if (!$('#email').val()) {
			erro += '<li>Type in your e-mail address.</li>' + erro;
			$('#email').focus();
		// login inválido
		}  else if (!validaEmail($('#email').val())) {
			erro += '<li>Invalid e-mail address.</li>';
			$('#email').focus();
		}
		// senha vazia
		if (!$('#senha').val()) {
			erro += '<li>Type in your password.</li>';
			$('#senha').focus();
		// senha com - de 6 caracteres
		} else if ($('#senha').val().length<6) {
			erro += '<li>Your password must be at least 6 characters long.</li>';
			$('#senha').focus();
		}
		
		// retorna mensagem
		if (erro) {
			$('#msg-topo').addClass('erro');
			$('#msg-topo').html('<ul>'+erro+'</ul>');
			$('#msg-topo').slideDown();
			$('#botao-login-carregando').hide();
			$('#botao-login-input').show();
			msgTimer = setTimeout("$('#msg-topo').slideUp();", 5000);
		// envia form
		} else {
			$('#msg-topo').addClass('msg');
			$('#msg-topo').html('Aguarde, validando seu login...');
			$('#msg-topo').slideDown();
			xajax_login($('#email').val(),$('#senha').val(),true);
		}
		return false;								   
	});
	
	// logout
	$('#link-logout').click(function() {
		xajax_logout();	
		return false;
	});
	
	// exibe/esconde submit de abstract/papers
	$('#sbt-paper-abstract').click(function() {
		if ($('#lista-eventos').is(':visible')) {
			$('#lista-eventos').slideUp();
		} else {
			$('#lista-eventos').slideDown();
		}
	});
	
	if( $('#conteudo').html() )
	{
		if( $('#conteudo').height() < $('#col1').height() )
		{
			$('#conteudo').height($('#col1').height() - 20);
		}
	}
	
}); // end document.ready