$extend( Page, {

	initButtons: function()
	{
		var $btn_new = $( 'button-new' ),
			$btn_done = $( 'button-done' );
			
		var $feature_new = $( 'feature-new' ),
			$feature_done = $( 'feature-done' );
		
		// Shows and hides element
		var show = (function( $btn, $show, $hide ) {
		
			if ( $show.isVisible() )
			{
				$btn.retrieve( 'button' ).unpress();
				$show.get( 'tween' )
					.setOptions({
						duration: 600,
						transition: 'quad:in:out'
					})
					.start( 'opacity', 0 )
					.chain( function() {
					
						$show.get( 'tween' ).start( 'height', 0 ).chain( function() { $show.hide(); } );
					
					});
					
				return;
			}
			
			if ( $hide.isVisible() )
			{
				$hide.hide();
				var height = $show.setStyle( 'height', 'auto' ).getDimensions().y;
				$show.show().setStyles({ opacity: 0, height: height });
				$show.get( 'tween' ).setOptions({ duration: 600, transition: 'quad:in:out' }).start( 'opacity', 1 );
				return;
			}
			
			var height = $show.setStyle( 'height', 'auto' ).getDimensions().y;
			
			$hide.setStyle( 'overflow', 'hidden' );
			$hide.hide();
			
			$show.show().setStyles({ opacity: 0, height: 0 });
			
			$show.get( 'tween' )
				.setOptions({
					duration: 600,
					transition: 'quad:in:out'
				})
				.start( 'height', height )
				.chain( function() {
				
					$show.get( 'tween' ).start( 'opacity', 1 );
				
				});
		
		});
		
		$btn_new.addEvent( 'click', function(e) {
		
			e.stop();
			
			$btn_new.retrieve( 'button' ).makePressed();
			$btn_done.retrieve( 'button' ).unpress();
			
			show( $btn_new, $feature_new, $feature_done );
		
		});
		
		$btn_done.addEvent( 'click', function(e) {
		
			e.stop();
			
			$btn_done.retrieve( 'button' ).makePressed();
			$btn_new.retrieve( 'button' ).unpress();
			
			show( $btn_done, $feature_done, $feature_new );
		
		});
	
	}

});

whenReady(function(){

	Page.initButtons();

});
