| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 | 
							- var dp = {
 
- 	SyntaxHighlighter : {}
 
- };
 
- dp.SyntaxHighlighter = {
 
- 	parseParams: function(
 
- 						input,
 
- 						showGutter, 
 
- 						showControls, 
 
- 						collapseAll, 
 
- 						firstLine, 
 
- 						showColumns
 
- 						)
 
- 	{
 
- 		function getValue(list, name)
 
- 		{
 
- 			var regex = new XRegExp('^' + name + '\\[(?<value>\\w+)\\]$', 'gi'),
 
- 				match = null
 
- 				;
 
- 			
 
- 			for (var i = 0; i < list.length; i++) 
 
- 				if ((match = regex.exec(list[i])) != null)
 
- 					return match.value;
 
- 			
 
- 			return null;
 
- 		}
 
- 		
 
- 		function defaultValue(value, def)
 
- 		{
 
- 			return value != null ? value : def;
 
- 		}
 
- 		
 
- 		function asString(value)
 
- 		{
 
- 			return value != null ? value.toString() : null;
 
- 		}
 
- 		var parts = input.split(':'),
 
- 			brushName = parts[0],
 
- 			options = {},
 
- 			straight = { 'true' : true },
 
- 			reverse = { 'true' : false },
 
- 			defaults = SyntaxHighlighter.defaults
 
- 			;
 
- 		
 
- 		for (var i in parts)
 
- 			options[parts[i]] = 'true';
 
- 		showGutter = asString(defaultValue(showGutter, defaults.gutter));
 
- 		showControls = asString(defaultValue(showControls, defaults.toolbar));
 
- 		collapseAll = asString(defaultValue(collapseAll, defaults.collapse)); 
 
- 		showColumns = asString(defaultValue(showColumns, defaults.ruler));
 
- 		firstLine = asString(defaultValue(firstLine, defaults['first-line'])); 
 
- 		return {
 
- 			brush			: brushName,
 
- 			gutter			: defaultValue(reverse[options.nogutter], showGutter),
 
- 			toolbar			: defaultValue(reverse[options.nocontrols], showControls),
 
- 			collapse		: defaultValue(straight[options.collapse], collapseAll),
 
- 			
 
- 			'first-line'	: defaultValue(getValue(parts, 'firstline'), firstLine)
 
- 		};
 
- 	},
 
- 	
 
- 	HighlightAll: function(
 
- 						name, 
 
- 						showGutter /* optional */, 
 
- 						showControls /* optional */, 
 
- 						collapseAll /* optional */, 
 
- 						firstLine /* optional */, 
 
- 						showColumns /* optional */
 
- 						)
 
- 	{
 
- 		function findValue()
 
- 		{
 
- 			var a = arguments;
 
- 			
 
- 			for (var i = 0; i < a.length; i++) 
 
- 			{
 
- 				if (a[i] === null) 
 
- 					continue;
 
- 				
 
- 				if (typeof(a[i]) == 'string' && a[i] != '') 
 
- 					return a[i] + '';
 
- 				
 
- 				if (typeof(a[i]) == 'object' && a[i].value != '') 
 
- 					return a[i].value + '';
 
- 			}
 
- 			
 
- 			return null;
 
- 		}
 
- 		function findTagsByName(list, name, tagName)
 
- 		{
 
- 			var tags = document.getElementsByTagName(tagName);
 
- 			
 
- 			for (var i = 0; i < tags.length; i++) 
 
- 				if (tags[i].getAttribute('name') == name) 
 
- 					list.push(tags[i]);
 
- 		}
 
- 		
 
- 		var elements = [],
 
- 			highlighter = null,
 
- 			registered = {},
 
- 			propertyName = 'innerHTML'
 
- 			;
 
- 		
 
- 		
 
- 		findTagsByName(elements, name, 'pre');
 
- 		findTagsByName(elements, name, 'textarea');
 
- 		if (elements.length === 0)
 
- 			return;
 
- 		
 
- 		for (var i = 0; i < elements.length; i++)
 
- 		{
 
- 			var element = elements[i],
 
- 				params = findValue(
 
- 					element.attributes['class'], element.className, 
 
- 					element.attributes['language'], element.language
 
- 					),
 
- 				language = ''
 
- 				;
 
- 			
 
- 			if (params === null) 
 
- 				continue;
 
- 			params = dp.SyntaxHighlighter.parseParams(
 
- 				params,
 
- 				showGutter, 
 
- 				showControls, 
 
- 				collapseAll, 
 
- 				firstLine, 
 
- 				showColumns
 
- 				);
 
- 			SyntaxHighlighter.highlight(params, element);
 
- 		}
 
- 	}
 
- };
 
 
  |