jssc={iIdCount:0,oSyntaxList:{},oSyntaxNameList:[],bLoadFinish:true,aSyntaxAliases:[],sPath:"",bMultiLine:false,iMultiLineIndex:0,sTab:"&nbsp;&nbsp;&nbsp;&nbsp;",regLine:/\r\n?|\n/g,regSign:/\W/g,regXml:/<(:?(:?[\/?]?[a-zA-Z]+[^<]*?\/?>)|(:?!--.*(:?-->|$)))/g,regRegExp:/^\/.*?[^\\][^(:?\[.*\/(:?g|m|i|gm|gi|mi|gmi)?\s*.*\])]*\/(:?g|m|i|gm|gi|mi|gmi)?\s*\W/,regNum:/^((:?0(:?(:?(:?x|X)[\da-fA-F]+)|(:?[01234567]+)))|(:?\d+[lLfFdD]?))$/,regDecimal:/^\.\d+[fFdD]?/,regCssNum:/\d+(:?ex|em|pt|px|pc|in|mm|cm|%|deg|grad|rad|s|ms|Hz|kHz)?/,sCTypeKeyWords:"if else for break case continue function true false switch default do while int float double long short char return void static null",colorAll:function($){this.colorList(this.getTagList("pre",$));this.colorList(this.getTagList("textarea",$))},getTagList:function(A,B){var _=[],$=document.getElementsByTagName(A);for(var C=0;C<$.length;C++)if($[C].name==B||$[C].getAttribute("name")==B)_.push($[C]);return _},colorList:function(F){for(var G in F){var C=F[G].textContent||F[G].value||F[G].firstChild.nodeValue,A=this.splitLine(C),E=F[G].className,_=this.getSyntax(E),B=this.colorCode(C,A,_,E),$=document.createElement("div"),D=document.createElement("div");F[G].id="jssc"+this.iIdCount++;if(_&&_.title)D.innerHTML=_.title+" \u4ee3\u7801";else D.innerHTML=E+" \u4ee3\u7801";D.innerHTML+="<span onclick='jssc.copyToClipboard(\""+F[G].id+"\")'>\u590d\u5236\u5230\u526a\u8d34\u677f</span>";D.className="jssccodetitle";$.appendChild(B);$.className="jssc";F[G].parentNode.insertBefore(D,F[G]);F[G].parentNode.insertBefore($,F[G]);F[G].style.display="none"}},splitLine:function(A){var _=0,B,$=[];while(B=this.regLine.exec(A)){$.push({begin:_,end:B.index});_=B.index+B.length}if(_<A.length)$.push({begin:_,end:A.length});return $},getSyntax:function(A){for(var B in this.oSyntaxList){var $=this.oSyntaxList[B].aliases;if(!$)continue;for(var _ in $)if(A.toLowerCase()==$[_])return this.oSyntaxList[B]}return null},colorCode:function(D,B,A,E){var H=1,_=document.createDocumentFragment(),F=document.createElement("ul"),$=(B.length.toString().length-1)*9+30;F.style.marginLeft=$+"px";for(var G in B){this.iCounter++;var C=document.createElement("li");C.innerHTML="<div onmouseover=this.style.backgroundColor=\"#FFFFD7\" onmouseout=this.style.backgroundColor=\"transparent\">"+this.parseLine(D.slice(B[G].begin,B[G].end),A,E)+"</div>";if(H==1)C.className="alt";H*=-1;F.appendChild(C)}return _.appendChild(F)},parseLine:function(_,$,A){if(_==""||_=="\n")return"&nbsp;";if(this.isXml(A))return this.parseXml(_,$);else return this.parseOther(_,$)},parseXml:function(E,_){if(!_)return this.encodeStr(E);var $,C=0,G=[],F=_.aliases[0],A=_.regLib,B=_.keyWords;if(this.bMultiLine){C=this.getEndIndex(E,0,A[this.iMultiLineIndex].end,A[this.iMultiLineIndex].escape);var D=F+A[this.iMultiLineIndex].css;if(C>-1){var H=C+A[this.iMultiLineIndex].end.length;G.push(this.colorStr(this.encodeStr(E.slice(0,H)),D));iLastIndex=H;this.bMultiLine=false}else return this.colorStr(this.encodeStr(E),D)}if(C>0)E=E.slice(C);while($=this.regXml.exec(E)){if($.index>C)G.push(this.encodeStr(E.slice(C,$.index)));G.push(this.parseOther($[0],_));C=$.index+$[0].length}return G.join("")},parseOther:function(B,A){var $,_=[];while($=this.regSign.exec(B))_.push($.index);if(_[_.length-1]!=B.length-1)_.push(B.length);return this.parseCode(B,A,_)},parseCode:function(A,G,H){if(!G)return this.encodeStr(A);var B=[],E=0,$=H.length,L=G.aliases[0],I=G.regLib,J=G.keyWords;if(this.bMultiLine){var _=this.getEndIndex(A,0,I[this.iMultiLineIndex].end,I[this.iMultiLineIndex].escape),K=L+I[this.iMultiLineIndex].css;if(_>-1){var C=_+I[this.iMultiLineIndex].end.length;B.push(this.colorStr(this.encodeStr(A.slice(0,C)),K));E=C;this.bMultiLine=false}else return this.colorStr(this.encodeStr(A),K)}for(var D=0;D<$;D++){if(H[D]<E)continue;if(H[D]>E)B.push(this.parseStr(A.slice(E,H[D]),L,J));var M=-1;if((M=this.getRegLibIndex(A.substr(H[D],4),I))>-1){K=L+I[M].css;if(I[M].reg){var F;if((F=A.slice(H[D]).match(I[M].reg))!=null){B.push(this.colorStr(this.encodeStr(F[0]),K));E=H[D]+F[0].length;continue}}else{_=this.getEndIndex(A,H[D]+1,I[M].end,I[M].escape);if(_>-1){C=_+I[M].end.length;B.push(this.colorStr(this.encodeStr(A.slice(H[D],C)),K));E=C;continue}else{B.push(this.colorStr(this.encodeStr(A.slice(H[D])),K));this.iMultiLineIndex=M;this.bMultiLine=true;break}}}B.push(this.encodeStr(A.charAt(H[D])));E=H[D]+1}return B.join("")},getRegLibIndex:function(_,$){for(var A in $)if(_.indexOf($[A].index)==0)return A;return-1},getEndIndex:function(C,B,$,_){var A;while(1)if((A=C.indexOf($,B))>-1){if(this.isEscape(C,B,A,_)){B=A+1;continue}else return A}else return-1},isEscape:function(B,A,_,$){if(!$)return false;var C=0;while(_>A)if(B.charAt(--_)=="\\")C++;else break;return C%2!=0},colorStr:function(_,$){return"<span class=\""+$+"\">"+_+"</span>"},parseStr:function(A,_,$){if(this.isKeyWord(A,_,$))return this.colorStr(A,_+"keywords");else if(this.isNum(A,_))return this.colorStr(A,_+"num");else if(this.isXml(_))return this.colorStr(A,_+"variables");else return this.encodeStr(A)},isKeyWord:function(A,_,$){if(this.isXml(_)||this.isSql(_)||this.isCss(_))A=A.toUpperCase();return($.indexOf(" "+A+" ")>-1)},isNum:function(_,$){if($=="css")return this.regCssNum.test(_);else return this.regNum.test(_)},isXml:function($){return/(xml|x?html|xslt)/i.test($)},isSql:function($){return/sql/i.test($)},isCss:function($){return/css/i.test($)},encodeStr:function($){return $.replace(/[\r\n]/,"").replace(/&/g,"&amp;").replace(/ /g,"&nbsp;").replace(/\t/g,this.sTab).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;")},copyToClipboard:function(C){var $=document.getElementById(C).firstChild.nodeValue;if(window.clipboardData)window.clipboardData.setData("text",$);else{var A="jsscflashcopier",B;if(B=document.getElementById(A))document.body.removeChild(B);var _=document.createElement("div");_.id=A;_.innerHTML="<embed src=\""+encodeURI(this.sPath)+"flashcopier.swf\" FlashVars=\"copyString="+encodeURI($)+"\" width=\"0\" height=\"0\" type=\"application/x-shockwave-flash\"></embed>";document.body.appendChild(_)}alert("\u5df2\u590d\u5236\u5230\u526a\u8d34\u677f\u4e2d\uff01")},exec:function(_,$){if($)this.sPath=$;this.aSyntaxAliases=[{url:"java.js",aliases:" java "},{url:"javascript.js",aliases:" javascript js jscript "},{url:"actionscript.js",aliases:" actionscript as "},{url:"cpp.js",aliases:" c++ cpp "},{url:"c.js",aliases:" c ansi-c "},{url:"csharp.js",aliases:" csharp c# "},{url:"css.js",aliases:" css "},{url:"delphi.js",aliases:" delphi dephi "},{url:"html.js",aliases:" html html4 xhtml "},{url:"php.js",aliases:" php "},{url:"python.js",aliases:" python python3000 "},{url:"ruby.js",aliases:" ruby "},{url:"sql.js",aliases:" sql "},{url:"vb.js",aliases:" vb vb.net vbscript "},{url:"xml.js",aliases:" xml xslt "}];this.aSyntaxNameList=this.getTagList("textarea",_).concat(this.getTagList("pre",_));this.loadSyntaxFile(_)},loadSyntaxFile:function($){if(this.aSyntaxNameList.length){this.oXhr=this.createXmlHttp();this.fLoad=setInterval("jssc.load(\""+$+"\")",20)}},load:function(sName){if(this.bLoadFinish){this.bLoadFinish=false;if(this.aSyntaxNameList.length<1){this.colorAll(sName);clearInterval(jssc.fLoad);return}var sUrl=this.getSyntaxUrl(" "+this.aSyntaxNameList.shift().className.toLowerCase()+" ");if(!sUrl){jssc.bLoadFinish=true;return}this.oXhr.open("get",encodeURI(this.sPath+sUrl),true);this.oXhr.onreadystatechange=function(){if(jssc.oXhr.readyState==4){if(jssc.oXhr.status==200)eval(jssc.oXhr.responseText);jssc.bLoadFinish=true}};this.oXhr.send(null)}},getSyntaxUrl:function($){for(var _=0;_<this.aSyntaxAliases.length;_++)if(this.aSyntaxAliases[_].aliases.indexOf($)>-1)return this.aSyntaxAliases[_].url;return null},createXmlHttp:function(){if(typeof XMLHttpRequest!="undefined")return new XMLHttpRequest();else if(window.ActiveXObject){var $=["MSXML2.XMLHttp.7.0","MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];for(var B=0;B<$.length;B++){try{var _=new ActiveXObject($[B]);return _}catch(A){}}}throw new Error("XMLHttp object could not be created.")}}
	
	
	