var UserSettingsFrame = {
	Name: "UserSettingsFrame",
  Frames: new Array(),
	
  InitFrame: function() {
 	  jQuery("#UserSettingsFrameTabs").tabs();	
 	  jQuery("#UserSettingsFrameTabs").bind('tabsshow', UserSettingsFrame.HandleTabSelect);	
	
    // Register Frames
		UserSettingsFrame.Frames[0] = UserProfileFrame;
		UserSettingsFrame.Frames[1] = EmailAliasesFrame;
		UserSettingsFrame.Frames[2] = FilterListsFrame;

		// Initialize Frames
		for (x in UserSettingsFrame.Frames)	{
		  if (UserSettingsFrame.Frames[x].Name != null)
        UserSettingsFrame.Frames[x].InitFrame();
		}
  },
	
  ShowFrame: function() {
	  var selectedTab = jQuery("#UserSettingsFrameTabs").tabs('option', 'selected');
	  if (UserSettingsFrame.Frames.length > selectedTab) {
      UserSettingsFrame.Frames[selectedTab].ShowFrame();	
		}
		jQuery('#UserSettingsFrame').show();
    UserSettingsFrame.OnFrameResize();
  },

  HideFrame: function() {
    jQuery('#UserSettingsFrame').hide();
  },
	
	OnLogoff: function() {
		for (x in UserSettingsFrame.Frames)	{
		  if (UserSettingsFrame.Frames[x].Name != null)
				UserSettingsFrame.Frames[x].OnLogoff();
		}
	},
	
  OnFrameResize: function() {
	  var selectedTab = jQuery("#UserSettingsFrameTabs").tabs('option', 'selected');
	  if (UserSettingsFrame.Frames.length > selectedTab) {
  		UserSettingsFrame.Frames[selectedTab].OnFrameResize();	
		}	
  },
	
	HandleTabSelect: function(event, ui) {
	  if (UserSettingsFrame.Frames.length > ui.index) {
      UserSettingsFrame.Frames[ui.index].ShowFrame();	
		}	
	}
}