O plano que está a subscrever
O acesso que está a ativar
O acesso que está a
oferecer
Premium
{{selectedTerm.resource.name}}
Selecione a contribuição que
pretende
| Outros planos
Presente:
Premium {{selectedTerm.resource.name}}
| Outros planos
36,50€ por 1 ano
Preço especial para renovação automática (pagamento com Cartão de Crédito/Débito, na opção de Clássico, e Paypal): 50€/ ano
{{selectedTerm.billingPlanTable[0].price}} por
{{selectedTerm.billingPlanTable[0].billingPeriod}}
Renova automaticamente a {{selectedTerm.billingPlanTable[1].price}} por
semana
mês
trimestre
semestre
ano
dois anos
– cancele em qualquer momento
Atenção: O período experimental gratuito não está disponível para a sua conta
Observador, visto já ter beneficado de um acesso Premium anteriormente
Valor: {{selectedTerm.billingPlanTable[0].price}}
Renovação: Semanal
Renovação: Mensal
Renovação: Trimestral
Renovação: Semestral
Renovação: Anual
Renovação: Bianual
– cancele em qualquer momento
Período:
{{selectedTerm.billingPlanTable[0].period}}
O preço de renovação aplica-se apenas a renovações automáticas
Valor: {{selectedTerm.billingPlanTable[0].priceValue}} €
Período: {{selectedTerm.billingPlanTable[0].period}}
{{selectedTerm.billingPlanTable[0].period}} de leitura
ilimitada. Após o término do acesso que está a activar poderá continuar a usufruir
de leitura ilimitada dos nossos conteúdos exclusivos, efetuando uma assinatura
Observador no browser ou app.
Ao prosseguir está a concordar com os
Termos e Condições da
Compra
$(function() {
setTimeout(function() {
console.log("vem as cenas", #{app.aid});
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);
});
*/