// AJAX

var handlerFunc = function(t) {
	Element.setStyle(carregando_ajax, {display: 'none'});
	eval(t.responseText);
}

var errFunc = function(t) {
	Element.setStyle(carregando_ajax, {display: 'none'});
	alert('Erro: '+t.status+' - '+t.statusText);
}

function executaAjax(url, parametros) {
	new Ajax.Request(url, {parameters:parametros, onSuccess:handlerFunc, onFailure:errFunc});
	if(!$('carregando_ajax')) {
		var carregando = document.createElement('div');
		Element.setStyle(carregando, {position: 'absolute', padding: '3px', margin: '3px', border: 'solid 1px', backgroundColor: 'red', color: 'white'});
		carregando.id = 'carregando_ajax';
		carregando.innerHTML = 'Carregando...';
		document.body.appendChild(carregando);
	}
	else {
		Element.setStyle(carregando_ajax, {display: ''});
	}
}

// LISTAGEM

function selecionaLinha(tabela, linha, codigo) {
	var campoHidden = $(tabela+'_codigo_acao');
	tabela = $A($(tabela).rows);
	tabela.each(function linhas(linhas, index) {
		if(index == linha) {
			if(campoHidden.value == codigo) {
				Element.setStyle(linhas, {backgroundColor: ''});
				campoHidden.value = 0;
			}
			else {
				Element.setStyle(linhas, {backgroundColor: '#D2E4FC'});
				campoHidden.value = codigo;
			}
		}
		else if(index != linha && index > 0) {
			Element.setStyle(linhas, {backgroundColor: ''});
		}
	});
}

function acaoModulo(tabela, destino, excluir) {
	var codigo = $(tabela+'_codigo_acao').value;
	if(codigo == 0) {
		alert("Nenhum registro selecionado");
	}
	else {
		if(excluir) {
			var confirma = confirm("Deseja realmente excluir este registro?");
			if(!confirma) {
				return false;
			}
		}
		location.href = destino+'?'+tabela+'_codigo_acao='+codigo;
	}
}

// IMAGEM

function redimensionaImagem(instancia, largura, altura) {
	if(largura && largura < instancia.width) {
		altura = Math.ceil((instancia.height / instancia.width) * largura);
	}
	else if(altura && altura < instancia.height) {
		largura = Math.ceil(altura * (instancia.width / instancia.height));
	}
	else {
		return false;
	}
	instancia.width = largura;
	instancia.height = altura;
	Element.setStyle(instancia, {width: largura+'px', height: altura+'px'})
}

// ABAS

function abas(nome, indice, ajaxURL, ajaxParametros) {
	var conjuntoAbas = document.getElementsByName(nome);
	conjuntoAbas = $A(conjuntoAbas);
	conjuntoAbas.each(function aba(aba, index) {
		if(index == indice) {
			Element.setStyle(aba, {backgroundColor: '#E0F2FF', border: '#0074A3 solid 1px', borderBottom: '#E0F2FF solid 1px'});
			executaAjax(ajaxURL, ajaxParametros);
		}
		else {
			Element.setStyle(aba, {backgroundColor: '', border: '', borderBottom: ''});
		}
	});
}

// ALERTA

function alerta(ancora, mensagem) {
	var hint = document.createElement('div');
	Element.setStyle(hint, {padding: '3px', position: 'absolute', marginLeft: '-6px', marginTop: '21px', width: '100px', border: 'black solid 1px', backgroundColor: '#EAFEAF', textAlign: 'center'});
	var apontador = document.createElement('div');
	Element.setStyle(apontador, {position: 'absolute', marginTop: '-10px', width: '10px', height: '10px', background: 'url(imagens/apontador.gif)', backgroundRepeat: 'no-repeat'});
	hint.appendChild(apontador);
	hint.innerHTML += mensagem;
	hint.setAttribute('id', 'tmphint');
	new Insertion.After($(ancora), '<div id="tmpidplace" style="position: absolute"></div>');
	$('tmpidplace').appendChild(hint);
	Event.observe(hint, 'click', function dynamic() { Element.remove('tmphint') });
	Event.observe($(ancora), 'click', function dynamic() { Element.remove('tmphint') });
	//window.setTimeout('Element.remove(\'tmphint\')', 10000);
}

//

function iniciaJS() {
	//alerta('cidade', 'Selecione sua cidade aqui.');
	//abas('aba', '0', 'ajax/destaque.php', '');
}

// AÇÕES

function limpaBusca(formulario) {
	var form = $(formulario);
	for(var i = 0; i < form.length; i++) {
		if(form.elements[i].type == 'text') {
			form.elements[i].value = '';
		}
		if(form.elements[i].type == 'password') {
			form.elements[i].value = '';
		}
		if(form.elements[i].type == 'checkbox') {
			form.elements[i].checked = false;
		}
		if(form.elements[i].type == 'radio') {
			form.elements[i].checked = false;
		}
		if(form.elements[i].type == 'select-one') {
			form.elements[i].selectedIndex = 0;
		}
		if(form.elements[i].type == 'textarea') {
			form.elements[i].value = '';
		}
	}
	// caso seja passado mais de um parâmetro, as string serão usadas em um eval para qualquer finalidade.
	if(arguments.length > 1) {
		for(var i = 0; i < arguments.length; i++) {
			eval(arguments[i]);
		}
	}
	form.submit();
}

function excluirFotoNoticia(codigo) {
	var confirma = confirm("Deseja realmente excluir esta foto?");
	if(confirma) {
		location.href = 'excluir_foto_noticia.php?codigo='+codigo;
	}
	else {
		return false;
	}
}

function excluirVideoNoticia(codigo) {
	var confirma = confirm("Deseja realmente excluir este video?");
	if(confirma) {
		location.href = 'excluir_video_noticia.php?codigo='+codigo;
	}
	else {
		return false;
	}
}

// FORMULÁRIOS

function autoCompleta(instancia) {
	if(!$(instancia.id+'_autocompleta')) {
		var autoCompletaCaixa = document.createElement('div');
		autoCompletaCaixa.id = instancia.id+'_autocompleta';
		Element.setStyle(autoCompletaCaixa, {position: 'absolute', padding: '3px', marginTop: '25px', backgroundColor: '#FFFFE1', border: 'solid 1px'});
		autoCompletaCaixa.innerHTML = "carregando...";
		instancia.parentNode.insertBefore(autoCompletaCaixa, instancia);
	}
	else {
		Element.setStyle(instancia.id+'_autocompleta', {display: ''});
	}
	if(instancia.value) {
		executaAjax('ajax/fonteNoticia.php', 'fonte='+instancia.value+'&instancia='+instancia.id);
	}
	else {
		escondeAutoCompleta(instancia.id);
	}
}

function escondeAutoCompleta(id) {
	if($(id+'_autocompleta')) {
		Element.setStyle(id+'_autocompleta', {display: 'none'});
	}
}

function verificaContato() {
	if(!$('contato_nome').value) {
		alert('Informe seu nome');
	}
	else if(!$('contato_email').value) {
		alert('Informe seu e-mail');
	}
	else if(!$('contato_mensagem').value) {
		alert('Escreva uma mensagem');
	}
	else {
		$('formulario_contato').submit();
	}
}

function formataData(evento, objeto) {
	if(window.event) {
		var teclaNumero = evento.keyCode;
	}
	else if(evento.which) {
		var teclaNumero = evento.which;
	}
	var tecla = String.fromCharCode(teclaNumero);
	var checaNumero = /\d/;
	if(!checaNumero.test(tecla)) {
		return false;
	}
	if(objeto.value.length == 2) {
		return objeto.value += "/";
	}
	if(objeto.value.length == 5) {
		return objeto.value += "/";
	}
}

function mostraImagem(instancia) {
	if(instancia.value) {
		var imagem = new Image();
		imagem.src = instancia.value;
		redimensionaImagem(imagem, 0, 100);
		if(!$(instancia.id+'_preview')) {
			var imagemCaixa = document.createElement('div');
			imagemCaixa.id = instancia.id+'_preview';
			instancia.parentNode.insertBefore(imagemCaixa, instancia);
		}
		else {
			imagemCaixa = $(instancia.id+'_preview');
			imagemCaixa.innerHTML = '';
			Element.setStyle(imagemCaixa, {display: ''});
		}
		imagemCaixa.appendChild(imagem);
		imagemCaixa.innerHTML += '<br /><img src="imagens/excluir.gif" onclick="escondeImagem(\''+instancia.id+'\')"><br /><br />';
	}
}

function escondeImagem(id) {
	var antigoInput = $(id);
	var novoInput = document.createElement('span');
	novoInput.innerHTML = '<input type="file" name="'+id+'" id="'+id+'" onchange="mostraImagem(this)">';
	antigoInput.parentNode.insertBefore(novoInput, antigoInput);
	Element.remove(antigoInput);
	Element.setStyle(id+'_preview', {display: 'none'});
}

function verificaAutenticacao() {
	var login = $('login');
	var senha = $('senha');
	if(!login.value) {
		alert('Informe seu login');
		login.focus();
	}
	else if(!senha.value) {
		alert('Informe sua senha');
		senha.focus();
	}
	else {
		executaAjax('ajax/loga.php', 'login='+login.value+'&senha='+senha.value);
	}
}

function verificaCidade() {
	if(!$('nome_cidade').value) {
		alert('Informe um nome');
		$('nome_cidade').focus();
	}
	else {
		$('formulario_cidade').submit();
	}
}

function verificaNoticia() {
	if(!$('titulo_noticia').value) {
		alert('Informe um titulo');
		$('titulo_noticia').focus();
	}
	else if(!$('descricao_noticia').value) {
		alert('Informe uma descricao');
		$('descricao_noticia').focus();
	}
	else if($('cidade_noticia').options[$('cidade_noticia').selectedIndex].value == 0) {
		alert('Selecione uma cidade');
		$('cidade_noticia').focus();
	}
	else {
		$('formulario_noticia').submit();
	}
}

function verificaVideo() {
	checaExtensaoFoto = /.jpg/;
	checaExtensaoVideo = /.flv/;
	if(!$('titulo_video').value) {
		alert('Informe um titulo');
		$('titulo_video').focus();
	}
	else if(!$('foto_video').value) {
		alert('Selecione uma foto');
		$('foto_video').focus();
	}
	else if(!checaExtensaoFoto.test($('foto_video').value.toLowerCase())) {
		alert('Escolha um arquivo no formato .jpg');
		$('foto_video').select();
	}
	else if(!$('video_video').value) {
		alert('Selecione um video');
		$('video_video').focus();
	}
	else if(!checaExtensaoVideo.test($('video_video').value.toLowerCase())) {
		alert('Escolha um arquivo no formato .flv');
		$('video_video').select();
	}
	else {
		$('formulario_video').submit();
	}
}