/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/
 *
 * SyntaxHighlighter is donationware. If you are using it, please donate.
 * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
 *
 * @version
 * 2.1.364 (October 15 2009)
 * 
 * @copyright
 * Copyright (C) 2004-2009 Alex Gorbatchev.
 *
 * @license
 * This file is part of SyntaxHighlighter.
 * 
 * SyntaxHighlighter is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * SyntaxHighlighter is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with SyntaxHighlighter.  If not, see <http://www.gnu.org/copyleft/lesser.html>.
 */
SyntaxHighlighter.brushes.DB = function()
{
	var funcs	=	'MessageBox OpenConsole Input Print PrintN CloseConsole InitGraphics GraphicsMode AppTitle LoadMesh GetMeshHandle OpenPak LoadMap AddCamera AddFPSCamera PointCamera AmbientLight ' +
					'BeginScene UpdateScene RenderScene GetInputEvents EndGraphics Text AddShadow SetShadowMode SetShadowColor AddLight PositionEntity ScaleEntity RotateEntity TurnEntity MoveEntity TranslateEntity '+
					'PlanarMap EntityFx EntityMaterialFx EntityMaterial EntityMaterialCount EntityMaterialShininess EntityShininess EntityDiffuse '+
					'EntitySpecular EntityEmissive EntityAmbient EntityVertexColor NameEntity EntityName EntityParent ParentEntity '+
					'RemoveChildren CountChildren EntityChild SetMaterialParam LoadTexture EntityTexture TextureFlags ShowEntity FreeEntity '+
					'KeyDown KeyHit LastKeyHit SetFogMode CreateCube CreateSphere CreateCylinder CreateCone CreatePlane CreateWater CreateSkybox CreateSkydome CreateTerrain TerrainTextureScale '+
					'InitParticlesPerSecond InitParticlesLifetime InitParticlesAngle InitParticlesColor AddParticleEmitter SetParticleFx AddCollideReceiver RemoveCollideReceiver AddCollider RemoveCollider '+
					'CopyMesh CopyMap CreateBillBoard FreeTexture FreeImage LoadImage AddScreenImage DrawImageFlat DrawImage DrawImageRect ImageMask ImageAlpha TextColor SetText FreeText FreeScreenImage '+
					'CopyMeshDeep EntityX EntityY EntityZ EntityPitch EntityYaw EntityRoll EntityWidth EntityHeight EntityDepth '+
					'CameraProject ProjectedX ProjectedY PickedX PickedY PickedZ CameraPick LinePick EntityIntersect AddTextureCamera CreateRenderTexture RenderToTexture '+
					'SetAnimRange SetAnimSpeed SetAnimFrame SetAnimLooped GetAnimFrame PlayMD2Anim PlayMD2AnimName AnimEventDelete AnimEventOrbit AnimEventPath AnimEventTurn AnimEventSpline AddSplinePoint ClearSpline StopAnimEvent '+
					'ClearMeshData AddVertex AddTriangle CreateMesh MeshVertexCount MeshIndexCount MeshTriCount AppendMeshData GetMeshData TriangleVertex VertexX VertexY VertexZ VertexNX VertexNY VertexNZ VertexU VertexV VertexPosition VertexNormals VertexUV VertexColor SetMeshData MorphMesh '+
					'CameraRange CameraFOV CameraOrthogonal MouseDown MouseHit MouseXSpeed MouseYSpeed MouseZSpeed ShowMouse Viewport GetFPS PointEntity CreatePivot LoadBMPFont BMPFontText '+
					'InitAudio EndAudio LoadSound FreeSound PlaySound StopSound PlayMusic StopMusic SoundVolume SoundPitch SoundPan SetListener EmitSound EntityShader EntityLoadShader VertexShaderConst PixelShaderConst ShaderModel '+
					'Str StrF Left Right Mid UCase LCase Trim Chr Hex Bin StrCopy StrIn Asc Len WaitKey Millisecs Delay Date Time Execute '+
					'OpenFile ReadFile WriteFile CloseFile ChangeDir CurrentDir DeleteFile EOF ReadByte ReadInt ReadFloat ReadString ReadLine WriteByte WriteInt WriteFloat WriteString WriteLine '+
					'PointerX PointerY SaveScreenshot CreateBonePivot DeltaPitch DeltaRoll ClearScene LoadScene SaveScene CalcNormals CreateTorus '+
					'AddKeyFrame AnimEventKeyFrame EntityAutoCull GetEntityByName CameraBGColor EntityDistance MoveMouse CameraUpVectorX CameraUpVectorY CameraUpVectorZ CameraUpVector';

	var keywords =	'Alias Declare Explicit Debug End If ElseIf Else EndIf For To Next Step While Wend Until Var Local Global Dim And Or Return ' +
					'Data Read ReadF Restore Include Not Goto Gosub Const Field Forever Repeat Until ' +
					'Select EndSelect Case Default Int Float Floor Ceil Abs AbsF Mod Sqr Sin Cos Tan ASin ACos ATan Rnd RndF SeedRnd True False Null Pi#';
	
	var constants	= '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';

	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: /\$\w+/g,											css: 'variable' },			// variables
		{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),		css: 'functions' },			// common functions
		{ regex: new RegExp(this.getKeywords(constants), 'gmi'),	css: 'constants' },			// constants
		{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }			// keyword
		];

	this.forHtmlScript(SyntaxHighlighter.regexLib.PhpScriptTags);
};
SyntaxHighlighter.brushes.DB.prototype	= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.DB.aliases	= ['db'];

