function loadtheCode() {
    addRollback();
    doReverts();
}

if(mybrowser.search(/MSIE/i) != -1 || mybrowser.search(/Safari/i) != -1)
{
    addOnLoadHook(loadtheCode);
} else if(mybrowser.search(/Firefox/i) == -1) {
    document.addEventListener('load', loadtheCode, false);
} else {
    document.addEventListener('DOMContentLoaded', loadtheCode, false);
}

function addRollback() {
    if(document.title.indexOf("Recent changes") == 0 && document.title.indexOf("Recent changes") != -1) {
        var items = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
        for(i in items) {
            if(items[i].getElementsByTagName('a')[0].innerHTML != 'diff')
                continue;
            var title = items[i].getElementsByTagName('a')[2].getAttribute('href');
            var uname = items[i].getElementsByTagName('a')[3].innerHTML;
            title = title.substring(6,title.length);
            items[i].innerHTML += ' [<a href="/index.php?title='+title+'&amp;action=history&amp;rollback=true&amp;uname='+escape(uname)+'">rollback</a>]';
        }
    }
}
function doReverts() {
    if(document.title.indexOf("- History") == -1 || location.href.indexOf("rollback=true") == -1)
        return;

    uname = document.getElementById('pagehistory').getElementsByTagName('li')[0];
    uname = uname.getElementsByTagName('a')[2].innerHTML;
    if(location.href.indexOf('uname='+escape(uname)) == -1) {
        alert('Edit conflict, revert cancelled.');
        return;
    }
    var spanner = new Array();
    spanner = document.getElementsByTagName('span');
    for(i in spanner) {
        if(spanner[i].getAttribute('class') == 'mw-rollback-link') {
             spanner = spanner[i].getElementsByTagName('a')[0].getAttribute('href');
             break;
        }
    }
    if(spanner)
        location.href = spanner;
}