
/* Randomize script */
function randomizeArray ( myArray ) {
   var i = myArray.length;
   if ( i == 0 ) return false;
   while ( --i ) {
      var j = Math.floor( Math.random() * ( i + 1 ) );
      var tempi = myArray[i];
      var tempj = myArray[j];
      myArray[i] = tempj;
      myArray[j] = tempi;
   }
   return myArray;
}

/* Change banners */
function ChangeBanners( carrousel )
{
   var newIds = randomizeArray( GetNewIds( carrousel ) );
   var newId = null;
   for( i = 0; i < carrousel.displayCount; i++ ) 
   {
      newId = newIds[ i ];
      
      var bannerLinkObject = document.getElementById( 'bannerLink' + carrousel.id + '[' + i + ']' );
      var bannerImageObject = document.getElementById( 'bannerImage' + carrousel.id + '[' + i + ']' );
      
      // Check if a flash movie needs to be inserted.
      if ( /\.swf$/.test( carrousel.bannerImages[ newId ].src ) ) {
      
            // Insert flash movie.
            var so = new SWFObject(
            carrousel.bannerImages[ newId ].src, // Flash file
            'bannerFlashObject' + carrousel.id + '[' + i + ']', // Div name
            carrousel.bannerImages[ newId ].width, // Flash width
            carrousel.bannerImages[ newId ].height, // Flash height
            "8", // Flash version
            "#FFFFFF" ); // Background-color
            so.write( bannerLinkObject );

            // IE6 ftw.            
            if (document.all) {
                document.getElementById( 'bannerFlashObject' + carrousel.id + '[' + i + ']' ).setAttribute( "width", "120" );
                document.getElementById( 'bannerFlashObject' + carrousel.id + '[' + i + ']' ).setAttribute( "height", "60" );
            }
            
      } else {

        // If a flash movie exists...
        if ( bannerLinkObject.getElementsByTagName("embed").length > 0 || bannerLinkObject.getElementsByTagName("object").length > 0 ) {
            // ...replace Flash movie by image.
            
            // Create image.
            var img = document.createElement("img");
            img.setAttribute( "id", 'bannerImage' + carrousel.id + '[' + i + ']' );
            img.setAttribute( "width", ( (carrousel.bannerImages[ newId ].width>0) ? carrousel.bannerImages[ newId ].width : '' ) );
            img.setAttribute( "height", ( (carrousel.bannerImages[ newId ].height>0) ? carrousel.bannerImages[ newId ].height : '' ) );
            img.setAttribute( "src", carrousel.bannerImages[ newId ].src );
        
            bannerLinkObject.href = carrousel.bannerLinks[ newId ];
            bannerLinkObject.title = carrousel.bannerTitles[ newId ];
        
            // Remove all child elements.
            while ( bannerLinkObject.childNodes.length >= 1 )
                bannerLinkObject.removeChild( bannerLinkObject.firstChild );       

            // Insert image.
            bannerLinkObject.appendChild( img );

        } else {
            // No flash movie exists, just change images.
        
            bannerLinkObject.href = carrousel.bannerLinks[ newId ];
            bannerLinkObject.title = carrousel.bannerTitles[ newId ];
            if ( carrousel.bannerImages[ newId ].width == 0 ) {
                bannerImageObject.removeAttribute('width');
                bannerImageObject.removeAttribute('height');
            } else {
                bannerImageObject.width = carrousel.bannerImages[ newId ].width;
                bannerImageObject.height = carrousel.bannerImages[ newId ].height;
            }
            bannerImageObject.src = carrousel.bannerImages[ newId ].src;
          
        }
      
      }
   }
}

/* Get new banner ids */
function GetNewIds( carrousel )
{
   var newIds = new Array();
   for( var i = 0; i < carrousel.displayCount; i++) 
   {         
      newIds[i] = ( i + carrousel.currentId ) % carrousel.bannerImages.length;
   }
   carrousel.currentId += carrousel.displayCount;
   return newIds;
}

