/* Marchman Associates JS */
(function($) {
	var config = {
		viewWidth: 600,
		slideSpeed: 800,
		container: null
	};

	$.fn.maSlider = function(params) {
		$.maSlider.init(this);
		
		return this.each(function() {
			$(this).find('.left-control').click($.maSlider.slideLeft);
			$(this).find('.right-control').click($.maSlider.slideRight);
		});
	};
	
	$.maSlider = {
		currentPos: 0,
		init: function(obj) {
			config.container = obj;
		},
		calculateMaxWidth: function() {
			var totalWidth = 0;
			config.container.find('.view-port .thumbnails a').each(function() {
				totalWidth += $(this).width();
			});
			
			if(totalWidth % config.viewWidth != 0) {
				totalWidth = $.maSlider.nextSafeWidth(totalWidth);
			}
			
			return totalWidth;
		},
		nextSafeWidth: function(width) {
			var safeWidth = width;
			while(safeWidth % config.viewWidth != 0) {
				safeWidth += 1;
			}
			
			return safeWidth;
		},
		slideLeft: function() {
			var newPos = $.maSlider.currentPos + config.viewWidth;
			
			if(newPos > 0) {
				newPos = 0;
			}
			
			config.container.find('.view-port .thumbnails').animate({
				marginLeft: newPos + "px"
			}, config.slideSpeed);
			$.maSlider.currentPos = newPos;
			
			return false;
		},
		slideRight: function() {
			var newPos = $.maSlider.currentPos - config.viewWidth;
			var totalWidth = $.maSlider.calculateMaxWidth();
			var maxPos = -1 * (totalWidth - config.viewWidth);
			
			if(newPos < maxPos) {
				newPos = maxPos;
			}		
			
			config.container.find('.view-port .thumbnails').animate({
				marginLeft: newPos + "px"
			}, config.slideSpeed);

			$.maSlider.currentPos = newPos;
			
			return false;
		}
	};
})(jQuery);

$(function() {
	$('#about-menu li a').click(function() { 
		return false; 
	}).mouseover(function() {
		$(this).siblings('.about-summary').slideDown('fast');
	}).mouseout(function() {
		$(this).siblings('.about-summary').slideUp('fast');
	});
	
	$('#slider .view-port .thumbnails a').hover(function() {
		$(this).append('<img class="zoom" src="images/march_zoom.png" />');
	}, function() {
		$(this).find('.zoom').remove();
	});
});

