// $('img.photo',this).imagesLoaded(myFunction)
// execute a callback when all images have loaded.
// needed because .load() doesn't work on cached images

// mit license. paul irish. 2010.
// webkit fix from Oren Solomianik. thx!

// callback function is passed the last image to load
//   as an argument, and the collection as `this`


$.fn.imagesLoaded = function(callback){
  var elems = this.filter('img'),
      len   = elems.length,
      blank = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
      
  elems.bind('load.imgloaded',function(){
      if (--len <= 0 && this.src !== blank){ 
        elems.unbind('load.imgloaded');
        callback.call(elems,this); 
      }
  }).each(function(){
     // cached images don't fire load sometimes, so we reset src.
     if (this.complete || this.complete === undefined){
        var src = this.src;
        // webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
        // data uri bypasses webkit log warning (thx doug jones)
        this.src = blank;
        this.src = src;
     }  
  }); 

  return this;
};


var next_img = 1;
var img_list = new Array();
var link_list = new Array();
var blank_list = new Array();
var set_timer;

function change_img(){
	clearTimeout(set_timer);
	if(next_img >= img_list.length)next_img = 0;
	
	$("#mainstage2 img").attr("src",img_list[next_img]);
	$("#mainstage2").attr("href",link_list[next_img]);
	$("#mainstage2").attr("target",blank_list[next_img]);
	$("#mainstage2 img").imagesLoaded(function(){
		$("#mainstage1").animate({"left":"-503px"},1000,"swing");
		$("#mainstage2").animate({"left":6},1000,"swing",function(){
			$("#mainstage1 img").attr("src",img_list[next_img-1]);
			$("#mainstage1").attr("href",link_list[next_img-1]);
			$("#mainstage1").attr("target",blank_list[next_img-1]);
			$("#mainstage1 img").imagesLoaded(function(){
				$("#mainstage1").stop().css({"left":6});
				$("#mainstage2").stop().css({"left":503});
				set_timer = setTimeout( "change_img()", 3000 );
			});
		});
	});
	next_img++;

	
	return false;
}

function left_menu(){
	$("#left_menu li").each(function(){
		$(this).hover(function(){
			$(this).find(".mouseover").show();
		},function(){
			$(this).find(".mouseover").fadeOut("fast");
		});
	});
}


$(function(){
	left_menu();
	$(".main_img").hide();
	$("#mainstage2").css({"left":503});
	$("#mainstage1,#mainstage2").show();
	$(".main_img").each(function(i){
		img_list[i] = $(this).find("img").attr("src");
		link_list[i] = $(this).attr("href");
		blank_list[i] = $(this).attr("target");
	});
	
	set_timer = setTimeout("change_img()",3000);
});
