var Media = {

	prevPage: 'prevPage',
	nextPage: 'nextPage',
	navi: 'navi',

	run: function()
	{
		jQuery.each($('.media'), Media.init);
	},

	init: function(i, element)
	{
		var item = $(element);
		item.data('pages', item.find('ul.page').length);

		Media.initArrows(item);
		Media.initItems(item);
		Media.initScroll(item);
	},

	initArrows: function(item)
	{
		if (item.data('pages') > 1) {
			item
				//.append('<div class="pPage"><div class="' + Media.prevPage + '"><a href="#" onclick="return false;"></a></div></div>')
				//.append('<div class="nPage"><div class="' + Media.nextPage + '"><a href="#" onclick="return false;"></a></div></div>')
				//.append('<div class="' + Media.navi + '"></div>')
				//.append('<div class="spacer"></div>')
				.append('<div class="media_nav"><div class="scroll-wrapper"><div class="pPage"><div class="' + Media.prevPage + '"><a href="#" onclick="return false;"></a></div></div><div class="' + Media.navi + '"></div><div class="nPage"><div class="' + Media.nextPage + '"><a href="#" onclick="return false;"></a></div></div></div></div>')
			;
		}
	},

	initItems: function(item)
	{
		item.find('.items:first').wrap('<div class="scrollable"></div>');
		var scrollable = item.find('.scrollable');

		var scrollableWidth = scrollable.width();
		if (scrollableWidth) {
			item.find('ul.page').css('width', scrollableWidth);
		}

		var scrollableHeight = item.find('.items:first').height();
		if (scrollableHeight) {
			item.find('.scrollable:first').css('height', scrollableHeight);
		}
	},

	initScroll: function(item)
	{
		if (item.data('pages') > 1) {
			item.find('.scrollable').scrollable({
				size: 1,
				keyboard: false,
				prevPage: '.' + Media.prevPage,
				nextPage: '.' + Media.nextPage,
				clickable: false
			}).navigator({
				navi: '.' + Media.navi,
				indexed: true
			});
			
			var navi = item.find('.' + Media.navi);
			var width = 0;
			
			navi.find('a').each(function() {
				var a = $(this);
				a.text(parseInt(a.text()) + 1);
				width += parseInt(a.width()) + parseInt(a.css('margin-left')) + parseInt(a.css('margin-right'));
			});

			navi.css('width', width+'px');
		}
	}

}
run(Media);
