dp.sh.Brushes.ActionScript = function() {  
  var keywords = 'and arguments asfunction break call case catch clear ' +  
    'continue default do else escape eval false finally for getProperty ' +  
    'if ifFrameLoaded in instanceof loop NaN new newline not null or ' +  
    'prototype return set super switch targetPath tellTarget this throw ' +  
    'trace true try typeof undefined unescape var visible void while with';  
  var builtin = '_currentframe _droptarget _framesloaded _global _height ' +  
    '_level _name _root _rotation _target _totalframes _url _visible ' +  
    '_width _x _xmouse _xscale _y _ymouse _yscale Array Boolean Button ' +  
    'bytesLoaded bytesTotal Camera Color Date enabled Error focusEnabled ' +  
    'Key LoadVars Math Mouse MovieClip nextFrame Number Object Selection ' +  
    'Sound Stage String StyleSheet System TextFormat';  
  var funcs = 'addProperty attachMovie attachVideo browse cancel ' +  
    'clearInterval clone concat createEmptyMovieClip createTextField ' +  
    'dispose draw duplicateMovieClip dynamic equals extends function ' +  
    'getInstanceAtDepth gotoAndPlay gotoAndStop identity implements ' +  
    'import interface isEmpty isFinite isNAN join length loadClip ' +  
    'loadMovie loadMovieNum loadVariables loadVariablesNum merge moveTo ' +  
    'on onClipEvent onDragOut onDragOver onEnterFrame onKeyDown onKeyUp ' +  
    'onKillFocus onMouseDown onMouseMove onMouseUp onPress onRelease ' +  
    'onReleaseOutside onRollOut onRollOver onUnload play pop prevFrame ' +  
    'private public push registerClass removeMovieClip reverse rotate ' +  
    'scale setEmpty setInterval setProperty shift slice sort sortOn ' +  
    'splice startDrag static stopAllSounds stopDrag subtract swapDepths ' +  
    'toString toString translate union unloadClip unloadMovie ' +  
    'unloadMovieNum unshiftclass unwatch valueOf watch';  
  var includes = '#include #initClip #endInitClip';  
  
  this.regexList = [  
    {regex: dp.sh.RegexLib.SingleLineCComments, css: 'comment' },  
    {regex: dp.sh.RegexLib.MultiLineCComments, css: 'comment' },  
    {regex: dp.sh.RegexLib.DoubleQuotedString, css: 'string' },  
    {regex: dp.sh.RegexLib.SingleQuotedString, css: 'string' },  
    {regex: new RegExp(this.GetKeywords(keywords), 'gm'), css: 'keyword' },  
    {regex: new RegExp(this.GetKeywords(funcs), 'gm'), css: 'func' },  
    {regex: new RegExp(this.GetKeywords(builtin), 'gm'), css: 'builtin' },  
    {regex: new RegExp(this.GetKeywords(includes), 'gm'), css: 'preprocessor'}  
  ];  
  this.CssClass = 'dp-as';  
  this.Style = '.dp-as .func { color: #000099; }' +  
               '.dp-as .builtin { color: #990000; }';  
}  
  
dp.sh.Brushes.ActionScript.prototype = new dp.sh.Highlighter();  
dp.sh.Brushes.ActionScript.Aliases = ['actionscript', 'as'];