var head, tribune;

function _createElement(name) {
    return this.createElementNS(this.documentElement.namespaceURI, name);
}

if (document.createElementNS && (document.createElement('meta').namespaceURI != document.documentElement.namespaceURI))
    document.createElement = _createElement;

function _loadScript(url)
{
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', url);
    head.appendChild(script);
}

function _loadScript_eval(url)
{
    var req = newXMLHttpRequest();
    if (req) {
        req.open('GET', url, false);
        req.send(null);
        eval(req.responseText.replace(/([^=,(\s]\s*|^\s*)function\s*([^\s\(]*)/g, '$1$2 = function'));
        for (i in this)
            if (typeof global[i] == 'undefined')
                eval('global.'+i+' = this.'+i);
    }
}

function loadScript(url)
{
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    if (script.canHaveChildren != null)
        script.text = 'canLoad = true;';
    else
        script.appendChild(document.createTextNode('canLoad = true;'));
    head.appendChild(script); 
    if (typeof canLoad != 'undefined')
        loadScript = _loadScript;
    else {
        global = window;
        loadScript = _loadScript_eval;
    }
    return loadScript(url);
}


function _addEvent_listener(obj, evType, func) {
    obj.addEventListener(evType, func, false);
}

function _addEvent_attach(obj, evType, func) {
    obj.attachEvent('on'+evType, func);
}

function _addEvent(obj, evType, func) {
    var oldEventListener = obj['on'+evType];
    if (typeof oldEventListener != 'function') {
        obj['on'+evType] = func;
    } else {
        obj['on'+evType] = function() {
            oldEventListener();
            func();
        }
    }
}

function addEvent(obj, evType, func) {
    if (obj.addEventListener)
        addEvent = _addEvent_listener;
    else if (obj.attachEvent)
        addEvent = _addEvent_attach;
    else
        addEvent = _addEvent;
    addEvent(obj, evType, func);
}

function initPage() {
    head = document.documentElement.getElementsByTagName('head')[0];
    var scripts = head.getElementsByTagName('script');
    for (var i = 0; i < scripts.length; i++) {
	var match;
	if (match = scripts[i].src.match(/^(.*)\/myotis_utils.js$/)) {
	    base_url = match[1];
	    break;
        }
    }
    tribune = document.getElementById('board');
    if (tribune)
        loadScript(base_url+'/tribune.js');
}

addEvent(window, "load", initPage);
