/**
* Standardlife.com 2010
* Quick Facts slider element
*
* @author Brian Coit <brian@line.uk.com>
*/
if (typeof jQuery == 'undefined')
{
	var _jQerr = 'quickfacts.js requires the jQuery library to be loaded first.';

    window.console
	? console.log(_jQerr)
	: alert(_jQerr);
}

;(function($)
{
	$(window).ready(function()
	{
		var els = $('.puff.scroller');
		var max_height = 0;
		var total_width = 0;

		els.each(function()
		{
			var ul = $(this).find('ul');
			var lis = $(this).find('li');

			$(this).addClass('js');

			/* create pagination links */
			if(lis.length < 2)
			{
				return false;
			}

			var pages = $('<ul></ul>').addClass('pagination');
			
			$('<div class="pages"></div>')
				.append(pages)
				.appendTo($(this));

			var cur = 1;

			lis.each(function(i)
			{
				var _w = $(this).width();
				total_width+= _w;

				$(this).width($(this).width());

				if($(this).height() > max_height)
				{
					max_height = $(this).height();
				}

				var num = parseInt(i) + 1;
				var a = $('<a />')
					.attr('href', '#')
					.addClass('page-' + num)
					.text(num)
					.click(function(e)
					{
						e.preventDefault();
						
						if($(this).parent().hasClass('prev') || $(this).parent().hasClass('next'))
						{
							return false;
						}

						cur = $(this).parent().index();
						
						pages.find('li').removeClass('current');
						$(this).parent().addClass('current');

						ul.stop().animate({
							left: (i * _w) * -1 + 'px'
						}, 500);
					});
				
				$('<li></li>')
					.append(a)
					.appendTo(pages);
			});

			ul.wrapAll($('<div />').addClass('holder'));

			var ctrl = new Array();
			ctrl['prev'] = $('<a href="#">Prev</a>');
			var prev_li = $('<li />').addClass('prev').prependTo(pages);
			prev_li.append(ctrl['prev']);

			ctrl['next'] = $('<a href="#">Next</a>');
			var next_li = $('<li />').addClass('next').appendTo(pages);
			next_li.append(ctrl['next']);
		
			for(var v in ctrl)
			{
				ctrl[v].click(function(e)
				{
					e.preventDefault();
					var _aa = $(this);

					if(_aa.parent().hasClass('prev') && cur > 1)
					{
						$(pages.find('li').get(cur - 1)).find('a').click();
					}
					else if(_aa.parent().hasClass('next') && cur < pages.find('li').length - 2)
					{
						$(pages.find('li').get(cur + 1)).find('a').click();
					}
				});
			}

			ul
				.css({
					width: total_width + 'px',
					position: 'absolute',
					height: max_height + 'px',
					top: 0,
					left: 0
				});

			$(this)
				.find('.holder')
				.css({
					height: max_height + 'px'
				});

			pages.find('.page-1').click();
		});
	});
})
(jQuery);
