(function($) {
	//Plugin Description and Settings
	jQuery.fn.tinyGallery = function(s) {
		//set the default settings
		s = jQuery.extend({
			padding: 10,
			opacity: .9,
			target: '.stage',
			speed: '300',
			autoload: true
			//action: 'hover'
		},s);
		
		this.setttings = s;
		var settings = this.setttings;
		var imgstage = '.img' + settings.target.substr(1,settings.target.length);
			
		// imgHeight =  $(settings.target).css("height");
		//var imgWidth = $(settings.target).css("width");
		//imgHeight = Number(imgHeight.substr(0,imgHeight.length-2)) - settings.padding;
		//imgWidth = Number(imgWidth.substr(0,imgWidth.length-2)) - settings.padding;
		var className = '.' + $(this).attr('class');
		
	
			$(this).click(function(e){
				
				e.preventDefault();
				
				var imgURL = $(this).attr("href");
				var highResURL = $(this).attr("href").replace('m_', 'h_');
											
				var imgHTML = "<a href='" + highResURL + "' target='_blank'><img class='" + imgstage.substr(1,imgstage.length) + "' src='" + imgURL + "' /></a>";
				
				
				var objImagePreloader = new Image();
				objImagePreloader.onload = function() {
					$(imgstage).remove();
					
					
					$(settings.target).css({"padding":settings.padding + "px"});
					
					$(settings.target).append(imgHTML);
					$(imgstage).css({"opacity": "0"});
					
					$(settings.target).animate({ 
       					 height: $(imgstage).height() + 'px'
  					});
  					
					$(imgstage).animate({"opacity":settings.opacity}, settings.speed);
					
					//	clear onLoad, IE behaves irratically with animated gifs otherwise
					objImagePreloader.onload=function(){};
				};
				objImagePreloader.src = imgURL;
       			
				
					
			});		

		
		function _initialize(){
				
			if(settings.autoload){
				var first = $(className).get(0);
				var imgURL = $(first).attr("href");
					
				var imgHTML = "<img class='" + imgstage.substr(1,imgstage.length) + "' src='" + imgURL + "' />";
				
				$(settings.target).append(imgHTML);
				$(imgstage).css({"opacity": "1", "padding":settings.padding + "px"});
				
			}	
		}
				
		_initialize();
	};
})(jQuery);
