/*********************************************************

		FUNÇÃO PARA ENVIAR FORMULÁRIOS SEM REFRESH

**********************************************************/

window.addEvent('domready', function() {
	if (!window.demo_path) window.demo_path = '';
	var demo_path = window.demo_path;
	if($('contato')) {
		$('contato').addEvent('submit', function(e) {
			e.stop();
			if(validarForm(this)) {
				var log = $('resposta').set('html', 'enviando...');
				this.set('send', {onComplete: function(response) { 
					log.set('html', response);
					desabilitaForm(document.getElementById('contato'));
				}});
				this.send();
			}
		});
	}
	
	/*if($('inscricao')) {
		$('inscricao').addEvent('submit', function(e) {
			e.stop();
			if(validarForm(this, true)) {
				var log = $('resposta').set('html', 'enviando...');
				this.set('send', {onComplete: function(response) { 
					log.set('html', response);
					//desabilitaForm(document.getElementById('inscricao'));
				}});
				this.send();
			}
		});
	}*/
});

/*********************************************************

		    FUNCAO PARA VALIDAR FORMULÁRIOS

**********************************************************/

function validarForm(form, insc) {
	var passed = true;
	nErros = 0;
	if(insc) {
		if(form.data0.value == 0 && form.data1.value == 0 && form.data2.value == 0
		   && form.data3.value == 0 && form.data4.value == 0 && form.data5.value == 0
		   && form.data6.value == 0 && form.data7.value == 0) {
			alert('escolha ao menos um evento para participar!');
			passed = false;
		}
	}
	
	for(i = 0; i < form.length; i++) {
		campo = form[i].getAttribute("name");
		idCampo = form[i].getAttribute("id");
		tipoVerifica = form[i].getAttribute("verificar");
		//se conter o verificardor, verifica
		if(tipoVerifica) {
			//limpa os campos verificados de SQLInjection básico
			if(form[i].value.indexOf("http://") > 0 || form[i].value.indexOf("?") > 0) form[i].value = "";
			//se for em branco
			if(form[i].value == "") {
				form[campo].className="incorreto";
				if(form[i].type == "select-one") document.getElementById(idCampo+"Erro").innerHTML="selecione um assunto.";
				else document.getElementById(idCampo+"Erro").innerHTML="esse campo deve ser preenchido.";
				passed = false;
				nErros++;
			//se for email
			}else if(tipoVerifica == "email") {
				var checaEmail = form[i].value.match(/(\w+)@(.+)\.(\w+)$/);
				if (checaEmail == null) {
					form[campo].className="incorreto";
					document.getElementById(idCampo+"Erro").innerHTML="informe um email v&aacute;lido.";
					passed = false;
					nErros++;
				}
			}
		}
	}
	if(nErros > 0) {
		if(nErros > 1) var tipoErro = nErros+' campos precisam ser corrigidos.';
		else var tipoErro = nErros+' campo precisa ser corrigido.';
		var timeRoar = setTimeout(function(){roar.alert('<font class="erro">Seu formul&aacute;rio cont&eacute;m erros</font>', tipoErro)}, 100);
	}
	return passed;
}

function corrigir(campo) {
	campo.className="";
	var limpaCampo = document.getElementById(campo.getAttribute("id")+"Erro");
	if(limpaCampo) limpaCampo.innerHTML="";
}

function limparForm(form) {
	var limparHint = form.getElementsByTagName("span");
	for(h = 0; h < limparHint.length; h++) if(limparHint[h].className != 'select') limparHint[h].innerHTML="";
	for(i = 0; i < form.length; i++) {
		form[i].disabled = false;
		if (form[i].type == "text" || form[i].type == "textarea" || form[i].type == "password") form[i].className="";
	}
	var limparSelect = form.getElementsByClassName("select");
	for(k = 0; k < limparSelect.length; k++) limparSelect[k].innerHTML="selecione";
	
	roar.empty();
}

function desabilitaForm(form) {
	for(i = 0; i < form.length; i++) {
		if (form[i].type == "text" || form[i].type == "textarea") form[i].className="desativado";
		if (form[i].type != "reset") form[i].disabled = true;
	}
	
	roar.empty();
}