3 * http://alexgorbatchev.com/SyntaxHighlighter
5 * SyntaxHighlighter is donationware. If you are using it, please donate.
6 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
9 * 3.0.83 (July 02 2010)
12 * Copyright (C) 2004-2010 Alex Gorbatchev.
15 * Dual licensed under the MIT and GPL licenses.
19 var sh = SyntaxHighlighter;
22 * Provides functionality to dynamically load only the brushes that a needed to render the current page.
24 * There are two syntaxes that autoload understands. For example:
26 * SyntaxHighlighter.autoloader(
27 * [ 'applescript', 'Scripts/shBrushAppleScript.js' ],
28 * [ 'actionscript3', 'as3', 'Scripts/shBrushAS3.js' ]
31 * or a more easily comprehendable one:
33 * SyntaxHighlighter.autoloader(
34 * 'applescript Scripts/shBrushAppleScript.js',
35 * 'actionscript3 as3 Scripts/shBrushAS3.js'
38 sh.autoloader = function()
41 elements = sh.findElements(),
44 all = SyntaxHighlighter.all,
50 SyntaxHighlighter.all = function(params)
56 function addBrush(aliases, url)
58 for (var i = 0; i < aliases.length; i++)
59 brushes[aliases[i]] = url;
62 function getAliases(item)
70 // create table of aliases and script urls
71 for (i = 0; i < list.length; i++)
73 var aliases = getAliases(list[i]),
77 addBrush(aliases, url);
80 // dynamically add <script /> tags to the document body
81 for (i = 0; i < elements.length; i++)
83 var url = brushes[elements[i].params.brush];
92 function loadScript(url)
94 var script = document.createElement('script'),
99 script.type = 'text/javascript';
100 script.language = 'javascript';
101 script.onload = script.onreadystatechange = function()
103 if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete'))
109 // Handle memory leak in IE
110 script.onload = script.onreadystatechange = null;
111 script.parentNode.removeChild(script);
115 // sync way of adding script tags to the page
116 document.body.appendChild(script);
121 for(var url in scripts)
122 if (scripts[url] == false)
126 SyntaxHighlighter.highlight(allParams);