$(function(){
   $("div.imageSlider").hide();
   $("div.imageSliderNav").hide();
   $("div.imageSliderText").hide();
   $("#content").append("<img src='http://www.gcmingati.net/wordpress/wp-content/uploads/svwloader.gif' class='loading' alt='loading...'/ >"); 	
});

$.fn.imageSlider = function(options) {
	//alert('imageSlider')
	
	options = $.extend({
	 	easing: "expoinout",
		speed: 750,
		spacing: 10,
		maxHeight: 425
  	}, options)
  	
	return $(this).each(function(){
		var imageIndex = 0;
		var imageCount = 0;
		var imageSpacing
		
		var imageWidths = [];
		var imageLefts = [];
		
		var sumImageWidth = 0;
		var minImageHeight;
			
		$(this).width($(window).width());
		
		var imageSlider = $('div.imageSlider', this);
		
		$("img.loading").remove(); 
		
		$("div.imageSlider").show();
		$("div.imageSliderNav").show();
	    $("div.imageSliderText").show();
		
		$(this).slideDown('slow').fadeIn('slow');	
		
		/*$("div.imageSlider img").animate({ 
			opacity: 'show'
		}, 'slow', 'easein' );*/
		   		
		imageCount = $('img', this).size();
		
		minImageHeight = $('img:first', this).height()
		
		$('img', this).each( function() {
			var imageHeight = $(this).height()
		
			minImageHeight = Math.min(minImageHeight, imageHeight)
		})		
		
		if(minImageHeight > options.maxHeight) minImageHeight = options.maxHeight;
	
		$('img', this).each( function() {
			var imageRatio = minImageHeight/$(this).height()
			var scaledImageWidth = $(this).width()*imageRatio;
			
			$(this).width(scaledImageWidth);
			$(this).height(minImageHeight);
		
			var imageWidth = $(this).width();
			var imageHeight = $(this).height()
			
			imageWidths.push(imageWidth)
			
			sumImageWidth += imageWidth + options.spacing
			
			imageLefts.push(-(sumImageWidth-imageWidths[imageWidths.length-1])+options.spacing)
		})
		
		imageSlider.css("width", (sumImageWidth+imageCount)); 
		imageSlider.css("height", minImageHeight);
		
		if (options.nextImage)
            $(options.nextImage).bind('click', slideToNextImage);
        
        if (options.prevImage)
            $(options.prevImage).bind('click', slideToPrevImage);
		
		function slideToNextImage() {
			if(imageIndex < imageCount - 1) {
				imageIndex++;
				
				imageSlider.animate({ 
					left: 225+(imageLefts[imageIndex])
				}, options.speed, options.easing );	
			} else {
				//$(options.nextImage).removeAttr('a')
			}
		}
		
		function slideToPrevImage() {
			if(imageIndex > 0) {
				imageIndex--;
						
				imageSlider.animate({ 
					left: 225+(imageLefts[imageIndex])
				}, options.speed, options.easing );
			} else {
				//$(options.prevImage).removeAttr('a')
			}
		}
	})
}



