jQuery(function($) {
	
	$('#resources .category').unbind().each(function() {
		
		var options = {
			pageWidth: 1012,
			speed: 1500
		};
		
		var $container = $(this);
		var $slider = $('.slider ul', $container);
		var $controls = $('.slider-controls li', $container);
		var numOfPages = $controls.filter('li:not(.prev,.next)').length;
		
		// Slider width
		$slider.css('width', parseInt(numOfPages * options.pageWidth) + 'px')
			.data('numOfPages', numOfPages);
		
		// Slider height
		var sliderHeight = Math.max.apply(null, $slider.find('li').map(function() { return $(this).outerHeight(); }).get());
		$slider.css('height', sliderHeight + 'px')
			.find('li').css('height', sliderHeight + 'px').end()
			.closest('div').css('height', sliderHeight + 'px');
		
		// Controls
		if (numOfPages < 2) {
			$('.slider-controls', $container).css('visibility', 'hidden');
			return;
		}
		
		$controls.filter('.page').bind('click', function(event) {
			event.preventDefault();
			event.stopPropagation();
			
			var $control = $(this);
			var page = parseInt($control.find('a').attr('rel'));
			
			$controls.removeClass('active');
			$control.addClass('active');
			$slider.data('currentPage', page).data('activeControl', $control)
				.animate({left: parseInt(-(page - 1) * options.pageWidth) + 'px'}, options.speed);
		}).filter(':first').trigger('click');
		
		$controls.filter('.prev, .next').bind('click', function(event) {
			event.preventDefault();
			event.stopPropagation();
			
			if ($(this).is('.prev')) {
				if ($slider.data('currentPage') > 1) {
					$slider.data('activeControl').prev().trigger('click');
				}
			} else {
				if ($slider.data('currentPage') < $slider.data('numOfPages')) {
					$slider.data('activeControl').next().trigger('click');
				}
			}
		});
		
	});
	
});
