// しょぼいカレンダー（http://cal.syoboi.jp/）のiEPGファイルへのリンクを
// RDへのリンクへ切り替えるスクリプト
// 複数台所持者用

// ==UserScript==
// @name          syobocal_RD
// @namespace     http://zarame.com/zide/
// @include       http://cal.syoboi.jp/*
// ==/UserScript==

(function() {
// ↓書換必要箇所
// 機器名とそのURIを記述。使う台数だけ続けて書けます。
	var NAMEs = ['RD-H1', 'RD-XS31'];
	var IPs = ['192.168.1.101', '192.168.1.102'];
// ↑書換必要箇所

	var as = new Array;
	var diag = document.createElement('div');
	diag.id = 'syobocal_RD';
	GM_addStyle('#syobocal_RD {'
		+ 'position: absolute; border: 1px solid black; font-size: 11px; padding: 0px 5px; background-color: white;'
		+ 'visibitily: hidden; z-index: 1000;}');
	for(var i = 0; i < IPs.length; i++) {
		var node = document.createTextNode(NAMEs[i] + 'で予約');
		as[i] = document.createElement('a');
		var p = document.createElement('p');
		as[i].appendChild(node);
		p.appendChild(as[i]);
		p.style.margin = '0px';
		diag.appendChild(p);
	}
	document.getElementsByTagName('body')[0].appendChild(diag);

	function onEpgClick(evt) {
		for(var i = 0; i < IPs.length; i++) {
			as[i].href = 'http://' + IPs[i] + '/@@@@@@cal.syoboi.jp/iepg.php?PID=' + this.id.substring(2);
		}
		diag.style.left = (evt.clientX - 5) + 'px';
		diag.style.top = (evt.clientY  + window.pageYOffset) + 'px';
		diag.style.visibility = 'visible';
		evt.stopPropagation();
		evt.preventDefault();
	}

	window.addEventListener('load', function(e) {
		var tags = document.getElementsByTagName('a');
		for(var i = 0; i < tags.length; i++) {
			if(tags[i].href.indexOf('iepg.php') > 0) {
				tags[i].id = 'id' + tags[i].href.substring(34);
				tags[i].addEventListener('click', onEpgClick, false);
			}
		}
	}, false);

	window.addEventListener('click', function() {
		diag.style.visibility = 'hidden';
	}, false);
})();

// ChangeLog
// 2006-05-23 - 0.1 - 公開
