/*
* http://www.bijint.com/
*
* == Start ==
* js plugins.bijin_clock.start(min)
* min: interval minutes (default: 1)
*
* == Stop ==
* js plugins.bijin_clock.stop()
*/
let PLUGIN_INFO =
{NAME}
Bijin Clock - http://www.bijint.com
0.1
;
liberator.plugins.bijin_clock = (function(){
const BASE_URL = 'http://www.bijint.com/jp/img/photo/';
const TITLE = fromUTF8Octets("美人時計");
const NAME = "Bijin Clock";
let interval = null;
function getTimeString(date){
let time = date.toTimeString();
return time.substr(0,2) + time.substr(3,2);
}
function fromUTF8Octets(octets){
return decodeURIComponent(octets.replace(/[%\x80-\xFF]/g, function(c){
return '%' + c.charCodeAt(0).toString(16);
}));
}
function showBijinClock(){
let date = new Date;
let image_src = BASE_URL + getTimeString(date) + ".jpg";
liberator.echomsg(date.toLocaleString(), 0);
openDialog('data:application/vnd.mozilla.xul+xml;charset=utf-8,' +
<>
>.toXMLString(),
TITLE,
'chrome,dialog=yes,titlebar=no,popup=yes');
}
let self = {
start: function(){
showBijinClock();
if (interval) this.stop();
interval = window.setInterval(showBijinClock, 60 * 1000);
return interval;
},
stop: function(){
if (interval){
window.clearInterval(interval);
}
let w = Cc["@mozilla.org/appshell/window-mediator;1"]
.getService(Ci.nsIWindowMediator)
.getMostRecentWindow("alert:clock")
if (w) w.close();
},
};
setTimeout(function(){showBijinClock();}, 0);
setTimeout(function(){self.start();}, 60 * 1000 - Date.now() % (60*1000));
return self;
})();
// vim:sw=2 ts=2 et: