$(document).ready(function(){
						   
	/* Executando Funções Definidas */
	
	menu();
	seleciona();
	validar();
	limpar();
	
	/* Verificar se os dados do campo são maior que o permitido */
	
	maxLen();	
	
	/* Adicionando mascaras para campos definidos */
	
	$("#contTelefone").mask("(99)9999-9999");
	$("#contCelular").mask("(99)9999-9999");
	
});

/* Função para validar E-mail */

function checkMail(mail){
        var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
        if(typeof(mail) == "string"){
                if(er.test(mail)){ return true; }
        }else if(typeof(mail) == "object"){
                if(er.test(mail.value)){ 
                                        return true; 
                                }
        }else{
                return false;
                }
}

/* Função para validar Campos */

function validar() {

	$("#formCont").submit(function(){
							 
		/* Pegando dados enviados da pagina contato.php */							 
	
		var departamento = $("select[name=contDepartamento]").val();
		var nome = $('#contNome').val(); 
		var sobrenome = $('#contSobrenome').val(); 
		var email = $('#contEmail').val();
		var assunto = $('#contAssunto').val(); 
		var mensagem = $('#msg').val();
		
		/* Limpar os campos assim que o usuario começar digitação */
		
		$("#contNome").keyup(function(){
			$(this).css("background","#f8f8f8");											 
		})
		
		$("#contSobrenome").keyup(function(){
			$(this).css("background","#f8f8f8");											 
		})
		
		$("#contEmail").keyup(function(){
			$(this).css("background","#f8f8f8");										 
		})
		
		$("#contAssunto").keyup(function(){
			$(this).css("background","#f8f8f8");										 
		})
		
		$("#msg").keyup(function(){
			$(this).css("background","#f8f8f8");										 
		})
		
		/* Se campos estiverem vazios retorna mensagem de Erro */		
		
		if(departamento == 0) {
			
			$("#MsgCount").text("Escolha um Departamento").css("color","#ff0000"); 
			$("#contDepartamento").focus();	
			return false;
		
		} else if(nome == "") {
			
			$("#MsgCount").text("Preencha o campo Nome").css("color","#ff0000"); 
			$("#contNome").css("background","#f07373");
			$("#contNome").focus();	
			return false;
			
		} else if(sobrenome == "") {
			
			$("#MsgCount").text("Preencha o campo Sobrenome").css("color","#ff0000"); 
			$("#contSobrenome").css("background","#f07373");
			$("#contSobrenome").focus();
			return false;			
			
		} else if(email == "") {
			
			$("#MsgCount").text("Preencha o campo Email").css("color","#ff0000"); 
			$("#contEmail").css("background","#f07373");
			$("#contEmail").focus();
			return false;			
			
		} else if (!checkMail(email)) {
			
			$("#MsgCount").text("Digite um Email valido").css("color","#ff0000"); 
			$("#contEmail").css("background","#f07373");
			$("#contEmail").focus();
			return false;	
			
		} else if(assunto == "") {
			
			$("#MsgCount").text("Preencha o campo Assunto").css("color","#ff0000"); 
			$("#contAssunto").css("background","#f07373");
			$("#contAssunto").focus();			
			return false;			
			
		} else if(mensagem == "") {
			
			$("#MsgCount").text("Preencha o campo Mensagem").css("color","#ff0000"); 
			$("#msg").css("background","#f07373");
			$("#msg").focus();
			return false;			
			
		} else if(mensagem.length > 500) {
			
			$("#MsgCount").text("Limite de caracteres excedido!").css("color","#ff0000"); 
			$("#msg").css("background","#f07373");
			$("#msg").focus();
			return false;			
			
		}
	
	})
	
}

/* Função para limpar Campos */

function limpar() {

	$("#limp").click(function(){
		$("#contNome").css("background","#f8f8f8");	
		$("#contSobrenome").css("background","#f8f8f8");	
		$("#contEmail").css("background","#f8f8f8");	
		$("#contAssunto").css("background","#f8f8f8");	
		$("#msg").css("background","#f8f8f8");					
		$("#MsgCount").text(""); 
		$("#mostraTel").html("");
		$("#mostraCel").html("");
	})
}

/* Função para criar MenuDropDown */

function menu(){
	$("#menubar ul").css({display: "none"});
	$("#menubar li").hover(function(){
		$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(300);
		},function(){$(this).find('ul:first').css({visibility: "hidden"});
	});
}

/* Função para criar Contato apartir de um Departamento */

function seleciona(){
	$("select[name=contDepartamento]").change(function(){
		$("select[name=contContato]").html("<option value='0'>Carregando...</option>'");
		
		var dados = {'departamento': $(this).val()};
		
		$.ajax({
			url: 'departamentos.php',
			type: 'post',
			dataType: 'xml',
			data: dados,
			success: function(data) {
				$(data).find('contato').each(function() {
					$("option[value=0]").remove();
					var id = $(this).find('id').text();
					var email = $(this).find('email').text();					
					
					$("select[name=contContato]").append("<option value='" + id + "'>" + email + "</option>'");					
				});
				$(data).find('primeirotelefone').each(function() {
					var telefone = $(this).find('telefone').text();	
					var celular = $(this).find('celular').text();	
															   
					$("#mostraTel").html("<strong>" + telefone + "</strong>");
					$("#mostraCel").html("<strong>" + celular + "</strong>");
				});
			},
			error: function(XMLHttpRequest, textStatus, 
						  errorThrown){
			window.alert('Houve um erro!');
			}		
		});
	})
	$("select[name=contContato]").click(function(){

		var dados = {'contato': $(this).val()};
		
		$("#mostraTel").html("<strong>Carregando...</strong>");
		$("#mostraCel").html("<strong>Carregando...</strong>");
		
		$.ajax({
			url: 'departamentos.php',
			type: 'post',
			dataType: 'xml',
			data: dados,
			success: function(data) {
				$(data).find('contato').each(function() {
					var telefone = $(this).find('telefone').text();
					var celular = $(this).find('celular').text();
					
					$("#mostraTel").html("<strong>" + telefone + "</strong>");
					$("#mostraCel").html("<strong>" + celular + "</strong>");
				});
			},
			error: function(XMLHttpRequest, textStatus, 
						  errorThrown){
			window.alert('Houve um erro!');
			}		
		});
	})	
}

/* Função para criar Restringir digitar mais dados doque o campo permiti */

function maxLen() {
	$("#msg").keyup(function(event) {
		$msg = $(this).val();
		var maxText = 500;
		var numChar = $msg.length;
		$("#MsgCount").css("color","#999999"); 
		$("#MsgCount").text("Digitados até agora: " + numChar);

		if(numChar == maxText) {
			
			alert("Limite de caracteres excedido!\n So e permitido no máximo: " + numChar + " Caracteres");
			
		} 
		
	})
	
}