if( typeof( AdmeaDossier ) == 'undefined' ) AdmeaDossier = {};

AdmeaDossier.Toolbar = function()
{
	// Private variables
	
	var buttons = [
		[ "Save", "toolBtnSave" ],
		// [ "Print", "toolBtnPrint" ], // Moved to AdmeaDossier.Content
		[ "Refresh", "toolBtnRefresh" ],
		[ "Delete", "toolBtnDelete" ]
	];
	
	// Public
	return {
		init : function()
		{
			update();
		},
		
		update : function()
		{
			for( i = 0; i < buttons.length; ++i )
			{
				var button = buttons[i];
				
				if( AdmeaDossier.Content.checkMethodAvailability( button[0] ) )
				{
					Ext.get( button[1] ).removeClass( 'ToolbarButtonDisabled' );
				}
				else
				{
					Ext.get( button[1] ).addClass( 'ToolbarButtonDisabled' );
				}
			}
		
			var loginbtn = Ext.get('toolBtnLogin');
			var logoutbtn = Ext.get('toolBtnLogout');

			loginbtn.setVisibilityMode( Ext.Element.DISPLAY );
			logoutbtn.setVisibilityMode( Ext.Element.DISPLAY );

			if( AdmeaDossier.Session.isManager() )
			{
				logoutbtn.show( false );
				loginbtn.hide( false );
			}
			else if( AdmeaDossier.Session.isAuthorized() )
			{			
				Ext.get('toolBtnRepro').removeClass( 'ToolbarButtonDisabled' );
				logoutbtn.show( false );
				loginbtn.hide( false );
			}
			else
			{
				Ext.get('toolBtnRepro').addClass( 'ToolbarButtonDisabled' );
				logoutbtn.hide( false );
				loginbtn.show( false );
			}
		},
		
		requestAction : function( button, action )
		{
			if( Ext.get( button ).hasClass( 'ToolbarButtonDisabled' ) )
				return;

			AdmeaDossier.Content.callMethod( action );
		}
	};

}();
