if (typeof(GADGET_SMALL1_2) == 'undefined') {
    GADGET_SMALL1_2 = {
        identifier: "gadgetpartyparts-small1-2",
        gadgetDisplayCount: 8,
        _elements: [],
        appendScript: function() {
            if (!GADGET_SMALL1_2._elements) return;
            for (var i = 0; i < GADGET_SMALL1_2._elements.length; i++) {
                var script = document.createElement('script');
                script.id = GADGET_SMALL1_2.identifier + '-script-' + i
                script.type = 'text/javascript';
                var now = new Date();
                script.src = [
                    'http://',
                    GADGET_SMALL1_2._elements[i].host,
                    '/json/',
                    GADGET_SMALL1_2._elements[i].user_name,
                    '-blogparts-small1-2.json',
                    '?',
                    now.getTime(),
                ].join('');
                var headTag = document.getElementsByTagName('head');
                headTag[0].appendChild(script);
            }
            GADGET_SMALL1_2._elements = undefined;
        },
        show: function(json) {
            var blogsOuter = document.getElementById(GADGET_SMALL1_2.identifier + '-blogs-outer');
            if (json.blogs) {
                var ul = document.createElement('div');
                ul.id = GADGET_SMALL1_2.identifier + '-blogs-ul';
                for (var i = 0; i < json.blogs.length; i++) {
                    var li = document.createElement('div');
                    li.id = GADGET_SMALL1_2.identifier + '-blogs-list-' + i;
                    var img = document.createElement('img');
                    img.src = json.blogs[i].favicon_url;
                    img.width = '16';
                    img.height = '16';
                    var a = document.createElement('a');
                    a.href = 'http://' + json.host + '/' + json.blogs[i].user_name;
                    a.target = '_blank';
                    a.appendChild(document.createTextNode(json.blogs[i].title));
                    li.appendChild(img);
                    li.appendChild(a);
                    ul.appendChild(li);
                }
                blogsOuter.appendChild(ul);
            }
            var gadgetsOuter = document.getElementById(GADGET_SMALL1_2.identifier + '-gadgets-outer');
            if (json.gadgets) {
                for (var i = 0; i < json.gadgets.length; i++) {
                    var li = document.getElementById(GADGET_SMALL1_2.identifier + '-gadgets-' + i);
                    var img = document.createElement('img');
                    img.src = json.gadgets[i].thumbnail_url;
                    img.width = json.gadgets[i].width;
                    img.height = json.gadgets[i].height;
                    var a = document.createElement('a');
                    a.href = 'http://' + json.host + '/gadget/show/' + json.gadgets[i].id;
                    a.target = '_blank';
                    a.appendChild(img);
                    li.appendChild(a);
                }
            }
        },
        toggle: function() {
            var b = document.getElementById(GADGET_SMALL1_2.identifier + '-blogs-outer');
            var g = document.getElementById(GADGET_SMALL1_2.identifier + '-gadgets-outer');
            if (b.style.display == 'block') {
                b.style.display = 'none';
                g.style.display = 'block';
                document.getElementById(GADGET_SMALL1_2.identifier + '-outer').className = 'gadgets';
            } else {
                b.style.display = 'block';
                g.style.display = 'none';
                document.getElementById(GADGET_SMALL1_2.identifier + '-outer').className = 'blogs';
            }
        },
        insertStyleSheet: function(host) {
            var headTag = document.getElementsByTagName('head');
            var linkTag = document.createElement('link');
            linkTag.type = 'text/css';
            linkTag.rel = 'stylesheet';
            linkTag.media = 'all';
            linkTag.href = 'http://' + host + '/css/blogparts-small1-2.css';
            headTag[0].appendChild(linkTag);
        },
        escape: function(str) {
            str = str.replace(/&/g, '&amp;');
            str = str.replace(/"/g, '&quot;');
            str = str.replace(/'/g, '&#39;');
            str = str.replace(/</g, '&lt;');
            str = str.replace(/>/g, '&gt;');
            return str;
        }
    };
}

(function(){
    var selfTag = (function() {
        var ss = document.getElementsByTagName('script');
        for (var i = ss.length-1; i >= 0; i--) {
            if (ss[i].id.search('_firebug') != 0 && ss[i].id.search('gadgetpartyparts') != 0) {
                return ss[i];
            }
        }
    })();

    selfTag.id = (function() {
        var id = '__gadget_' + GADGET_SMALL1_2._elements.length;
        return id;
    })();
    var elements = {}
    if (selfTag.src.match(/user_name=([a-zA-Z0-9_]+)/)) {
        elements['user_name'] = RegExp.$1;
    }
    if (selfTag.src.match(/^http:\/\/([^\/]+)\//)) {
        elements['host'] = RegExp.$1;
    }

    GADGET_SMALL1_2._elements.push(elements);

    GADGET_SMALL1_2.insertStyleSheet(elements['host']);

    var blogsOuter = document.createElement('div');
    blogsOuter.id = GADGET_SMALL1_2.identifier + '-blogs-outer';
    blogsOuter.style.display = 'none';
    selfTag.parentNode.insertBefore(blogsOuter, selfTag);

    var gadgetsOuter = document.createElement('div');
    gadgetsOuter.id = GADGET_SMALL1_2.identifier + '-gadgets-outer';
    gadgetsOuter.style.display = 'block';
    var ul = document.createElement('div');
    ul.id = GADGET_SMALL1_2.identifier + '-gadgets-ul';
    for (var i = 0; i < GADGET_SMALL1_2.gadgetDisplayCount; i++) {
        var li = document.createElement('div');
        li.id = GADGET_SMALL1_2.identifier + '-gadgets-' + i;
        if (i == 4) {
            var li4 = li;
        }
        ul.appendChild(li);
    }
    var li = document.createElement('div');
    li.id = GADGET_SMALL1_2.identifier + '-center-logo'
    var icon = document.createElement('img');
    icon.src = 'http://' + elements['host'] + '/img/blogparts/ico_center.gif';
    li.appendChild(icon);
    ul.insertBefore(li, li4);
    gadgetsOuter.appendChild(ul);

    var blogparts = document.createElement('div');
    blogparts.id = GADGET_SMALL1_2.identifier + '-outer';
    var blogpartsTitle = document.createElement('div');
    blogpartsTitle.id = GADGET_SMALL1_2.identifier + '-title';
    var titleLink = document.createElement('a');
    titleLink.href = 'http://' + elements['host'] + '/' + elements['user_name'];
    titleLink.target = '_blank';
    blogpartsTitle.appendChild(titleLink);
    var toggle = document.createElement('div');
    toggle.id = GADGET_SMALL1_2.identifier + '-toggle';
    if (toggle.addEventListener) {
        toggle.addEventListener('click', GADGET_SMALL1_2.toggle, false);
    }
    else if (toggle.attachEvent) {
        toggle.attachEvent('onclick', GADGET_SMALL1_2.toggle);
    }
    blogparts.appendChild(blogpartsTitle);
    blogparts.appendChild(toggle);
    blogparts.appendChild(gadgetsOuter);
    blogparts.appendChild(blogsOuter);

    selfTag.parentNode.insertBefore(blogparts, selfTag);
})();
GADGET_SMALL1_2.appendScript();
