var Source = function(){
	return {
		prepare: function(){
			Skinbox.disableSetup();
		}, 
		
		init: function(){
			Skinbox.init( { storage_ns: 'source' } );
		},
		
		shides: function(){	
			Skinbox.$store('#welcome-store .trigger-on', 'welcome_trigger_on');
			Skinbox.$store('#welcome-store .trigger-off', 'welcome_trigger_off');
			Skinbox.$store('#shide-trigger', 'welcome_trigger');
			
			Skinbox.shide( {
				ns: 'welcome',
				element: '.welcome > *:not(.hideit, .clear)',
				trigger: '.welcome .hideit',
				callback: function($, opts, visible){
					if( visible )
					{
						Skinbox.$switch('welcome_trigger', 'welcome_trigger_off', 'welcome_trigger_on');
					}
					else
					{
						Skinbox.$switch('welcome_trigger', 'welcome_trigger_on', 'welcome_trigger_off');
					}
				}
			} );
		},
		
		backgroundPicker: function(){
			Skinbox.balloon( {
				name: 'background-picker',
				element: '#background-picker',
				trigger: '#background-picker-trigger > img',
				position: 'topright',
				reference: 'fixed',
				afterCreation: function($){
					var $bgp_popup = $('#background-picker_popup');
					var left = parseInt($bgp_popup.css('left')) -11;
					var zIndex = parseInt($bgp_popup.css('z-index'));
					
					$bgp_popup.attr('style', '');
					$bgp_popup.css( {
						left: left,
						zIndex: zIndex,
						bottom: 70,
						position: 'fixed',
						display: 'none'
					} );
				}
			} );
			
			var $bgp_popup = jQuery('#background-picker_popup');
			var $window = jQuery(window);
			
			var width = $window.width();
			$window.resize( function(){
				var newWidth = $window.width();
				
				if( width != newWidth )
				{
					var diff = (newWidth - width) / 2;
					width = newWidth;
					$bgp_popup.css( { left: parseInt($bgp_popup.css('left')) + diff } );
				}
			} );
			
			Skinbox.backgroundSwitcher( {
				triggers: '#background-picker_popup #background-switcher',
				ns: 'main'
			} );
		},
	
		dropdowns: function(){
			Skinbox.dropdown( {
				element: '#dropdown_1'
			} );
		}
	};
}();

Source.prepare();

Skinbox.ready( [
	Source.init,
	Skinbox.topLink,
	Skinbox.loginBox,
	Skinbox.creditsBox,
	Source.shides,
	Source.backgroundPicker,
	Source.dropdowns
] );
