(function($){
	
	$.fn.extend({
	
		pheideGallery: function() {
			
			return this.each(function() {
				var $overlay;
				var $cycle;
			
				// Create and insert overlay
				$overlay = $('<div class="overlay" id="pheideGallery" />');
				$overlay.append(
						'<a class="nav next"></a>',
						'<a class="nav close" title="(close)"/>',
						'<a class="nav prev"></a>');
				$overlay.insertAfter($(this));
				var $links = $(this).find('a');
				$links.attr('rel','#pheideGallery');
				
				// Add click event to links
				$links.overlay({
					top:20,
					mask: {
						opacity: 0.5
					}
				}).click( function(e) {
					if ($('.cycle').length == 0) {
						// Create and insert cycle
						$cycle = $('<div class="cycle"/>');
						$links.each( function() {
							var $img = $('<img />').attr('src',$(this).attr('href'));
							var $caption = $('<div class="caption"/>').text($(this).attr('title'));
							var $enlarge = $('<a class="enlarge" target="_blank">fullsize image &gt;</a>')
									.attr('href',$(this).attr('href'));
							$cycle.append($('<div class="slide"/>').append($img,$caption,$enlarge));
						});
						
						// Add cycle/overlay to page
						$overlay.append($cycle);
						$cycle.cycle({
							fx:     'fade',
							speed:  'fast', 
						    timeout: 0,
						    next:   '.next',
						    prev:   '.prev'
						});
					}
					
					var index = $links.index(this);
					$cycle.cycle(index);
				});
				
			});
		}
	
		
	});
	
})(jQuery);
