// JavaScript Library for illmue //////////////////////////////////////////
//
// ## Include Functions ##
//     - MM_findObj()
//     - MM_swapImage()
//     - MM_swapImgRestore()
//     - MM_preloadImages()
//     - MM_showHideLayers()
//
///////////////////////////////////////////////////////////////////////////

function MM_findObj(n, d)
{
	var p, i, x;
	if(!d)
		d = document;
	if((p = n.indexOf("?")) > 0 && parent.frames.length)
	{
    	d = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0, p);
	}
	if(!(x = d[n]) && d.all)
		x = d.all[n];
	for(i = 0; !x && i < d.forms.length; i++)
		x = d.forms[i][n];
	for(i = 0; !x && d.layers && i < d.layers.length; i++)
		x = MM_findObj(n, d.layers[i].document);
	if(!x && d.getElementById)
		x = d.getElementById(n);
	return x;
}


// Rollover ---------------------------------------------------------------
function MM_swapImage()
{
	var i, j = 0, x, a = MM_swapImage.arguments;
	document.MM_sr = new Array;
	for(i = 0; i < (a.length - 2); i += 3)
		if((x = MM_findObj(a[i])) != null)
		{
			document.MM_sr[j++] = x;
			if(!x.oSrc)
				x.oSrc = x.src;
			x.src = a[i + 2];
		}
}

function MM_swapImgRestore()
{
	var i, x, a = document.MM_sr;
	for(i = 0; a && i < a.length && (x = a[i]) && x.oSrc ; i++)
		x.src = x.oSrc;
}


// PreloadImages ----------------------------------------------------------
function MM_preloadImages()
{
	var d = document;
	if(d.images)
	{
		if(!d.MM_p)
			d.MM_p = new Array();
		var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
		for(i = 0; i < a.length; i++)
		{
			if (a[i].indexOf("#") != 0)
			{
				d.MM_p[j] = new Image;
				d.MM_p[j++].src = a[i];
			}
		}
	}
}


// ShowHideLayers ---------------------------------------------------------
function MM_showHideLayers()
{
	var i, p, v, obj, args = MM_showHideLayers.arguments;
	for(i = 0; i < (args.length - 2); i += 3)
		if((obj = MM_findObj(args[i])) != null)
		{
			v = args[i + 2];
			if(obj.style)
			{
				obj = obj.style;
				v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden': v;
			}
			obj.visibility = v;
	}
}


