var FLASHROTATE_ID;
var ROTATEARTIST_ID;
var ROTATE_COUNT = 0;
var DO_ROTATE = true;

var FLASHPAGE = 1;


function forwardFlashPage(){
  clearRotate();
  var pages = Math.floor( FlashArray.length / 4 );
  if( FlashArray.length % 4 != 0 ) pages++;
  if( FLASHPAGE >= pages ) FLASHPAGE = pages;
  else FLASHPAGE++;
  generateFlashPage()
}

function rewindFlashPage(){
  clearRotate();
  if( FLASHPAGE <= 1 ) FLASHPAGE = 1;
  else FLASHPAGE--;
  generateFlashPage()
}

function clearRotate(){
  clearInterval( FLASHROTATE_ID );
}

function rotateFlashPage(){
  var pages = Math.floor( FlashArray.length / 4 );
  if( FlashArray.length % 4 != 0 ) pages++;
  if( FLASHPAGE >= pages ) FLASHPAGE = 1;
  else FLASHPAGE++;
  generateFlashPage();
}

function generateFlashPage(){
  var startindex = (FLASHPAGE-1)*4;
  for( var a = startindex; a < startindex + 4 && a < FlashArray.length; a++ ){
    var num = a - startindex;
    if( $('flash_'+num) != null ){
       FlashArray[a].num = num;
       var fx = new Fx.Morph( $('flash_'+num), {duration: 200, transition: Fx.Transitions.linear });
       fx.start({ opacity:0 }).chain( function(flash){
         var html = '';
         if( flash.typeId != 2 ){
           html += '<a href="/widget/'+flash.id+'"><img src="' + flash.url + '"></a>';
         }else{
           html += '<a href="/googlegadget/'+flash.id+'"><img src="' + flash.url + '"></a>';
         }
         $('flash_'+flash.num).innerHTML = html;
         var fx2 = new Fx.Morph( $('flash_'+flash.num), {duration: 200, transition: Fx.Transitions.linear });
         fx2.start({ opacity:1 });
       }.pass( FlashArray[a] ) );
    }
  }
  for( var a = startindex; startindex < FlashArray.length && a < startindex + 4; a++ ){
    if( a >= FlashArray.length ){
       var num = a - startindex;
       if( $('flash_'+num) != null ){
         $('flash_'+num).innerHTML = '';
       }
    }
  }
}

function rotateArtist(){
  DO_ROTATE = true;
  $('main_search_query').value = ArtistArray[ROTATE_COUNT];
  ROTATE_COUNT = (ROTATE_COUNT+1) % ArtistArray.length;
}

function stopRotate(){
  if( DO_ROTATE == true ) $('main_search_query').value = '';
  DO_ROTATE = false;
  clearInterval( ROTATEARTIST_ID );
}

function initRotate(){
  ROTATEARTIST_ID = setInterval("rotateArtist()", 2000 );
  FLASHROTATE_ID = setInterval( "rotateFlashPage()", 10000 );
}
