Team:TU Delft/test

From 2010.igem.org

(Difference between revisions)
Line 5: Line 5:
<script>
<script>
//Global Vars
//Global Vars
 +
var currentPage;
var in_frame_test = 1;
var in_frame_test = 1;
 +
 +
function dbgout(msg) {
 +
  var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
 +
  if(is_chrome) console.log(msg);
 +
}
 +
 +
// Set document ready callback
 +
$(function() {
 +
// Initialize history plugin.
 +
$(window).hashchange(historyCallback);
 +
rewriteLinks($("#navlist"));
 +
 +
historyCallback();
 +
 +
// setup hovering
 +
$(".menu_button").hover(
 +
function () { $(this).addClass("hover"); },
 +
function () { $(this).removeClass("hover"); }
 +
);
 +
});
 +
 +
 +
function isDefined(variable)
 +
{
 +
    return typeof(window[variable]) != "undefined";
 +
}
 +
 +
function splitHash(hash) {
 +
var kvpairs = hash.split('&');
 +
var i;
 +
var kvmap = {};
 +
for(i=0;i<kvpairs.length;i++) {
 +
var s = kvpairs[i].split('=');
 +
kvmap[s[0]] = s[1];
 +
}
 +
return kvmap;
 +
}
 +
 +
function setHash(page, kvmap) {
 +
var str = '#page=' + page;
 +
var i;
 +
if (kvmap) {
 +
for(i in kvmap) {
 +
str += '&' + i + '=' + kvmap[i];
 +
}
 +
}
 +
location.hash = str;
 +
}
 +
 +
 +
function include_js(file, cb) {
 +
    var html_doc = document.getElementsByTagName('head')[0];
 +
    var js = document.createElement('script');
 +
    js.setAttribute('type', 'text/javascript');
 +
    js.setAttribute('src', file);
 +
    html_doc.appendChild(js);
 +
 +
    js.onreadystatechange = function () {
 +
        if (js.readyState == 'complete') {
 +
cb();
 +
        }
 +
    }
 +
 +
    js.onload = cb;
 +
}
 +
 +
function loadScript(src, callback)
 +
{
 +
  include_js(src, callback);
 +
}
 +
 +
function loadPage(page)
 +
{
 +
currentPage = page;
 +
var url = wgServer + "/Team:TU_Delft/" + page + "?action=render";
 +
$(window).trigger('page_close');
 +
$("#iGEM_TU_Delft_container").fadeOut(200);
 +
 +
var processPage = function(next) {
 +
dbgout('processPage: ' + page);
 +
$(window).trigger('page_init');
 +
rewriteLinks($("#load"));
 +
next();
 +
}
 +
 +
$.get(url, function(data) {
 +
$("#iGEM_TU_Delft_container").html(data).fadeIn(200).queue(processPage);
 +
});
 +
}
 +
 +
function historyCallback() {
 +
var hash = location.hash;
 +
if(hash) {
 +
hash = hash.substring(1);
 +
if(hash.split('=').length > 1) {
 +
var kvmap = splitHash(hash);
 +
var changepage;
 +
 +
// looks a little clumsy, but js AND operator conflicts with mediawiki markup
 +
if (kvmap.page) if(kvmap.page != currentPage) changepage = kvmap.page;
 +
 +
if (changepage) {
 +
loadPage(changepage);
 +
} else
 +
$(window).trigger('hashupdate');
 +
}
 +
} else {
 +
setHash('pages/home');
 +
}
 +
}
 +
 +
 +
function rewriteLinks(elem) {
 +
$("a",elem).each(function() {
 +
var txt = $(this).text();
 +
var url = this.href;
 +
 +
if(this.hash)
 +
this.href = this.hash;
 +
else if(txt != "edit")
 +
this.href = this.href.replace("https://2010.igem.org/Team:TU_Delft/", "#page=");
 +
 +
// dbgout('rewriting ' + url + ' to ' + this.href);
 +
});
 +
}
 +
 +
</script>
</script>
-
<script type="text/javascript" src="https://2010.igem.org/Team:TU_Delft/files/main.js?action=raw&ctype=text/javascript"></script>
 
<div id="iGEM_TU_Delft_container">
<div id="iGEM_TU_Delft_container">
</div>
</div>
</html>
</html>

Revision as of 12:30, 27 September 2010