$(function(){

	$('#l2_connect')
		.find('> div:first')
			.setup_paging()
			//.add_next_links()
			.add_prev_next_links()
			.setup_overlay_links()
		.end()
		.find('#l2_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(\'Leapster2\', \'Connect\', \'' + text.replace("\'","\\'") + '\');">' + text + '</a></li>');
				})
			.end()
			.append('<ul class="l2_page_list">' + list.join('') + '</ul>')
			.find('> ul')
				.tabs($wrapper.find('> dl'), {
					effect: 'default',
					rotate: true,
					onBeforeClick: function() {
						//if ( $('ul.l2_page_list > li > a').hasClass('current') )
						//	$wrapper.find('> dl > .l2_thumbnail').show();
						//else	
							$wrapper.find('> dl > .l2_thumbnail').show();
					},
					onClick: function() {
						$wrapper.find('> dl:visible > .l2_thumbnail').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="l2_next"><a href="#" title="Next">Next</a></li>')
			.find('.l2_next > a')
				.bind('click', function() {
					paging_api.next();
					pageTracker._trackEvent('Leapster2', 'Connect', 'Next');
					return false;
				})
			.end();
	},

	add_prev: function(paging_api) {
		return this
			.prepend('<li class="l2_prev"><a href="#" title="Previous">Previous</a></li>')
			.find('.l2_prev > a')
				.bind('click', function() {
					paging_api.prev();
					pageTracker._trackEvent('Leapster2', 'Connect', 'Previous');
					return false;
				})
			.end()
	},

	add_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 < list_length-1 )
						ul.add_next(paging_api);
					$(this).append(dd.append(ul));
				})
			.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_leapster_nav').addClass('suppress');
					pageTracker._trackEvent('Leapster2', 'Connect', 'Popup', $(this).attr('rel'));
					return false;
				})
			.end();
	},

	setup_close_links: function() {
		var $this = this;
		return this
			.find('div.l2_close_popup')
				.bind('click', function() {
					$('#lf_gaming_leapster_nav').removeClass('suppress');
					$this.find('> div:visible').hide();
				})
			.end();
	},

	setup_popup_hovers: function() {
			return this

		   .find('li')
	        .hover(function(event) {
	            $(this).find('strong').show();
	        }, function(event) {
	            $(this).find('strong').hide();
	        })
		  .end();
	}

});
