/* -------------------------------------------------------------------------- */
/**
 *    @fileoverview
 *       embeds blogling blogparts.
 *
 *    @version rev001.2010-01-07
 */
/* -------------------------------------------------------------------------- */

(function() {
    function BATag(tagName, attrs) {
        this.tagName    = tagName;
        this.attributes = attrs || {};
        this.childNodes = [];
    }
    BATag.prototype = {
        setAttr : function(attrName, value) {
            this.attributes[attrName] = value;
        },
        append : function(arg) {
            this.childNodes.push(arg);
        },
        toString : function(debug) {
            var tagOpen    = (debug) ? '&lt;' : '<';
            var tagClose   = (debug) ? '&gt;' : '>';
            var tag        = tagOpen + this.tagName;
            var content    = (this.childNodes.length) ? '' : null;
            for (var i = 0, n = this.childNodes.length; i < n; i++) {
                content += this.childNodes[i].toString(debug);
            }
            for (var attr in this.attributes) {
                tag += ' ' + attr + '="' + this.attributes[attr] + '"';
            }
            tag += (content != null) ?
                       tagClose + content + tagOpen + '/' + this.tagName + tagClose :
                       ' /' + tagClose;
            return tag;
        }
    };
    var env             = {};
        env.ua          = {};
        env.ua.isGecko  = /Gecko\//    .test(navigator.userAgent);
        env.ua.isSafari = /AppleWebKit/.test(navigator.userAgent);
        env.ua.isOpera  = Boolean(window.opera);
        env.ua.isIE     = Boolean(document.all && !env.ua.isGecko && !env.ua.isSafari && !env.ua.isOpera);
    var id_random = Math.random();
    var setting_img = {
        "attrs" : {
            "src"               : "http://www.leclubpeugeot.jp/blogparts/blogring/ring.jpg",
            "id"                : "jp_leclubpeugeot_blogparts_blogring"+id_random,
            "name"              : "jp_leclubpeugeot_blogparts_blogring"+id_random,
            "width"             : "157",
            "height"            : "120",
            "border"            : "0",
            "style"             : "margin:0px; padding:0px; border:0px none; width:157px; height:120px;",
            "usemap"            : "#jp_leclubpeugeot_blogparts_blogring_map"+id_random
        }
    };
    var setting_map = {
        "attrs" : {
            "id"                : "jp_leclubpeugeot_blogparts_blogring_map"+id_random,
            "name"              : "jp_leclubpeugeot_blogparts_blogring_map"+id_random
        },
        "areas" : {
            "prev" : {
                "shape"         : "circle",
                "coords"        : "22,81,10",
                "alt"           : "前へ",
                "href"          : "http://www.leclubpeugeot.jp/blogparts/blogring/jump/878/prev"
            },
            "next" : {
                "shape"         : "circle",
                "coords"        : "137,81,10",
                "alt"           : "次へ",
                "href"          : "http://www.leclubpeugeot.jp/blogparts/blogring/jump/878/next"
            },
            "list" : {
                "shape"         : "rect",
                "coords"        : "36,71,70,90",
                "alt"           : "一覧",
                "href"          : "http://www.leclubpeugeot.jp/blogparts/blogring/jump/878/list"
            },
            "random" : {
                "shape"         : "rect",
                "coords"        : "70,71,123,90",
                "alt"           : "ランダム",
                "href"          : "http://www.leclubpeugeot.jp/blogparts/blogring/jump/878/random"
            },
            "info" : {
                "shape"         : "rect",
                "coords"        : "12,95,148,110",
                "alt"           : "このブログパーツを自分のブログに貼る",
                "href"          : "http://www.leclubpeugeot.jp/blogparts/blogring/jump/878/info"
            }
        }
    };
    var img = new BATag('img', setting_img.attrs);
    var map = new BATag('map', setting_map.attrs);
    for (var prop in setting_map.areas) {
        map.append(new BATag('area', setting_map.areas[prop] ));
    }
    document.write(img);
    document.write(map);
})();
