if ( (!!(BlogDeco) && !!(BlogDeco.Paolo)) )
    throw("Not to require paolo.js more than once.");

if (!(BlogDeco)) var BlogDeco = {};
BlogDeco.Paolo= {};

BlogDeco.Paolo.config = {
    menu: {
        bannimg:   'http://paolo.blogdeco.jp/image/parts/atention.jpg',
    	bgokimg:   'http://paolo.blogdeco.jp/image/parts/bg.png',
    	bgngimg:   'http://paolo.blogdeco.jp/image/parts/bg_no.png',
	btliimg:   'http://paolo.blogdeco.jp/image/parts/button_list.jpg',
	btonimg:   'http://paolo.blogdeco.jp/image/parts/button_on.png',
	btofimg:   'http://paolo.blogdeco.jp/image/parts/button_off.png',
	closeimg:  'http://paolo.blogdeco.jp/image/parts/close.jpg',
	entrimg:   'http://paolo.blogdeco.jp/image/parts/entries.png',
	helpimg:   'http://paolo.blogdeco.jp/image/parts/help.jpg',
	listimg:   'http://paolo.blogdeco.jp/image/parts/list.jpg'
    },
    swf: {
        hand:         'http://paolo.blogdeco.jp/swf/paorohand.swf',
        fukidasi:     'http://paolo.blogdeco.jp/swf/fukidasi.swf',
        fukidasibg:   'http://paolo.blogdeco.jp/swf/fukidasibg.swf',
        fukidasiform: 'http://paolo.blogdeco.jp/swf/fukidasiform.swf'
    },
    _swf: {
        hand:         'http://www.blogdeco.jp/testpaoro/paorohand.swf',
        fukidasi:     'http://www.blogdeco.jp/testpaoro/fukidasi.swf',
        fukidasibg:   'http://www.blogdeco.jp/testpaoro/fukidasibg.swf',
        fukidasiform: 'http://www.blogdeco.jp/testpaoro/fukidasiform.swf'
    },
    highlight: {
        color:   '#FFFFFF',
        bgcolor: '#000080'
    }
};

BlogDeco.Paolo.enable = false;
BlogDeco.Paolo.kakikomi = 0;
BlogDeco.Paolo.tukomi = 0;
BlogDeco.Paolo.input = 0;
BlogDeco.Paolo.tsukkomis = [];
BlogDeco.Paolo.entries = [];
BlogDeco.Paolo.top = 10;
BlogDeco.Paolo.left = 300;
BlogDeco.Paolo.target = {x:0,y:110};
BlogDeco.Paolo.exkeyword = '';
BlogDeco.Paolo.exscroll = 0;
BlogDeco.Paolo.extarget = {x:0,y:0};
BlogDeco.Paolo.browser = (function(){
    var browser;
    if (window.opera) {
        browser = 'opera';
    } else if (navigator.userAgent.match(/MSIE/)) {
        browser = 'ie';
    } else if (navigator.userAgent.match(/Safari/)) {
        browser = 'safari';
    } else {
        browser = 'firefox';
    }
    return browser;
})();
BlogDeco.Paolo.userid = (function () {
	var scp = document.getElementsByTagName('script');
	var i = scp.length;
	while (i--) {
		var s = scp[i].src;
		if (!s.match(/paolo\.blogdeco\.jp/)) continue;
		return s.split('#')[1];
	}
})();

BlogDeco.Paolo.time = new Date().getTime();

// ported from prototype.js
function _$() {
    var results = [], element;
      for (var i=0;i< arguments.length;i++) {
          element = arguments[i];
          if (typeof element == 'string')
            element = document.getElementById(element);
          results.push(element);
      }
    return results.length < 2 ? results[0] : results;
}
document._getElementsByClassName = function(className, parentElement) {
    var elements = [];
    var children = (_$(parentElement) || document.body).getElementsByTagName('*');
    for (var i=0;i<children.length;i++) {
        var child = children[i];
        if ((typeof child.className == 'string') && 
        (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))) elements.push(child);
    }
    return(elements);
}
if (!document.getElementsByClassName) 
    document.getElementsByClassName = document._getElementsByClassName;
BlogDeco.Paolo.Event = {
    observers: false,
    observe: function(element, name, observer, useCapture) {
        var element = _$(element);
        useCapture = useCapture || false;
        if (name == 'keypress' &&
                (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
                || element.attachEvent))
            name = 'keydown';
        this._observeAndCache(element, name, observer, useCapture);
    },
    _observeAndCache: function(element, name, observer, useCapture) {
        if (!this.observers) this.observers = [];
        if (element.addEventListener) {
            this.observers.push([element, name, observer, useCapture]);
            element.addEventListener(name, observer, useCapture);
        } else if (element.attachEvent) {
            this.observers.push([element, name, observer, useCapture]);
            element.attachEvent('on' + name, observer);
        }
    }
}

BlogDeco.Paolo.ready = function() { BlogDeco.Paolo.enable = true; }

BlogDeco.Paolo.getPosition = function(){
    var pos = "recx:" + BlogDeco.Paolo.left + ";recy:" + BlogDeco.Paolo.top;
    if(BlogDeco.Paolo.tukomi == 1){
        pos = pos + ";destx:" + BlogDeco.Paolo.extarget.x + ";desty:" + BlogDeco.Paolo.extarget.y + ";"
    } else {
        pos = pos + ";destx:" + BlogDeco.Paolo.target.x + ";desty:" + BlogDeco.Paolo.target.y + ";"
    }
    if (BlogDeco.Paolo.kakikomi == 1){
        pos = pos + ";kakikomi";
    }
    if (BlogDeco.Paolo.tukomi == 1){
        pos = pos + ";tukomi";
    }
    return pos;
}

BlogDeco.Paolo.setPosition = function(x, y) {
    character = document.getElementById('blog_deco_paolo_char_bg');
    character.style.top = y + "px";
    character.style.left = x + "px";
    BlogDeco.Paolo.top = y;
    BlogDeco.Paolo.left = x;
    return BlogDeco.Paolo.getPosition();
}

BlogDeco.Paolo.pushTsukkomi = function(id,time,name,contents,jsinfo) {
    var info = unescape(jsinfo).split('\0');
    var dom = BlogDeco.Paolo._loadDomInfo(info[1]);
    if (!!dom) BlogDeco.Paolo._highlightKeyword(dom,info[0],id);
}

BlogDeco.Paolo.pushEntry = function(url,title,ts) {
    if (url == 'undefined') return false;
    BlogDeco.Paolo.entries.push({url: url, title: title, ts: ts});
}

BlogDeco.Paolo.deleteHand = function() {
    var el = _$('blog_deco_paolo_statuses');
    el.style.backgroundImage = "url("+BlogDeco.Paolo.config.menu.bgngimg+")";
    var deleteHand = function() {
      BlogDeco.Paolo._disable();
    }
    setTimeout(deleteHand, 1000);
}

BlogDeco.Paolo.showCommentForm = function(id) {
    //setTimeout(BlogDeco.Paolo._showCommentForm, 100, id);
    setTimeout('BlogDeco.Paolo._showCommentForm('+id+')', 100);
    return false;
}

BlogDeco.Paolo._innerText = function(node) {
    return(BlogDeco.Paolo.browser == 'ie') ? node.innerText : ( function(node){
        var textRange = node.ownerDocument.createRange();
        textRange.selectNodeContents(node);
        return textRange.toString();
    })(node);
}

BlogDeco.Paolo._getSelection = function() {
    var keyword = '';
    switch(BlogDeco.Paolo.browser) {
        case 'ie':
            keyword = document.selection.createRange().text;
            break;
        case 'safari':
            keyword = new String(window.getSelection());
            break;
        default:
            keyword = window.getSelection().toString();
            break;
    }
    return keyword;
}

BlogDeco.Paolo._dumpDomInfo = function(node,word) {
    while(node && node.parentNode) {
        if (node.nodeName == "DIV") {
            if (node.id) {
                div = "_$('"+node.id+"')";
            } else {
                var divs = document.getElementsByTagName('div');
                for (var i=0;i<divs.length;i++) {
                    if (divs[i] == node) {
                        return( "document.getElementsByTagName('div')["+i+"]" );
                    }
                }
            }
            break;
        } else {
            node = node.parentNode;
        }
    }
    var re = new RegExp(word, 'i');
    var classnames = ['contents','entry','blogbody'];
    for (var i=0;i<classnames.length;i++) {
        var divs = document._getElementsByClassName(classnames[i]);
        for (var j=0;j<divs.length;j++) {
            if ( BlogDeco.Paolo._innerText(divs[j]).match(re) ) {
                return( 'document._getElementsByClassName("'+classnames[i]+'")['+j+']' );
            }
        }
    }
    var divs = document.getElementsByTagName('div');
    for (var i=(divs.length-1);i>-1;i--) {
    //for (var i=0;i<divs.length;i++) {
        if ( BlogDeco.Paolo._innerText(divs[i]).match(re) ) {
            return( 'document.getElementsByTagName("div")['+i+']' );
        }
    }
}

BlogDeco.Paolo._loadDomInfo = function(str) {
    return eval(str);
}

BlogDeco.Paolo._showTsukkomiForm = function(id,jsinfo) {
    if (BlogDeco.Paolo.enable == false) return false;

    BlogDeco.Paolo._hideTsukkomiForm();
    setTimeout(function(){BlogDeco.Paolo.tukomi = 1;}, 200);
    BlogDeco.Paolo.extarget.x = BlogDeco.Paolo.target.x;
    BlogDeco.Paolo.extarget.y = BlogDeco.Paolo.target.y;
    BlogDeco.Paolo.setPosition(BlogDeco.Paolo.extarget.x + 30, BlogDeco.Paolo.extarget.y - 80);

    var x = BlogDeco.Paolo.target.x + 110 + 'px';
    var y = BlogDeco.Paolo.target.y - 230 + 'px';
    var el = _$('blog_deco_paolo_form');

    if (el) {
        el.style.top = y;
        el.style.left = x;
        el.style.display = '';
    } else {
        el = document.createElement('div');
        document.body.appendChild(el);
        el.id = 'blog_deco_paolo_form';
        el.style.zindex = '10';
        el.style.position = "absolute";
        el.style.top = y;
        el.style.left = x;
        el.style.width = "260px";
        el.style.height = "232px";
        el.style.overflow = "hidden";
    }
    var flashvars = "mode=" + (id ? 'show' : 'input') +
            (id ? '&id=' + id : '') +
	    ('&time=' + BlogDeco.Paolo.time) +
            ('&url=' + escape(location.href)) +
            (BlogDeco.Paolo.userid ? '&user=' + BlogDeco.Paolo.userid : '') +
            (jsinfo ? '&jsinfo=' + escape(jsinfo) : '');

    if (id) {
        el.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="260" height="232" id="fukidasi" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.fukidasi+'" /><param name="wmode" value="transparent"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="'+flashvars+'"><embed src="'+BlogDeco.Paolo.config.swf.fukidasi+'" quality="high" bgcolor="#ffffff" width="260" height="232" name="paolo" align="middle" allowScriptAccess="always" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="'+flashvars+'"/></object>';
    } else {
        BlogDeco.Paolo.input = 1;
        el.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="260" height="232" id="fukidasibg" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.fukidasibg+'" /><param name="wmode" value="transparent"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="'+BlogDeco.Paolo.config.swf.fukidasibg+'" quality="high" bgcolor="#ffffff" width="260" height="232" name="fukidasibg" align="middle" allowScriptAccess="always" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"/></object><div id="blog_deco_paolo_form_input" style="position:absolute;width:146px;height:144px;top:51px;left:50px;"><div>';
        setTimeout(function(){ _$('blog_deco_paolo_form_input').innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="143" height="136" id="fukidasi" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.fukidasiform+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="'+flashvars+'"><param name="scale" value="exactfit" /><embed src="'+BlogDeco.Paolo.config.swf.fukidasiform+'" quality="high" bgcolor="#ffffff" width="143" height="136" scale="exactfit" name="paolo" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="'+flashvars+'"/></object>' }, 1000);
    }
}

BlogDeco.Paolo._hideTsukkomiForm = function() {
    BlogDeco.Paolo.tukomi = 0;
    BlogDeco.Paolo.input = 0;
    if (_$('blog_deco_paolo_form')) {
         //_$('blog_deco_paolo_form').innerHTML = '';
         _$('blog_deco_paolo_form').style.display = 'none';
    }
}

BlogDeco.Paolo._showCommentForm = function(id) {
    if (BlogDeco.Paolo.enable == false) return false;
    var el =  _$('blog_deco_paolo_form');
    el.style.display = 'none';
    if (!el) return false;
    var flashvars = "mode=comment" +
            (id ? '&id=' + id : '') +
	    ('&time=' + BlogDeco.Paolo.time) +
	    ('&formtype=comment') +
            ('&url=' + escape(location.href)) +
            (BlogDeco.Paolo.userid ? '&user=' + BlogDeco.Paolo.userid : '');
    el.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="260" height="232" id="fukidasibg" align="middle"><param name="FlashVars" value="mode=comment"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.fukidasibg+'" /><param name="wmode" value="transparent"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="'+BlogDeco.Paolo.config.swf.fukidasibg+'" quality="high" bgcolor="#ffffff" width="260" height="232" name="fukidasibg" align="middle" allowScriptAccess="always" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="mode=comment"/></object><div id="blog_deco_paolo_form_input" style="position:absolute;width:146px;height:144px;top:51px;left:50px;"><div>';
    setTimeout(function(){ _$('blog_deco_paolo_form_input').innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="143" height="136" id="fukidasi" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.fukidasiform+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="'+flashvars+'"><param name="scale" value="exactfit" /><embed src="'+BlogDeco.Paolo.config.swf.fukidasiform+'" quality="high" bgcolor="#ffffff" width="143" height="136" scale="exactfit" name="paolo" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="'+flashvars+'"/></object>' }, 1000);
    el.style.display = '';
}


BlogDeco.Paolo._disable = function() {
    var bt = _$('blog_deco_paolo_button');
    bt.src = BlogDeco.Paolo.config.menu.btofimg;
    bt.onclick = function(){ location.reload(); };

    if (_$('blog_deco_paolo_char_bg')) _$('blog_deco_paolo_char_bg').style.display = 'none';
    if (_$('blog_deco_paolo_form')) _$('blog_deco_paolo_form').style.display = 'none';
    var keywords = document._getElementsByClassName('blog_deco_paolo_keyword');
    for(var i=0;i<keywords.length;i++) {
        keywords[i].id = '';
        keywords[i].style.backgroundColor = '';
        keywords[i].style.color = '';
    }
    BlogDeco.Paolo.enable = false;
}

BlogDeco.Paolo._highlightKeyword = function(node, word, id){
    if ( _$('blog_deco_paolo_keyword_'+id) ) return false;
    var re = new RegExp('('+word+')', 'i');
    function highlightnode(src){
        for (var s = src; s ; s = s.nextSibling) {
            if (s.nodeType == 3) {
                if ( (!_$('blog_deco_paolo_keyword_'+id)) && (s.nodeValue.match(re)) ) {
                    var node = document.createElement("span");
                    node.innerHTML = s.nodeValue.replace(re, '<span id="blog_deco_paolo_keyword_'+id+'" class="blog_deco_paolo_keyword" style="background-color:'+BlogDeco.Paolo.config.highlight.bgcolor+';color:'+BlogDeco.Paolo.config.highlight.color+';" onmouseover="BlogDeco.Paolo._showTsukkomiForm('+id+');return false;">'+RegExp.$1+'</span>');
		    s.parentNode.replaceChild(node, s);
                }
            } else {
                if (s.hasChildNodes()) {
                    highlightnode(s.firstChild);
                }
            }
        }
    }
    highlightnode(node.firstChild);
    return ( (_$('blog_deco_paolo_keyword_'+id)) ? true : false );
}

BlogDeco.Paolo._showMenu = function() {
    var el = _$('blog_deco_paolo_entrylist_table');
    if (el.innerHTML == '') {
	var length = (BlogDeco.Paolo.entries.length < 4) ? BlogDeco.Paolo.entries.length : 4;
        var html = '<table style="position:absolute;top:30px;left:3px;border:0;font-size:8pt;">';
        for (var i=0;i<length;i++) {
	    var title = (BlogDeco.Paolo.entries[i].title.length > 9) ? 
	            BlogDeco.Paolo.entries[i].title.substr(0,8) + '...' : 
	            BlogDeco.Paolo.entries[i].title.substr(0,9);
	    var ts = BlogDeco.Paolo.entries[i].ts.substr(2,2) + '/' + 
	        BlogDeco.Paolo.entries[i].ts.substr(5,2) + '/' + 
		BlogDeco.Paolo.entries[i].ts.substr(8,2);
	    html += '<tr style="height:12px;line-height:12px;"><td style="width:12px;"><img src="'+BlogDeco.Paolo.config.menu.listimg+'"/></td><td style="text-align:left;width:92px;"><a href="'+BlogDeco.Paolo.entries[i].url+'" style="color:#000;">'+title+'</a></td><td>'+ts+'</td></tr>';
        }
	html += '</table>';
	el.innerHTML = html;
    }
    var el = _$('blog_deco_paolo_entrylist');
    if (el.style.display == 'none') {
        el.style.height = '0px';
        el.style.display = '';
    }
    if (el.offsetHeight != 103) {
        var h = ((el.offsetHeight + 6) > 103) ? 103 : (el.offsetHeight + 6);
        el.style.height = h + 'px';
        setTimeout(BlogDeco.Paolo._showMenu, 13);
    }
}

BlogDeco.Paolo._hideMenu = function() {
    var el = _$('blog_deco_paolo_entrylist');
    if (el.offsetHeight != 0) {
        var h = ((el.offsetHeight - 6) > 0) ? (el.offsetHeight - 6) : 0;
        el.style.height = h + 'px';
        setTimeout(BlogDeco.Paolo._hideMenu, 13);
    } else {
        el.style.display = 'none';
    }
}
    
BlogDeco.Paolo.Event.observe(window, 'load', function() {
    var div = document.createElement('div');
    div.style.width = '181px';
    //div.style.height = '45px';
    div.style.position = (BlogDeco.Paolo.browser == 'ie') ? 'absolute' : 'fixed';
    div.style.top = '0px';
    div.style.right = '0px';
    document.body.appendChild(div);
    //div.innerHTML = '<img id="blog_deco_paolo_button" src="'+BlogDeco.Paolo.config.menu.btonimg+'" width="47" height="33" style="position:absolute;top:0;left:0;cursor:pointer;" onclick="BlogDeco.Paolo._disable();return false;"/><div id="blog_deco_paolo_statuses" style="position:absolute;top:0;left:47px;width:134px;height:33px;background-image:url('+BlogDeco.Paolo.config.menu.bgokimg+');"><img src="'+BlogDeco.Paolo.config.menu.helpimg+'" width="13" height="12" style="position:absolute;top:0;left:116px;cursor:pointer;" onclick="window.open(\'http://paolo.jp/help.html\');"/><img src="'+BlogDeco.Paolo.config.menu.btliimg+'" width="125" height="13" style="position:absolute;top:15px;left:2px;cursor:pointer;" onclick="BlogDeco.Paolo._showMenu();return false;"/></div><div id="blog_deco_paolo_entrylist" style="display:none;position:absolute;top:33px;left:3px;width:176px;height:103px;background-image:url('+BlogDeco.Paolo.config.menu.entrimg+');overflow:hidden;"><img src="'+BlogDeco.Paolo.config.menu.closeimg+'" width="12" height="12" style="position:absolute;top:10px;left:155px;cursor:pointer;" onclick="BlogDeco.Paolo._hideMenu();return false;"/><div id="blog_deco_paolo_entrylist_table"></div></div></div>';
        div.innerHTML = '<img id="blog_deco_paolo_banner" src="'+BlogDeco.Paolo.config.menu.bannimg+'" style="position:relative;cursor:pointer;" onclick="window.open(\'http://paolo.jp/help.html#use\');"><div id="blog_deco_paolo_menu" style="position:relative;width:181px;color:#000;"><img id="blog_deco_paolo_button" src="'+BlogDeco.Paolo.config.menu.btonimg+'" width="47" height="33" style="position:absolute;top:0;left:0;cursor:pointer;" onclick="BlogDeco.Paolo._disable();return false;"/><div id="blog_deco_paolo_statuses" style="position:absolute;top:0;left:47px;width:134px;height:33px;background-image:url('+BlogDeco.Paolo.config.menu.bgokimg+');"><img src="'+BlogDeco.Paolo.config.menu.helpimg+'" width="13" height="12" style="position:absolute;top:0;left:116px;cursor:pointer;" onclick="window.open(\'http://paolo.jp/help.html\');"/><img src="'+BlogDeco.Paolo.config.menu.btliimg+'" width="125" height="13" style="position:absolute;top:15px;left:2px;cursor:pointer;" onclick="BlogDeco.Paolo._showMenu();return false;"/></div><div id="blog_deco_paolo_entrylist" style="display:none;position:absolute;top:33px;left:3px;width:176px;height:103px;background-image:url('+BlogDeco.Paolo.config.menu.entrimg+');overflow:hidden;"><img src="'+BlogDeco.Paolo.config.menu.closeimg+'" width="12" height="12" style="position:absolute;top:10px;left:155px;cursor:pointer;" onclick="BlogDeco.Paolo._hideMenu();return false;"/><div id="blog_deco_paolo_entrylist_table"></div></div></div>';


    // XXX opera doesn't work external interface
    if (BlogDeco.Paolo.browser == 'opera') {
        return false;
    }

    var div = document.createElement('div');
    var flashvars = "url=" + escape(location.href) +
            ('&time=' + BlogDeco.Paolo.time) +
            (BlogDeco.Paolo.userid ? '&user=' + BlogDeco.Paolo.userid : '');
    document.body.appendChild(div);
    div.innerHTML = '<div id="blog_deco_paolo_char_bg" style="z-index:1;position:absolute;top:0;left:0;width:80px;height:80px;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="80" height="80" id="paolo" align="middle"><param name="wmode" value="transparent"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+BlogDeco.Paolo.config.swf.hand+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="'+flashvars+'"><embed src="'+BlogDeco.Paolo.config.swf.hand+'" quality="high" bgcolor="#ffffff" width="80" height="80" name="paolo" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" FlashVars="'+flashvars+'"/></object></div>';
    var anchors = document.getElementsByTagName('a');
    for(var i=0;i<anchors.length;i++) {
        if ((BlogDeco.Paolo.browser == 'ie') && (!anchors[i].onclick)) 
            anchors[i].onclick = function() {
	    	if (_$('blog_deco_paolo_form')) _$('blog_deco_paolo_form').innerHTML = '';
                BlogDeco.Paolo._hideTsukkomiForm();
            };
    }
}); 

BlogDeco.Paolo.Event.observe(document, 'mousedown', function(event){
    BlogDeco.Paolo.kakikomi = 1; 
});

BlogDeco.Paolo.Event.observe(document, 'mouseup', function(event){
    BlogDeco.Paolo.kakikomi = 0; 

    if (BlogDeco.Paolo.enable) {
   
        var keyword = BlogDeco.Paolo._getSelection();
        if ((keyword == BlogDeco.Paolo.exkeyword) || (keyword == '') || (keyword.length < 5) || 
        (keyword.length > 50)) {
            return false;
        }
        keyword = keyword.replace(/(\^|\(|\)|\/|\\|\<|\>|\*|\.|\?)/g, "\\$1");

        if (BlogDeco.Paolo.browser == 'firefox') {
            var range = window.getSelection().getRangeAt(0);
            if (range.startContainer != range.endContainer) {
                return false;
            }
        }

        BlogDeco.Paolo.exkeyword = keyword;
    
        var target = event.target || event.srcElement;
        var dom = BlogDeco.Paolo._dumpDomInfo(target,keyword);
        if (!dom) { 
            return false
        };

        BlogDeco.Paolo._showTsukkomiForm(0,escape(keyword+'\0'+dom));

    }
});

BlogDeco.Paolo.Event.observe(document, 'mousemove', function(event){
    switch(BlogDeco.Paolo.browser) {
        case 'ie':
            if(document.body.scrollTop > 0){
                BlogDeco.Paolo.target.x = event.clientX + document.body.scrollLeft;
                BlogDeco.Paolo.target.y = event.clientY + document.body.scrollTop;
            } else {
                BlogDeco.Paolo.target.x = event.clientX + document.documentElement.scrollLeft;
                BlogDeco.Paolo.target.y = event.clientY + document.documentElement.scrollTop;
            }
            var scrollY = document.body.scrollTop  || document.documentElement.scrollTop;
            if (scrollY != BlogDeco.Paolo.exscroll) {
                //_$('blog_deco_paolo_menu').style.top = scrollY + 'px';
                _$('blog_deco_paolo_banner').style.top = scrollY + 'px';
                _$('blog_deco_paolo_menu').style.top = scrollY + 'px';
                BlogDeco.Paolo.exscroll = scrollY;
            }
            break;
        case 'safari':
            BlogDeco.Paolo.target.x = event.clientX;
            BlogDeco.Paolo.target.y = event.clientY;
            break;
        default:
            BlogDeco.Paolo.target.x = event.clientX + window.pageXOffset;
            BlogDeco.Paolo.target.y = event.clientY + window.pageYOffset;
            break;
    }

    var keyword = BlogDeco.Paolo._getSelection();
    if ( (BlogDeco.Paolo.kakikomi == 1) && (keyword != '')) {
        BlogDeco.Paolo._hideTsukkomiForm();
    } else if ((BlogDeco.Paolo.exkeyword != '') && (keyword == '')) {
        BlogDeco.Paolo.exkeyword = '';
    }
});
