Team:EPF-Lausanne/template/script.js
From 2013.igem.org
(Difference between revisions)
Cbroenni (Talk | contribs)
(Created page with "//Generate private namespace window.EPFL = (function(){ //Little hack to stop MediaWiki from replacing ampersands... var amp = unescape("%26"); return { init: function(...")
Newer edit →
(Created page with "//Generate private namespace window.EPFL = (function(){ //Little hack to stop MediaWiki from replacing ampersands... var amp = unescape("%26"); return { init: function(...")
Newer edit →
Revision as of 16:55, 28 August 2013
//Generate private namespace window.EPFL = (function(){
//Little hack to stop MediaWiki from replacing ampersands... var amp = unescape("%26"); return { init: function(){ EPFL.setupTitle(); EPFL.setupTOC(); $('p') .filter(function(){ return $.trim($(this).text()) === && $.trim($(this).html()).length < 10; }) .remove(); }, onLoad: function() { }, setupTOC: function(){ var toc = $("#toc"); toc.remove(); $(".paper").prepend(toc); }, setupTitle: function(){ var title = ""; if(window.titleOverride !== undefined && window.titleOverride !== "" && window.titleOverride !== " " && window.titleOverride !== "{{{1}}}"){ title = window.titleOverride; }else{ var title = $($(".firstHeading")[0]).text(); var prefix = "Team:EPF-Lausanne/"; title = title.substr(prefix.length); titleParts = title.split("/"); switch(titleParts[0]){ case "Template": titleParts.shift(); break; } var result = titleParts.join(" "); if(titleParts.length > 1){ result = titleParts.shift()+": "+titleParts.join(" "); } if(result == ""){ result = "Home"; } title = result; } $("#pageTitle").text(title); } };
}());
if(!window.console){
//Dummy console... window.console = { log: function(){ } };
}
window.Doodles = (function(){
var SPACE_MIN = 80; var SPACE_MAX = 400; var WIDTH = 120; var MAX_DOODLES_PER_BAR = 100; var MAX_RETRIES = 100; var all = [ //{ height: 114, src: "" }, { height: 27, src: "" }, { height: 131, src: "" }, { height: 87, src: "" }, { height: 138, src: "" }, { height: 76, src: "" }, { height: 156, src: "" }, { height: 175, src: "" }, { height: 141, src: "" }, { height: 71, src: "" }, { height: 128, src: "" }, { height: 98, src: "" } ]; var isHomePage = function(){ var title = $($(".firstHeading")[0]).text(); var prefix = "Team:EPF-Lausanne/"; title = title.substr(prefix.length); titleParts = title.split("/"); switch(titleParts[0]){ case "Template": titleParts.shift(); break; } var result = titleParts.join(" "); if(result == ""){ return true; } return false; } var contentHeight = 0; var doodleBars = []; var barUsage = [{max: 0, images: []}, {max: 0, images: []}]; var previous = undefined; var firstLoad = true; return { onLoad: function(){ if(firstLoad){ var that = this; setTimeout(function(){ that.onLoad(); }, 1000); firstLoad = false; } //console.log("Doodle onload"); contentHeight = $(".page-content").height() - 50; doodleBars = $(".doodle-bar"); //doodleBars.height(contentHeight); this.addDoodles(); }, addDoodles: function(){ //console.log("Adding doodles to left"); if(isHomePage()){ this.addDoodle(1, 400); } //Add a doodle at one of the sides (random) at y = 0 this.addDoodle(Math.round(Math.random()), 0); for(var i = 0; i < MAX_DOODLES_PER_BAR; i++){ if(!this.addDoodle(0)) break; } //console.log("Adding doodles to right"); for(var i = 0; i < MAX_DOODLES_PER_BAR; i++){ if(!this.addDoodle(1)) break; } }, addDoodle: function(barNumber, nextDistance){ //console.log("Trying to add doodle to", barNumber); var bar = $(doodleBars[barNumber]); var usage = barUsage[barNumber]; //console.log("Current usage vs contentHeight: ", usage.max, contentHeight); if(usage.max > contentHeight) return false; if(nextDistance === undefined) nextDistance = SPACE_MIN + Math.floor(Math.random()*(SPACE_MAX-SPACE_MIN+1)); var nextImage = all[Math.floor(Math.random()*all.length)]; for(var i = 0; i < MAX_RETRIES; i++){ if(previous == nextImage){ nextImage = all[Math.floor(Math.random()*all.length)]; }else{ break; } } if(previous == nextImage) return false; previous = nextImage; if(usage.max + nextDistance + nextImage.height > contentHeight) return false;var container = $("
")
.css({ "background": "url('"+nextImage.src+"')", "width": WIDTH+"px", "height": nextImage.height+"px", "margin-top": nextDistance+"px" }); bar.append(container); /* var img = $("<img>") .load(function(){ container.append(img); }) .attr("width", WIDTH) .attr("height", nextImage.height) .attr("src", nextImage.src);*/ usage.max += nextDistance + nextImage.height; return true; } };
})();
$(function(){
EPFL.onLoad();
});
var oldRunOnloadHook = runOnloadHook; runOnloadHook = function(){
EPFL.init(); if (oldRunOnloadHook) oldRunOnloadHook();};