var icon = '<img src="icons/sas9.jpg" width=15 height=17>';
var macmenu =
[
	[null, 'Graphical methods', null, null, null,
		[null, 'Univariate displays', null, null, null,
//			[icon, 'boxanno', 'boxanno.html', '_self', 'Annotate a scatter plot with univariate boxplots'],
			[icon, 'boxplot', 'boxplot.html', '_self', 'Box-and-whisker plots'],
			[icon, 'density', 'density.html', '_self', 'Nonparametric univariate density estimates'],
			[icon, 'dotplot', 'dotplot.html', '_self', 'Dotplots'],
			[icon, 'nqplot', 'nqplot.html', '_self', 'Normal QQ plot'],
			[icon, 'splot', 'splot.html', '_self', 'Schematic boxplots (printer version)'],
			[icon, 'symbox', 'symbox.html', '_self', 'Boxplots for transformations to symmetry'],
			[icon, 'symplot', 'symplot.html', '_self', 'Diagnostic plots for transformations to symmetry']
        ],
		[null, 'Bivariate displays', null, null, null,
			[icon, 'contour', 'contour.html', '_self', 'Plot data ellipses for X'],
			[icon, 'ellipses', 'ellipses.html', '_self', 'Plot bivariate data ellipses'],
			[icon, 'lowess', 'lowess.html', '_self', 'Locally weighted scatterplot smoother'],
			[icon, 'miplot', 'miplot.html', '_self', 'Plot X-Y data for missing data from PROC MI'],
			[icon, 'resline', 'resline.html', '_self', 'Resistant line for bivariate data'],
			[icon, 'sparkline', 'sparkline.html', null, 'Draw sparklines, with control of aspect ratio'],
			[icon, 'sunplot', 'sunplot.html', '_self', 'Sunflower plot for X-Y data'],
			[icon, 'surface', 'surface.html', null, 'Draw color 3D surface plot with contours in X-Y plane'],
        ],
		[null, 'Multivariate displays', null, null, null,
			[icon, 'andrews', 'andrews.html', null, 'Andrews function plots for multivariate data'],
			[icon, 'biplot', 'biplot.html', '_self', 'Generalized biplot of observations and variables'],
			[icon, 'canplot', 'canplot.html', '_self', 'Canonical discriminant structure plot'],
			[icon, 'coplot', 'coplot.html', '_self', 'Construct a conditioning plot - plots of y * x | z'],
			[icon, 'corrgram', 'corrgram.html', '_self', 'Draw a correlogram'],
			[icon, 'cqplot', 'cqplot.html', '_self', 'Chi-square Q-Q plots'],
			[icon, 'faces', 'faces.html', '_self', 'Faces display for multivariate data'],
			[icon, 'genscat', 'genscat.html', null, 'Generalized scatterplot matrix'],
			[icon, 'hecan', 'hecan.html', null, 'Canonical discriminant HE plots'],
			[icon, 'hemat', 'hemat.html', '_self', 'HE plots for all pairs of response variables'],
			[icon, 'hemreg', 'hemreg.html', '_self', 'Extract H and E matrices for multivariate regression'],
			[icon, 'heplot', 'heplot.html', '_self', 'Plot Hypothesis and Error matrices for a bivariate MANOVA effect'],
			[icon, 'heplots', 'heplots.html', null, 'Plot Hypothesis and Error matrices for a MLM'],
			[icon, 'mpower', 'mpower.html', '_self', 'Retrospective power analysis for multivariate GLMs'],
			[icon, 'outlier', 'outlier.html', '_self', 'Robust multivariate outlier detection'],
			[icon, 'robcov', 'robcov.html', '_self', 'Calculate robust covariance matrix via MCD or MVE'],
			[icon, 'scatmat', 'scatmat.html', '_self', 'Scatterplot matrix'],
			[icon, 'scatter', 'scatter.html', '_self', 'Scatterplot matrix with SAS/INSIGHT'],
			[icon, 'stars', 'stars.html', '_self', 'Star plot for multivariate data']
        ],
		[null, 'Cluster analysis', null, null, null,
			[icon, 'gtree', 'gtree.html', '_self', 'Draw a tree dendrogram from PROC CLUSTER/VARLCUS output']
        ],
		[null, 'Maps', null, null, null,
			[icon, 'ccmap', 'ccmap.html', '_self', 'Conditioned choropleth maps'],
			[icon, 'map2gen', 'map2gen.html', '_self', 'Convert a SAS/Graph map to ArcView Generate format'],
        ]
    ],
//	_cmSplit,

	[null, 'Linear models', null, null, null,
		[null, 'ANOVA', null, null, 'Analysis of Variance models',
			[icon, 'alleff', 'alleff.html', null, 'All-effects plot for a factorial ANOVA design'],
			[icon, 'effplot', 'effplot.html', null, 'Effect displays for linear models'],
            [icon, 'hovplot', 'hovplot.html', null, 'Boxplot display of homogeneity of variance tests'],
			[icon, 'meanplot', 'meanplot.html', '_self', 'Plot means for factorial designs'],
			[icon, 'orpoly', 'orpoly.html', '_self', 'Orthogonal polyomial contrasts (unequal spacing | N)'],
			[icon, 'poly', 'poly.html', '_self', 'Generate polynomial contrasts (equal spacing'],
			[icon, 'twoway', 'twoway.html', '_self', 'Diagnostic plots for two-way tables'],
        ],
		[null, 'Regression', null, null, 'Regression models',
			[icon, 'cpplot', 'cpplot.html', '_self', 'Plots of Mallows C(p) and related statistics for model selection'],
			[icon, 'effplot', 'effplot.html', null, 'Effect displays for linear models'],
			[icon, 'partial', 'partial.html', '_self', 'Partial regression residual plots'],
			[icon, 'inflplot', 'inflplot.html', '_self', 'Influence plot for regression models'],
			[icon, 'robust', 'robust.html', '_self', 'M-estimation for robust models fitting via IRLS'],
			[icon, 'rsqdelta', 'rsqdelta.html', '_self', 'Compute R-square change and F-statistics in regression'],
        ],
		[null, 'Multivariate', null, null, 'Multivariate ANOVA and regression',
			[icon, 'hecan', 'hecan.html', null, 'Canonical discriminant HE plots'],
			[icon, 'hemat', 'hemat.html', '_self', 'HE plots for all pairs of response variables'],
			[icon, 'hemreg', 'hemreg.html', '_self', 'Extract H and E matrices for multivariate regression'],
			[icon, 'heplot', 'heplot.html', '_self', 'Plot Hypothesis and Error matrices for a bivariate MANOVA effect'],
			[icon, 'heplots', 'heplots.html', null, 'Plot Hypothesis and Error matrices for a MLM'],
			[icon, 'mvinfluence', 'mvinfluence.html', null, 'Influence measures for multivariate regression'],
        ],
		[null, 'Transformations', null, null, 'Transformations',
			[icon, 'boxcox', 'boxcox.html', '_self', 'Power transformations by Box-Cox method'],
			[icon, 'boxglm', 'boxglm.html', '_self', 'Power transformations by Box-Cox method for GLM'],
			[icon, 'boxtid', 'boxtid.html', '_self', 'Power transformations by Box-Tidwell method'],
			[icon, 'sprdplot', 'sprdplot.html', '_self', 'Spread-Level plot to find transformation to equalize variances'],
        ],
		[null, 'Power', null, null, 'Power computations',
			[icon, 'fpower', 'fpower.html', '_self', 'Power computations for ANOVA designs'],
			[icon, 'mpower', 'mpower.html', '_self', 'Retrospective power analysis for multivariate GLMs'],
			[icon, 'power', 'power.html', '_self', 'Power calculations for general linear models'],
			[icon, 'rpower', 'rpower.html', '_self', 'Retrospective power analysis for univariate GLMs'],
        ],
	],
//	_cmSplit,

	[null, 'Categorical data', null, null, null,
		[null, 'Discrete distributions', null, null, 'Fitting and graphing discrete distributions',
			[icon, 'distplot', 'distplot.html', '_self', 'Plots for discrete distributions'],
			[icon, 'goodfit', 'goodfit.html', '_self', 'Goodness of fit tests for discrete distributions'],
			[icon, 'ordplot', 'ordplot.html', '_self', 'Diagnose form of discrete frequency distribution'],
			[icon, 'poisplot', 'poisplot.html', '_self', 'Poissonness plot for discrete distributions'],
			[icon, 'rootgram', 'rootgram.html', '_self', 'Hanging rootograms for discrete distributions']
		],
		[null, 'Two-way tables', null, null, 'Fitting and graphing discrete distributions',
			[icon, 'agree', 'agree.html', '_self', 'Agreement chart for n x n table'],
			[icon, 'agreeplot', 'agreeplot.html', null, 'Macro program for agreement plots'],
			[icon, 'corresp', 'corresp.html', '_self', 'Correspondence analysis of contingency tables'],
			[icon, 'ffold', 'ffold.html', '_self', 'Fourfold display for 2 x 2 x k tables'],
			[icon, 'fourfold', 'fourfold.html', '_self', 'Fourfold display for 2 x 2 x k tables'],
			[icon, 'power2x2', 'power2x2.html', '_self', 'Power for 2 x 2 tables'],
			[icon, 'powerrxc', 'powerrxc.html', '_self', 'Power for ChiSquare test of independence'],
			[icon, 'sieve', 'sieve.html', '_self', 'Sieve diagrams for two-way tables'],
			[icon, 'sieveplot', 'sieveplot.html', '_self', 'Macro for sieve diagrams'],
			[icon, 'missrc', 'missrc.html', '_self', 'MLEs for incomplete n-way contingency tables'],
		],
		[null, 'Mosaic displays', null, null, 'Programs and macros for mosaic plots',
			[icon, 'genscat', 'genscat.html', null, 'Generalized scatterplot matrix'],
			[icon, 'mosaic', 'mosaic.html', '_self', 'Macro interface for mosaic displays'],
			[icon, 'mosaics', 'mosaics.html', '_self', 'SAS/IML programs for mosaic displays'],
			[icon, 'mosmat', 'mosmat.html', '_self', 'Macro interface for mosaic matrices']
        ],
		[null, 'Generalized linear models', null, null, 'Logistic regression and logit models',
			[icon, 'addvar', 'addvar.html', '_self', 'Added variable plots for logistic regression'],
			[icon, 'catplot', 'catplot.html', '_self', 'Plot observed and predicted logits for logit models'],
			[icon, 'effplot', 'effplot.html', null, 'Effect displays for linear models'],
			[icon, 'halfnorm', 'halfnorm.html', '_self', 'Half normal plot for generalized linear models'],
			[icon, 'inflglim', 'inflglim.html', '_self', 'Influence plots for generalized linear models'],
			[icon, 'inflogis', 'inflogis.html', '_self', 'Influence plot for logistic regression models'],
			[icon, 'logodds', 'logodds.html', '_self', 'Plot empirical log-odds for logistic regression'],
			[icon, 'powerlog', 'powerlog.html', '_self', 'Power for logistic regression'],
			[icon, 'robust', 'robust.html', '_self', 'M-estimation for robust models fitting via IRLS']
        ],
//		[icon, 'corresp', 'corresp.html', '_self', 'Correspondence analysis [SSSG]'],
    ],
//	_cmSplit,

	[null, 'SEMs', null, null, null,
		[icon, 'caliscmp', 'caliscmp.html', '_self', 'Compare model fits from PROC CALIS'],
		[icon, 'calisgfi', 'calisgfi.html', null, 'Produce a readable display of CALIS GFI statistics'],
		[icon, 'csmpower', 'csmpower.html', '_self', 'Power estimation for Covariance Structure Models'],
		[icon, 'eqs2ram', 'eqs2ram.html', null, 'Parse LINEQS statements to form a RAM-list dataset'],
		[icon, 'ram2dot', 'ram2dot.html', null, 'Draw a path diagram from CALIS RAM-list data set'],
		[icon, 'str2ram', 'str2ram.html', null, 'Create a RAM-list data set from RAM text strings'],
    ],
//	_cmSplit,

	[null, 'Utility macros', null, null, null,
		[null, 'Data utility', null, null, null,
			[icon, 'combine', 'combine.html', null, 'Combine the values of two or more variables'],
			[icon, 'combos', 'combos.html', null, 'Create some/all combinations of N things, K at a time'],
//			[icon, 'dummy', 'dummy.html', '_self', 'Construct dummy variables for regression models'],
			[icon, 'dummy', 'dummy.html', '_self', 'Macro to create dummy variables'],
			[icon, 'expgrid', 'expgrid.html',  '_self','Create a data set from all combinations of factors'],
			[icon, 'interact', 'interact.html', '_self', 'Create interaction variables'],
			[icon, 'jitter', 'jitter.html', '_self', 'Add noise to numeric variables to prevent overplotting'],
			[icon, 'lags', 'lags.html', '_self', 'Macro for lag sequential analysis'],
			[icon, 'map2gen', 'map2gen.html', '_self', 'Convert a SAS/Graph map to ArcView Generate format'],
			[icon, 'multisummary', 'multisummary.html', '_self', 'Calculate summary statistics for multiple variables'],
			[icon, 'mvnormal', 'mvnormal.html', null, 'Generate multivariate normal samples'],
			[icon, 'sas2vsta', 'sas2vsta.html', '_self', 'Generate a ViSta input file from a SAS dataset'],
			[icon, 'scale', 'scale.html', '_self', 'Rescale variables to a given range'],
			[icon, 'slice', 'slice.html', '_self', 'Divide a variable into slices'],
			[icon, 'sort', 'sort.html', '_self', 'Generalized dataset sorting by format or statistic'],
			[icon, 'stat2dat', 'stat2dat.html', '_self', 'Convert summary dataset to raw data equivalent'],
			[icon, 'table', 'table.html', '_self', 'Construct a grouped frequency table']
        ],
		[null, 'Graphics utility', null, null, 'Graphical annotations and device control',
			[icon, 'axis', 'axis.html', null, 'Create Annotate data set to draw an X or Y axis'],
			[icon, 'bars', 'bars.html', '_self', 'Create an annotate data set to draw error bars'],
			[icon, 'boxanno', 'boxanno.html', '_self', 'Annotate a scatter plot with univariate boxplots'],
			[icon, 'boxaxis', 'boxanno.html', '_self', 'Annotate an axis with a univariate boxplot'],
			[icon, 'equate', 'equate.html', '_self', 'Creates AXIS statements for a GPLOT with equated axes'],
			[icon, 'gask', 'gask.html', '_self', 'Retrieve graphics options to global macro variables'],
			[icon, 'gbank', 'gbank.html', null, 'Calculate width or height to bank a plot to 45 deg'],
			[icon, 'gdispla', 'gdispla.html', '_self', 'Device-independent DISPLAY/NODISPLAY control'],
			[icon, 'genpat', 'genpat.html', '_self', 'Generate PATTERN statements'],
			[icon, 'gensym', 'gensym.html', '_self', 'Generate SYMBOL statements'],
			[icon, 'gkill', 'gkill.html', null, 'Delete entries in a graphics catalog'],
			[icon, 'gsize', '/datavis/sasmac/gsize.html', null, 'Set SAS/Graph size in a device-independent way'],
			[icon, 'gskip', 'gskip.html', '_self', 'Device-independent macro for multiple plots'],
			[icon, 'inset', 'inset.html', null, 'Replay one graph inside another'],
			[icon, 'label', 'label.html', '_self', 'Create an Annotate dataset to label observations'],
			[icon, 'labels', 'labels.html', null, 'Create an Annotate dataset to label observations'],
			[icon, 'lines', 'lines.html', null, 'Create an Annotate dataset to draw lines in a plot'],
			[icon, 'panels', 'panels.html', '_self', 'Display a set of plots in rectangular panels'],
			[icon, 'points', 'points.html', '_self', 'Create an Annotate dataset to draw points in a plot'],
			[icon, 'polygons', 'polygons.html', null, 'Create Annotate dataset to draw a polygon(s)'],
			[icon, 'pscale', 'pscale.html', '_self', 'Construct annotations for a probability scale'],
			[icon, 'regline', 'regline.html', null, 'Create annotate data set to draw a regression line'],
			[icon, 'rug', 'rug.html', null, 'Create annotations for a rug plot along an axis']
        ],
		[null, 'Macro utility', null, null, 'Used in writing general macros',
			[icon, 'expglm', 'expglm.html', null, 'Expand a GLM model specification from bar notation'],
			[icon, 'defined', 'defined.html', null, 'Determine if a macro variable is defined'],
			[icon, 'lastword', 'lastword.html', null, 'Return the last word from a delimited list of words'],
			[icon, 'vexpand', 'vexpand.html', null, 'Expand abbreviated variable lists'],
  			[icon, 'words', 'http://euclid.psych.yorku.ca/ftp/sas/macros/util/words.sas', '_self', 'Return number of words in string'],
        ],
		[null, 'Color', null, null, 'Working with color palettes',
  			[icon, 'bpycolors', 'bpycolors.html', '_self', 'Create n colors from Blue - Pink - Yellow palette'],
  			[icon, 'brewerpal', 'brewerpal.html', '_self', 'Generate Brewer color palette(s)'],
			[icon, 'colochrt', 'colorchrt.html', '_self', 'Produce color chart from a data set of color values'],
			[icon, 'colorramp', 'colorramp.html', '_self', 'Construct a sequential or diverging color set']
        ]
    ]
//	_cmSplit,

// 	[null, 'My Books', null, null, null,
// 		[null, 'SAS System for Statistical Graphics', '../books/sssg/', null, null],
// 		[null, 'Visualizing Categorical Data', '../books/vcd/', null, null],
// 		[null, 'Visual Statistics', 'http://www.uv.es/visualstats/Book/', null, null]
//     ]

];

