$.fn.image = function(src, f){
  return this.each(function(){
    var i = new Image();
    i.onload = f;
    i.src = src;
    //$.debug=i;
    $(this).empty().append(i);
  });
}
		
jQuery(document).ready(function(){
	$("ul.se-photo-list>li")
	.mouseover(function(){$(this).find(".ui-widget").addClass("ui-state-hover");})
	.mouseout(function(){$(this).find(".ui-widget").removeClass("ui-state-hover");})
	.click(function(e){
		e.preventDefault();
		var id=$("ul.se-photo-list>li").index(this);
		var total=$("ul.se-photo-list>li").length;
		//$(this).trigger("loadImage");
		var dialog=$("<div>").css({"display":"none"});
		$.debug=dialog;
		dialog.bind("loadImage",function(e,idx,open){
			var dialog=$(this);
                        //$.debug=dialog;
			var li=$($("ul.se-photo-list>li").get(idx));
			var alt=li.find("a>img").attr("alt");
                        var link=li.find("a:not(:has(img))");
                        var loading=$("<div>").hide().addClass("loading").append($("<div>").addClass("ui-widget-overlay")).append($("<div>").css({position:"absolute",opacity:"0.6",top:String((542-55)/2)+"px",left:String((621-54)/2)+"px",width:"54px",height:"55px",backgroundImage:"url(../seDoctrinePhotoGalleryPlugin/images/ajax-loader.gif)"}));
			$("<div>").css({"display":"none"}).image(li.find("a").attr("href"),function(){
				if(alt)
				{
					$(this).parent().append("<p>"+alt+"</p>")
				}
                                
                                if(link.length>0)
                                {
                                    $(this).wrap(link);
                                    var parent=$(this).parent();
                                }
                                else
                                {
                                    var parent=$(this);
                                }
				//$.debug=$(this);
				var nav=$("<div>").append($("<span>").addClass("ui-state-highlight").addClass("ui-priority-secondary").text(String(idx+1)+"/"+total));
				
				if(idx>0)
				{
					nav.prepend($("<span>").addClass("ui-state-default").addClass("ui-corner-left").text("Prev").one("click",function(){dialog.trigger("loadImage",[idx-1]).find(".loading").show();$(this).addClass("ui-state-disabled")}));
				}
				else
				{
					nav.children(":first").addClass("ui-corner-left");
				}
				if(idx<$("ul.se-photo-list>li").length-1)
				{
					nav.append($("<span>").addClass("ui-state-default").addClass("ui-corner-right").text("Next").one("click",function(){dialog.trigger("loadImage",[idx+1]).find(".loading").show();$(this).addClass("ui-state-disabled")}));
				}
				else
				{
					nav.children(":last").addClass("ui-corner-right");
				}
					
				parent.parent().append("<hr />").append(nav).show();
				
				
				if(dialog.children("div").length>1)
				{
					dialog.find(".loading").hide().end().children("div:last").css({"margin-top":String(-1*dialog.children("div:first").outerHeight())+"px"}).hide().fadeIn(800,function(){$(this).css("margin-top",0)}).siblings().fadeOut(800,function(){$(this).remove()})
				}
				
				if(open)
				{
					dialog.dialog("open");
				}
                                
                                //dialog.dialog('option', 'width', dialog.parent().width());
                                //dialog.dialog('option', 'height', dialog.parent().height());
			}).wrap("<div>").append(loading).appendTo(dialog);
		}).dialog({autoOpen: false,draggable: false, modal: true, resizable: false, width: 621, height: "auto", dialogClass: $.photoGalleryThemeableListDialogClass}).trigger("loadImage",[id,true]);
	})
})