// JavaScript Document
$(document).ready(function(){
	$("select[name='especialidades']").change(function(){
		var valorSelect = $("select option:selected").val();
		switch(valorSelect){
			case "cirurgia":
				window.location.href = "tratamentos_cirurgia.html";
				break;
			case "atm":
				window.location.href = "tratamentos_atm.html";
				break;
			case "implantesDentarios":
				window.location.href = "tratamentos_implantes_dentarios.html";
				break;
			case "ortodontia":
				window.location.href = "tratamentos_ortodontia.html";
				break;
			case "invisalign":
				window.location.href = "tratamentos_invisalign.html";
				break;
			case "---":
				document.getElementById("especialidades").options[0].selected = true;
				break;
			default:
		}
	});
	$("#nome").focus(function(){
		$("#divNome").addClass("selecionado");
	}).blur(function(){
		$("#divNome").removeClass("selecionado");
	});
	$("#email").focus(function(){
		$("#divEmail").addClass("selecionado");
	}).blur(function(){
		$("#divEmail").removeClass("selecionado");
	});
	$("#telefone").focus(function(){
		$("#divTelefone").addClass("selecionado");
	}).blur(function(){
		$("#divTelefone").removeClass("selecionado");
	});
	$("#cidade").focus(function(){
		$("#divCidade").addClass("selecionado");
	}).blur(function(){
		$("#divCidade").removeClass("selecionado");
	});
	$("#assunto").focus(function(){
		$("#divAssunto").addClass("selecionado");
	}).blur(function(){
		$("#divAssunto").removeClass("selecionado");
	});
	$("#unidade").focus(function(){
		$("#divUnidade").addClass("selecionado");
	}).blur(function(){
		$("#divUnidade").removeClass("selecionado");
	});
	$("#mensagem").focus(function(){
		$("#divMensagem").addClass("selecionado");
	}).blur(function(){
		$("#divMensagem").removeClass("selecionado");
	});
	$("select[name='assunto']").change(function(){
		var valorSelect = $("select[name='assunto'] option:selected").val();
		if(valorSelect == "---"){
			document.getElementById("assunto").options[0].selected = true;
		}
	});
	$("select[name='unidade']").change(function(){
		var valorSelect = $("select[name='unidade'] option:selected").val();
		if(valorSelect == "---"){
			document.getElementById("unidade").options[0].selected = true;
		}
	});
});

function formValidaCampoNumeroComMascara(obj, funcao){
	var objFinal = new String();												// <- inicializa variavel para a string final
	var objSemAlfa = utilApagaAlfanumerico(obj.value);							// <- utiliza a funcao 'utilApagaAlfanumerico' para retirar todo alfanumerico da string digitada no campo
	var char = objSemAlfa.substr(objSemAlfa.length-1);							// <- pega o ultimo caractere da string
	var regexp = new RegExp(/\d/);												// <- expressao regular para pegar apenas numeros
	if(!regexp.test(char) && obj.value != ""){									// <- testa se o que foi digitado nao e numero ou se o campo nao esta vazio
		if(obj.value.length == 0){												// <- se o tamanho da string for de 1 caractere(0)
			objFinal = "";														// <- associa vazio ao campo
		} else {																// <- senao a string tem mais de 2 digitos
			objFinal = funcao(objSemAlfa.slice(0,-1));							// <- se o campo nao for vazio elimina o ultimo digito e aplica a mascara(funcao)
		}
		obj.value = objFinal;													// <- associa a string final, já sem o caractere alfanumerico, ao campo
		alert("Este campo aceita apenas números.");								// <- exibe a mensagem que o campo so aceita numeros
		return;
	}
	obj.value = funcao(objSemAlfa);												// <- formata a string com a mascara(funcao) e em seguida associa ao campo
	return;
}

function utilApagaAlfanumerico(str){
	var strArray = new Array();													// <- cria array para armazenar a string final
	var regexp = new RegExp(/\d/);												// <- expressao regular para pegar apenas numeros
	var strFinal = new String();												// <- cria string para armazenar a string final
	for(var i=0; i < str.length; i++){											// <- varre a string pelo seu tamanho
		if(regexp.test(str.substr(i,1))){										// <- testa se cada um dos itens e numero
			strArray.push(str.substr(i,1));										// <- se for armazena no array 'strArray'
		}
	}
	for(i in strArray){															// <- varre o array 'strArray'
		strFinal += strArray[i];												// <- concatena os caracteres armazenados no array 'strArray' na string 'strFinal'
	}
	return strFinal;															// <- retorna a string final
}

function formValidaCampoDDDTelefone(obj){
	formValidaCampoNumeroComMascara(obj, utilFormataDDDTelefone);						// <- chama a funcao 'formValidaCampoNumeroComMascara' e passa o elemento de formulario 'obj' e a funcao de mascara 'utilFormataDDDTelefone' como parametros
}

function utilFormataDDDTelefone(str){
	str = utilApagaAlfanumerico(str);											// <- elimina alfanumericos da string de entrada
	var tamanhoString = parseInt(str.length);									// <- armazena o tamanho da string na variavel 'tamanhoString'
	var strNova = new Array();													// <- cria array para armazenas a string nova
	var contaPosicoes = 1;														// <- inicializa o contador de posicoes da string
	var strFinal = new String();												// <- cria string para receber a string final
	for(var i=0; i < tamanhoString; i++){										// <- varre a string do inicio pro fim
		if(contaPosicoes == 1){													// <- testa se e a posicao 1
			strNova.push("(");													// <- insere um barra '('
			strNova.push(str.substr(i,1));										// <- insere o proximo digito
			contaPosicoes++;													// <- incrementa o contador de posicao em um
			continue;															// <- vai pra proxima iteracao do 'for'
		}
		if(contaPosicoes == 3){													// <- testa se e a posicao 3
			strNova.push(")");													// <- insere um barra ')'
			strNova.push(str.substr(i,1));										// <- insere o proximo digito
			contaPosicoes++;													// <- incrementa o contador de posicao em um
			continue;															// <- vai pra proxima iteracao do 'for'
		}
		if(contaPosicoes == 7){													// <- testa se e a posicao 7
			strNova.push("-");													// <- insere um barra '-'
			strNova.push(str.substr(i,1));										// <- insere o proximo digito
			contaPosicoes++;													// <- incrementa o contador de posicao em um
			continue;															// <- vai pra proxima iteracao do 'for'
		}
		strNova.push(str.substr(i,1));											// <- para quaisquer outras posicoes
		contaPosicoes++;														// <- incrementa o contador de posicao em um - faz apontar para o proximo digito
	}
	for(i in strNova){															// <- varre o array 'strNova'
		strFinal += strNova[i];													// <- associa cada digito da string 'strNova' a string 'strFinal'
	}
	strFinal = strFinal.substr(0,13);											// <- limita a string a 13 digitos
	return strFinal;															// <- retorna a string strFinal
}

function utilTestaValidadeEmail(obj){
	var str = obj.value;														// <- atribui a variavel str o conteudo do campo obj
	var regexp1 = new RegExp(/\b([A-Za-z0-9_]+)\@{1}([A-Za-z0-9]+)(((\.{1}([A-Za-z]{3}))|(\.{1}([A-Za-z]{2})))|(\.{1}([A-Za-z]{3})\.{1}([A-Za-z]{2}))){1}\b/);// <- expressao regular para validar e-mail
	if(!regexp1.test(str)){														// <- verifica se o e-mail digitad0 e valido
		if(str != ""){															// <- verifica se o campo obj esta vazio
			msg = "O e-mail digitado não é válido.";	// <- monta a mensagem de e-mail invalido e atribui a variavel msg
			msg += " Tente novamente.";											// <- continua montando a mensagem e concatena com o que ja existia em msg
			alert(msg);														// <- exibe a mensagem
			obj.value = "";														// <- atribui vazio ao campo obj
			obj.focus();														// <- muda o foco para o campo obj
		}
	}
	return;
}

function submitFormContato(){
	var envia = true;
	if(jQuery("#nome").val() == ""){
		envia = false;
		alert("Campo 'Nome' está vazio.");
		return;
	}
	if(jQuery("#email").val() == ""){
		envia = false;
		alert("Campo 'E-mail' está vazio.");
		return;
	}
	if(jQuery("#telefone").val() == ""){
		envia = false;
		alert("Campo 'Telefone' está vazio.");
		return;
	}
	if(jQuery("#cidade").val() == ""){
		envia = false;
		alert("Campo 'Cidade' está vazio.");
		return;
	}
	if(jQuery("#assunto").val() == ""){
		envia = false;
		alert("Campo 'Assunto' está vazio.");
		return;
	}
	if(jQuery("#assunto").val() == "escolha"){
		envia = false;
		alert("Escolha uma opção para o campo 'Assunto'.");
		return;
	}
	if(jQuery("#unidade").val() == ""){
		envia = false;
		alert("Campo 'Unidade' está vazio.");
		return;
	}
	if(jQuery("#unidade").val() == "escolha"){
		envia = false;
		alert("Escolha uma opção para o campo 'Unidade'.");
		return;
	}
	if(jQuery("#mensagem").val() == ""){
		envia = false;
		alert("Campo 'Mensagem' está vazio.");
		return;
	}
	if(envia){
		//alert(document.formContato);
		document.formContato.action = "contatos.asp";
		document.formContato.submit();
	}else{
		return;
	}
}