var FadeInStep 	= 20;
var FadeOutStep 	= 20;
document.write('<STYLE TYPE="text/css">.imgFader{ position:relative; filter:alpha(opacity=0); -moz-opacity:0.0 }</STYLE>');
if(!window.JSFX)
	JSFX=new Object();
JSFX.RolloverObjects=new Array();
JSFX.Rollover = function(name, img)
{JSFX.RolloverObjects[name]=new Image();
JSFX.RolloverObjects[name].img_src = img;	
if(!JSFX.Rollover.postLoad)
JSFX.RolloverObjects[name].src = img;
}
JSFX.Rollover.postLoad = false;
JSFX.Rollover.loadImages = function()
{var i;
for(i in JSFX.RolloverObjects)
{r=JSFX.RolloverObjects[i];
r.src=r.img_src;
}
}
JSFX.Rollover.error = function(n)
{
alert("1-An Error has been detected\n");
}
JSFX.getImg = function(n, d) 
{var img = d.images[n];
if(!img && d.layers)  
for(var i=0 ; !img && i<d.layers.length ; i++)
img=JSFX.getImg(n,d.layers[i].document);
return img;
}
JSFX.findImg = function(n, d) 
{var img = JSFX.getImg(n, d);
if(!img)
{
alert("2-An Error has been detected\n");
return(new Image());
}
return img;
}
JSFX.ImageFadeRunning=false;
JSFX.ImageFadeInterval=30;
JSFX.imgFadeIn = function(img, imgSrc)
{if(img) 
{if(img.state == null) 
{img.state = "OFF";
img.index = 0;
img.next_on    = null;
}
if(img.state == "OFF")
{if(img.src.indexOf(imgSrc) == -1)
img.src=imgSrc;
img.currSrc = imgSrc;
img.state = "FADE_IN";
JSFX.startFading();
}
else if( img.state == "FADE_IN_OUT"
|| img.state == "FADE_OUT_IN"
|| img.state == "FADE_OUT")
{if(img.currSrc == imgSrc)
img.state = "FADE_IN";
else
{img.next_on = imgSrc;
img.state="FADE_OUT_IN";
}
}
}
}
JSFX.imgFadeOut = function(img)
{if(img)
{
if(img.state=="ON")
{img.state="FADE_OUT";
JSFX.startFading();
}
else if(img.state == "FADE_IN")
{img.state="FADE_IN_OUT";
}
else if(img.state=="FADE_OUT_IN")
{img.next_on == null;
img.state = "FADE_OUT";
}
}
}
JSFX.startFading = function()
{
if(!JSFX.ImageFadeRunning)
JSFX.ImageFadeAnimation();
}
JSFX.ImageFadeAnimation = function()
{JSFX.ImageFadeRunning = false;
for(i=0 ; i<document.images.length ; i++)
{var img = document.images[i];
if(img.state)
{if(img.state == "FADE_IN")
{
img.index+=FadeInStep;
if(img.index > 100)
img.index = 100;
if(img.filters)
img.filters.alpha.opacity = img.index;
else
img.style.MozOpacity = img.index/101;
if(img.index == 100)
img.state="ON";
else
JSFX.ImageFadeRunning = true;
}
else if(img.state == "FADE_IN_OUT")
{img.index+=FadeInStep;
if(img.index > 100)
img.index = 100;
if(img.filters)
img.filters.alpha.opacity = img.index;
else 
img.style.MozOpacity = img.index/101;
if(img.index == 100)
img.state="FADE_OUT";
JSFX.ImageFadeRunning = true;
}
else if(img.state == "FADE_OUT")
{img.index-=FadeOutStep;
if(img.index < 0)
img.index = 0;
if(img.filters)
img.filters.alpha.opacity = img.index;
else
img.style.MozOpacity = img.index/101;
if(img.index == 0)
img.state="OFF";
else
JSFX.ImageFadeRunning = true;
}
else if(img.state == "FADE_OUT_IN")
{img.index-=FadeOutStep;
if(img.index < 0)
img.index = 0;
if(img.filters)
img.filters.alpha.opacity = img.index;
else
img.style.MozOpacity = img.index/101;
if(img.index == 0)
{img.src = img.next_on;
img.currSrc = img.next_on;
img.state="FADE_IN";
}
JSFX.ImageFadeRunning = true;
}
}
}
if(JSFX.ImageFadeRunning)
setTimeout("JSFX.ImageFadeAnimation()", JSFX.ImageFadeInterval);
}
JSFX.hasOpacity = function(obj)
{if(document.layers)
return false;
if(window.opera)
return false;
if(navigator.userAgent.toLowerCase().indexOf("mac") != -1)
return false;
return true;
}
JSFX.fadeIn = function(imgName, rollName)
{if(rollName == null)
rollName=imgName;
if(!JSFX.RolloverObjects[rollName])
{JSFX.Rollover.error(rollName);
return;
}
var img = JSFX.findImg(imgName, document);
if(JSFX.hasOpacity(img))
JSFX.imgFadeIn(img, JSFX.RolloverObjects[rollName].img_src);
else
{if(img.offSrc==null)
img.offSrc=img.src;
img.src=JSFX.RolloverObjects[rollName].img_src;
}
}
JSFX.fadeOut = function(imgName)
{var img = JSFX.findImg(imgName, document);
if(JSFX.hasOpacity(img))
JSFX.imgFadeOut(img);
else
img.src=img.offSrc;
}
JSFX.imgOn = function(imgName, rollName)
{if(rollName == null)
rollName=imgName;
if(!JSFX.RolloverObjects[rollName])
{JSFX.Rollover.error(rollName);
return;
}
var img = JSFX.findImg(imgName,document);
if(img.offSrc==null)
img.offSrc=img.src;
img.src=JSFX.RolloverObjects[rollName].img_src;
}
JSFX.imgOff = function(imgName)
{var img = JSFX.findImg(imgName,document);
img.src=img.offSrc;
}
