$(function() {
	$.ui.dialog.defaults.bgiframe = $.browser.msie;
	$('div.show_image')
		.each(function() {
				var dlg = this.id + '_dialog';
				var dlgInner = this.id + '_dialog_inner';
				var jThis = $(this);
				var imgAlt = jThis.find('.show_image_alt').html();
				var imgSrc = jThis.find('.show_image_src').html();
				
				$(this)
					.css('cursor','pointer')
					.click(function() {
							$('#' + dlg)
								.dialog('open')
								.find('#' + dlgInner + '.show_image_wait')
								.each(function() {
										var img = new Image();
										var jThis = $(this);
										
										$(img)
/*											.hover(function() {
													$(this).animate({opacity:0.80},100).animate({opacity:1.0},100);
												}, function () {
												})
*/											.load(function() {
													var cX = 400;
													var cY = 300;
													var fX = img.width + 10;
													var fY = img.height + 55;
													var sX = 50;
													var sY = 50;
													var tmr = dlg + '_timer';
													
													jThis
														.attr('class','show_image')
														.html(img)
														.hide()
														.fadeIn('fast');
													$('#' + dlg).everyTime(100,tmr,function() {
															var dX = 0;
															var dY = 0;
															if ( fX < cX ) {
																dX = -1;
															} else if ( fX > cX ) {
																dX = 1;
															}
															if (fY < cY ) {
																dY = -1;
															} else if ( fY > cY ) {
																dY = 1;
															}

															cX += dX * Math.min(sX,Math.abs(fX-cX));
															cY += dY * Math.min(sY,Math.abs(fY-cY));
															$(this)
																.dialog('option','width',cX)
																.dialog('option','height',cY)
																.dialog('option','position',[ 'center','middle' ])
															
															if ( dX == 0 && dY == 0 )
																$(this).stopTime(tmr);
														});
														
												})
											.error(function() {
													jThis
														.attr('class','show_image')
												})
											.attr('src',imgSrc)
											.attr('alt',imgAlt);
									});
						})
/*					.append('<div id="' +  dlg + '"><div id="' + dlgInner + '" class="show_image_wait"></div><div class="show_image_close">Close [x]</div></div>');
*/
					.append('<div id="' +  dlg + '"><table cellpadding="0" cellspacing="0" width="100%"><tr><td id="' + dlgInner + '" class="show_image_wait"></td></tr><tr><td class="show_image_close">Close [x]</td></tr></table><div>');
				$('#' + dlg)
					.find('.show_image_close')
						.hover(function() {
								$(this).attr('class','show_image_close_hover');
							}, function () {
								$(this).attr('class','show_image_close');
							})
						.click(function() {
								$('#' + dlg)
									.dialog('close');
							})
						.end()
					.dialog({
						autoOpen: false,
						autoResize: true,
						resizable: false,
						bgiframe: true,
						modal: true,
						draggable: false,
						width: 400,
						height: 300,
						title: imgAlt,
						dialogClass: 'show_image_dialog'});
						
			})

});
