function image_load (src) {
	var i=new Image;
	i.src=src;
	return i;
}


function image_change (img, lib, ref) {
	if (!document.images)
		return;
	if ( document.images[img] )
		document.images[img].src = lib[ref].src;
}

function layer_image_change (div, img, lib, ref) {
	var i;

	if (!document.images)
		return;

	if (document.layers)
		i = document.layers[div].document.images;
	else
		i = document.all[div].document.images;

	i[img].src = lib[ref].src;
}

function layer_object(name) {
	if (document.layers) {
		if (document.layers[name])
			return document.layers[name];
	} else {
		if (document.all[name])
			return document.all[name];
	}
}

function layer_size_x (name) {
	if (document.layers) {
		if (document.layers[name])
			return document.layers[name].clip.width;
	} else {
		if (document.all[name])
			return document.all[name].offsetWidth;
	}
}

function layer_size_y (name) {
	if (document.layers) {
		if (document.layers[name])
			return document.layers[name].clip.height;
	} else {
		if (document.all[name])
			return document.all[name].offsetHeight;
	}
}

function layer_x(name) {
	if (document.layers) {
		if (document.layers[name])
			return document.layers[name].pageX;
	} else {
		if (document.all[name]) {
			var obj = document.all[name];
			var sum = 0;
			do
				sum += obj.offsetLeft;
			while ( (obj = obj.offsetParent) );
			return sum;
		}
	}
}

function layer_y(name) {
	if (document.layers) {
		if (document.layers[name])
			return document.layers[name].pageY;
	} else {
		if (document.all[name] && document.all[name].style)
			var obj = document.all[name];
			var sum = 0;
			do
				sum += obj.offsetTop;
			while ( (obj = obj.offsetParent) );
			return sum;
	}
}

function layer_move (name,x,y) {
	if (document.layers) {
		if (document.layers[name]) {
			document.layers[name].pageX = document.layers[name].left - document.layers[name].pageX + x;
			document.layers[name].pageY = document.layers[name].top - document.layers[name].pageY + y;
		}
	} else {
		if (document.all[name]) {
			var obj = document.all[name];
			var xsum = 0;
			var ysum = 0;
			while ( (obj = obj.offsetParent) ) {
				xsum += obj.offsetLeft;
				ysum += obj.offsetTop;
			}

			document.all[name].style.left = x-xsum;
			document.all[name].style.top = y-ysum;
		}
	}
}

function layer_show (name) {
	if (document.layers) {
		if (document.layers[name])
			document.layers[name].visibility = "show";
	} else {
		if (document.all[name] && document.all[name].style)
			document.all[name].style.visibility = "visible";
	}
}

function layer_hide (name) {
	if (document.layers) {
		if (document.layers[name])
			document.layers[name].visibility = "hide";
	} else {
		if (document.all[name] && document.all[name].style)
			document.all[name].style.visibility = "hidden";
	}
}

function window_width() {
	if ( navigator_explorer() )
		return document.body.offsetWidth;
	if ( navigator_netscape() )
		return window.innerWidth+4;
}

function window_height() {
	if ( navigator_explorer() )
		return document.body.offsetHeight;
	if ( navigator_netscape() )
		return window.innerHeight;
}


function navigator_explorer() {
	return ( navigator.appName.indexOf('Explorer') != -1);
}

function navigator_netscape() {
	return ( navigator.appName.indexOf('Netscape') != -1);
}
