agt = navigator.userAgent;
cmd = (agt.match(/firefox/i)) ? "MozOpacity"
 : (agt.match(/safari/i)) ? "Opacity"
 : (document.all && ! window.opera) ? "filter"
 : "";

resept = new Image();
resept.src = "/image/resept.gif";

document.write("<div id=overlay></div><table id=imtbl><td><table id=imbdr align=center><td><img src='/image/resept.gif' id=display title= '※クリックで閉じます'></td></table></td></table>");
scr = document.getElementById("overlay");
outer = document.getElementById("imtbl");
inner = document.getElementById("imbdr");
disp = document.getElementById("display");

flock = 1;
sp = 50;
var FD, tmr;

afIm1 = "https://manage.tsukaeru.net/hspc/partner/affiliate_c.php?pid=604";

function gFocus() {
	gBox.style.background = "#ffffff";
}

function gBlur() {
	gBox.style.background = (gBox.value)? "#ffffff" : "#ffffff url(/image/google-tbx.gif) 3px center no-repeat";
}

function get_scroll_max() {

	if(self.innerHeight && self.scrollMaxY) {	
		maxX = document.body.scrollWidth;
		maxY = self.innerHeight + self.scrollMaxY;
	}
	else if(document.body.scrollHeight > document.body.offsetHeight){
		maxX = document.body.scrollWidth;
		maxY = document.body.scrollHeight;
	}
	else {
		maxX = document.body.offsetWidth;
		maxY = document.body.offsetHeight;
	}

	if(document.body.clientWidth) {
		selfW = document.body.clientWidth;
		selfH = document.body.clientHeight;
	}
	else if(self.innerHeight) {
		selfW = self.innerWidth;
		selfH = self.innerHeight;
	}
	else if(document.documentElement && document.documentElement.clientHeight) {
		selfW = document.documentElement.clientWidth;
		selfH = document.documentElement.clientHeight;
	}
}

function im_open(im) {

	if(flock) return;

	disp.src = resept.src;
	get_scroll_max();

	scroll_top = (document.all) ? document.body.scrollTop : self.pageYOffset;
	scr.style.display = "block";
	scr.style.width = maxX;
	scr.style.height = maxY;
	outer.style.height = selfH;
	outer.style.top = scroll_top;

	if(document.all)
		for(i = 0; i < sel.length; i ++)
			sel[i].style.visibility = 'hidden';

	im_obj = document.createElement("img");
	im_obj.onload = im_load;
	im_obj.setAttribute("src", im);
}

function im_load() {

	imW = im_obj.width;
	imH = im_obj.height;
	pw = Math.ceil(imW / 20);
	ph = Math.ceil(imH / 20);

	if(imW > maxX) scr.style.width = imW;
	outer.style.zIndex = 20;

	aw = ah = 0;
	while(aw < 50 && ah < 50) {
		aw += pw;
		ah += ph;
	}
	setTimeout("area_set()", 0);
}

function area_set() {

	clearTimeout(tmr);

	aw = (aw + pw > imW) ? imW : aw + pw;
	ah = (ah + ph > imH) ? imH : ah + ph;

	inner.style.width = aw + "px";
	inner.style.height = ah + "px";

	if(aw < imW || ah < imH)
		tmr = setTimeout("area_set()", 20);
	else {
		with(disp.style) (cmd == 'filter') ? filter = "alpha(opacity=0)" : opacity = 0;
		tmr = setTimeout("im_set()", 500);
	}
}

function im_set() {

	clearTimeout(tmr);

	disp.src = im_obj.src;
	fn = 0;
	layfade();

	get_scroll_max();
	scr.style.width = maxX;
	scr.style.height = maxY;
}

function layfade() {

	clearTimeout(FD);
	fn ++;
	with(disp.style) (cmd == 'filter') ? filter = "alpha(opacity=" + (fn * 10) + ")" : opacity = fn / 10;
	window.self.onresize = layResize;
	if(fn <= 9)
		FD = setTimeout("layfade()", sp);
}

function im_close() {

	clearTimeout(tmr);
	clearTimeout(FD);
	get_scroll_max();

	disp.src = resept.src;
	with(disp.style) (cmd == 'filter') ? filter = "alpha(opacity=100)" : opacity = 1;
	inner.style.width = "50px";
	inner.style.height = "50px";
	outer.style.top = -1000;
	outer.style.zIndex = 5;
	scr.style.display = "none";

	if(document.all)
		for(i = 0; i < sel.length; i ++)
			sel[i].style.visibility = 'visible';
}

function layResize() {
	task = (scr.style.display == "block") ? "block" : "none";
	scrW = parseInt(scr.style.width);
	get_scroll_max();
	scr.style.width = (scrW > maxX) ? maxX + "px" : "100%";
	scr.style.height = maxY + "px";
	scr.style.display = task;
}

function init() {
	a = document.getElementsByTagName("a");
	for(i = 0; i < a.length; i ++) {
		if(String(a[i].href).match(/\/image\//))
			a[i].onclick = function() { im_open(this.href); return false; }
	}

	document.getElementById("overlay").onclick = im_close;
	document.getElementById("imtbl").onclick = im_close;
	sel = document.getElementsByTagName("select");

	window.self.onresize = layResize;
	flock = 0;

	gBox = document.getElementById("gtbx");
	gBox.onfocus = gFocus;
	gBox.onblur = gBlur;
	gBlur();
	if(document.getElementById("tb")) {
		document.getElementById("tb").onfocus = function() {
			document.getElementById("tb").select();
		}
		document.getElementById("tb").onclick = function() {
			document.getElementById("tb").select();
		}
	}
	if(! document.all) return;

	no_flow = new Array("month", "category");
	for(i in no_flow) {
		if(! document.getElementById(no_flow[i])) continue;
		o = document.getElementById(no_flow[i]);
		o.style.height = 150;
		o.style.overflow = "visible";
		if(parseInt(o.clientHeight) > 150)
			o.style.overflowY = "scroll";
		else
			o.style.height = "auto";
	}
	im = document.getElementsByTagName("img");
	for(i = 0; i < im.length; i ++) {
		if(im[i].className == "dummy") im[i].src = afIm1;
	}
}

onload = init;
