/**
 * 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 apicomplete			= 'AbstractConsumer AbstractEvent AbstractInvoker AbstractMessage AbstractOperation AbstractProducer AbstractService AbstractTarget AbstractWebService Accessibility AccessibilityProperties Accordion AccordionHeader AccordionHeaderSkin AcknowledgeMessage ActionEffectInstance ActionScriptVersion ActivatorSkin ActivityEvent AddChild AddChildAction AddChildActionInstance AddItemAction AddItemActionInstance AdvancedDataGridBase AdvancedDataGridBaseSelectionData AdvancedDataGridColumn AdvancedDataGridColumnGroup AdvancedDataGridDragProxy AdvancedDataGridEvent AdvancedDataGridEventReason AdvancedDataGridGroupItemRenderer AdvancedDataGridHeaderHorizontalSeparator AdvancedDataGridHeaderInfo AdvancedDataGridHeaderRenderer AdvancedDataGridHeaderShiftEvent AdvancedDataGridItemRenderer AdvancedDataGridItemSelectEvent AdvancedDataGridListData AdvancedDataGridRendererDescription AdvancedDataGridRendererProvider AdvancedDataGridSortItemRenderer AdvancedListBase AIREvent Alert AMFChannel AnimateProperty AnimatePropertyInstance AntiAliasType Application ApplicationControlBar ApplicationDomain ApplicationTitleBarBackgroundSkin AreaChart AreaRenderer AreaSeries AreaSeriesItem AreaSeriesRenderData AreaSet ArgumentError arguments Array ArrayCollection ArrayUtil AsyncErrorEvent AsyncMessage AsyncRequest AsyncResponder AsyncToken Automation AutomationDragEvent AutomationDragEventWithPositionInfo AutomationError AutomationEvent AutomationID AutomationIDPart AutomationRecordEvent AutomationReplayEvent AverageAggregator AVM1Movie AxisBase AxisLabel AxisLabelSet AxisRenderer Back BarChart BarSeries BarSeriesItem BarSeriesRenderData BarSet Base64Decoder Base64Encoder BaseListData BevelFilter BindingUtils Bitmap BitmapAsset BitmapData BitmapDataChannel BitmapFill BitmapFilter BitmapFilterQuality BitmapFilterType BlendMode Blur BlurFilter BlurInstance Boolean Border Bounce BoundedValue Box BoxDirection BoxDivider BoxItemRenderer BrokenImageBorderSkin BrowserChangeEvent BrowserInvokeEvent BrowserManager BubbleChart BubbleSeries BubbleSeriesItem BubbleSeriesRenderData Button ButtonAsset ButtonBar ButtonBarButtonSkin ButtonLabelPlacement ButtonSkin ByteArray ByteArrayAsset CalendarLayoutChangeEvent Camera CandlestickChart CandlestickItemRenderer CandlestickSeries Canvas Capabilities CapsStyle CartesianCanvasValue CartesianChart CartesianDataCanvas CartesianTransform CategoryAxis ChangeWatcher Channel ChannelError ChannelEvent ChannelFaultEvent ChannelSet ChartBase ChartElement ChartEvent ChartItem ChartItemDragProxy ChartItemEvent ChartLabel ChartSelectionChangeEvent ChartState CheckBox CheckBoxIcon ChildExistenceChangedEvent ChildItemPendingError CircleItemRenderer Circular Class ClassFactory Clipboard ClipboardFormats ClipboardTransferMode CloseEvent CollectionEvent CollectionEventKind CollectionViewError ColorMatrixFilter ColorPicker ColorPickerEvent ColorPickerSkin ColorTransform ColorUtil ColumnChart ColumnSeries ColumnSeriesItem ColumnSeriesRenderData ColumnSet ComboBase ComboBox ComboBoxArrowSkin CommandMessage ComponentDescriptor CompositeEffect CompositeEffectInstance CompressionAlgorithm Concurrency ConfigMap ConstraintColumn ConstraintRow Consumer Container ContainerCreationPolicy ContainerLayout ContainerMovieClip ContextMenu ContextMenuBuiltInItems ContextMenuEvent ContextMenuItem ContextualClassFactory ControlBar ConvolutionFilter CountAggregator CreditCardValidator CreditCardValidatorCardType CrossItemRenderer CSMSettings CSSStyleDeclaration CubeEvent Cubic CuePointEvent CuePointManager CurrencyFormatter CurrencyValidator CurrencyValidatorAlignSymbol CursorBookmark CursorError CursorManager CursorManagerPriority DataDescription DataEvent DataGrid DataGridBase DataGridColumn DataGridColumnDropIndicator DataGridColumnResizeSkin DataGridDragProxy DataGridEvent DataGridEventReason DataGridHeader DataGridHeaderBackgroundSkin DataGridHeaderBase DataGridHeaderSeparator DataGridItemRenderer DataGridListData DataGridLockedRowContentHolder DataGridSortArrow DataTip DataTransform Date DateBase DateChooser DateChooserEvent DateChooserEventDetail DateChooserIndicator DateChooserMonthArrowSkin DateChooserYearArrowSkin DateField DateFormatter DateRangeUtilities DateTimeAxis DateValidator DefaultDataDescriptor DefaultListEffect DefaultTileListEffect DeferredInstanceFromClass DeferredInstanceFromFunction DefinitionError DeleteObjectSample DescribeTypeCache DescribeTypeCacheRecord DiamondItemRenderer Dictionary DisplacementMapFilter DisplacementMapFilterMode DisplayObject DisplayObjectContainer Dissolve DissolveInstance DividedBox DividerEvent DockIcon DownloadProgressBar DragEvent DragManager DragSource DRMAuthenticateEvent DRMErrorEvent DRMStatusEvent DropdownEvent DropShadowFilter DualStyleObject DynamicEvent EdgeMetrics Effect EffectEvent EffectInstance EffectManager EffectTargetFilter Elastic EmailValidator EncryptedLocalStore Endian EOFError Error ErrorEvent ErrorMessage EvalError Event EventDispatcher EventPhase EventPriority Exponential ExternalInterface Fade FadeInstance Fault FaultEvent File FileEvent FileFilter FileListEvent FileMode FileReference FileReferenceList FileStream FileSystemComboBox FileSystemDataGrid FileSystemEnumerationMode FileSystemHistoryButton FileSystemList FileSystemSizeDisplayMode FileSystemTree FlexBitmap FlexClient FlexContentHolder FlexEvent FlexHTMLLoader FlexMouseEvent FlexMovieClip FlexNativeMenu FlexNativeMenuEvent FlexNativeWindowBoundsEvent FlexPrintJob FlexPrintJobScaleType FlexShape FlexSimpleButton FlexSprite FlexTextField FlexVersion FocusDirection FocusEvent FocusManager Font FontAsset FontStyle FontType Form Formatter FormHeading FormItem FormItemDirection FormItemLabel FrameLabel FullScreenEvent Function Glow GlowFilter GlowInstance GradientBase GradientBevelFilter GradientEntry GradientGlowFilter GradientType Graphics GraphicsUtil Grid GridFitType GridItem GridLines GridRow Grouping GroupingCollection GroupingField HaloColors HaloDefaults HaloFocusRect HBox HDividedBox HeaderEvent HierarchicalCollectionView HierarchicalCollectionViewCursor HierarchicalData HistoryManager HitData HLOCChart HLOCItemRenderer HLOCSeries HLOCSeriesBase HLOCSeriesItem HLOCSeriesRenderData HorizontalList HRule HScrollBar HSlider HTML HTMLHistoryItem HTMLHost HTMLLoader HTMLPDFCapability HTMLUncaughtScriptExceptionEvent HTMLWindowCreateOptions HTTPChannel HTTPRequestMessage HTTPService HTTPStatusEvent Icon ID3Info IllegalOperationError Image ImageSnapshot IME IMEConversionMode IMEEvent IndexChangedEvent InstanceCache int InteractiveIcon InteractiveObject InterpolationMethod InvalidCategoryError InvalidChannelError InvalidDestinationError InvalidFilterError InvalidSWFError InvokeEvent IOError IOErrorEvent Iris IrisInstance ItemClickEvent ItemPendingError ItemResponder JointStyle JPEGEncoder Keyboard KeyboardEvent KeyLocation Label LayoutContainer LayoutManager Legend LegendData LegendItem LegendMouseEvent Linear LinearAxis LinearGradient LinearGradientStroke LineChart LineFormattedTarget LineRenderer LineScaleMode LineSeries LineSeriesItem LineSeriesRenderData LineSeriesSegment LinkBar LinkButton LinkButtonSkin LinkSeparator List ListBase ListBaseContentHolder ListBaseSeekPending ListBaseSelectionData ListCollectionView ListData ListDropIndicator ListEvent ListEventReason ListItemDragProxy ListItemRenderer ListItemSelectEvent ListRowInfo Loader LoaderConfig LoaderContext LoaderInfo LoaderUtil LoadEvent LocalConnection Locale Log LogAxis LogEvent LogEventLevel LogLogger MaskEffect MaskEffectInstance Math Matrix MaxAggregator MemoryError Menu MenuBar MenuBarBackgroundSkin MenuBarItem MenuEvent MenuItemRenderer MenuListData MenuShowEvent MessageAckEvent MessageAgent MessageEvent MessageFaultEvent MessagePerformanceUtils MessageResponder MessageSerializationError MessagingError MetadataEvent Microphone MinAggregator MiniDebugTarget Module ModuleBase ModuleManager MorphShape Mouse MouseEvent Move MoveEvent MoveInstance MovieClip MovieClipAsset MovieClipLoaderAsset MultiTopicConsumer MultiTopicProducer Namespace NameUtil NativeApplication NativeDragActions NativeDragEvent NativeDragManager NativeDragOptions NativeMenu NativeMenuItem NativeWindow NativeWindowBoundsEvent NativeWindowDisplayState NativeWindowDisplayStateEvent NativeWindowInitOptions NativeWindowResize NativeWindowSystemChrome NativeWindowType NavBar NetConnection NetConnectionChannel NetStatusEvent NetStream NewObjectSample NoChannelAvailableError NotificationType Number NumberBase NumberBaseRoundType NumberFormatter NumberValidator NumericAxis NumericStepper NumericStepperDownSkin NumericStepperEvent NumericStepperUpSkin ObjectEncoding ObjectProxy ObjectUtil OLAPAttribute OLAPAxisPosition OLAPCell OLAPCube OLAPDataGridGroupRenderer OLAPDataGridHeaderRendererProvider OLAPDataGridItemRendererProvider OLAPDataGridRendererProvider OLAPDimension OLAPElement OLAPHierarchy OLAPLevel OLAPMeasure OLAPMember OLAPQuery OLAPQueryAxis OLAPResult OLAPResultAxis OLAPSchema OLAPSet OLAPTrace OLAPTuple Operation OutputProgressEvent Panel Parallel ParallelInstance Pause PauseInstance PhoneFormatter PhoneNumberValidator PieSeries PieSeriesItem PieSeriesRenderData PixelSnapping PlotChart PlotSeries PlotSeriesItem PlotSeriesRenderData PNGEncoder Point PolarChart PolarDataCanvas PolarTransform PollingChannel PopUpButton PopUpButtonSkin PopUpIcon PopUpManager PopUpManagerChildList PopUpMenuButton Preloader PrintDataGrid PrintJob PrintJobOptions PrintJobOrientation Producer ProgrammaticSkin ProgressBar ProgressBarDirection ProgressBarLabelPlacement ProgressBarMode ProgressBarSkin ProgressEvent ProgressIndeterminateSkin ProgressMaskSkin ProgressTrackSkin PropertyChangeEvent PropertyChangeEventKind PropertyChanges Proxy QName Quadratic QualifiedResourceManager Quartic Quintic RadialGradient RadioButton RadioButtonGroup RadioButtonIcon RangeError Rectangle RectangularBorder RectangularDropShadow ReferenceError RegExp RegExpValidationResult RegExpValidator RemoteObject RemotingMessage RemoveChild RemoveChildAction RemoveChildActionInstance RemoveItemAction RemoveItemActionInstance RenderData Repeater Resize ResizeEvent ResizeInstance ResourceBundle ResourceManager Responder ResultEvent RevocationCheckSettings RichTextEditor Rotate RotateInstance RoundedRectangle Sample Scene SchemaTypeRegistry Screen ScreenMouseEvent ScriptTimeoutError ScrollArrowSkin ScrollBar ScrollBarDirection ScrollControlBase ScrollEvent ScrollEventDetail ScrollEventDirection ScrollPolicy ScrollThumb ScrollThumbSkin ScrollTrackSkin SecureAMFChannel SecureHTTPChannel SecureStreamingAMFChannel SecureStreamingHTTPChannel Security SecurityDomain SecurityError SecurityErrorEvent SecurityPanel Sequence SequenceInstance Series SeriesEffect SeriesEffectInstance SeriesInterpolate SeriesInterpolateInstance SeriesSlide SeriesSlideInstance SeriesZoom SeriesZoomInstance ServerConfig ServiceMonitor SetEventHandler SetProperty SetPropertyAction SetPropertyActionInstance SetStyle SetStyleAction SetStyleActionInstance SHA256 ShadowBoxItemRenderer ShadowLineRenderer Shape SharedObject SharedObjectFlushStatus SignatureStatus SignerTrustSettings SimpleButton SimpleXMLDecoder SimpleXMLEncoder Sine Slider SliderDataTip SliderDirection SliderEvent SliderEventClickTarget SliderHighlightSkin SliderLabel SliderThumb SliderThumbSkin SliderTrackSkin SOAPFault SOAPHeader SOAPMessage SocialSecurityValidator Socket SocketMonitor SolidColor Sort SortError SortField SortInfo Sound SoundAsset SoundChannel SoundEffect SoundEffectInstance SoundLoaderContext SoundMixer SoundTransform Spacer SpreadMethod Sprite SpriteAsset SQLCollationType SQLColumnNameStyle SQLColumnSchema SQLConnection SQLError SQLErrorEvent SQLErrorOperation SQLEvent SQLIndexSchema SQLMode SQLResult SQLSchema SQLSchemaResult SQLStatement SQLTableSchema SQLTransactionLockType SQLTriggerSchema SQLUpdateEvent SQLViewSchema StackedSeries StackFrame StackOverflowError Stage StageAlign StageDisplayState StageQuality StageScaleMode State StateChangeEvent StaticText StatusBar StatusBarBackgroundSkin StatusEvent StreamingAMFChannel StreamingConnectionHandler StreamingHTTPChannel String StringUtil StringValidator Stroke StyleManager StyleProxy StyleSheet SubscriptionInfo SumAggregator SummaryField SummaryObject SummaryRow SwatchPanelSkin SwatchSkin SWFLoader SWFVersion SwitchSymbolFormatter SyncEvent SyntaxError System SystemManager SystemTrayIcon TabBar TabNavigator TabSkin Text TextArea TextColorType TextDisplayMode TextEvent TextField TextFieldAsset TextFieldAutomationHelper TextFieldAutoSize TextFieldType TextFormat TextFormatAlign TextInput TextLineMetrics TextRange TextRenderer TextSelectionEvent TextSnapshot Tile TileBase TileBaseDirection TileDirection TileList TileListItemRenderer Timer TimerEvent TitleBackground TitleBar TitleWindow ToggleButtonBar ToolTip ToolTipEvent ToolTipManager TraceTarget Transform Transition Tree TreeEvent TreeItemRenderer TreeListData TriangleItemRenderer Tween TweenEffect TweenEffectInstance TweenEvent TypeError UIComponent UIComponentCachePolicy UIComponentDescriptor UIDUtil UIMovieClip uint UITextField UITextFormat UnconstrainItemAction UnconstrainItemActionInstance Updater URIError URLLoader URLLoaderDataFormat URLMonitor URLRequest URLRequestDefaults URLRequestHeader URLRequestMethod URLStream URLUtil URLVariables ValidationResult ValidationResultEvent Validator VBox VDividedBox VerifyError Video VideoDisplay VideoError VideoEvent ViewStack VRule VScrollBar VSlider WebService WedgeItemRenderer Window WindowBackground WindowCloseButtonSkin WindowedApplication WindowedSystemManager WindowMaximizeButtonSkin WindowMinimizeButtonSkin WindowRestoreButtonSkin WipeDown WipeDownInstance WipeLeft WipeLeftInstance WipeRight WipeRightInstance WipeUp WipeUpInstance WSDLBinding WSDLLoadEvent XML XMLDocument XMLList XMLListCollection XMLLoadEvent XMLNode XMLNodeType XMLSignatureValidator XMLSocket XMLUtil ZipCodeFormatter ZipCodeValidator ZipCodeValidatorDomainType Zoom ZoomInstance';

	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(apicomplete), '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	= ['asapi','actionscriptapi'];
