// ISF1.11 :: Image swap-fade
// *****************************************************
// DOM scripting by brothercake -- http://www.brothercake.com/
//******************************************************
//global object
var isf = { 'clock' : null, 'fade' : true, 'count' : 1 }
/*******************************************************



/*****************************************************************************
 List the images that need to be cached
*****************************************************************************/

/*isf.imgs = [
 '../../imgs/accueil/1.jpg',
'../../imgs/accueil/2.jpg'
'../../imgs/accueil/3.jpg'
'../../imgs/accueil/4.jpg'
'../../imgs/accueil/5.jpg'
'../../imgs/accueil/6.jpg'
'../../imgs/accueil/7.jpg'
'../../imgs/accueil/8.jpg'
'../../imgs/accueil/9.jpg'
'../../imgs/accueil/10.jpg'
'../../imgs/accueil/11.jpg'
'../../imgs/accueil/12.jpg'
'../../imgs/accueil/13.jpg'
'../../imgs/accueil/14.jpg'
'../../imgs/accueil/15.jpg'
'../../imgs/accueil/16.jpg'
'../../imgs/accueil/17.jpg'
'../../imgs/accueil/18.jpg'
'../../imgs/accueil/19.jpg'
'../../imgs/accueil/20.jpg'
'../../imgs/accueil/21.jpg'
'../../imgs/accueil/22.jpg'
'../../imgs/accueil/23.jpg'
'../../imgs/accueil/24.jpg'
'../../imgs/accueil/25.jpg'
'../../imgs/accueil/26.jpg'
'../../imgs/accueil/27.jpg'
'../../imgs/accueil/28.jpg'

 ];*/
isf.imgs = [ '',''];
/*****************************************************************************
*****************************************************************************/



//cache the images
isf.imgsLen = isf.imgs.length;
isf.cache = [];
for(var i=0; i<isf.imgsLen; i++)
{
 isf.cache[i] = new Image;
 isf.cache[i].src = isf.imgs[i];
}


//swapfade setup function
function swapfade()
{
 //if the timer is not already going
 if(isf.clock == null)
 {
 //copy the image object
 isf.obj = arguments[0];

 //copy the image src argument
 isf.src = arguments[1];

 //store the supported form of opacity
 if(typeof isf.obj.style.opacity != 'undefined')
 {
 isf.type = 'w3c';
 }
 else if(typeof isf.obj.style.MozOpacity != 'undefined')
 {
 isf.type = 'moz';
 }
 else if(typeof isf.obj.style.KhtmlOpacity != 'undefined')
 {
 isf.type = 'khtml';
 }
 else if(typeof isf.obj.filters == 'object')
 {
 //weed out win/ie5.0 by testing the length of the filters collection (where filters is an object with no data)
 //then weed out mac/ie5 by testing first the existence of the alpha object (to prevent errors in win/ie5.0)
 //then the returned value type, which should be a number, but in mac/ie5 is an empty string
 isf.type = (isf.obj.filters.length > 0 && typeof isf.obj.filters.alpha == 'object' && typeof isf.obj.filters.alpha.opacity == 'number') ? 'ie' : 'none';
 }
 else
 {
 isf.type = 'none';
 }

 //change the image alt text if defined
 if(typeof arguments[3] != 'undefined' && arguments[3] != '')
 {
 isf.obj.alt = arguments[3];
 }

 //if any kind of opacity is supported
 if(isf.type != 'none')
 {
 //copy and convert fade duration argument
 //the duration specifies the whole transition
 //but the swapfade is two distinct transitions
 isf.length = parseInt(arguments[2], 10) * 500;

 //create fade resolution argument as 20 steps per transition
 //again, split for the two distrinct transitions
 isf.resolution = parseInt(arguments[2], 10) * 10;

 //start the timer
 isf.clock = setInterval('isf.swapfade()', isf.length/isf.resolution);
 }

 //otherwise if opacity is not supported
 else
 {
 //just do the image swap
 isf.obj.src = isf.src;
 }

 }
};


//swapfade timer function
isf.swapfade = function()
{
 //increase or reduce the counter on an exponential scale
 isf.count = (isf.fade) ? isf.count * 0.9 : (isf.count * (1/0.9));

 //if the counter has reached the bottom
 if(isf.count < (1 / isf.resolution))
 {
 //clear the timer
 clearInterval(isf.clock);
 isf.clock = null;

 //do the image swap
 isf.obj.src = isf.src;

 //reverse the fade direction flag
 isf.fade = false;

 //restart the timer
 isf.clock = setInterval('isf.swapfade()', isf.length/isf.resolution);

 }

 //if the counter has reached the top
 if(isf.count > (1 - (1 / isf.resolution)))
 {
 //clear the timer
 clearInterval(isf.clock);
 isf.clock = null;

 //reset the fade direction flag
 isf.fade = true;

 //reset the counter
 isf.count = 1;
 }

 //set new opacity value on element
 //using whatever method is supported
 switch(isf.type)
 {
 case 'ie' :
 isf.obj.filters.alpha.opacity = isf.count * 100;
 break;

 case 'khtml' :
 isf.obj.style.KhtmlOpacity = isf.count;
 break;

 case 'moz' :
 //restrict max opacity to prevent a visual popping effect in firefox
 isf.obj.style.MozOpacity = (isf.count == 1 ? 0.9999999 : isf.count);
 break;

 default :
 //restrict max opacity to prevent a visual popping effect in firefox
 isf.obj.style.opacity = (isf.count == 1 ? 0.9999999 : isf.count);
 }
};




function scrollmarquee(){
if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+1))
cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px"
else
cross_marquee.style.top=parseInt(marqueeheight)+1+"px"
}

function initializemarquee(){
cross_marquee=document.getElementById("vmarquee")
cross_marquee.style.top=0
marqueeheight=document.getElementById("marqueecontainer").offsetHeight
actualheight=cross_marquee.offsetHeight
if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ //if Opera or Netscape 7x, add scrollbars to scroll and exit
cross_marquee.style.height=marqueeheight+"px"
cross_marquee.style.overflow="scroll"
return
}
setTimeout('lefttime=setInterval("scrollmarquee()",30)', delayb4scroll)
}




