//====_ Root-Sea, Inc. JavaScript Library _====//
/*-----------------------------------------------------
== Layer Control Library == [2001/10/1]
2001-2002 (C) Root-Sea, Inc. All Rights Reserved.
Author:yoshihiro fujita

[2001.11.9 added]
getLayerPositionX, getLayerPositionY, slideLayerX,
slideLayerY, moveLayer, slideLayer

[2001.12.22 added]
getZindex, changeZindex, getClip, changeClip
-----------------------------------------------------*/

//::::Get Layer Object
function getLayerObject(layID, p_layID) {
	var i, o;
	if (document.all) {
		o = document.all[layID];
	}
	else if (document.layers) {
		if (!!p_layID) {
			o = document.layers[p_layID].document.layers[layID];
		}
		else {
			o = document.layers[layID];
		}
	}
	else if (document.getElementById) {
		o = document.getElementById(layID);
	}
	return o;
}


//::::Get Layer Width,Height [2002.02.27 modify]
//__ [ua_lib.js] is required before performing this library.
function getLayerSize(layID, which) {
	var ver4 = (gVer == 4);
	var plf = (gPlf == "MAC");
	var s;
	// Get Width Size
	if (which == "width") {
		if (document.all || document.getElementById) {
			if (ver4 && plf) {
				s = parseInt(layID.style.pixelWidth);
			}
			else {
				s = parseInt(layID.offsetWidth);
			}
		}
		else if (document.layers) {
			s = parseInt(layID.clip.width);
		}
	}
	// Get Height Size
	if (which == "height") {
		if (document.all || document.getElementById) {
			if (ver4 && plf) {
				s = parseInt(layID.style.pixelHeight);
			}
			else {
				s = parseInt(layID.offsetHeight);
			}
		}
		else if (document.layers) {
			s = parseInt(layID.clip.height);
		}
	}
	return s;
}


//::::Get Layer Visibility
function layerVisibility(layID) {
	var v;
	if (document.all || document.getElementById) {
		v = layID.style.visibility == "visible";
	}
	else if (document.layers) {
		v = layID.visibility == "show";
	}
	return v;
}


//::::Show Layer
function showLayer(layID) {
	if (document.all || document.getElementById) {
		layID.style.visibility = "visible";
	}
	else if (document.layers) {
		layID.visibility = "show";
	}
}


//::::Hide Layer
function hideLayer(layID) {
	if (document.all || document.getElementById) {
		layID.style.visibility = "hidden";
	}
	else if (document.layers) {
		layID.visibility = "hide";
	}
}


//::::Get Layer Position X [2001.12.26 modify]
function getLayerPositionX(layID, which) {
	var x;
	// Get Left Position
	if (which == "left") {
		if (document.all) {
			x = parseInt(layID.style.posLeft);
		}
		else if (document.layers) {
			x = parseInt(layID.left);
		}
		else if (document.getElementById && !document.all) {
			x = parseInt(layID.style.left);
		}
	}
	// Get Right Position
	else if (which == "right") {
		if (document.all) {
			x =  parseInt(layID.style.posLeft) + getLayerSize(layID, "width");
		}
		if (document.layers) {
			x = parseInt(layID.left) + getLayerSize(layID, "width");
		}
		else if (document.getElementById && !document.all) {
			x = parseInt(layID.style.left) + getLayerSize(layID, "width");
		}
	}
	return x;
}


//::::Get Layer Position Y [2001.12.26 modify]
function getLayerPositionY(layID, which) {
	var y;
	// Get Top Position
	if (which == "top") {
		if (document.all) {
			y = parseInt(layID.style.posTop);
		}
		else if (document.layers) {
			y = (layID.top);
		}
		else if (document.getElementById && !document.all) {
			y = parseInt(layID.style.top);
		}
	}
	// Get Bottom Position
	else if (which == "bottom") {
		if (document.all) {
			y = parseInt(layID.style.posTop) + getLayerSize(layID, "height");
		}
		else if (document.layers) {
			y = parseInt(layID.top) + getLayerSize(layID, "height");
		}
		else if (document.getElementById && !document.all) {
			y = parseInt(layID.style.top) + getLayerSize(layID, "height");
		}
	}
	return y;
}


//::::Slide Layer X
function slideLayerX(layID, mvX) {
	if (document.all) {
		layID.style.posLeft += mvX;
	}
	else if (document.layers) {
		layID.left += mvX;
	}
	else if (document.getElementById && !document.all) {
		layID.style.left = parseInt(layID.style.left) + mvX;
	}
}


//::::Slide Layer Y
function slideLayerY(layID, mvY) {
	if (document.all) {
		layID.style.posTop += mvY;
	}
	else if (document.layers) {
		layID.top += mvY;
	}
	else if (document.getElementById && !document.all) {
		layID.style.top = parseInt(layID.style.top) + mvY;
	}
}


//::::Move Layer
function moveLayer(layID, mvX, mvY) {
	if (document.all) {
		layID.style.posTop = mvY;
		layID.style.posLeft = mvX;
	}
	else if (document.layers) {
		layID.moveTo(mvX, mvY);
	}
	else if (document.getElementById && !document.all) {
		layID.style.top = mvY;
		layID.style.left = mvX;
	}
}


//::::Resize Layer
function resizeLayer(layID, Xpx, Ypx) {
	if (document.all) {
		layID.style.width = Xpx;
		layID.style.height = Ypx;
	}
	else if (document.layers) {
		layID.resizeTo(Xpx, Ypx);
	}
}


//::::Get Z-index
function getZindex(layID) {
	var z;
	if (document.all) {
		z = layID.style.zIndex;
	}
	else if (document.layers) {
		z = layID.zIndex;
	}
	return z;
}


//::::Change Z-index
function changeZindex(layID,order) {
	if (document.all) {
		layID.style.zIndex = order;
	}
	else if (document.layers) {
		layID.zIndex = order
	}
}


//::::Get Clip
function getClip(layID) {
	var t, r, b, l;
	if (document.all) {
		var clipV = layID.style.clip;
		var clipAry = clipV.substring(clipV.indexOf("(") + 1,clipV.indexOf(")")).split(" ");
		t = parseInt(clipAry[0]);
		r = parseInt(clipAry[1]);
		b = parseInt(clipAry[2]);
		l = parseInt(clipAry[3]);
	}
	else if (document.layers) {
		t = layID.clip.top;
		r = layID.clip.right;
		b = layID.clip.bottom;
		l = layID.clip.left
	}
	return (t + "-" + r + "-" + b + "-" + l).split("-");
}


//::::Change Clip
function chageClip(layID, T, R, B, L) {
	if (document.all) {
		layID.style.clip = "rect(" + T + "px," + R + "px," + B + "px," + L + "px)";
	}
	else if (document.layers) {
		layID.clip.top = T;
		layID.clip.right = R;
		layID.clip.bottom = B;
		layID.clip.left = L;
	}
}