//File:JSFX_ImageFadeSwap.js©JavaScript-FX.com
//Author:Roy Whittle(Roy@Whittle.com)www.Roy.Whittle.com
var FadeInStep=10;var FadeOutStep=10;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("JSFX.Rollover - An Error has been detected\n"
+"----------------------------------\n"
+"You must define a JSFX.Rollover in your document\n"
+"JSFX.Rollover(\""+n+"\",\"your_on_img.gif\")\n"
+"(check the spelling of your JSFX.Rollovers)");}
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("JSFX.findImg - An Error has been detected\n"
+"----------------------------------\n"
+"You must define an image in your document\n"
+"<IMG SRC=\"your_image.ext\" NAME=\""+n+"\">\n"
+"(check the NAME= attribute of your images)");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;}