rot1024
9/13/2014 - 2:19 AM

Toodledoでタスクシュートするブックマークレット "TooleChute" に発動条件にCalendarを加えた改良版

Toodledoでタスクシュートするブックマークレット "TooleChute" に発動条件にCalendarを加えた改良版

javascript:(function(e,c){var b=e.getElementsByTagName("head")[0];var a=e.createElement("script");a.setAttribute("src","//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");a.addEventListener("load",function(){var d=e.createElement("script");d.textContent="jQuery.noConflict();("+c.toString()+")(jQuery);";b.appendChild(d)},false);b.appendChild(a)})(document,function(e){var c=function(){var g=e("#head").width();var h=e('<style type="text/css">#tc-wrapper {position: relative; top: 0px; left: 0px; width: '+g+"px; height: 35px; margin-top: 1px; margin-bottom: 1px;} #tc-hoge {display: -webkit-box; display: -moz-box; position: relative; top: 0px; left: 0px; width: 100%; height: 21px; background-color: #D8D8D1; margin-top: 1px; margin-bottom: 1px; border-bottom: 1px solid #999; text-align: center; font-size: 12px;} #tc-sec-a {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-b {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-c {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-d {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-e {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-f {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-g {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 7; -moz-box-ordinal-group: 7; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-h {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 8; -moz-box-ordinal-group: 8; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-i {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 9; -moz-box-ordinal-group: 9; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-j {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 10; -moz-box-ordinal-group: 10; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-k {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 11; -moz-box-ordinal-group: 11; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-l {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 12; -moz-box-ordinal-group: 12; padding-top: 5px;} #tc-buri {position: relative; top: 0px; left: 0px; width: 100%; height: 12px; background-color: #eeeeee; margin-bottom: 1px;} #tc-bar-a {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-b {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-c {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-d {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-e {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-f {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-g {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-h {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-i {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-j {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-k {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-l {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-now {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: right;} #tc-bar-end {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: left;} </style>");h.appendTo("body")};var a=function(){var g=e('<div id="tc-wrapper"></div>').hide();var h=e('<div id="tc-hoge"></div>');g.append(h);h.append('<div id="tc-sec-a">A=0:00</div>');h.append('<div id="tc-sec-b">B=0:00</div>');h.append('<div id="tc-sec-c">C=0:00</div>');h.append('<div id="tc-sec-d">D=0:00</div>');h.append('<div id="tc-sec-e">E=0:00</div>');h.append('<div id="tc-sec-f">F=0:00</div>');h.append('<div id="tc-sec-g">G=0:00</div>');h.append('<div id="tc-sec-h">H=0:00</div>');h.append('<div id="tc-sec-i">I=0:00</div>');h.append('<div id="tc-sec-j">J=0:00</div>');h.append('<div id="tc-sec-k">K=0:00</div>');h.append('<div id="tc-sec-l">L=0:00</div>');var i=e('<div id="tc-buri"></div>');h.after(i);i.append('<div id="tc-bar-now"></div>');i.append('<div id="tc-bar-a"></div>');i.append('<div id="tc-bar-b"></div>');i.append('<div id="tc-bar-c"></div>');i.append('<div id="tc-bar-d"></div>');i.append('<div id="tc-bar-e"></div>');i.append('<div id="tc-bar-f"></div>');i.append('<div id="tc-bar-g"></div>');i.append('<div id="tc-bar-h"></div>');i.append('<div id="tc-bar-i"></div>');i.append('<div id="tc-bar-j"></div>');i.append('<div id="tc-bar-k"></div>');i.append('<div id="tc-bar-l"></div>');i.append('<div id="tc-bar-end"></div>');e("#colhead").before(g);return g};function b(){return e("#vb8").hasClass("selected")||e("#vb21").hasClass("selected")||e("#vb4").hasClass("selected")&&e(".tabon").text().match(/(Today|Tomorrow)/)}function d(){if(!b()){f.hide();window.setTimeout(function(){d()},1000);return}var q={A:0,B:0,C:0,D:0,E:0,F:0,G:0,H:0,I:0,J:0,K:0,L:0};e(".row").each(function(){var z=e(this).find("span[id^=con]").text().toUpperCase();if(z.match(/^([A-L])/)){var C=RegExp.$1;e("#tc-sec-h").css("border-right","none");e("#tc-sec-i").hide();e("#tc-sec-j").hide();e("#tc-sec-k").hide();e("#tc-sec-l").hide();var B=e(this).find("span[class~=len]").text().split(" ");if((B.length>1)&&(B[0].search(/^none/)==-1)){var A=B[0];var D=B[1];if(D.match(/^hour/)){A=A*60}if(!e(this).hasClass("rowcomp")){q[C]=parseInt(q[C],10)+parseInt(A,10)}}}});var i=new Date();var w=i.getMonth()+1;var y=i.getDate();var l=("0"+i.getHours()).slice(-2);var x=("0"+i.getMinutes()).slice(-2);var t=("0"+i.getSeconds()).slice(-2);var o=e("#tc-wrapper").width();var h=false;var p=6;var u=0;if(parseInt(l,10)<parseInt(p,10)){u=(o*(((24+parseInt(l,10)-p)*60)+parseInt(x,10)))/(24*60);i.setDate(y-1);w=i.getMonth()+1;y=i.getDate();h=true}else{u=(o*(((l-p)*60)+parseInt(x,10)))/(24*60)}Math.round(u);var s=e(".tabon").text();var r=s.match(/[0-9]+/g);var g=false;if(e("#tabs").text().match(/(Today|今日)/i)){if(!h&&(s.match(/Today/i)||s.match("今日"))){g=true}else{if(h&&(s.match(/Yesterday/i)||s.match("昨日"))){g=true}}}else{if(r){if(r.length==2){if((parseInt(r[0],10)==parseInt(w,10))&&(parseInt(r[1],10)==parseInt(y,10))){g=true}}else{if(parseInt(r[0],10)==parseInt(y,10)){g=true}}}}if(g){e("#tc-bar-now").text(l+":"+x).width(u).css("border-right","1px solid #000")}else{e("#tc-bar-now").text("").width(0).css("border-right","none")}var n=e("#tc-bar-now").width()+1;var v=0;e.each(q,function(C,E){var A=parseInt(E/60,10);var B=("0"+(E-(A*60))).slice(-2);e("#tc-sec-"+C.toLowerCase()).text(C+"="+A+":"+B);if(E>0){var D=Math.round((o*E)/(24*60));var F;var z=3*60;if(E>z){F="#ee99bc"}else{if(E>(z*0.9)){F="#ffd900"}else{F="#a7be53"}}e("#tc-bar-"+C.toLowerCase()).css("left",n).width(D).css("background-color",F);n+=D+1;v+=E}else{e("#tc-bar-"+C.toLowerCase()).width(0)}});var k;if(g){k=i}else{k=new Date();k.setHours(p);k.setMinutes(0)}k.setMinutes(k.getMinutes()+v);var j=("0"+k.getHours()).slice(-2);var m=("0"+k.getMinutes()).slice(-2);e("#tc-bar-end").css("left",n).text(j+":"+m);if(b()){f.show()}else{f.hide()}window.setTimeout(function(){d()},1000)}c();var f=a();d()})()
(function (e, c)
{
    var b = e.getElementsByTagName("head")[0];
    var a = e.createElement("script");
    a.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1.8.22/jquery.min.js");
    a.addEventListener("load", function ()
    {
        var d = e.createElement("script");
        d.textContent = "jQuery.noConflict();(" + c.toString() + ")(jQuery);";
        b.appendChild(d)
    }, false);
    b.appendChild(a)
})(document, function (e)
{
    var c = function ()
    {
        var g = e("#head").width();
        var h = e('<style type="text/css">#tc-wrapper {position: relative; top: 0px; left: 0px; width: ' + g + "px; height: 35px; margin-top: 1px; margin-bottom: 1px;} #tc-hoge {display: -webkit-box; display: -moz-box; position: relative; top: 0px; left: 0px; width: 100%; height: 21px; background-color: #D8D8D1; margin-top: 1px; margin-bottom: 1px; border-bottom: 1px solid #999; text-align: center; font-size: 12px;} #tc-sec-a {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-b {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-c {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-d {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-e {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-f {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-g {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 7; -moz-box-ordinal-group: 7; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-h {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 8; -moz-box-ordinal-group: 8; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-i {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 9; -moz-box-ordinal-group: 9; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-j {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 10; -moz-box-ordinal-group: 10; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-k {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 11; -moz-box-ordinal-group: 11; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-l {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 12; -moz-box-ordinal-group: 12; padding-top: 5px;} #tc-buri {position: relative; top: 0px; left: 0px; width: 100%; height: 12px; background-color: #eeeeee; margin-bottom: 1px;} #tc-bar-a {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-b {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-c {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-d {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-e {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-f {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-g {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-h {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-i {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-j {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-k {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-l {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-now {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: right;} #tc-bar-end {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: left;} </style>");
        h.appendTo("body")
    };
    var a = function ()
    {
        var g = e('<div id="tc-wrapper"></div>').hide();
        var h = e('<div id="tc-hoge"></div>');
        g.append(h);
        h.append('<div id="tc-sec-a">A=0:00</div>');
        h.append('<div id="tc-sec-b">B=0:00</div>');
        h.append('<div id="tc-sec-c">C=0:00</div>');
        h.append('<div id="tc-sec-d">D=0:00</div>');
        h.append('<div id="tc-sec-e">E=0:00</div>');
        h.append('<div id="tc-sec-f">F=0:00</div>');
        h.append('<div id="tc-sec-g">G=0:00</div>');
        h.append('<div id="tc-sec-h">H=0:00</div>');
        h.append('<div id="tc-sec-i">I=0:00</div>');
        h.append('<div id="tc-sec-j">J=0:00</div>');
        h.append('<div id="tc-sec-k">K=0:00</div>');
        h.append('<div id="tc-sec-l">L=0:00</div>');
        var i = e('<div id="tc-buri"></div>');
        h.after(i);
        i.append('<div id="tc-bar-now"></div>');
        i.append('<div id="tc-bar-a"></div>');
        i.append('<div id="tc-bar-b"></div>');
        i.append('<div id="tc-bar-c"></div>');
        i.append('<div id="tc-bar-d"></div>');
        i.append('<div id="tc-bar-e"></div>');
        i.append('<div id="tc-bar-f"></div>');
        i.append('<div id="tc-bar-g"></div>');
        i.append('<div id="tc-bar-h"></div>');
        i.append('<div id="tc-bar-i"></div>');
        i.append('<div id="tc-bar-j"></div>');
        i.append('<div id="tc-bar-k"></div>');
        i.append('<div id="tc-bar-l"></div>');
        i.append('<div id="tc-bar-end"></div>');
        e("#colhead").before(g);
        return g;
    };
    function b()
    {
        return ("#vb8").hasClass("selected") || e("#vb21").hasClass("selected") || e("#vb4").hasClass("selected") && e(".tabon").text().match(/(Today|Tomorrow)/)
    }
    function d()
    {
        if (!b()) {
            f.hide();
            window.setTimeout(function ()
            {
                d()
            }, 1000);
            return
        }
        var q = {
            A : 0, B : 0, C : 0, D : 0, E : 0, F : 0, G : 0, H : 0, I : 0, J : 0, K : 0, L : 0
        };
        e(".row").each(function ()
        {
            var z = e(this).find("span[id^=con]").text().toUpperCase();
            if (z.match(/^([A-L])/))
            {
                var C = RegExp.$1;
                e("#tc-sec-h").css("border-right", "none");
                e("#tc-sec-i").hide();
                e("#tc-sec-j").hide();
                e("#tc-sec-k").hide();
                e("#tc-sec-l").hide();
                var B = e(this).find("span[class~=len]").text().split(" ");
                if ((B.length > 1) && (B[0].search(/^none/) ==- 1))
                {
                    var A = B[0];
                    var D = B[1];
                    if (D.match(/^hour/)) {
                        A = A * 60
                    }
                    if (!e(this).hasClass("rowcomp")) {
                        q[C] = parseInt(q[C], 10) + parseInt(A, 10);
                    }
                }
            }
        });
        var i = new Date();
        var w = i.getMonth() + 1;
        var y = i.getDate();
        var l = ("0" + i.getHours()).slice(-2);
        var x = ("0" + i.getMinutes()).slice(-2);
        var t = ("0" + i.getSeconds()).slice(-2);
        var o = e("#tc-wrapper").width();
        var h = false;
        var p = 6;
        var u = 0;
        if (parseInt(l, 10) < parseInt(p, 10))
        {
            u = (o * (((24 + parseInt(l, 10) - p) * 60) + parseInt(x, 10))) / (24 * 60);
            i.setDate(y - 1);
            w = i.getMonth() + 1;
            y = i.getDate();
            h = true
        }
        else {
            u = (o * (((l - p) * 60) + parseInt(x, 10))) / (24 * 60)
        }
        Math.round(u);
        var s = e(".tabon").text();
        var r = s.match(/[0-9]+/g);
        var g = false;
        if (e("#tabs").text().match(/(Today|今日)/i))
        {
            if (!h && (s.match(/Today/i) || s.match("今日"))) {
                g = true
            }
            else {
                if (h && (s.match(/Yesterday/i) || s.match("昨日"))) {
                    g = true;
                }
            }
        }
        else
        {
            if (r)
            {
                if (r.length == 2)
                {
                    if ((parseInt(r[0], 10) == parseInt(w, 10)) && (parseInt(r[1], 10) == parseInt(y, 
                    10))) {
                        g = true;
                    }
                }
                else {
                    if (parseInt(r[0], 10) == parseInt(y, 10)) {
                        g = true;
                    }
                }
            }
        }
        if (g) {
            e("#tc-bar-now").text(l + ":" + x).width(u).css("border-right", "1px solid #000")
        }
        else {
            e("#tc-bar-now").text("").width(0).css("border-right", "none")
        }
        var n = e("#tc-bar-now").width() + 1;
        var v = 0;
        e.each(q, function (C, E)
        {
            var A = parseInt(E / 60, 10);
            var B = ("0" + (E - (A * 60))).slice(-2);
            e("#tc-sec-" + C.toLowerCase()).text(C + "=" + A + ":" + B);
            if (E > 0)
            {
                var D = Math.round((o * E) / (24 * 60));
                var F;
                var z = 3 * 60;
                if (E > z) {
                    F = "#ee99bc"
                }
                else {
                    if (E > (z * 0.9)) {
                        F = "#ffd900"
                    }
                    else {
                        F = "#a7be53";
                    }
                }
                e("#tc-bar-" + C.toLowerCase()).css("left", n).width(D).css("background-color", F);
                n += D + 1;
                v += E
            }
            else {
                e("#tc-bar-" + C.toLowerCase()).width(0)
            }
        });
        var k;
        if (g) {
            k = i
        }
        else {
            k = new Date();
            k.setHours(p);
            k.setMinutes(0)
        }
        k.setMinutes(k.getMinutes() + v);
        var j = ("0" + k.getHours()).slice(-2);
        var m = ("0" + k.getMinutes()).slice(-2);
        e("#tc-bar-end").css("left", n).text(j + ":" + m);
        if (b()) {
            f.show()
        }
        else {
            f.hide()
        }
        window.setTimeout(function ()
        {
            d()
        }, 1000)
    }
    c();
    var f = a();
    d()
});