var canemcode=true;
var canimgcode=true;
var canmediacode=true;
var canimgsign=true;
var emotnum=72;
var emotdir='/misc/images/emot/';
var icondir='/misc/images/pic/';
var isdown=Number(GetUrlParm("clientubb","isdown"));
function iskey(temp){
	if (temp=="auto" || temp=="double" || temp=="int" || temp=="struct" || temp=="break" || temp=="else" || temp=="long" || temp=="switch" || temp=="case" || temp=="enum" || temp=="register" || temp=="typedef" || temp=="char" || temp=="extern" || temp=="return" || temp=="union" || temp=="const" || temp=="float" || temp=="short" || temp=="unsigned" || temp=="continue" || temp=="for" || temp=="signed" || temp=="void" || temp=="default" || temp=="goto" || temp=="sizeof" || temp=="volatile" || temp=="do" || temp=="if" || temp=="static" || temp=="while" || temp=="continue" || temp=="goto" || temp=="public" || temp=="try" || temp=="default" || temp=="if" || temp=="register" || temp=="typedef" || temp=="asm" || temp=="delete" || temp=="inline" || temp=="reinterpret_cast" || temp=="typeid" || temp=="auto" || temp=="do" || temp=="int" || temp=="return" || temp=="typename" || temp=="double" || temp=="long" || temp=="short" || temp=="union" || temp=="dynamic_cast" || temp=="mutable" || temp=="signed" || temp=="unsigned" || temp=="bool" || temp=="else" || temp=="namespace" || temp=="sizeof" || temp=="using" || temp=="break" || temp=="enum" || temp=="new" || temp=="static" || temp=="virtual" || temp=="case" || temp=="explicit" || temp=="static_cast" || temp=="void" || temp=="catch" || temp=="struct" || temp=="volatile" || temp=="char" || temp=="extern" || temp=="operator" || temp=="switch" || temp=="wchar_t" || temp=="class" || temp=="false" || temp=="template" || temp=="while" || temp=="float" || temp=="this" || temp=="const" || temp=="for" || temp=="private" || temp=="throw" || temp=="const_cast" || temp=="friend" || temp=="protected" || temp=="true"){
		return true;
	}
	return false;
}
function exeRegExp(o){
	var s=o.s,s0=o.s0,s1=o.s1;
	var i=0;
	while(i<10&&s.match(s0)!=null){
		s=s.replace(s0,s1);
	}
	return s;
}
function ubbcode(strContent){
	try{
		var pattern,frontStr,tailStr,language,str,s1,s2,s3;
		// english font
		pattern = /\[ENGLISH\](.*?)\[\/ENGLISH\]/gi;
		strContent = strContent.replace(pattern,"<font face=\"Arial\">$1</font>");
		pattern = /\[font=([a-zA-Z\u4e00-\u9fa5]+)\](.*?)\[\/font\]/gi;
		strContent = strContent.replace(pattern,"<font face=\"$1\">$2</font>");
		//图像标签
		if (canimgcode){
			pattern = /\[IMG\](.[^\[]*)\[\/IMG\]/gi;
			strContent=strContent.replace(pattern,"<a onfocus=this.blur() href=\"$1\" target=_blank><IMG SRC=\"$1\" border=0 alt=按此在新窗口浏览图片 onload=\"javascript:ResizeImgEx({o:this,w:500,h:5000});\" onerror=\"javascript:ResizeImgEx({o:this,err:1,w:500,h:300});\"></a>");;
			pattern = /\[IMG\=(.[^\[\;\&\#\\\"\'\%\.\`]*)\](.[^\[]*)\[\/IMG\]/gi;
			strContent=strContent.replace(pattern,"<a onfocus=this.blur() href=\"$2\" target=_blank><IMG SRC=\"$2\" border=0 alt=\"$1\" onload=\"javascript:ResizeImgEx({o:this,w:500,h:5000});\" onerror=\"javascript:ResizeImgEx({o:this,err:1,w:500,h:300});\"></a>");;
			pattern=/\[UPLOAD=(gif|jpg|jpeg|bmp|png)\](.[^\[]*)(gif|jpg|jpeg|bmp|png)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><A HreF=\"$2$1\" TARGET=_blank><IMG SRC=\"$2$1\" border=0 alt=按此在新窗口浏览图片 onload=\"javascript:ResizeImgEx({o:this,w:500,h:5000});\" onerror=\"javascript:ResizeImgEx({o:this,err:1,w:500,h:300});\"></A>");;
			pattern=/\[UPLOAD=(gif|jpg|jpeg|bmp|png)\:(.[^\[\;\&\#\\\"\'\%\.\`]*)\](.[^\[]*)(gif|jpg|jpeg|bmp|png)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><A HreF=\"$3$1\" TARGET=_blank><IMG SRC=\"$3$1\" border=0 alt=\"$2\" onload=\"javascript:ResizeImgEx({o:this,w:500,h:5000});\" onerror=\"javascript:ResizeImgEx({o:this,err:1,w:500,h:300});\"></A>");;
		}else{	
			pattern=/\[IMG\](http|https|ftp):\/\/(.[^\[]*)\[\/IMG\]/gi;
			strContent=strContent.replace(pattern,"<IMG SRC=\""+icondir+"gif.gif\" border=0><a onfocus=this.blur() href=\"$1://$2\" target=_blank>$1://$2</a>");
			pattern=/\[UPLOAD=(gif|jpg|jpeg|bmp|png)\](.[^\[]*)(gif|jpg|jpeg|bmp|png)\[\/UPLOAD\]/gi;
			strContent=strContent.replace(pattern,"<br><IMG SRC=\""+icondir+"$1.gif\" border=0><A HreF=\"$2$1\" TARGET=_blank>$2$1</A>");
		}
		if(isdown){
			pattern=/\[UPLOAD=(.[^\[\:]*)\](.[^\[]*)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><IMG SRC=\""+icondir+"$1.gif\" border=0> <a href=\"$2\" target=\"_blank\">点击浏览该文件</a>");
			pattern=/\[UPLOAD=(.[^\[\:]*)\:(.[^\[\;\&\#\\\"\'\%\.\`\:]*)\](.[^\[]*)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><IMG SRC=\""+icondir+"$1.gif\" border=0> <a href=\"$3\" target=\"_blank\">$2</a>");
		}else{
			pattern=/\[UPLOAD=(.[^\[\:]*)\](.[^\[]*)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><IMG SRC=\""+icondir+"$1.gif\" border=0> <a href=\"/login.html\" onclick=\"return confirm(\'请登陆后下载\')\">点击浏览该文件</a>");
			pattern=/\[UPLOAD=(.[^\[\:]*)\:(.[^\[\;\&\#\\\"\'\%\.\`\:]*)\](.[^\[]*)\[\/UPLOAD\]/gi;
			strContent= strContent.replace(pattern,"<br><IMG SRC=\""+icondir+"$1.gif\" border=0> <a href=\"/login.html\" onclick=\"return confirm(\'请登陆后下载\')\">$2</a>");
		}
		//多媒体标签
		if(canmediacode){
			pattern=/\[MP=*([0-9]*),*([0-9]*),*([01]*)\](.[^\[]*)\[\/MP]/gi;
			strContent=strContent.replace(pattern,"<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 ><param name=autoStart value=$3><param name=ShowStatusBar value=-1><param name=Filename value=$4><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=$4 autoStart=$3 width=$1 height=$2></embed></object>")
			
			pattern=/\[RM=*([0-9]*),*([0-9]*),*([01]*)\](.[^\[]*)\[\/RM]/gi;
			strContent=strContent.replace(pattern,"<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2><PARAM NAME=SRC VALUE=$4><PARAM NAME=CONSOLE VALUE=Clip1><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=$3></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1><PARAM NAME=SRC VALUE=$4><PARAM NAME=AUTOSTART VALUE=$3><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=Clip1></OBJECT>");
			
			pattern=/(\[FLASH\])(.[^\[]*)(\[\/FLASH\])/gi;
			strContent= strContent.replace(pattern,'<a href="$2" TARGET=_blank><IMG SRC='+icondir+'swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br /><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="400" id="api" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="$2" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="$2" quality="high" bgcolor="#ffffff" width="500" height="400" name="api" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
	
			pattern=/(\[FLASH=*([0-9]*),*([0-9]*),*([01]*)\])(.[^\[]*)(\[\/FLASH\])/gi;
			strContent= strContent.replace(pattern,'<a href="$5" TARGET=_blank><IMG SRC='+icondir+'swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="$2" height="$3" id="api" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="$5" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="$5" quality="high" bgcolor="#ffffff" play=$4 width="$2" height="$3" name="api" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
			
			pattern=/(\[FLV\])(.[^\[]*)(\[\/FLV\])/gi;
			strContent= strContent.replace(pattern,"<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" id=\"flvplayer\" width=\"400\" height=\"320\" align=\"middle\"><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"/misc/images/ubbcode/flvplayer.swf?file=$2\" /><param name=\"quality\" value=\"high\" /><param name=\"wmode\" value=\"transparent\" /><param name=\"devicefont\" value=\"true\" /><param name=\"bgcolor\" value=\"#ffffff\" /><embed src=\"/misc/images/ubbcode/flvplayer.swf?file=$2\" quality=\"high\" wmode=\"transparent\" devicefont=\"true\" bgcolor=\"#ffffff\" width=\"400\" height=\"320\" swLiveConnect=true id=\"flvplayer\" name=\"flvplayer\" align=\"middle\" allowScriptAccess=\"always\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /></object>" );
		}else{
			pattern=/\[MP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]/gi;
			pattContent=strContent.replace(pattern,"<a href=$3 target=_blank>$3</a>");
			pattern=/\[RM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]/gi;
			strContent=strContent.replace(pattern,"<a href=$3 target=_blank>$3</a>");
			pattern=/(\[FLASH\])(.[^\[]*)(\[\/FLASH\])/gi;
			strContent= strContent.replace(pattern,"<IMG SRC="+icondir+"swf.gif border=0><a href=$2 target=_blank>$2</a>");
			pattern=/(\[FLASH=*([0-9]*),*([0-9]*)\])(.[^\[]*)(\[\/FLASH\])/gi;
			strContent= strContent.replace(pattern,"<IMG SRC="+icondir+"swf.gif border=0><a href=$4 target=_blank>$4</a>");
		}
		
		pattern=/(\[URL\])(.[^\[]*)(\[\/URL\])/gi;
		strContent= strContent.replace(pattern,"<A HREF=\"$2\" TARGET=_blank>$2</A>")
		pattern=/(\[URL=(.[^\[]*)\])(.*?)(\[\/URL\])/gi;
		strContent= strContent.replace(pattern,"<A HREF=\"$2\" TARGET=_blank>$3</A>")
		
		//自动识别网址
		pattern = /^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)/gi;
		strContent = strContent.replace(pattern,"<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$1>$1</a>");
		pattern = /((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)<br>/gi;
		strContent = strContent.replace(pattern,"<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$1>$1</a><br>");
		pattern = /([^>=\"]|<br>)((http|ftp):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)/gi;
		strContent = strContent.replace(pattern,"$1<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$2>$2</a>");
		
		//表情符号
		if(canemcode){
			pattern=/\[em(\d+)\]/gi;
			strContent = strContent.replace(pattern,"<img src=\""+emotdir+"em$1.gif\" border=0 align=middle>");
		}
		else{
			pattern=/\[em(\d+)\]/gi;
			strContent=strContent.replace(pattern,"");
		}
		
		//其他标签
		strContent=exeRegExp({s:strContent,s0:/\[color=([a-zA-Z0-9]+|#[0-9a-fA-F]+)\](.*?)\[\/color\]/gi,s1:"<span style=\"color:$1;\">$2</span>"});
		strContent=exeRegExp({s:strContent,s0:/(<br[ \/]*>)*\[QUOTE\]([\W\w]*?)\[\/QUOTE\](<br[ \/]*>)*/gi,s1:"<blockquote><p>$2</p></blockquote>"});
		strContent=exeRegExp({s:strContent,s0:/\[SHADOW=*([0-9]*),*([a-zA-Z0-9]+|#[0-9a-fA-F]+),*([0-9]*)\](.*?)\[\/SHADOW]/gi,s1:"<div style=\"float:left;width:$1;filter:shadow(color=$2, strength=$3)\">$4</div>"});
		strContent=exeRegExp({s:strContent,s0:/\[GLOW=*([0-9]*),*([a-zA-Z0-9]+|#[0-9a-fA-F]+),*([0-9]*)\](.*?)\[\/GLOW]/gi,s1:"<div style=\"width:$1;filter:glow(color=$2, strength=$3)\">$4</div>"});
		
		var arr=new Array("i","b","s","u","sup","sub");
		for(var i=0;i<arr.length;i++){
			pattern=eval("/\\["+arr[i]+"\\](.*?)\\[\\/"+arr[i]+"\\]/gi;");
			strContent=strContent.replace(pattern,"<"+arr[i]+">$1</"+arr[i]+">");
		}
		pattern=/\[right\](.*?)(\[\/right\])/gi;
		strContent=strContent.replace(pattern,"<div align=right>$1</div>");
		pattern=/\[left\](.*?)(\[\/left\])/gi;
		strContent=strContent.replace(pattern,"<div align=left>$1</div>");
		pattern=/\[center\](.*?)(\[\/center\])/gi;
		strContent=strContent.replace(pattern,"<div align=center>$1</div>");
		pattern=/\[align=(center|left|right)\](.*?)\[\/align\]/gi;
		strContent=strContent.replace(pattern,"<div align=$1>$2</div>");
		pattern=/\[size=([1-5]?[0-9])\](.*?)\[\/size\]/gi;
		strContent=strContent.replace(pattern,"<span style=\"font-size:$1 px\">$2</span>");
		return strContent;
	}catch(e){}
}
function ubbsigncode(strContent)
{	
	try{
		var pattern;
		//图像标签
		if(canimgsign){
			pattern=/\[IMG\](http):\/\/(.[^\[]*)\[\/IMG\]/gi;
			strContent=strContent.replace(pattern,"<IMG SRC=\"$1://$2\" border=0 onload=\"javascript:if(this.width>500||this.height>200) this.src='"+icondir+"toobig.jpg'\">");
		    }
		else{
			pattern=/\[IMG\](http|https|ftp):\/\/(.[^\[]*)\[\/IMG\]/gi;
			strContent=strContent.replace(pattern,"<IMG SRC=\""+icondir+"gif.gif\" border=0><a onfocus=this.blur() href=\"$1://$2\" target=_blank>$1://$2</a>");
		}
		
		pattern=/\[i\](.*?)\[\/i\]/gi;
		strContent=strContent.replace(pattern,"<i>$1</i>");
		pattern=/\[b\](.*?)(\[\/b\])/gi;
		strContent=strContent.replace(pattern,"<b>$1</b>");
		pattern=/(\[URL\])(.[^\[]*)(\[\/URL\])/gi;
		strContent= strContent.replace(pattern,"<A HREF=\"$2\" TARGET=_blank>$2</A>");
		pattern=/(\[URL=(.[^\[]*)\])(.*?)(\[\/URL\])/gi;
		strContent= strContent.replace(pattern,"<A HREF=\"$2\" TARGET=_blank>$3</A>");
		
		//自动识别网址
		pattern = /^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)/gi;
		strContent = strContent.replace(pattern,"<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$1>$1</a>");
		pattern = /((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)<br>/gi;
		strContent = strContent.replace(pattern,"<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$1>$1</a><br>");
		pattern = /([^>=\"]|<br>)((http|ftp):(\/\/|\\\\)[A-Za-z0-9\.\/=\?%\-&_~`@[\]\':+!;#]+)/gi;
		strContent = strContent.replace(pattern,"$1<img align=absmiddle src="+icondir+"url.gif border=0><a target=_blank href=$2>$2</a>");
		
		//其他标签
		pattern=/\[color=(.[^\[]*)\](.*?)\[\/color\]/gi;
		strContent=strContent.replace(pattern,"<span style=\"color:$1;\">$2</span>");
	
		pattern=/\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.*?)\[\/SHADOW]/gi;
		strContent=strContent.replace(pattern,"<table width=$1 ><tr><td style=\"filter:shadow(color=$2, strength=$3)\">$4</td></tr></table>");
		pattern=/\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.*?)\[\/GLOW]/gi;
		strContent=strContent.replace(pattern,"<table width=$1 ><tr><td style=\"filter:glow(color=$2, strength=$3)\">$4</td></tr></table>");
	
	
		// code
		pattern = /(^.*?)\[CODE(.*?)\](.*?)\[\/CODE\](.*$)/i;
		if(pattern.test(strContent))
		{
		frontStr = RegExp.$1;
		language = RegExp.$2;
		str = RegExp.$3;
		tailStr = RegExp.$4;
		
	var c,temp,strf;
	strf="";
	temp="";
	str=str+"<BR>";
	for (loop=0; loop < str.length;loop++)
	{
		c=str.charAt(loop);
		if((c>='a' && c<='z') || (c>='A' && c<='Z') || c=='_')
		{temp=temp+c;}
		else
		{
			if(temp.length>0)
			{
				if(iskey(temp))
				{
					strf=strf+"[color=blue]"+temp+"[/color]";
				}
			else{strf=strf+temp;}
			
		temp="";
		}
		
		if(c=='/')
		{
			c=str.charAt(loop+1);
			if(c=='/')
			{
				var i;
				i=str.indexOf("<BR>",loop+2);
				strf=strf+"[color=c7c7de]//"+str.substring(loop+2,i)+"[/color]<BR>";
				loop=i+3;
			}
			else if(c=='*')
			{
				var j,h;
				j=str.indexOf("*/",loop+2);
				h=str.indexOf("<BR>",loop+2);
				strf=strf+"[color=c7c7de]/*";
				if (j==-1)
				{
				j=str.length;
				}
				if(j>h)
				{
				strf=strf+str.substring(loop+2,h)+"[/color]<BR>";
				h=h+4;
				for (jh=str.indexOf("<BR>",h); (jh < j) && (jh!=-1);)
				{
					strf=strf+"[color=c7c7de]"+str.substring(h,jh)+"[/color]<BR>";
					jh=jh+4;
					h=jh;
					jh=str.indexOf("<BR>",h);
				}
				strf=strf+"[color=c7c7de]"+str.substring(h,j+2)+"[/color]";
				loop=j+1;
				}	
				else
				{
				strf=strf+str.substring(loop+2,j+2)+"[/color]"
				loop=j+1;
				}
	
	
			}
	
			else
			{
				strf=strf+'/';
			}
		}
		else if(c=='\'')
			{
			var r,o;
			strf=strf+"[color=red]\'";
			r=str.indexOf("\'",loop+1);
			for(;(str.charAt(r-1)=='\\')&&(r!=-1)&&(str.charAt(r-2)!='\\');)
				{
					r=str.indexOf("\'",r+1);
				}
			o=str.indexOf("<BR>",loop+1);
			if(r>o || r==-1)
				{
				r=o-1;
				}
			strf=strf+str.substring(loop+1,r+1)+"[/color]";
			loop=r;
			}
		else if(c=='\"')
			{
			strf=strf+"[color=hotpink]\"";
			var k,y;
			k=str.indexOf("\"",loop+1);
			for(;(str.charAt(k-1)=='\\')&&(k!=-1);)
				{
					k=str.indexOf("\"",k+1);
				}
			y=str.indexOf("<BR>",loop+1);
			if (k>y || k==-1)
			{
				if(k==-1)
				{
					k=str.length;
				}
				strf=strf+str.substring(loop+1,y)+"[/color]<BR>";
				y=y+4;
				for (ky=str.indexOf("<BR>",y); (ky < k) && (ky!=-1);)
				{
					strf=strf+"[color=hotpink]"+str.substring(y,ky)+"[/color]<BR>";
					ky=ky+4;
					y=ky;
					ky=str.indexOf("<BR>",y);
				}
				strf=strf+"[color=hotpink]"+str.substring(y,k+1)+"[/color]";
				loop=k;
	
			}
	
			else
				{
				strf=strf+str.substring(loop+1,k)+"\"[/color]";
				loop=k;
				}
			}
		else if(c=='#')
			{
				var l;
				l=str.indexOf("<BR>",loop+1);
				strf=strf+"[color=green]"+str.substring(loop,l)+"[/color]<BR>";
				loop=l+3;
			}
	
		else strf=strf+c;
		}
	
	}
		var string2 =strf.split("<BR>");
		var line;
		strf="<BR>";
	//	strf="&nbsp;&nbsp;&nbsp;[color=#008080]1[/color]&nbsp;&nbsp;&nbsp;&nbsp;";
		var spacescount=0;
		for (loop=1; loop < string2.length;loop++)
		{
			var beg,end,spaces;
			line=loop;
			if(line<10)
			{
				strf=strf+"&nbsp;&nbsp;[color=#008080]"+line+"[/color]&nbsp;&nbsp;&nbsp;&nbsp;";
			}
			if(line>9 && line<100)
			{
				strf=strf+"&nbsp;[color=#008080]"+line+"[/color]&nbsp;&nbsp;&nbsp;&nbsp;";
			}
			if(line>99)
			{
				strf=strf+"[color=#008080]"+line+"[/color]&nbsp;&nbsp;&nbsp;&nbsp;";
			}
			spaces="";
			var flag=false;
			beg=string2[loop].indexOf("{");
			if(beg!=-1 && string2[loop].charAt(beg-1)!='\\')
				{spacescount++;
				flag=true;}
			end=string2[loop].indexOf("}")
			if(end!=-1 && string2[loop].charAt(end-1)!='\\')
				{spacescount--;}
			
			for(q=0;q<spacescount;q++)
			{
				spaces=spaces+"&nbsp;&nbsp;&nbsp;&nbsp;";
			}
			if(flag)
			{
				spaces="";
				for(q=0;q<spacescount-1;q++)
				{
				spaces=spaces+"&nbsp;&nbsp;&nbsp;&nbsp;";
				}
			}
	
			strf=strf+spaces+string2[loop]+"<BR>";}
		var fo;
		if(language=="") 
			{
			fo="Lucida Console";
			}
		else if(language=="=1")
			{
			fo="fixedsys";
			}
		else if(language=="=2")
			{
			fo="courier new";
			}
		else
			{
			fo=language.substring(0,language.length);
			}
	
		strContent = frontStr + "<font face=\""+fo+"\">" + strf + "</font>" +  tailStr;
		}
	
		return strContent;
	}catch(e){}
}

function searchubb(tagid,posttype){
	try{
		var ubbtag;
		if(!document.getElementById){
			ubbtag = document.all[tagid];
		}else{
			ubbtag = document.getElementById(tagid);
		}
		if(posttype==1){
			ubbtag.innerHTML = ubbsigncode(ubbtag.innerHTML);
		}else{
			ubbtag.innerHTML = ubbcode(ubbtag.innerHTML);
		}
	}catch(e){}
}

function GetUrlParm(o,s)    
{
	var obj=document.getElementsByTagName("script");
	for(var i=0;i<obj.length;i++){
		if(obj[i].src.indexOf(o)>-1){
			o=obj[i];
			break;
		}
	}
	var p=o.src.indexOf("?");
	if(p==-1) return 0;
    var query=o.src.substring(p+1);
    var pairs=query.split("&");
    for(var i=0;i<pairs.length;i++)
    {
        var pos=pairs[i].indexOf('=');
            if(pos==-1)   continue;
            var argname=pairs[i].substring(0,pos);
            var value=pairs[i].substring(pos+1);
            if (argname==s) return value;
    }
    return 0;
}