var Gallery;

GalleryClass = function(){
	var ul_links = $("#gallery_links");
	var links = ul_links.find("a");
	var image_container = ul_links.next();
	var content = image_container.parent();
	var download_right_order = 0;
	var last_selected = 0;
	var total_width = 0;
	/*$.fn.delay = function(time, callback)
	{
	    return this.animate({ opacity: '+=0' }, time, callback);
	}*/
	var slide_current = 1;

	var slide_show_timer = setTimeout("Gallery.doSlide()", 7000);
	var first_pic = $(".first_pic img").get(0);
	var pic_complete = function(){
		$("#content").css("height", ($("#content").height()) + "px");
		$("#content").css("overflow", "hidden");
	}
	if(first_pic)
	if(first_pic.complete){
		pic_complete();
	} else {
		$(first_pic).load(pic_complete);
	}
	links.each(function(i, link){
		link.myhref = link.href;
		link.href = "#";
		$(link).click(function(){
			var index = links.index(this); 
			if(index != last_selected){
				clearTimeout(slide_show_timer);
				Gallery.doLoad(link);
				$(link).addClass("selected").css("background", "#aeafc3");
				links.eq(last_selected).removeClass("selected").css("background", "#85869A");
				last_selected = index;
				
			}
			return false;
		});
		$(link).mouseover(function(e){
			if(links.index(this) != last_selected){
				$(link).css("background", "#aeafc3");
			}
		});
		$(link).mouseout(function(e){
			if(links.index(this) != last_selected){
				$(link).css("background", "#85869A");
			}
		});
	});

 
	
	return {
		doSlide: function (){
			//alert(slide_current);
			links.eq(slide_current).click();
			slide_show_timer = setTimeout("Gallery.doSlide()", 5000);
			if(slide_current+1 == links.size()){
				slide_current = 0;
			} else {
				slide_current++;
			}
		},
		Loaded: function(image, container){
			$(container).append(image);
			
		},
		doLoad: function(link){
			download_right_order++;
			var download_order = download_right_order;
			if(link){
				var image = new Image();
				image.src = link.myhref;
			} else {
				var image = image_container.find("img").get(0);
			}
			//alert(image.src);
			image.onload = function(){
				//alert(download_order + " " + download_right_order);
				if(download_order == download_right_order){
					var jimage = $(this);
					
					
					jimage.hide();
					
					if(link){
						
						var last = image_container.find("img");
						last.hide("highlight",{},500, function (){
							var content = $("#content");
							var cheight = content.height();
							var iheight = $(image).height() + 53;
							
							if(cheight < iheight){
								content.animate({height: iheight+"px"}, 500);
							}
							last.remove();
							jimage.fadeIn();
						});
						Gallery.Loaded(image, image_container);
					} 
				}
				
			}
		}
	}
}
var Menus, Gallery;
$(function(){
  Gallery = new GalleryClass();
  

});