function checkEmail(email){
	if(email.indexOf("@") != -1 && email.indexOf(".") != -1 && email.indexOf(".") > (email.indexOf("@") + 2)){
		return true;
	}else{
		return false;
	}
}

function setVisible(alvo){
	if(document.getElementById(alvo).style.display == "none"){
		document.getElementById(alvo).style.display = "block";
	}else{
		document.getElementById(alvo).style.display = "none";
	}
}

function clearErr(){
	var err = document.getElementById("err");
	err.innerHTML = "";
}

function resetForm(){
	var elem = document.getElementById("form_contact");
	elem.reset();
}

function checkForm(){
	var err = document.getElementById("err");
	var firstname = document.getElementById("firstname");
	var surname = document.getElementById("surname");
	var email = document.getElementById("email");
	var telephone = document.getElementById("telephone");
	var byphone = document.getElementById("byphone");
	var viamail = document.getElementById("viamail");
	var msg = document.getElementById("comments");
	
	var html = "<ul>";
	var error = false;
	
	// FirstName
	if(firstname.value == ""){
		html += "<li>Preencha o campo <b>Nome</b>.</li>";
		error = true;
	}
	// surName
	if(surname.value == ""){
		html += "<li>Preencha o campo <b>Sobrenome</b>.</li>";
		error = true;
	}
	// Email
	if(email.value == "" && telephone.value == ""){
		html += "<li><b>E-mail</b> ou <b>Telefone</b> deve ser selecionado.</li>";
		error = true;
	}else if(email.value != ""){
		// Email check
		if(checkEmail(email.value) == false){
			html += "<li>Insira um <b>e-mail</b> correto.</li>";
			error = true;
		}
	}
	// Fone and Email
	if(byphone.checked == false && viamail.checked == false){
		html += "<li>Selecione a forma que devemos fazer contato (<b>por telefone</b> ou <b>via e-mail</b>)</li>";
		error = true;
	}
	if(byphone.checked == true && viamail.checked == true && telephone.value == "" && email.value == ""){
		html += "<li>Seu <b>e-mail</b> e <b>telefone</b> é necessário para fazer contato.</li>";
	}else{
		// Fone Checked and Fone Number
		if(byphone.checked == true && viamail.checked == false && telephone.value == ""){
			html += "<li>Seu <b>telefone</b> é necessário para fazer contato.</li>";
			error = true;
		}
		// Email Checked and Email Address
		if(byphone.checked == false && viamail.checked == true && email.value == ""){
			html += "<li>Seu <b>e-mail</b> é necessário para fazer contato.</li>";
			error = true;
		}
	}
	// surName
	if(msg.value == ""){
		html += "<li>Preencha o campo <b>Mensagem</b>.</li>";
		error = true;
	}	
	html += "</ul>";
	if(!error){
		formatMessage();
	}else{
		err.innerHTML = html;
	}
}

function formatMessage(){
	var sndButton = document.getElementById("snd_btn");
	sndButton.disabled = true;
	
	var firstname = document.getElementById("firstname");
	var surname = document.getElementById("surname");
	var telephone = document.getElementById("telephone");
	var mobile = document.getElementById("mobile");
	var email = document.getElementById("email");
	var byphone = document.getElementById("byphone");
	var viamail = document.getElementById("viamail");
	var comments = document.getElementById("comments");
	
	msg = "Os dados a seguir foram enviados:<br />"
	msg += "Nome: " + firstname.value + "<br />";
	msg += "Sobrenome: " + surname.value + "<br />";
	if(telephone.value != ""){
		msg += "Telefone: " + telephone.value + "<br />";
	}
	if(mobile.value != ""){
		msg += "Celular: " + mobile.value + "<br />";
	}
	if(email.value != ""){
		msg += "E-mail: " + email.value + "<br />";
	}
	msg += "Modo de contato: ";
	if(byphone.checked == true){
		msg += byphone.value;
	}
	if(byphone.checked == true && viamail.checked == true){
		msg += " e/ou " + viamail.value + "<br />";
	}else if(byphone.checked == false && viamail.checked == true){
		msg += viamail.value + "<br />";
	}
	if(comments.value != ""){
		var comm = comments.value;
		comm.replace("\n","<br />")
		msg += "Mensagem: " + comm;
	}
	sendMail(msg, firstname.value + " " + surname.value, email.value);
}

// Objeto HTTP
var httpObj = getHTTPObject();

function sendMail(msg, name, email){
	var sndButton = document.getElementById("snd_btn");
	var err = document.getElementById("err");
	
	// Exibindo mensagem de envio
	err.innerHTML = "<ul style=\"list-style:none;\"><li><b>Enviando...</b></li></ul>";
	
	url = "sac.php?mode=send&msg=" + msg + "&name=" + name + "&email=" + email;
	
	// Abrindo conexão
	httpObj.open("GET", url, true);
	
	// Quando obtiver retorno
	httpObj.onreadystatechange = function() {
		// Se o retorno estiver ok
		if(httpObj.readyState == 4){
			// Separa os valores
			var result = httpObj.responseText.split("|");
			
			if(result[0] == "true"){
				err.innerHTML = "<ul style=\"list-style:none;\"><li><b>" + result[1] + "</b></li></ul>";
				sndButton.disabled = false;
				resetForm();
				setTimeout(clearErr, 3000);
			}else{
				err.innerHTML = "<ul style=\"list-style:none;\"><li><b>Erro! Tente novamente.</b></li></ul>";
				sndButton.disabled = false;
			}
		}
	}
	
	httpObj.send(null);
}	