{{terminalErrorHeading}}

An error has occurred

window.setTimeout(function(){ var scope = angular.element('#default-error-screen').scope(); var t = scope.terms.map(function(e){return e.termId}) if( t.indexOf("TMDFRDUDVXOR")> -1 || t.indexOf("TM689GF867ME")> -1 || // Cyber Monday 2021 t.indexOf("TMC71OEC2A64")> -1 ){ $(".angular-terminal-error").hide(); $(".js-terminal-error").show(); $(".angular-terminal-error-heading").text("Lamentamos mas esta oferta é exclusiva a utilizadores que não tiveram, no passado, uma assinatura Observador") } },1)

{{terminalError}}

Dados fiscais

$(function() { setTimeout(function() { var alreadyFilled = false; var paymentData = {}; var $options = null; var $name = null; var $nif = null; var $address = null; var $city = null; var $postalCode = null; function validaContribuinte(contribuinte){ var temErro=0; if ( contribuinte.substr(0,1) != '1' && // pessoa singular contribuinte.substr(0,1) != '2' && // pessoa singular contribuinte.substr(0,1) != '3' && // pessoa singular contribuinte.substr(0,2) != '45' && // pessoa singular não residente contribuinte.substr(0,1) != '5' && // pessoa colectiva contribuinte.substr(0,1) != '6' && // administração pública contribuinte.substr(0,2) != '70' && // herança indivisa contribuinte.substr(0,2) != '71' && // pessoa colectiva não residente contribuinte.substr(0,2) != '72' && // fundos de investimento contribuinte.substr(0,2) != '77' && // atribuição oficiosa contribuinte.substr(0,2) != '79' && // regime excepcional contribuinte.substr(0,1) != '8' && // empresário em nome individual (extinto) contribuinte.substr(0,2) != '90' && // condominios e sociedades irregulares contribuinte.substr(0,2) != '91' && // condominios e sociedades irregulares contribuinte.substr(0,2) != '98' && // não residentes contribuinte.substr(0,2) != '99' // sociedades civis ) { temErro=1;} var check1 = contribuinte.substr(0,1)*9; var check2 = contribuinte.substr(1,1)*8; var check3 = contribuinte.substr(2,1)*7; var check4 = contribuinte.substr(3,1)*6; var check5 = contribuinte.substr(4,1)*5; var check6 = contribuinte.substr(5,1)*4; var check7 = contribuinte.substr(6,1)*3; var check8 = contribuinte.substr(7,1)*2; var total= check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8; var divisao= total / 11; var modulo11=total - parseInt(divisao)*11; if ( modulo11==1 || modulo11==0){ comparador=0; } // excepção else { comparador= 11-modulo11;} var ultimoDigito=contribuinte.substr(8,1)*1; if ( ultimoDigito != comparador ){ temErro=1;} if (temErro==1){ return false; } return true; } $("#invoice-save-data").click(function(e) { $name = $(".invoice-name"); $nif = $(".invoice-nif"); $address = $(".invoice-morada"); $city = $(".city"); $postalCode = $(".invoice-postal-code"); if ($name.val() == "") { $(".error-message").html("Tem que preencher o nome."); $(".error-message").addClass("error"); $name.focus(); return; } if ($nif.val() == "" || !validaContribuinte($nif.val())) { $(".error-message").html("NIF inválido."); $(".error-message").addClass("error"); $nif.focus(); return; } var data = { real_name: $name.val(), nif: $nif.val(), }; if ($address.val()) { data.address = { address: $address.val(), city: $city.val(), postal_code: $postalCode.val() } } window.parent.postMessage({ command: "setUserPaymentData", payload: data }, "*"); }); $(".invoice-checkbox").change(function() { $options = $(".payment-options-wrapper"); $otherBlock = $(".selected-payment-method"); if (this.checked) { $(".error-message").html(""); $name = $(".invoice-name"); $nif = $(".invoice-nif"); $address = $(".invoice-morada"); $city = $(".city"); $postalCode = $(".invoice-postal-code"); if (!alreadyFilled) { $name.val(paymentData.real_name); $nif.val(paymentData.nif); if (paymentData.address) { $address.val(paymentData.address.address ? paymentData.address.address : ""); $city.val(paymentData.address.city ? paymentData.address.city : ""); $postalCode.val(paymentData.address.postal_code ? paymentData.address.postal_code : ""); } alreadyFilled = true; } $otherBlock.addClass("disabled"); $options.addClass("disabled"); } else { $otherBlock.removeClass("disabled"); $options.removeClass("disabled"); } }); window.addEventListener("message", function(e) { if (e.origin.indexOf("observador.pt", e.origin.length - "observador.pt".length) === -1) { return; } if (e.data.command) { switch (e.data.command) { case "getUserPaymentDataRtn": console.log("getUserPaymentDataRtn", e.data); paymentData = e.data.payload; break; case "setUserPaymentDataRtn": $(".error-message").removeClass("error"); if (e.data.payload) { $(".error-message").html("Alterações guardadas."); $options.removeClass("disabled"); $otherBlock.removeClass("disabled"); } else { $(".error-message").html("Ocorreu um erro ao guardar as alterações."); $(".error-message").addClass("error"); } break; } } }, false); window.parent.postMessage({ command: "getUserPaymentData" }, "*"); // Code to make sure credits cards are valid for X months var scope = angular.element('#ng-app').scope(); var cc_min_expiration_months = 0; if (scope.selectedTerm.termId == "TMWL0VDHGVIE") { cc_min_expiration_months = 2; } else if (scope.selectedTerm.termId == "TMZZTEJDYYKJ") { cc_min_expiration_months = 13; } function monthDiff(dateTo) { var dateFrom = new Date(2021, 04); return dateTo.getMonth() - dateFrom.getMonth() + (12 * (dateTo.getFullYear() - dateFrom.getFullYear())); } if (cc_min_expiration_months > 0) { $(".credit").click(function() { window.setTimeout(function() { function ev(e) { // Current input values var valueYear = parseInt(document.querySelector("input[name=expire_year]").value); var valueMonth = parseInt(document.querySelector("input[name=expire_month]").value); // Make sure they're ready to validate console.log(monthDiff(new Date(2000 + valueYear, valueMonth))); if ( valueYear > 9 && valueMonth > 0 && monthDiff(new Date(2000 + valueYear, valueMonth)) < cc_min_expiration_months ) { $(".complete-purchase").addClass("complete-purchase-disabled"); $(".timeframe").text(cc_min_expiration_months); $(".js-message-block").show(); } else { $(".complete-purchase").removeClass("complete-purchase-disabled"); $(".js-message-block").hide(); } } var input=document.querySelector(`input[name=expire_year]`); input.addEventListener("keyup", ev); var input=document.querySelector(`input[name=expire_month]`); input.addEventListener("keyup", ev); }, 600); }); } }); }, 1);

Uma assinatura
para toda a família
só 99€

Celebre connosco
o Dia da Família

Assinatura anual de grupo
para até 5 utilizadores
Termina em 00h 00m 00s
Outras modalidades

function getTimeRemaining(endtime){ const total = Date.parse(endtime) - Date.parse(new Date()); const seconds = Math.floor( (total/1000) % 60 ); const minutes = Math.floor( (total/1000/60) % 60 ); const hours = Math.floor( (total/(1000*60*60)) ); const days = Math.floor( total/(1000*60*60*24) ); return { total, days, hours, minutes, seconds }; } function initializeClock(id, endtime) { const clock = document.getElementById(id); function updateClock(){ const t = getTimeRemaining(endtime); html = ''; if ( t.days > 0 || t.hours > 0 ) { html += t.hours + 'h '; } html += t.minutes + 'm '; html += t.seconds + 's'; if (t.total <= 0) { clearInterval(timeinterval); } clock.innerHTML = html; } updateClock(); // run function once at first to avoid delay var timeinterval = setInterval(updateClock,1000); } const deadline = 'May 15 2021 23:59:59 GMT+0100'; initializeClock('obs-timer', deadline); /* $(function(){ window.parent.postMessage({command: "getColorScheme"}, "*"); window.addEventListener("message", function (e) { if(e.data.command == "setColorScheme"){ document.querySelector(".obs-wrapper").classList.remove("light") document.querySelector(".obs-wrapper").classList.remove("dark") document.querySelector(".obs-wrapper").classList.add(e.data.payload.color_scheme) } }, false); }); */