var aceitar_cookies = "N"; jQuery(function($){ 'use strict'; $(".aceitar_cookie").click(function(){ $('.cookieBar').hide(); setCookie('cookie_notice_accepted', 'true', 30); }); function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } // menu top $('html').click(function (e) { if (e.target.id == 'bmenu') $(".topnav").toggleClass("responsive"); else $(".topnav").toggleClass("responsive", false); }); // menu inspecoes $('html').click(function (e) { if (e.target.id == 'bmenuInspecoes') $(".inspecoesnav").toggleClass("responsive"); else $(".inspecoesnav").toggleClass("responsive", false); });// iniciar facebook window.fbAsyncInit = function() { FB.init({appId: '1774909072786093', status: true, cookie: true, xfbml: true}); }; // carregar facebook sdk $.ajaxSetup({ cache: true }); $.getScript('//connect.facebook.net/en_US/all.js', function() { // login/registo, recurso a facebook $("#bLoginFacebook").click(function() { FB.login(function(response) { if (response.authResponse && response.status === 'connected') { FB.api('/me?fields=id,name,email', function(response) { var redirecionar = true; if ( $('#bLoginFacebook').attr('href') !== '#') redirecionar = false; loginRegisto({ operacao: 'loginFacebook', userID: response.id, nome: response.name, email: response.email }, redirecionar, $('#bLoginFacebook').attr('href')); }); } }, {scope: 'public_profile,email'}); }); }); // login/registo, recurso email e password $("#btnLogin").click(function() { var redirecionar = true; if ( $('#btnLogin').attr('href') !== '#') redirecionar = false; loginRegisto({ operacao: 'login', email: $("#email").val(), password: $("#password").val(), liconcordo: $("#liconcordo").is(":checked") }, redirecionar, $('#btnLogin').attr('href')); }); // recuperar login $("#bRecuperarLogin").click(function() { $.when(ajaxConnection(true, true, ajaxPath + "recuperarLogin.php", { email: $("#emailRecuperarLogin").val() }, false)).done(function(retornoAjax){ if ( retornoAjax ) { $(".erros").html(msgLoginRecuperado); mostrarModal('', '#login-box', false); } }); }); // fechar fundo preto $('#mask').click(function() { $('#mask , .login-popup, .recuperarLogin-popup, .matriculas-popup, .primeiraInspecao-popup').fadeOut(300); $(".erros").html(''); }); //modal $('a.login-window').click(function() { $('#bLoginFacebook').attr('href', '#'); $('#btnLogin').attr('href', '#'); mostrarModal(this, '', true); }); // login e registo (normal ou facebook) function loginRegisto(vars, redirecionar, novoModal) { // efetuar registo ou login $.when(ajaxConnection(true, false, ajaxPath + "loginRegisto.php", vars, false)).done(function(retornoAjax){ if ( retornoAjax ) { $.when(localizacao()).done(function(retorno) { if ( redirecionar ) $(location).attr('href', 'index.php?op=marcacoes¢ro=' + centro); else $(".login-window").attr('href', 'index.php?op=marcacoes¢ro=' + centro); if ( novoModal !== '#') { $('.login-popup, .recuperarLogin-popup').fadeOut(300); mostrarModal('', '#matriculas-box', true); }else $('#mask , .login-popup, .recuperarLogin-popup, .primeiraInspecao-popup').fadeOut(300); }); }else $(".loading").hide(); }); } //obter localizacao do utilizador function localizacao() { var retorno = $.Deferred(); if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { // obter local a partir da localizacao $.when(ajaxConnection(false, true, "https://maps.google.com/maps/api/geocode/json", { latlng: position.coords.latitude + "," + position.coords.longitude, sensor: true }, true)).done(function(retornoAjax, data){ if ( retornoAjax ) { // centros var i = 0; for ( i = 1; i < centros.length; i++ ) { if ( data.search(centros[i]) >= 0 ) { // utilizador, numa ilha com centro centro = i; break; } } retorno.resolve(true); }else retorno.resolve(false); }); }, function (error) { retorno.resolve(false); }); }else retorno.resolve(false); return retorno.promise(); } // mostrar modal function mostrarModal(elemento, nomeElemento, limparErros) { if ( limparErros ) $(".erros").html(''); $('.login-popup, .recuperarLogin-popup, .matriculas-popup, .primeiraInspecao-popup').fadeOut(300); //Getting the variable's value from a link if ( nomeElemento !== "" ) var loginBox = nomeElemento; else var loginBox = $(elemento).attr('href'); //Fade in the Popup $(loginBox).fadeIn(300); //Set the center alignment padding + border see css style var popMargTop = ($(loginBox).height() + 24) / 2; var popMargLeft = ($(loginBox).width() + 24) / 2; $(loginBox).css({ 'margin-top' : -popMargTop, 'margin-left' : -popMargLeft }); // aplicar fundo preto $('#mask').fadeIn(300); }// ligacao ajax function ajaxConnection(loadShow, loadHide, link, vars, retorno) { if (loadShow) $(".loading").show(); var retornoAjax = $.Deferred(); $.ajax({ url: link, data: vars, type: 'GET', crossDomain: true, dataType: 'text', async : false }) .done(function(data) { if ( !retorno ) $(".erros").html(data); if ( data == "" || retorno ) retornoAjax.resolve(true, data); else retornoAjax.resolve(false, data); }) .fail(function() { $(".erros").html(erroTenteMaisTarde); retornoAjax.resolve(false); }) .always(function() { if (loadHide) $(".loading").hide(); }); return retornoAjax.promise(); }$('#alertaInspecao').click(function() { $('#bLoginFacebook').attr('href', '#matriculas-box'); $('#btnLogin').attr('href', '#matriculas-box'); mostrarModal('', $('#alertaInspecao').attr('href'), true); }); $('#btnNovaMatricula').click(function() { // efetuar registo ou login $.when(ajaxConnection(true, true, ajaxPath + "novaMatricula.php", { tipo: $('#tipoVeiculo').val(), matricula: $('#matriculaNova').val(), data: $('#dataMatriculaNova').val() }, false)).done(function(retornoAjax){ if ( retornoAjax ) { $(".erros").html(msgNovaMatricula); $("#matricula option[value='']").remove(); $("#matricula").prepend(""); } }); });// calcular inspecao $("#btnPInspecao").click(function() { $.when(ajaxConnection(true, true, ajaxPath + "primeiraInspecao.php", { tipo: $("#tipoVeiculoPInspecao").val(), data: $("#dataMatriculaPInspecao").val() }, true)).done(function(retornoAjax, data){ if ( retornoAjax ) $(".erros").html(data); }); }); });