// IE doesn't have indexOf - amazing.  This ALSO Adds "1" to the index value when you do array length.  So SUCKY!
var array_offset = 0;
if (!Array.prototype.indexOf)
{
	var array_offset = 1;


  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}


// Preload images
var preloaded_images = new Array();
var m_length = mosiac_images.length;
for (var i=0; i < m_length; i++) {
	preloaded_images[i] = new Image();
	preloaded_images[i].src = base + mosiac_images[i];
	
};
preloaded_images[m_length] = new Image();
preloaded_images[m_length].src = base + "upload/thumbnails/greatharvestmed.jpg";


//path = "lib/images/mosiac/";
//mosiac_images = ["blackmed.jpg","hilltownridgemed.jpg","oaklanedayschoolmed.jpg","brooklinemed.jpg","holytrinitymed.jpg","penmarkmed.jpg","cambridgesquaremed.jpg","jenkingtownknitmed.jpg","shannonhallmed.jpg","cathospitalmed.jpg","letsimaginemed.jpg","stevensdentistrymed.jpg","covenantmed.jpg","limerickgolfmed.jpg","stthomasmed.jpg","ebenezermed.jpg","loganfunmed.jpg","sweetbriarmed.jpg","foxfieldsmed.jpg","loomismed.jpg","woodmastersmed.jpg","friendshaverfordmed.jpg","michellewenitskumed.jpg","navalairreservemed.jpg"]
var this_box_image;
var last_flip = 0;
var current_images = [];
var boxes_flipped =[];
function fadeSequence( image_list ){
	i=0;
	for( k in image_list){
		
		num = image_list[k];
		this_box = $('#mosiac_' + k);
		this_box_image = $('#mosiac_' + k + " img");
		
		boxes_flipped.push(k);
		
		// create image
		var image = $("<img>").css("display", "none");
		
		// get source - make sure not in current images list
		source = '';
		while( source == '' || current_images.indexOf( source ) != -1){
			if(image_list[k])
				source = image_list[k];
			else{
				seed = Math.floor(Math.random()*(mosiac_images.length - array_offset))
				source = mosiac_images[ seed ];

			}
			source = base + source
			
		}

		current_images.push( source )
		
		// Fade out old image if exists
		if(this_box_image.length > 0 ){
			this_box_image.fadeOut( {speed : 750, callback: function(a){ 
				src = this_box_image.attr("src");
				index = current_images.indexOf( src )
				
					
				// So no repeats ever, we will not remove the image from current images
				if( this_box_image.attr("src") == 'http://echodot.com/woodmasters/upload/thumbnails/wmlogo_small.jpg')
					current_images.splice( index, 1); 

				this_box_image.attr("src",  source)
				this_box_image.fadeIn( {speed : 1500})
			}});
		}else{
			image.attr( "src", source );
			this_box.html( image );	
			image.fadeIn({"speed":1500, "queue":k,  wait: i*250});
		}
		
	
		
		i++;
	};
} 


function randomFlips( count ){
	do{
		num = Math.floor( Math.random()*9+1);
	}while( boxes_flipped.indexOf( num.toString() ) != -1)
	
	
	eval(' seq = {'+num+':""}')
	fadeSequence( seq );
	
	if(count == 6 )
		setTimeout( "fadeSequence({5:'upload/thumbnails/wmlogo_small.jpg'})", 4500);
	else
		setTimeout( "randomFlips("+(count+1)+")", 4500);
}

function changeFirst(){
	boxes_flipped =[];
	fadeSequence({5:'upload/thumbnails/greatharvestmed.jpg'})
	setTimeout( "randomFlips(1)", 4000);
}

function loadMosiac(){
	// Inital load sequence 1,2,3,6,9,8,7,4,5
	fadeSequence({1:"",2:"",3:"",6:"",9:"",8:"",7:"", 4:"", 5:"upload/thumbnails/wmlogo_small.jpg"});
	setTimeout( "changeFirst()", 4000);
}


$(document).ready(function(){
	loadMosiac();
});
