
if (typeof renderTwitters != 'function') 
    (function(){
        var j = (function(){
            var b = navigator.userAgent.toLowerCase();
            return {
                safari: /webkit/.test(b),
                opera: /opera/.test(b),
                msie: /msie/.test(b) && !(/opera/).test(b),
                mozilla: /mozilla/.test(b) && !(/(compatible|webkit)/).test(b)
            }
        })();
        var k = 0;
        var n = [];
        var o = false;
        window.renderTwitters = function(a, b){
            function node(e){
                return document.createElement(e)
            }
            function text(t){
                return document.createTextNode(t)
            }
            var c = document.getElementById(b.twitterTarget);
            var d = null;
            var f = node('ul'), li, statusSpan, timeSpan, i, max = a.length > b.count ? b.count : a.length;
            for (i = 0; i < max && a[i]; i++) {
                d = getTwitterData(a[i]);
                if (b.ignoreReplies && a[i].text.substr(0, 1) == '@') {
                    max++;
                    continue
                }
                li = node('li');
                if (b.template) {
                    li.innerHTML = b.template.replace(/%([a-z_\-\.]*)%/ig, function(m, l){
                        var r = d[l] + "" || "";
                        if (l == 'text' && b.enableLinks) 
                            r = linkify(r);
                        return r
                    })
                }
                else {
                    statusSpan = node('p');
                    statusSpan.className = 'twitterStatus';
                    timeSpan = node('div');
                    timeSpan.className = 'twitterTime';
                    statusSpan.innerHTML = a[i].text;
                    if (b.enableLinks == true) {
                        statusSpan.innerHTML = linkify(statusSpan.innerHTML)
                    }
                    timeSpan.innerHTML = relative_time(a[i].created_at);
                    /*if (b.prefix) {
                        var s = node('span');
                        s.className = 'twitterPrefix';
                        s.innerHTML = b.prefix.replace(/%(.*?)%/g, function(m, l){
                            return a[i].user[l]
                        });
                        li.appendChild(s);
                        li.appendChild(text(' '))
                    }*/
					li.appendChild(timeSpan)
                    li.appendChild(statusSpan);
                    li.appendChild(text(' '));
                }
                f.appendChild(li)
            }
            if (b.clearContents) {
                while (c.firstChild) {
                    c.removeChild(c.firstChild)
                }
            }
            c.appendChild(f)
        };
        window.getTwitters = function(e, f, g, h){
            k++;
            if (typeof f == 'object') {
                h = f;
                f = h.id;
                g = h.count
            }
            if (!g) 
                g = 1;
            if (h) {
                h.count = g
            }
            else {
                h = {}
            }
            if (!h.timeout && typeof h.onTimeout == 'function') {
                h.timeout = 10
            }
            if (typeof h.clearContents == 'undefined') {
                h.clearContents = true
            }
            if (h.withFriends) 
                h.withFriends = false;
            h['twitterTarget'] = e;
            if (typeof h.enableLinks == 'undefined') 
                h.enableLinks = true;
            window['twitterCallback' + k] = function(a){
                if (h.timeout) {
                    clearTimeout(window['twitterTimeout' + k])
                }
                renderTwitters(a, h)
            };
            ready((function(c, d){
                return function(){
                    if (!document.getElementById(c.twitterTarget)) {
                        return
                    }
                    var a = 'http://www.twitter.com/statuses/' + (c.withFriends ? 'friends_timeline' : 'user_timeline') + '/' + f + '.json?callback=twitterCallback' + d + '&count=20';
                    if (c.timeout) {
                        window['twitterTimeout' + d] = setTimeout(function(){
                            if (c.onTimeoutCancel) 
                                window['twitterCallback' + d] = function(){
                                };
                            c.onTimeout.call(document.getElementById(c.twitterTarget))
                        }, c.timeout)
                    }
                    var b = document.createElement('script');
                    b.setAttribute('src', a);
                    document.getElementsByTagName('head')[0].appendChild(b)
                }
            })(h, k))
        };
        DOMReady();
        function getTwitterData(a){
            var b = a, i;
            for (i in a.user) {
                b['user_' + i] = a.user[i]
            }
            b.time = relative_time(a.created_at);
            return b
        }
        function ready(a){
            if (!o) {
                n.push(a)
            }
            else {
                a.call()
            }
        }
        function fireReady(){
            o = true;
            var a;
            while (a = n.shift()) {
                a.call()
            }
        }
        function DOMReady(){
            if (j.mozilla || j.opera) {
                document.addEventListener("DOMContentLoaded", fireReady, false)
            }
            else 
                if (j.msie) {
                    document.write("<scr" + "ipt id=__ie_init defer=true src=//:><\/script>");
                    var a = document.getElementById("__ie_init");
                    if (a) {
                        a.onreadystatechange = function(){
                            if (this.readyState != "complete") 
                                return;
                            this.parentNode.removeChild(this);
                            fireReady.call()
                        }
                    }
                    a = null
                }
                else 
                    if (j.safari) {
                        var b = setInterval(function(){
                            if (document.readyState == "loaded" || document.readyState == "complete") {
                                clearInterval(b);
                                b = null;
                                fireReady.call()
                            }
                        }, 10)
                    }
        }
        function relative_time(a){
            var b = a.split(" ");
            a = b[1] + " " + b[2] + ", " + b[5] + " " + b[3];
            var c = Date.parse(a);
            var d = (arguments.length > 1) ? arguments[1] : new Date();
            var e = parseInt((d.getTime() - c) / 1000);
            e = e + (d.getTimezoneOffset() * 60);
            var r = '';
            if (e < 60) {
                r = 'mindre än en minut sedan' //less than a minute ago
            }
            else 
                if (e < 120) {
                    r = 'ungefär en minut sedan' //about a minute ago
                }
                else 
                    if (e < (45 * 60)) {
                        r = (parseInt(e / 60)).toString() + ' minuter sedan' //minutes ago
                    }
                    else 
                        if (e < (2 * 90 * 60)) {
                            r = 'ungefär en timma sedan' //about an hour ago
                        }
                        else 
                            if (e < (24 * 60 * 60)) {
                                r = 'ungefär ' + (parseInt(e / 3600)).toString() + ' timmar sedan' //about //hours ago
                            }
                            else 
                                if (e < (48 * 60 * 60)) {
                                    r = '1 dag sedan' //1 day ago
                                }
                                else {
                                    r = (parseInt(e / 86400)).toString() + ' dagar sedan' //days ago
                                }
            return r
        }
        function linkify(s){
            return s.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(m){
                return m.link(m)
            }).replace(/@[\S]+/g, function(m){
                return '<a href="http://twitter.com/' + m.substr(1) + '">' + m + '</a>'
            })
        }
    })();
