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 link_stop = function(){
        $(".first_pic img").eq(0).click(function(){
            clearTimeout(slide_show_timer);
        }).css("cursor", "pointer");
    }

    var pic_complete = function(){
        $("#content").css("height", ($("#content").height()) + "px");
        $("#content").css("overflow", "hidden");
        link_stop();
    }

    
    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();
                            link_stop();
                        });
                        Gallery.Loaded(image, image_container);
                    }
                }
				
            }
        }
    }
}
var Menus, Gallery;
$(function(){
    Gallery = new GalleryClass();
  

});