function FWFindLayer(lay)
{
	if (lay)
	{
		if (document.layers) 
			return document[lay];
		else if (document.getElementById)
			return document.getElementById(lay).style;
		else if (document.all) 
			return document.all[lay].style;
	}
	return null;
}


function FWShowHideLayer(lay, vis, ch)
{
	if (ch && lay != "") 
	{
		vis = (vis) ? "visible" : "hidden";
		var obj = FWFindLayer(lay);
		if (obj && obj.visibility != vis) 
			obj.visibility = vis; 
	}
}


function FWStripFileFromFilterString(filterString)
{
	var start,end;
	var strSrc = "src='";
	var strRes = "";

	start = filterString.indexOf(strSrc);

	if(start != -1)
	{
		start += strSrc.length;
		
		end = filterString.indexOf("',",start);
		if(end != -1)
		{
			strRes = filterString.substring(start,end);
		}
	}

	return strRes;
}


var fwIsNetscape = navigator.appName == 'Netscape';


fwLoad = new Object;
function FWLoad(image)
{
	if (!document.images)
		return null;
	if (!fwLoad[image])
	{
		fwLoad[image]=new Image;
		fwLoad[image].src=image;
	}
	return fwLoad[image].src;
}


fwRestore = new Object;
function FWRestore(msg,chain) 
{
	if (document.images) 
		for (var i in fwRestore)
		{
			var r = fwRestore[i];
			if (r && (!chain || r.chain==chain) && r.msg==msg)
			{
				r.src = FWLoad(r.old);
				fwRestore[i]=null;
			}
		}
}


function FWLSwap(name,msg,newImg,layer,chain,trigger) 
{
	var r = fwRestore[name];
	if (document.images && (!r || r.msg < msg)) 
	{
		var uselayers = fwIsNetscape && document.layers && layer != '';
		var hld;
		if (uselayers)
			hld = document.layers[layer].document;
		else
			hld = (document.all) ? document.all : document;
		var im = hld[name];
		//alert(im);
		if (!im.old)
		{
			if(usingIEFix && im.runtimeStyle.filter)
				im.old = FWStripFileFromFilterString(im.runtimeStyle.filter);
			else
				im.old = im.src;
		}
		
		im.msg = msg;
		im.chain = chain;
		im.trigger = trigger;
		if (newImg) im.src = FWLoad(newImg);
		fwRestore[name] = im;
	}
}


function FWCallHit(func,targNum,msg)
{
	if(func)
		for (var i in func)
			func[i](targNum,msg);
}
function FW_Hit(frameset,chain,targNum,msg)
{
	if (frameset && frameset.length)
		for (var i=0 ; i <frameset.length ; i++)
		{
			FW_Hit(frameset[i].frames,chain,targNum,msg);
			FWCallHit(top["FT_"+chain],targNum,msg);
			FWCallHit(frameset[i].window["FT_"+chain],targNum,msg);
		}
	else
		FWCallHit(window["FT_"+chain],targNum,msg);
}


fwHit = new Object;
function FWSlave(frameset,chain,targNum,msg)
{
	if (msg==1) fwHit[chain]=targNum;
	FW_Hit(frameset,chain,targNum,1);
}

function FWSRestore(frameset,chain)
{
	var hit=fwHit[chain];
	if (hit)
		FW_Hit(frameset,chain,hit,0);
	fwHit[chain]=null;
}

function FWPreload()
{
	FWLoad("Resources/tab1a.gif");
	FWLoad("Resources/tab1.gif");
	FWLoad("Resources/tab2a.gif");
	FWLoad("Resources/tab2.gif");
	FWLoad("Resources/tab3-roa.gif");
	FWLoad("Resources/tab3-ro.gif");
}


function FWImage_Indigo(chain,msg)
{
	if (chain==2)
		FWShowHideLayer("info-panel-2",msg,msg);
	else 
		FWShowHideLayer("info-panel-2",!msg,msg);
	if (chain==3)
		FWShowHideLayer("info-panel-3",msg,msg);
	else 
		FWShowHideLayer("info-panel-3",!msg,msg);
	if (chain==1)
		FWShowHideLayer("info-panel-1",msg,msg);
	else 
		FWShowHideLayer("info-panel-1",!msg,msg);
}
window.FT_Indigo=new Object;
window.FT_Indigo['0']=FWImage_Indigo;