// ==UserScript==
// @name        hd_del_ldc
// @namespace   http://www14.plala.or.jp/operairc/
// @include     http://d.hatena.ne.jp/*
// @include     http://*.g.hatena.ne.jp/*
// ==/UserScript==

(function (){
	var entry = document.evaluate('//div[@class="section"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
	for(var i=0,len=entry.snapshotLength;i<len;i++) {
		var h =	document.evaluate('./h3', entry.snapshotItem(i), null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
		var url = document.evaluate('./a', h, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.href;
		var foot = document.evaluate('./p[@class="sectionfooter"]', entry.snapshotItem(i), null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
        var d = (foot)? foot : h;
		createHTML({
            children : {
                 a : {
                    style : {
                        margin : '0 5px'
                    },
                    href : 'http://del.icio.us/url?v=2&url='+ encodeURIComponent(url),
                    children : {
                        img : {
                            src : 'data:image/gif,GIF89a%12%00%12%00%A2%00%00%FF%FF%FF%DD%DD%DD%00%00%FF%00%00%00%FF%FF%FF%00%00%00%00%00%00%00%00%00!%F9%04%01%07%00%04%00%2C%00%00%00%00%12%00%12%00%00%033%08%BA%2B%FE%8FIH%25%A3%D06%EC%B4%E2%9D%07%0A%1E0%96%A7%08%0El%DB%06p%1C%BB%B4l%D3%AE-%E3%AF%0E%F3%2C%DF%0F(%0C%00%07%C5c%92(L%00%00%3B',
                            alt : 'del.icio.us'
//                            style : {
//                                borderWidth : '0',
//                                width : '10px',
//                                height : '10px'
//                            }
                        }
                    }
                }
            }
        },d);
        createHTML({
            children : {
                a : {
                    style : {
                        margin : '0 5px'
                    },
                    children : {
                        img : {
                            src : 'data:image/gif,GIF89a%10%00%10%00%E6%00%00%18%95%E9%1C%A2%ED%1D%AA%F0%1E%8C%E2%1E%9C%D8!f%C6%23%B2%F1%23%98%E6%25t%CD*~%D2%2C%A4%EA7%B3%EF8%88%D58%80%CE%3A%86%D2%3B%94%DB%3B%7F%CC%3E%97%DD%3E%B2%ED%3E%87%CD%3F%A5%E5%3F%94%DB%3F%7D%CC%3Fr%AED%8A%D2D%84%CDE%90%D8F%8D%D5F%88%D1H%7B%C0H%8F%CCK%96%DCU%A5%E2Zy%B0Z%93%CE%5B%C1%F1%5B%C2%F2%5C%A3%D7b%A5%DBi%C0%EEk%AF%E5o%C3%F0s%C2%EEt%9C%CFu%B9%E2x%80%87y%B9%E5%7D%AF%E1%82%A1%B9%83%C7%EF%8F%C3%EE%8F%CA%EF%8F%CA%EB%90%9B%AF%A0%D4%F3%A5%C7%E8%A9%C3%DD%AF%CD%EB%B1%DB%F5%B1%CE%E9%B7%D5%F0%B8%D4%EE%B8%DD%F5%BA%D3%EA%BB%C8%D8%BE%D9%F0%C1%E8%FA%C2%D6%EA%C3%E2%F7%C3%E0%F5%C5%E8%F9%C9%D9%E9%CB%DF%F1%CE%DB%E9%D0%D9%E2%D1%E9%F8%D2%E3%F1%D9%E6%F1%DA%EC%F4%DA%E8%EF%DC%EB%F2%DD%DF%E2%DE%E7%F0%DE%ED%F4%DF%E7%EF%DF%E4%EA%DF%EB%F2%E1%F0%F7%E3%EE%F5%E5%F2%F8%E6%F2%F7%E7%F1%F6%E7%EA%EF%E9%F4%F9%EB%ED%EF%EB%F3%F8%EE%F6%FA%EF%F5%F9%F2%F7%FC%F2%F8%FB%F3%F8%FA%F5%F6%F7%F5%FA%FC%F6%FB%FD%F8%FA%FB%FA%FC%FE%FD%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00l%00%2C%00%00%00%00%10%00%10%00%00%07%B5%80l5%83%84%85%85%82k%89%8A%8B%8B%83%8C%8AD1BFbk%8E%8F%3A(A%3D%232%965j%A1%A26%0B)%3EkE%14j%83i%AD%AD3%06%11%2F%24%3CK%1Fi%83g%BAg.%02%15Hh\'*%209g%83c%C8%26%01%1ALe4%12%0F7dd%83%60%60%2B%00%1BM%5E%2C%0A%0C%3Ba%60a%83%5D%5D%1D%18RQ%25%07%0E%3F_%EF_%83Y!%13TU%1E%03%0DC%5B%FCZ%5B%83W%0A%C0%E0%02%04%01%84%23X%12*%1C4%C5%02%81%16%172%24%B1B%B1%A2%95ANppH%20B%09%94%8F%20%3F%0EzB%B2%A4I%935%04%19Z9%88M%20%00%3B',
                            alt : 'livedoor clip'
                        }
                    },
                    href : 'http://clip.livedoor.com/site/' + url.replace(/^http:\/\//,'')
                }
            }
		},d);
	}
    function createHTML(obj,par){
        for(var k in obj) {
            if(typeof obj[k] == 'object' && obj[k].constructor == Object && k == 'children') {
                for(var j in obj[k]){
                    var el = document.createElement(j);
                    par.appendChild(el);
                    createHTML(obj[k][j],el)
                }
            } else if(typeof obj[k] == 'object' && obj[k].constructor == Object && k == 'style') {
                for(var l in obj[k])
                    par[k][l] = obj[k][l];
            } else
                par[k] = obj[k];
        }
    }
})();
