if (typeof(_UMH) == 'undefined') {
    var _UMH = {
        classNamePrefix: 'umeshu-kunBlogParts',
        _elements: [],
        appendScript: function() {
            if (!_UMH._elements) return;
            for (var i = 0; i < _UMH._elements.length; i++) {
                var script = document.createElement('script');
                script.type = 'text/javascript';
                script.src = [
                    'http://',
                    _UMH._elements[i].host,
                    '/homemade/blogparts?homemade_id=',
                    _UMH._elements[i].homemade_id,
                    '&self_tag_id=__umeshu_',
                    i,
                    '&color=',
                    _UMH._elements[i].color,
                    '&format=json&callback=_UMH.show'
                ].join('');
                document.body.appendChild(script);
            }
            _UMH._elements = undefined;
        },
        show: function(json) {
            if (!json.homemade) {
                return false;
            }

            var detailUrl = 'http://' + json.host + '/homemade/show/' + json.homemade.id;

            if (json.color == 1) {
                var boxDiv = document.getElementById(_UMH.classNamePrefix + '-pink');
            }
            else if (json.color == 2) {
                var boxDiv = document.getElementById(_UMH.classNamePrefix + '-orange');
            } else {
                var boxDiv = document.getElementById(_UMH.classNamePrefix + '-green');
            }

            var dataText = document.getElementById(boxDiv.id + '-dataText');
            dataText.innerHTML = json.elapsed_days;

            var openText = '';
            if (json.remain_days > 0 && json.homemade.status <= 1) {
                openText = '解禁まであと' + json.remain_days + '日';
            } else {
                if (json.homemade.status <= 1) {
                    openText = '解禁日を迎えました!!';
                } else {
                    openText = '美味しくできたかな？';
                }
            }

            var commentBox = document.getElementById(boxDiv.id + '-commentBox');
            if (Math.floor(Math.random() * 3 + 1) == 1) {
                commentBox.innerHTML = '<p>' + openText + '</p>';
            } else {
                commentBox.innerHTML = '<p>' + json.comment + '</p>';
            }

            // umeshu-kunImg
            var umeshuKun = document.getElementById(boxDiv.id + '-umeshuKun');
            umeshuKun.innerHTML = [
                '<a href="',
                detailUrl,
                '" target="_blank"><img src="http://',
                json.host,
                '/img/homemade/face_',
                json.face,
                '.gif" alt="うめしゅくん" width="142" height="130" /></a>'
            ].join('');

            var nameText = document.getElementById(boxDiv.id + '-nameText');
            nameText.innerHTML = '<a href="' + detailUrl + '" target="_blank">' + json.homemade.name + '</a>';

            var detail = document.getElementById(boxDiv.id + '-detail');
            detail.href = detailUrl;
            detail.target = '_blank';
            detail.innerHTML = [
                '<img src="http://',
                json.host,
                '/img/homemade/btn_deatil.gif" alt="詳細" width="34" height="15" class="detailsBtn" />'
            ].join('');
        },
        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/homemade.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;
        },
        create: function(name) {
            return document.createElement(name);
        },
        text: function(el, text) {
            el.appendChild(document.createTextNode(text));
        },
        append: function(el, child) {
            el.appendChild(child);
        },
        bp: {
            create: function(name, postFix) {
                var el = document.createElement(name);
                el.className = [
                    _UMH.classNamePrefix,
                    '-',
                    postFix
                ].join('');
                return el;
            }
        }
    };
}

(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) {
                return ss[i];
            }
        }
    })();

    selfTag.id = (function() {
        var id = '__umeshu_' + _UMH._elements.length;
        return id;
    })();

    var elements = {}
    if (selfTag.src.match(/homemade_id=([0-9]+)/)) {
        elements['homemade_id'] = RegExp.$1;
    }
    if (selfTag.src.match(/^http:\/\/js\.([^\/]+)\//)) {
        elements['host'] = RegExp.$1;
    }
    if (selfTag.src.match(/color=([0-9]+)/)) {
        elements['color'] = RegExp.$1;
    }
    _UMH._elements.push(elements);

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

    var color = 'green';
    if (elements['color'] == 1) {
        color = 'pink';
    }
    else if (elements['color'] == 2) {
        color = 'orange';
    }
    var boxDiv = document.createElement('div');
    boxDiv.id = _UMH.classNamePrefix + '-' + color;

    // logo
    var logo = _UMH.bp.create('div', 'logo');
    logo.innerHTML = '<a href="http://' + elements['host'] + '/" target="_blank"></a>';

    // dataBox > caption, dataText 
    var dataBox = _UMH.bp.create('div', 'dataBox');
    var caption = _UMH.bp.create('p', 'caption');
    caption.innerHTML = [
        '<img src="http://',
        elements['host'],
        '/img/homemade/text_caption01.gif" alt="梅酒を育てて" width="58" height="10" />'
    ].join('');
    var dataText = _UMH.bp.create('p', 'dataText');
    dataText.id = boxDiv.id + '-dataText';
    dataText.innerHTML = '...';
    _UMH.append(dataBox, caption);
    _UMH.append(dataBox, dataText);

    // commentBox
    var commentBox = _UMH.bp.create('div', 'commentBox');
    commentBox.id = boxDiv.id + '-commentBox';
    commentBox.innerHTML = '<p>ローディングなう</p>';

    // umeshu-kunImg
    var umeshuKun = _UMH.bp.create('div', 'umeshu-kunImg');
    umeshuKun.id = boxDiv.id + '-umeshuKun';
    umeshuKun.innerHTML = [
        '<img src="http://',
        elements['host'],
        '/img/homemade/face_normal.gif" alt="うめしゅくん" width="142" height="130" />'
    ].join('');

    // footer > nameTitle
    //          nameBox > nameText, detail
    var footer = _UMH.bp.create('div', 'footer');
    var nameTitle = _UMH.bp.create('p', 'nameTitle');
    nameTitle.innerHTML = [
        '<img src="http://',
        elements['host'],
        '/img/homemade/name.gif" alt="お名前" width="142" height="20" />'
    ].join('');
    var nameBox = _UMH.bp.create('div', 'nameBox');
    var nameText = _UMH.bp.create('p', 'nameText');
    nameText.id = boxDiv.id + '-nameText';
    var detail = _UMH.create('a');
    detail.id = boxDiv.id + '-detail';
    _UMH.append(nameBox, nameText);
    _UMH.append(nameBox, detail);
    _UMH.append(footer, nameTitle);
    _UMH.append(footer, nameBox);

    _UMH.append(boxDiv, logo);
    _UMH.append(boxDiv, dataBox);
    _UMH.append(boxDiv, commentBox);
    _UMH.append(boxDiv, umeshuKun);
    _UMH.append(boxDiv, footer);
    selfTag.parentNode.insertBefore(boxDiv, selfTag);
})();

if (window.addEventListener) {
    window.addEventListener('load', _UMH.appendScript, false);
}
else if (window.attachEvent) {
    window.attachEvent('onload', _UMH.appendScript);
}

