/**
 * SyntaxHighlighter for actionscript
 * http://alexgorbatchev.com/
 *
 * @version
 * 2.0.287 (February 06 2009)
 *
 * @author
 * Jens Christian Brynildsen
 * 
 * @copyright
 * Copyright (C) 2004-2009 Alex Gorbatchev.
 *
 * Licensed under a GNU Lesser General Public License.
 * http://creativecommons.org/licenses/LGPL/2.1/
 *
 * SyntaxHighlighter is donationware. You are allowed to download, modify and distribute 
 * the source code in accordance with LGPL 2.1 license, however if you want to use 
 * SyntaxHighlighter on your site or include it in your product, you must donate.
 * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
 */
SyntaxHighlighter.brushes.AScript = function()
{
	var statements			='break case catch continue default do else each finally for if in label ' +
							'return super switch throw try while with';
	var attributekeywords	= 'dynamic final internal native override private protected public static';
	var definitionkeywords	= '...(rest) class const extends function get implements interface namespace package set var';
	var directives			= 'default_xml_namespace import include use_namespace';
	var expressionkeywords	= 'false null this true void';
	var apiabstract			= 'Array Boolean int uint Number MovieClip Date Math Error arguments String Vector XML Bitmap BitmapData BlendMode DisplayObject Graphics Shape Sprite Loader Scene Screen SimpleButton Stage NetStream URLLoader URLRequest URLStream XMLSocket ByteArray Dictionary Timer Proxy Mouse Keyboard ContextMenu TextField TextFormat StyleSheet System Security Capabilities PrintJob SharedObject Socket Camera Microphone Sound SoundChannel SoundMixer SoundTransform Transform Matrix Matrix3D Point Rectangle ColorTransform File ExternalInterface';

	this.regexList = [
		{ regex: SyntaxHighlighter.regexLib.singleLineCComments,		css: 'comments' },			// one line comments
		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,			css: 'comments' },			// multiline comments
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,			css: 'string' },			// double quoted strings
		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,			css: 'string' },			// single quoted strings
		{ regex: /\s*#.*/gm,											css: 'preprocessor' },		// preprocessor tags like #region and #endregion
		{ regex: new RegExp(this.getKeywords(statements), 'gm'),		css: 'statements' },			// statements
		{ regex: new RegExp(this.getKeywords(attributekeywords), 'gm'),	css: 'attributekeywords' },
		{ regex: new RegExp(this.getKeywords(definitionkeywords), 'gm'),css: 'definitionkeywords' },
		{ regex: new RegExp(this.getKeywords(directives), 'gm'),		css: 'expressionkeywords' },
		{ regex: new RegExp(this.getKeywords(apiabstract), 'gm'),		css: 'api' },
		{ regex: new RegExp(this.getKeywords(expressionkeywords), 'gm'),css: 'expressionkeywords' }
		];
	
	this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags);
};

SyntaxHighlighter.brushes.AScript.prototype	= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.AScript.aliases	= ['as','actionscript'];

