function email_load() {
    var l = document.getElementById("replaceme");
    var e = "<my username>@cs.<university domain>";
    l.childNodes[0].replaceData(0, l.childNodes[0].nodeValue.length, e);
    /*l.onmouseover = email_go;*/
    l.onmouseover = fixEmail;
    var i = document.getElementById("mypicture");
    i.onmouseover = boo_random;
    i.onmouseout = boo_pac;

    // preload images
    p1 = new Image(0,0);
    p1.src = "images/mobile.png";
    p2 = new Image(0,0);
    p2.src = "images/kabocha.jpg";
}

function boo_random() {
    i = document.getElementById("mypicture");
    if (Math.random() < 0.5) {
        i.setAttribute("src", "images/mobile.png");
    } else {
        i.setAttribute("src", "images/kabocha.jpg");
    }
}

function boo_mobile() {
    i = document.getElementById("mypicture");
    i.setAttribute("src", "images/mobile.png");
}

function boo_kabocha() {
    i = document.getElementById("mypicture");
    i.setAttribute("src", "images/kabocha.jpg");
}

function boo_pac() {
    i = document.getElementById("mypicture");
    i.setAttribute("src", "images/pac-small.png");
}

function email_go() {
    var l = document.getElementById("replaceme");
    l.onmouseover = null;
    setTimeout("unfixEmail()", 500);
}

function swap(a,i,j) {
    var tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
}

function fixEmail() {
    var t = document.title.split(' ');
    var username = t[0].charAt(0) + t[1].charAt(0) + t[2];
    var domain = t[4].charAt(0) + t[5].charAt(0) + "." + t[6] + t[7].charAt(0) + t[8].charAt(0) + "." + document.location.host.split('.')[2];
    var e = (username + "@" + domain).toLowerCase();
    var l = document.getElementById("replaceme");
    l.childNodes[0].replaceData(0, l.childNodes[0].nodeValue.length, e);
    l.setAttribute("href", "mailto:" + e);
    /*setTimeout("unfixEmail()", 60000);*/
}

function randomlypermute(s) {
    var n = s.length;
    var a = new Array(n);
    var r = "";
    for (i=0;i<n;i++) { a[i] = s[i]; }
    for (i=n-1;i>0;i--) { swap(a, i, Math.round(Math.random()*i)%i); }
    for (i=0;i<n;i++) { r = r + a[i]; }
    return r;
}

function unfixEmail() {
    var l = document.getElementById("replaceme");
    var s = l.childNodes[0].nodeValue;
    var r = randomlypermute(s);
    l.childNodes[0].replaceData(0, l.childNodes[0].nodeValue.length, r);
    l.setAttribute("href", "mailto:" + r);
    setTimeout("fixEmail()", 250);
}

