$(function(){

	$('#didj_connect')
		.find('> div:first')
			.setup_paging()
			.add_prev_next_links()
			.setup_overlay_links()
		.end()
		.find('#didj_popup_contents')
			.setup_popup_hovers()
			.setup_close_links()
		.end();

});

$.fn.extend({

	setup_paging: function() {
		return this
			.find('dl')
				.hide()
				.eq(0).show().end()
			.end()
			.build_paging_list();
	},

	build_paging_list: function() {
		var $wrapper = $(this), list_length = $wrapper.find('dt').length, list = [];
		return this
			.find('dt')
				.each(function(i) {
					var text = $(this).text();
					list.push('<li><a href="#' + i + '" title="' + text + '" onclick="pageTracker._trackEvent(\'Didj\', \'Connect\', \'' + text.replace("\'","\\'") + '\');">' + text + '</a></li>');
				})
			.end()
			.append('<ul class="didj_page_list">' + list.join('') + '</ul>')
			.find('> ul')
				.tabs($wrapper.find('> dl'), {
					effect: 'default',
					rotate: true,
					onBeforeClick: function() {
						$wrapper.find('> dl')
							.find('> .didj_thumbnail').show().end()
							.find('> .didj_thumbnail_small').show();
					},
					onClick: function() {
						$wrapper.find('> dl:visible')
							.find('> .didj_thumbnail').fadeIn(300).end()
							.find('> .didj_thumbnail_small').fadeIn(300);
					}
				})
				.add_prev_next_list_items()
			.end();
	},

	add_prev_next_list_items: function() {
		var paging_api = this.tabs(0);
		return this
			.add_prev(paging_api)
			.add_next(paging_api);
	},

	add_next: function(paging_api) {
		return this
			.append('<li class="didj_next"><a href="#" title="Next">Next</a></li>')
			.find('.didj_next > a')
				.bind('click', function() {
					paging_api.next();
					pageTracker._trackEvent('Didj', 'Connect', 'Next');
					return false;
				})
			.end();
	},

	add_prev: function(paging_api) {
		return this
			.prepend('<li class="didj_prev"><a href="#" title="Previous">Previous</a></li>')
			.find('.didj_prev > a')
				.bind('click', function() {
					paging_api.prev();
					pageTracker._trackEvent('Didj', 'Connect', 'Previous');
					return false;
				})
			.end()
	},

	add_prev_next_links: function() {
		var paging_api = this.find('ul').tabs(0), list_length = paging_api.getTabs().length;
		return this
			.find('dl')
				.each( function(i) {
					var dd = $('<dd></dd>'), ul = $('<ul></ul>');
					if ( i > 0 )
						ul.add_prev(paging_api);
					if ( i < list_length-1 )
						ul.add_next(paging_api);
					$(this).append(dd.append(ul));
				})
			.end();
	},

	setup_overlay_links: function() {
		return this
			.find('a[rel]')
				.bind('click', function() {
					$( $(this).attr('rel') ).show();
					$('#lf_gaming_didj_nav').addClass('suppress');
					pageTracker._trackEvent('Didj', 'Connect', 'Popup', $(this).attr('rel'));
					return false;
				})
			.end();
	},

	setup_close_links: function() {
		var $this = this;
		return this
			.find('div.didj_close_popup')
				.bind('click', function() {
					$('#lf_gaming_didj_nav').removeClass('suppress');
					$this.find('> div:visible').hide();
				})
			.end();
	},

	setup_popup_hovers: function() {
		return this
			.find('li')
				.hover( function() { $(this).find('strong').show(); }, function() { $(this).find('strong').hide(); } )
			.end();
	}

});
