defBgcol = "#ffd700";
defFgcol = "#008000";
hovFgcol = "#ffffff";
sttcol = new Array(255,255,255);
endcol = new Array(255,45,33);
span = 30;
speed = 20;

sp = 100;
var FD;
flock = 1;

var fd
var lock;
marge = new Array();
intcol = new Array();
source = new Array();
source['pf'] = '';
source['ud'] = '';

dmy = new Image();
dmy.src = "/image/hybrid-m.gif";
afIm1 = "https://manage.tsukaeru.net/hspc/partner/affiliate_c.php?pid=604";

for(i in endcol)
	marge[i] = (sttcol[i] - endcol[i]) / span;

function over() {

	lock = 0;
	obj = this;
	tbl = obj.parentNode.parentNode.parentNode;
	obj.style.color = hovFgcol;
	setcol = new Array(sttcol[0], sttcol[1], sttcol[2]);
	s = 0;
	fade();
}

function fade() {

	for(i in setcol) {
		if(s) setcol[i] -= marge[i];
		intcol[i] = Math.floor(setcol[i]);
	}
	obj.style.background = "rgb(" + intcol.join(",") + ")";
	tbl.style.background = "rgb(" + intcol.join(",") + ")";
	if(s++ < span)
		fd = setTimeout("fade()", speed);
}

function out(x,p) {

	obj = (p) ? p : this;
	if(lock) return;
	clearTimeout(fd);
	tbl = obj.parentNode.parentNode.parentNode;
	obj.style.background = defBgcol;
	obj.style.color = defFgcol;
	tbl.style.background = defBgcol;
}

function active() {

	lock = 1;
	clearTimeout(fd);
	tbl = this.parentNode.parentNode.parentNode;
	this.style.background = "rgb(" + endcol.join(",") + ")";
	tbl.style.background = "rgb(" + endcol.join(",") + ")";
	obj.style.color = hovFgcol;
}

function unactive() {

	lock = 0;
	tbl = this.parentNode.parentNode.parentNode;
	this.style.background = defBgcol;
	tbl.style.background = defBgcol;
	obj.style.color = defFgcol;
}

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;
	}
}

function menu(md) {

	if(flock) return;
	get_scroll_max();

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

	scroll_top = (document.all) ? document.body.scrollTop : self.pageYOffset;

	if(! source[md]) {
		source[md] = document.getElementById(md + "_menu").innerHTML;
		source[md] = "<table id=ol_outer><td width=" + selfW + " height=" + selfH + ">" + source[md] + "</td></table>";
	}

	obj = document.getElementById("overlay");

	with(obj.style) {
		width = maxX;
		height = maxY;
		left = 0
		top = 0;
	}

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

	obj = document.getElementById(md + "_menu");

	with(obj.style) {
		height = selfH;
		top = scroll_top;
		zIndex = 200;
	}

	menutbl = obj.getElementsByTagName("table")[0];
	fn = 0;
	layfade();
}

function layfade() {

	clearTimeout(FD);
	fn ++;
	op = (cmd == 'filter') ? "alpha(opacity=" + (fn * 10) + ")" : fn / 10;
	menutbl.style[cmd] = op;
	if(fn <= 9)
		FD = setTimeout("layfade()", sp);
}

function menu_close(md) {

	get_scroll_max();

	document.getElementById(md + "_menu").style.top = -1000;

	document.getElementById("overlay").innerHTML = '';
	with(document.getElementById("overlay").style) {
		top = maxY * -1.5;
	}

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

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 counterImSmp() {

	smp = window.open("/counter_img/", "smp", "width=600,height=400,scrollbars,resizable");
	smp.focus();
}

function init() {

	if(! document.getElementById) return;
	list = document.getElementById("menu").getElementsByTagName("a");
	for(i = 0; i < list.length; i ++) {
		list[i].onmouseover = over;
		list[i].onmouseout = out;
		list[i].onfocus = active;
		list[i].onblur = unactive;
	}
	for(i = 0; i < list.length; i ++) {
		out(0,list[i]);
	}
	gBox = document.getElementById("gtbx");
	gBox.onfocus = gFocus;
	gBox.onblur = gBlur;
	gBlur();
	agt = navigator.userAgent;
	cmd = (agt.match(/firefox/i)) ? 'MozOpacity'
	 : (agt.match(/safari/i)) ? 'Opacity'
	 : (document.all && ! window.opera) ? 'filter'
	 : '';
	ba = document.getElementById("books-a");
	imo1 = document.getElementById("hybrid-s");
	imo2 = document.getElementById("hybrid-m");
	imo2.style.top = (dmy.height - imo1.height + 1) * -1;
	ba.onmouseover = function() {
		imo2.style.display = "block";
	}
	ba.onmouseout = function() {
		imo2.style.display = "none";
	}
	sel = document.getElementsByTagName("select");
	flock = 0;
	im = document.getElementsByTagName("img");
	for(i = 0; i < im.length; i ++) {
		if(im[i].className == "dummy") im[i].src = afIm1;
	}
	if(document.getElementById("dm")) {
		o = document.getElementById("dm");
		s = (o.title) ? "?Subject=" + o.title : "";
		o.href = "mai" + "lto" + ":" + "info" + "rma" + "tion" + "@" + "cgi" + "script" + "market" + "." + "com" + s;
		o.title = "";
	}

	if(document.getElementById("script")) {
		im_smp = new Array();
		im_dl = new Array();
		for(i = 0; i <= 1; i ++) {
			im_smp[i] = new Image();
			im_smp[i].src = "/image/smp-" + i + ".gif";
			im_dl[i] = new Image();
			im_dl[i].src = "/image/dl-" + i + ".gif";
		}
		swim = document.getElementById("script").getElementsByTagName("img");
		for(i = 0; i < swim.length; i ++) {
			swim[i].onmouseover = function() {
				this.src = (this.src.match(/smp/)) ? im_smp[1].src : im_dl[1].src;
			}
			swim[i].onmouseout = function() {
				this.src = (this.src.match(/smp/)) ? im_smp[0].src : im_dl[0].src;
			}
		}
	}
}

onload = init;
