Mudanças entre as edições de "MediaWiki:Common.js"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
(Desfeita a edição 5509 de Pitanga (Discussão))
Linha 1: Linha 1:
/* SOPA */
 
(function (){
 
var root = this;
 
 
var SopaBlackout = function(){};
 
var addEvent = function(obj, type, fn, ref_obj){
 
if (obj.addEventListener){
 
obj.addEventListener(type, fn, false);
 
}else if (obj.attachEvent){
 
obj["e"+type+fn] = fn;
 
obj[type+fn] = function(){
 
obj["e"+type+fn](window.event,ref_obj);
 
};
 
obj.attachEvent("on"+type, obj[type+fn]);
 
}
 
};
 
// Thanks http://javascript.nwbox.com/IEContentLoaded/
 
// for this
 
var IEContentLoaded = function(w, fn) {
 
var d = w.document, done = false,
 
init = function () {
 
if (!done) {
 
done = true;
 
fn();
 
}
 
};
 
(function () {
 
try {
 
d.documentElement.doScroll('left');
 
} catch (e) {
 
setTimeout(arguments.callee, 50);
 
return;
 
}
 
init();
 
})();
 
d.onreadystatechange = function() {
 
if (d.readyState == 'complete') {
 
d.onreadystatechange = null;
 
init();
 
}
 
};
 
}
 
var onDomReady = function(fn){
 
if (document.addEventListener){
 
document.addEventListener('DOMContentLoaded', fn, false);
 
}else{
 
IEContentLoaded(window, fn);
 
}
 
};
 
var getStyle = function(e, prop){
 
if (e.currentStyle){
 
return e.currentStyle[prop];
 
}else if (document.defaultView && document.defaultView.getComputedStyle){
 
return document.defaultView.getComputedStyle(e, "")[prop];
 
}else{
 
return e.style[prop];
 
}
 
};
 
var findPos = function(obj){
 
var curleft = 0;
 
var curtop = 0;
 
if (obj.offsetParent){
 
do{
 
curleft += obj.offsetLeft;
 
curtop += obj.offsetTop;
 
}while(obj = obj.offsetParent);
 
}
 
return [curleft, curtop];
 
};
 
var txt = function(s){
 
return document.createTextNode(s);
 
};
 
var create = function(e, props){
 
var elem = document.createElement(e);
 
var props = props !== null ? props : {};
 
for (var key in props){
 
if (key == 'href'){
 
elem.href = props[key];
 
}else{
 
elem.style[key] = props[key];
 
}
 
}
 
l = arguments.length;
 
for (var i=2; i<l; i++){
 
elem.appendChild(arguments[i]);
 
}
 
return elem;
 
};
 
var getOpts = function(){
 
var ret = {};
 
for (var key in SopaBlackout.DEFAULTS){
 
var k = 'sopablackout_' + key;
 
ret[key] = (typeof window[k] === 'undefined') ? SopaBlackout.DEFAULTS[key] : window[k];
 
}
 
return ret;
 
};
 
var dateMatches = function(spec){
 
spec.push(false); spec.push(false); spec.push(false);
 
var today = new Date();
 
if ((spec[0] !== false && today.getFullYear() !== spec[0]) ||
 
(spec[1] !== false && today.getMonth() + 1 !== spec[1]) ||
 
(spec[2] !== false && today.getDate() !== spec[2])){
 
return false;
 
}
 
return true;
 
};
 
 
SopaBlackout.VERSION = '0.2.0';
 
SopaBlackout.MIN_HEIGHT = 100;
 
SopaBlackout.HEADER_TEXT = "É assim que a web pode ficar se o \"Stop Online Piracy Act\" for aprovado.";
 
 
SopaBlackout.CONTENT_TEXT = "\nDois projetos de lei em tramitação no Congresso norteamericano têm provocado reações e críticas de grandes empresas de tecnologia (como Google e Facebook), além de setores da comunidade técnica, academia e sociedade civil.\nEsses projetos, chamados SOPA (Stop Online Piracy Act) e PIPA (Protect Intellectual Property Act), se forem aprovados, instituirão ferramentas de controle de conteúdo na web que alteram de forma crucial o funcionamento da própria rede. Eles impõem medidas severas para impedir violações a direitos autorais, como alterações no sistema de nomes de domínio, filtragem em mecanismos de busca para que sites não sejam encontrados, além de instruções de bloqueio a operações financeiras, como doações feitas em apoio ao site supostamente infrator.\nLegislações como as propostas nos EUA, mais do que uma questão interna de cada país, desafiam a própria arquitetura da rede como uma infra-estrutura aberta que incentiva a participação e a criação colaborativa.\nSegundo o Centro de Tecnologia e Sociedade da Escola de Direito da Fundação Getulio Vargas/RJ, a tutela dos direitos intelectuais não deve ser exercida em detrimento de outros direitos fundamentais, como a privacidade, a liberdade de expressão, e principalmente o acesso ao conhecimento e à informação. Mesmo com a recente declaração da Casa Branca contra o SOPA, e com todos os esforços na rede até agora, a ameaça ainda não cessou. Wikipedia, Reddit e vários outros sites promoveram um blecaute da Internet como forma de protesto.\n\nConsiderando que, mesmo sendo uma legislação de outro país, essas medidas podem afetar-nos diretamente, o Garoa Hacker Clube, por determinação do Conselho Manda-chuva, publica essa mensagem de protesto e esclarecimento em seu site.\nPara continuar acessando nosso conteúdo normalmente, clique em qualquer lugar para continuar.";
 
 
SopaBlackout.CONTINUE_TEXT = "(clique em qualquer lugar para continuar)";
 
SopaBlackout.ZINDEX = Math.pow(2, 31) - 2;
 
SopaBlackout.DEFAULTS = {
 
'id': false,
 
'srsbzns': false,
 
'on': false
 
};
 
SopaBlackout.blackout = function(opts){
 
var obj;
 
var body = document.body;
 
if (opts['id'] === false){
 
obj = body;
 
height = "100%";
 
}else{
 
obj = document.getElementById(opts['id']);
 
var height = parseInt(getStyle(obj, 'height'), 10);
 
height = height > SopaBlackout.MIN_HEIGHT ? height : SopaBlackout.MIN_HEIGHT;
 
}
 
var offsets = findPos(obj);
 
 
var blackout = create('div', {
 
position: 'absolute',
 
top: offsets[1],
 
width: '100%',
 
backgroundColor: 'black',
 
textAlign: 'center',
 
paddingTop: '10px',
 
zIndex: SopaBlackout.ZINDEX,
 
height: height,
 
color: '#999'},
 
create('h1', {color: '#006837'}, txt(SopaBlackout.HEADER_TEXT)),
 
create('h2', {color: '#00ff00'}, txt(SopaBlackout.CONTENT_TEXT)),
 
create('p', null,
 
txt("Ajude a manter a web livre!"),
 
 
create('a', {href: "http://sopablackout.org/learnmore"}, txt(" Saiba mais!")))
 
);
 
if (opts['srsbzns'] !== true){
 
blackout.appendChild(create('p', {paddingTop: '250px', color: '#333'}, txt(SopaBlackout.CONTINUE_TEXT)));
 
addEvent(blackout, 'click', function(e){
 
body.removeChild(blackout);
 
});
 
}
 
body.appendChild(blackout);
 
};
 
SopaBlackout.go = function(){
 
var opts = getOpts();
 
if (opts['on'] !== false && !dateMatches(opts['on'])){
 
return;
 
}
 
SopaBlackout.blackout(opts);
 
};
 
 
onDomReady(SopaBlackout.go);
 
}).call(this);
 
 
 
(function(){
 
(function(){
   

Edição das 11h09min de 19 de janeiro de 2012

(function(){

function on_load(){

  // Epoch 0: momento da fundação do Garoa Hacker Clube!
  // Veja http://garoa.net.br/w/index.php?title=Epoch0
  var epoch = 1298244863; 

  var garoa_div = document.createElement("div");
  garoa_div.setAttribute("id", "garoa_msecs");
  document.getElementsByTagName("body")[0].appendChild(garoa_div);

  function update_msecs(){
   document.getElementById("garoa_msecs").innerHTML = "Garoando há "+
  (new Date().getTime()-epoch*1000)+" milissegundos.";
  }

  function update_secs(){
   document.getElementById("garoa_msecs").innerHTML = "Garoando há "+
  Math.floor(new Date().getTime()/1000-epoch)+" segundos.";
  }

//juca gosta do efeito dos milissegundos correndo. Além de ser mil vezes mais nerd :-D literalmente! (aritmeticamente!!!)
//mas pitanga acha ruim mostrar milissegundos por que consumiria muita CPU...

//  window.setInterval(update_msecs, 1);
  window.setInterval(update_secs, 1000);
 
}

window.addEventListener("load", on_load, false);

})();