Subversion Repositories pub

Compare Revisions

Ignore whitespace Rev 95 → Rev 96

/wp-js-syntax-highlighter/trunk/js/loader.js
1,3 → 1,2
//$Rev$ See http://p.outlyer.net./wordpress/
var dpLoader={WAIT_TO_LOAD:200,FAIL_TIMEOUT:120000,basePath:null,mustLoad:[],times:[],init:function(b){if(!document.getElementsByTagName){return}var c=(null!==window.onload&&'function'==window.onload)?window.onload:function(){};basePath=b;window.onload=function(){c();if(!base2||!base2.DOM){dpLoader._prepareCodeBlocks_DOM();dp.SyntaxHighlighter.HighlightAll('syntaxhighlight',true,false)}else{dpLoader._prepareCodeBlocks_base2();dpLoader._autoLoadLanguages();for(var i=0;i<dpLoader.mustLoad.length;++i){var a=dpLoader.mustLoad[i];if(a=='Css'){a='CSS'}dpLoader.times[a]=0;dpLoader.sync(a)}}}},sync:function(a){var b=dp.sh.Brushes[a];if(!b){if(this.times[a]<this.FAIL_TIMEOUT){setTimeout('dpLoader.sync(\''+a+'\')',this.WAIT_TO_LOAD);this.times[a]+=this.WAIT_TO_LOAD}}else{this.mustLoad.splice(this.mustLoad.indexOf(a),1);if(0===this.mustLoad.length){dp.SyntaxHighlighter.HighlightAll('syntaxhighlight',true,false);this.times=null}}},_prepareCodeBlocks_base2:function(){base2.DOM.bind(document);document.matchAll('.syntax-highlight').forEach(function(e){e.removeClass('syntax-highlight');e.setAttribute('name','syntaxhighlight')})},_prepareCodeBlocks_DOM:function(){var d=new RegExp('\\s*syntax-highlight\\s*');function getCodeBlocks(a){var b=document.getElementsByTagName(a);var i;var c=[];for(i=0;i<b.length;++i){if(d.test(b[i].className)){c[c.length]=b[i]}}return c}var a=getCodeBlocks('PRE').concat(getCodeBlocks('TEXTAREA'));for(var i=0;i<a.length;++i){var e=a[i];e.setAttribute('class',e.className.replace(d,''));e.setAttribute('name','syntaxhighlight')}},_autoLoadLanguages:function(){var a=['cpp','csharp','css','java','php','javascript','sql','html','xml','xhtml'];for(var i=0;i<a.length;++i){var b=document.matchSingle('*[name="syntaxhighlight"].'+a[i]);if(null!==b){switch(a[i]){case'cpp':case'c':case'c++':this.load('Cpp');break;case'c#':case'c-sharp':case'csharp':this.load('CSharp');break;case'css':this.load('Css');break;case'delphi':case'pascal':this.load('Delphi');break;case'java':this.load('Java');break;case'js':case'jscript':case'javascript':this.load('JScript');break;case'php':this.load('Php');break;case'py':case'python':this.load('Python');break;case'rb':case'ruby':case'rails':case'ror':this.load('Ruby');break;case'sql':this.load('Sql');break;case'vb':case'vb.net':this.load('Vb');break;case'xml':case'html':case'xhtml':case'xslt':this.load('Xml');break;default:}}}},load:function(a){var b=document.createElement('SCRIPT');b.type='text/javascript';b.src=basePath+'/js/shBrush'+a+'.js';this.mustLoad[this.mustLoad.length]=a;document.getElementsByTagName('HEAD')[0].appendChild(b)}};
 
var dpLoader={bloggerMode:false,opts:[true,false,false,1,false],WAIT_TO_LOAD:200,FAIL_TIMEOUT:120000,basePath:null,mustLoad:[],times:[],init:function(b){if(!document.getElementsByTagName){return}var c=(null!==window.onload&&'function'==window.onload)?window.onload:function(){};var d=this;if(this.bloggerMode){dp.SyntaxHighlighter.BloggerMode()}this.basePath=b;window.onload=function(){c();if(!base2||!base2.DOM){return}if(!dp||!dp.SyntaxHighlighter){return}d.prepareCodeBlocks_();d.autoLoadLanguages_();if(0!==d.mustLoad.length){d.loadStylesheet_()}for(var i=0;i<d.mustLoad.length;++i){var a=d.mustLoad[i];if(a=='Css'){a='CSS'}d.times[a]=0;d.sync(a)}}},sync:function(a){var b=dp.sh.Brushes[a];if(!b){if(this.times[a]<this.FAIL_TIMEOUT){setTimeout('dpLoader.sync(\''+a+'\')',this.WAIT_TO_LOAD);this.times[a]+=this.WAIT_TO_LOAD}else{this.considerLoaded_(a)}}else{this.considerLoaded_(a)}},considerLoaded_:function(a){this.mustLoad.splice(this.mustLoad.indexOf(a),1);if(0===this.mustLoad.length){dp.SyntaxHighlighter.HighlightAll('syntaxhighlight',this.opts[0],this.opts[1],this.opts[2],this.opts[3],this.opts[4]);this.times=null}},prepareCodeBlocks_:function(){base2.DOM.bind(document);document.matchAll('.syntax-highlight').forEach(function(e){e.removeClass('syntax-highlight');e.setAttribute('name','syntaxhighlight')})},autoLoadLanguages_:function(){var a=['cpp','c','c-sharp','csharp','css','delphi','pascal','java','js','jscript','javascript','php','py','python','rb','ruby','rails','ror','sql','vb','xml','html','xhtml','xslt'];for(var i=0;i<a.length;++i){var b=document.matchSingle('*[name="syntaxhighlight"].'+a[i]);if(null!==b){switch(a[i]){case'cpp':case'c':case'c++':this.load('Cpp');break;case'c#':case'c-sharp':case'csharp':this.load('CSharp');break;case'css':this.load('Css');break;case'delphi':case'pascal':this.load('Delphi');break;case'java':this.load('Java');break;case'js':case'jscript':case'javascript':this.load('JScript');break;case'php':this.load('Php');break;case'py':case'python':this.load('Python');break;case'rb':case'ruby':case'rails':case'ror':this.load('Ruby');break;case'sql':this.load('Sql');break;case'vb':case'vb.net':this.load('Vb');break;case'xml':case'html':case'xhtml':case'xslt':this.load('Xml');break;default:}}}},loadStylesheet_:function(){var a=document.createElement('LINK');a.type='text/css';a.rel='stylesheet';a.href=this.basePath+'/SyntaxHighlighter.css';document.getElementsByTagName('HEAD')[0].appendChild(a)},load:function(a){var b=document.createElement('SCRIPT');b.type='text/javascript';b.src=this.basePath+'/js/shBrush'+a+'.js';this.mustLoad[this.mustLoad.length]=a;document.getElementsByTagName('HEAD')[0].appendChild(b)}};