﻿// ==UserScript==
// @name        AutoReload
// @author      ma.la
// @include     file://*
// @description AutoReload LocalFile.
// @version     1.0
// ==/UserScript==

(function(){
	var trigger  = GM_getValue("trigger")  || location.href;
	var interval = GM_getValue("interval")-0 || 1000;
	interval = Math.max(100,interval);
	setInterval(function(){
		var self = arguments.callee;
		var req = new unsafeWindow.XMLHttpRequest;
		req.open("GET",trigger,true);
		req.onload = function(){
			(self.old && req.responseText != self.old) && location.reload(true);
			self.old = req.responseText;
		};
		req.send(null);
	},interval);
	GM_registerMenuCommand("config trigger file", function(){
		GM_setValue("trigger",prompt("file to watch", trigger) || (trigger != location.href) ? trigger : "" )
	});
	GM_registerMenuCommand("set interval", function(){
		GM_setValue("interval",prompt("set interval time(msec)", interval) || (interval != 1000) ? interval : "")
	});
})();