

function open_win(url,name,width,height,scroll)
{
var Left_size = (screen.width) ? (screen.width-width)/2 : 0;
var Top_size = (screen.height) ? (screen.height-height)/2 : 0;
var open_win=window.open(url,name,'width=' + width + ',height=' + height + ',left=' + Left_size + ',top=' + Top_size + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + scroll + ',resizable=no' );
}



//Pop-it menu- By Dynamic Drive - Modified by Wbird
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use
var menuOffX=0	//菜单距连接文字最左端距离
var menuOffY=18	//菜单距连接文字顶端距离
var vBobjects = new Array();
var fo_shadows=new Array();
var linkset=new Array();
var boardid=0;
////No need to edit beyond here
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers
var xslDoc;
function ReWidth(){
if(window.name!=''){
document.body.style.width='98%';
}
}
function GetBoardXml(sXMLSrc,path) {
	xslDoc = CreateXmlDocument();
	if (!xslDoc){ throw new Error('Not support!\nplease install a XML parser');return; }
	xslDoc.async = false;
	
	if (navigator.userAgent.indexOf("MSIE")==-1){
		if (path){
		xslDoc.load(path+"index.aspx?action=xml");
	}else{
		xslDoc.load("index.aspx?action=xml");
		}
		}else{
		xslDoc.loadXML(sXMLSrc);
		}
	
	function CreateXmlDocument() {
		if (document.implementation && document.implementation.createDocument) {
			var doc = document.implementation.createDocument("", "", null);
			if (doc.readyState == null) {
				doc.readyState = 1;
				doc.addEventListener("load", function () {
					doc.readyState = 4;
					if (typeof doc.onreadystatechange == "function")
						doc.onreadystatechange();
				}, false);
			}
			return doc;
		}
		else if (window.ActiveXObject) {
			var prefix = ["MSXML3","MSXML2","MSXML","Microsoft"];
			for (var i=0;i<prefix.length;i++) {
				try {
					var doc = new ActiveXObject(prefix[i] + ".DOMDocument");
					//doc.setProperty("SelectionLanguage","XPath");
					if (doc)
					{
						return doc;
					}		
				} catch (e) {}
			}
		}
		return null;
	};
}

//短信窗口
function openScript(url, width, height){
	var Win = window.open(url,"openScript",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=no' );
}
//插件窗口
function PlusOpen(url, width, height){
	window.open(url,"PlusOpen",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no,status=yes' );
}

function mybook() {
  h = 300;
  w = 300;
  t = ( screen.availHeight - h ) / 2;
  l = ( screen.availWidth - w ) / 2;
  window.open("http://forumAd.to5198.com/common/login.jsp?sCheckUrl=/out/login.jsp&sDesUrl=/out/mybook.jsp", "我的服务",
     "left=" + l + ",top=" + t + ",height=" + h + ",width=" + w
     + ",toolbar=no,status=no,scrollbars=no,resizable=yes" );
  return;
}

function MM_findObj(n, d) {
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
 
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  
	if(!x && d.getElementById) x=d.getElementById(n); return x;

} 

function fetch_object(idname, forcefetch)
{
	if (typeof(vBobjects[idname]) == "undefined")
	{
		vBobjects[idname] = MM_findObj(idname);
	}
	return vBobjects[idname];
}
//showmenu vmenu:内容，允许为空,vmenuobj DIV数据ID，MOD 0=关闭浏览器自适应，用于版面导航菜单
function showmenu(e,vmenu,vmenuobj,mod){
	if (!document.all&&!document.getElementById&&!document.layers)
		return
	var which=vmenu;
	
	if (vmenuobj)
	{
		var MenuObj = fetch_object(vmenuobj);
		if (MenuObj)
		{
			which = MenuObj.innerHTML;
		}
	}
	if (!which)
	{
		return
	}
	clearhidemenu();
	ie_clearshadow();
	menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
	//menuobj=(ie4 || ns6) ? document.getElementById("popmenu") : ns4? document.popmenu : ""
	menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
	if (ie4||ns6)
		menuobj.innerHTML=which
	else{
		menuobj.document.write('<layer name=gui bgcolor="#E6E6E6" width="165" onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
		menuobj.document.close()
	}
	menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
	menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
	eventX=ie4? event.clientX : ns6? e.clientX : e.x
	eventY=ie4? event.clientY : ns6? e.clientY : e.y
	var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
	var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
	var getlength
		if (rightedge<menuobj.contentwidth){
			getlength=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth+menuOffX : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
		}else{
			getlength=ie4? ie_x(event.srcElement)+menuOffX : ns6? window.pageXOffset+eventX : eventX
		}
		menuobj.thestyle.left=getlength+'px'
		if (bottomedge<menuobj.contentheight&&mod!=0){
			getlength=ie4? document.body.scrollTop+eventY-menuobj.contentheight-event.offsetY+menuOffY-23 : ns6? window.pageYOffset+eventY-menuobj.contentheight-10 : eventY-menuobj.contentheight
		}	else{
			getlength=ie4? ie_y(event.srcElement)+menuOffY : ns6? window.pageYOffset+eventY+10 : eventY
		}
	menuobj.thestyle.top=getlength+'px'
	menuobj.thestyle.visibility="visible"
	ie_dropshadow(menuobj,"#999999",3)
	return false
}

function ie_y(e){  
	var t=e.offsetTop;  
	while(e=e.offsetParent){  
		t+=e.offsetTop;  
	}  
	return t;  
}  
function ie_x(e){  
	var l=e.offsetLeft;  
	while(e=e.offsetParent){  
		l+=e.offsetLeft;  
	}  
	return l;  
}  
function ie_dropshadow(el, color, size)
{
	var i;
	for (i=size; i>0; i--)
	{
		var rect = document.createElement('div');
		var rs = rect.style
		rs.position = 'absolute';
		rs.left = (el.style.posLeft + i) + 'px';
		rs.top = (el.style.posTop + i) + 'px';
		rs.width = el.offsetWidth + 'px';
		rs.height = el.offsetHeight + 'px';
		rs.zIndex = el.style.zIndex - i;
		rs.backgroundColor = color;
		var opacity = 1 - i / (i + 1);
		rs.filter = 'alpha(opacity=' + (100 * opacity) + ')';
		//el.insertAdjacentElement('afterEnd', rect);
		fo_shadows[fo_shadows.length] = rect;
	}
}
function ie_clearshadow()
{
	for(var i=0;i<fo_shadows.length;i++)
	{
		if (fo_shadows[i])
			fo_shadows[i].style.display="none"
	}
	fo_shadows=new Array();
}


function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function hidemenu(){
	if (window.menuobj && window.menuobj.thestyle)
		window.menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
	ie_clearshadow()
}

function dynamichide(e){
	if (ie4&&!menuobj.contains(e.toElement))
		hidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		hidemenu()
}

function delayhidemenu(){
	if (ie4||ns6||ns4)
		delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
	if (window.delayhide)
		clearTimeout(delayhide)
}

function highlightmenu(e,state){
	if (document.all)
		source_el=event.srcElement
	else if (document.getElementById)
		source_el=e.target
	if (source_el.className=="menuitems"){
		source_el.id=(state=="on")? "mouseoverstyle" : ""
	}
	else{
		while(source_el.id!="popmenu"){
			source_el=document.getElementById? source_el.parentNode : source_el.parentElement
			if (source_el.className=="menuitems"){
				source_el.id=(state=="on")? "mouseoverstyle" : ""
			}
		}
	}
}

if (ie4||ns6)
document.onclick=hidemenu
function doSClick() {
	var targetId, srcElement, targetElement, imageId, imageElement;
	srcElement = window.event.srcElement;
	targetId = srcElement.id + "content";
	targetElement = document.all(targetId);
	imageId = srcElement.id;
	imageId = imageId.charAt(0);
	imageElement = document.all(imageId);
	if (targetElement.style.display == "none") {
		imageElement.src = "Skins/Default/minus.gif"
		targetElement.style.display = "";
	} else {
		imageElement.src = "Skins/Default/plus.gif"
		targetElement.style.display = "none";
	}
}
function doClick() {
	var targetId, srcElement, targetElement;
	srcElement = window.event.srcElement;
	targetId = srcElement.id + "_content";
	targetElement = document.all(targetId);
	if (targetElement.style.display == "none") {
		srcElement.src = "Skins/Default/minus.gif"
		targetElement.style.display = "";
	} else {
		srcElement.src = "Skins/Default/plus.gif"
		targetElement.style.display = "none";
	}
}

//HTML过滤函数
function HTML(text)
{
	text = text.replace(/&/g, "&amp;") ;
	text = text.replace(/"/g, "&quot;") ;
	text = text.replace(/</g, "&lt;") ;
	text = text.replace(/>/g, "&gt;") ;
	text = text.replace(/'/g, "&#146;") ;
	return text ;
}
function ReHTML(text)
{
	text = text.replace(/&amp;/g, "&") ;
	text = text.replace(/&quot;/g, '"') ;
	text = text.replace(/&lt;/g, "<") ;
	text = text.replace(/&gt;/g, ">") ;
	text = text.replace(/&#146;/g, "'") ;
	return text ;
}
function LoadHTML(o){
	//var sData = document.createElement("div");
	//sData.innerHTML=ReHTML(o.innerHTML);
	//alert(sData.getAttribute("language"))
	o.innerHTML=ReHTML(o.innerHTML);
	
}
function bbimg(o){
	var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%';
	return false;
}
function imgzoom(img,maxsize){
	var a=new Image();
	a.src=img.src
	if(a.width > maxsize * 4)
	{
		img.style.width=maxsize;
	}
	else if(a.width >= maxsize)
	{
		img.style.width=Math.round(a.width * Math.floor(4 * maxsize / a.width) / 4);
	}
	return false;
}
function Dvbbs_ViewCode(replyid)
{
	var bodyTag="<html><head><style type=text/css>.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }\nbody{boder:0px}.HtmlCode{margin:5px 20px;border:1px solid #CCCCCC;padding:5px;background:#FDFDDF;font-size:14px;font-family:Tahoma;font-style : oblique;line-height : normal ;font-weight:bold;}\nbody{boder:0px}</style></head><BODY bgcolor=\"#FFFFFF\" >";
	bodyTag+=document.getElementById('scode'+replyid).CodeText.value
	bodyTag+="</body></html>"
	preWin=window.open('preview','','left=0,top=0,width=550,height=400,resizable=1,scrollbars=1, status=1, toolbar=1, menubar=0');
	preWin.document.open();
	preWin.document.write(bodyTag);
	preWin.document.close();
	preWin.document.title="查看贴子内容";
	preWin.document.charset="UTF-8";
}
function getskins(skinid,boardid){
	var styleurl = "cookies.aspx?action=stylemod&skinid="+skinid+"&boardid="+boardid;
	var Sframe = fetch_object('stylecss');
	if (Sframe)
	{
		stylecss.location.href = styleurl;
	}
}
function BoardData(userName,userConfig){
	var config = new InnerConfig();
	if (userConfig) { 
		for (var thisName in userConfig) {
		if (userConfig[thisName]) { config[thisName] = userConfig[thisName]; }
		}
	}
	var InnerValue;
	if (userName){
		for (var thisName in userName) {
			if (userName[thisName]){
				InnerValue = userName[thisName]+"_Value";
				if (config[userName[thisName]]){
					InnerData(config[userName[thisName]],config[InnerValue])
				}
			}
		}
	}
}

function InnerData(name,value)
{
	for (var objid in name) {
		var obj = document.getElementById(name[objid]);
		if (obj){
			obj.innerHTML = value[objid];
		}
	}
}

//论坛跳转下拉菜单部分,by Lao_Mi
function BoardJumpList(boardid,act){
		if (!xslDoc){GetBoardXml(boardxml);
	}
		if (xslDoc.parseError){
			if (xslDoc.parseError.errorCode!=0){
				return "<div class=\"menuitems\">"+xslDoc.parseError.reason +"</div>";
			}
		}
		var MenuStr="";
		var LoadBoard,depth;
		if(boardid!=0)
		{
			var nodelist1=xslDoc.documentElement.getElementsByTagName("board");
			for(var i=0;i<nodelist1.length;i++)
			{
				LoadBoard = parseInt(nodelist1[i].getAttribute("boardid"));
				if (LoadBoard==parseInt(boardid))
				{
					var nodelist=nodelist1[i].getElementsByTagName("board");
					break;
				}
			}
		}else{
			var nodelist=xslDoc.documentElement.getElementsByTagName("board");
		}
		MenuStr+="<div class=\"menuitems\">";
		//alert(nodelist.length)
		if (nodelist!=null){
			for(var i=0;i<nodelist.length;i++)
			{
				depth = nodelist[i].getAttribute("depth");
				LoadBoard = nodelist[i].getAttribute("boardid");
				boardtype = nodelist[i].getAttribute("boardtype");
				if (depth==0){
					var outtext="╋";
				}
				else{
					var outtext="";
					for (var j=0;j<(depth);j++)
					{
						if (j>0)
						{
							outtext+=" |"
						}
						outtext+="&nbsp;&nbsp;"
					}
					outtext+="├"
				}
			MenuStr+="<a href=\"index.aspx?boardid="+LoadBoard+"\">"+ outtext + boardtype +"</a><br>";
			}
			MenuStr+="</div>"
			return MenuStr;
		}else{
			return "<div class=\"menuitems\">错误</div>";
		}
}
//selected下拉列表选取表单()
function BoardJumpListSelect(boardid,selectname,fristoption,fristvalue,checknopost){
		if (!xslDoc){GetBoardXml(boardxml);
	}
	var sel = 0;
	var sObj = document.getElementById(selectname);
	if (sObj)
	{
		sObj.options[0] =  new Option(fristoption, fristvalue);
		if (xslDoc.parseError){
				if (xslDoc.parseError.errorCode!=0){
					return;
			}
		}
		var nodes = xslDoc.documentElement.getElementsByTagName("board")
		if (nodes)
		{
			for (var i = 0,k = 1;i<nodes.length;i++) {
				var t = nodes[i].getAttribute("boardtype");
				var v = nodes[i].getAttribute("boardid");
				if (v==boardid)
				{
					sel = k;
				}
				if (nodes[i].getAttribute("depth")==0){
					var outtext="╋";
				}
				else
				{
					var outtext="";
					for (var j=0;j<(nodes[i].getAttribute("depth"));j++)
					{
						if (j>0){outtext+=" |"}
						outtext+="  "
					}
					outtext+="├"
				}
				t = outtext + t
				t = t.replace(/<[^>]*>/g, "")
				t = t.replace(/&[^&]*;/g, "")
				if(checknopost==1 && nodes[i].getAttribute("nopost")=='1')
				{
						t+="(不许转移)"
				}
				sObj.options[k++] = new Option(t, v);
			}
			sObj.options[sel].selected = true;
		}
	}
}
//SELECT表单选取 Obj 表单名，VAL所选的值
function ChkSelected(Obj,Val)
{
	if (Obj)
	{
	for (i=0;i<Obj.length;i++){
		if (Obj.options[i].value==Val){
		Obj.options[i].selected=true;
		break;
		}
	}
	}
}

//单选表单选取 Obj 表单名，VAL所选的值
function chkradio(Obj,Val)
{
	if (Obj)
	{
	for (i=0;i<Obj.length;i++){
		if (Obj[i].value==Val){
		Obj[i].checked=true;
		break;
		}
	}
	}
}
function readCookie(name){
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		};
		return null;
	};
function createCookie(name,value,days){
		var expires = "";
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			expires = "; expires="+date.toGMTString();
		};
		document.cookie = name+"="+value+expires+"; path=/";
	};
	//图片自动调整的模式，1为按比例调整 ，2 按大小调整。
	var resizemode=1
function imgresize(o){
	 	if (resizemode==2 || o.onmousewheel){
	 	if(o.width > 500 ){
				o.style.width='500px';
			}
			if(o.height > 800){
				o.style.height='800px';
			}
		}else{
		var parentNode=o.parentNode.parentNode
		if (parentNode){
		if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
		}else{
		var parentNode=o.parentNode
		if (parentNode){
			if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
			}
		}
	}
	}
//自动调用户图像,mode = 1为按比例调整 ，2 按大小调整
function repairface(o,mode)
{alert('');
	 	if (mode == 2 || o.onmousewheel)
	 	{
	 		if(o.width > 128 )
	 		{
					o.style.width='128';
			}
			if(o.height > 128){
					o.style.height='128px';
			}
		}
		else
		{
			var parentNode=o.parentNode.parentNode
			if (parentNode)
			{
				if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
			}
			else
			{
				var parentNode=o.parentNode
				if (parentNode)
				{
					if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
				}
			}
	}
}
		
function bbimg(o){
	var zoom=parseInt(o.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) o.style.zoom=zoom+'%';
	return false;
}


window.onload= new function()
{
	setTimeout('activeOnline()',2000);
}
var xmlhttp;
try{
	xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
	try{
		xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
	}catch(e){
		try{
			xmlhttp= new XMLHttpRequest();
		}catch(e){}
	}
}
xmlhttp.onreadystatechange=function(){
	if(xmlhttp.readyState==4){
		if(xmlhttp.status==200){
			setTimeout('activeOnline()',300000);
			updateonline(xmlhttp.responseText);
	
		}else{
			setTimeout('activeOnline()',20000);
		}
	}
}

//Colour pallete top offset
function getOffsetTop(elm) {
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent){
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetTop;
}

//Colour pallete left offset
function getOffsetLeft(elm) {
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
}
function postUrl(poststyle,act,bid,stype){
	var thisUrl ="post.aspx?poststyle="+poststyle+"&action="+act+"&boardid="+bid+"&stype="+stype;
	return thisUrl; 
}

function close_postform(){
			var obj=document.getElementById("post_div");
			if (obj.style.display!="none"){
			obj.style.display="none";
			document.getElementById("post_iframe").src="";
			}
}

function post_topic(buttonElement,pstyle,act,bid,stype){
	var obj=document.getElementById("post_div");
	var buttonElement = document.getElementById("postbutton");
	if (pstyle!="1"){
		return this.location = postUrl(pstyle,act,bid,stype);
	}
	if (obj.style.display=="none")
		{
			//obj.style.top = (getOffsetTop(buttonElement)+buttonElement.offsetHeight)+"px";
			//obj.style.left = (getOffsetLeft(buttonElement)+buttonElement.offsetWidth)+"px";
			//obj.style.left = "20px";
			obj.style.display="block";
			document.getElementById("post_iframe").style.height="760px";
			document.getElementById("post_iframe").src=postUrl(pstyle,act,bid,stype);
	}else {
			obj.style.display="none";
			document.getElementById("post_iframe").src="";
	}
};

function activeOnline()
{
	xmlhttp.open("get","activeonline.aspx?state="+escape(document.title.toString())+"&boardid="+boardid);	
	xmlhttp.send(null);
}
function updateonline(XMLstr)
{
	eval(XMLstr);
	var AllOnlie=document.getElementById("allonline");
	if(AllOnlie) AllOnlie.innerHTML=allonline.toString();
	var UserOnlie=document.getElementById("useronline");
	if(UserOnlie) UserOnlie.innerHTML=useronline.toString();
	var GuestOnlie=document.getElementById("guestonline");
	if(GuestOnlie) GuestOnlie.innerHTML=guestonline.toString();
	if(boardid!=0)
	{
		var Board_UserOnline=document.getElementById("boarduser");
		if(Board_UserOnline) Board_UserOnline.innerHTML=boarduser.toString();
		var Board_GuestOnline=document.getElementById("boardguest");
		if(Board_GuestOnline) Board_GuestOnline.innerHTML=boardguest.toString();
	}
}

/**
 * New BoardJumpList by lfow
 */
function New_BoardJumpList(destBoardId, boardList)
{
	if (destBoardId < 0 || !boardList)
	{
		return '';
	}
	
	var dest_list = {};
	if (0 == destBoardId)
	{
		dest_list = boardList;
	}
	else
	{
		for (var boardid in boardList)
		{
			if (!boardList[boardid])
			{
				continue;
			}
			if (destBoardId == boardList[boardid].ParentId)
			{
				dest_list['' + boardid] = boardList[boardid];
			}
		}
	}
	if (!dest_list)
	{
		return '';
	}
	
	var retvl = '';
	for (var boardid in dest_list)
	{
		if (0 == boardid || !dest_list[boardid])
		{
			continue;
		}
		if (0 == dest_list[boardid].Depth)
		{
			retvl += '╋<a href="' + dest_list[boardid].urlpath + '" style="padding-left: 1px;">' + dest_list[boardid].BoardType + '</a><br />';
		}
		else
		{
			var repeat_str = RepeatString('&nbsp;', 2);
			retvl += repeat_str + '├<a href="'+ dest_list[boardid].urlpath +'" style="padding-left: 1px;">' + dest_list[boardid].BoardType + '</a>' + repeat_str + '<br />';
		}
	}
	if ('' !== retvl)
	{
		retvl = '<div class="menuitems">' + retvl + '</div>';
	}
	return retvl;
}
/**
 * by lfow
 */
function RepeatString(str, repeatCount)
{
	if (typeof(str) != 'string')
	{
		return '';
	}
	if (typeof(repeatCount) != 'number' || repeatCount <= 0)
	{
		return '';
	}
	var retvl = str;
	for (var i = 0; i < repeatCount; i++)
	{
		retvl += retvl;
	}
	return retvl;
}
/*
主页底部在线名单的显隐控制过程 by xu
*/
function disiframe()
{

 if(document.getElementById('online3u').style.display=='')
   {
     document.getElementById('checkdis').innerText='显示详细列表'
     document.getElementById('online3u').style.display='none';
     var id = document.getElementById('hiddenframe');
     if (id && !id.src)
     {
		id.src = 'onlineuserlist.aspx';
     }
     
   }
   else
   { 
     document.getElementById('checkdis').innerText='关闭详细列表'
     document.getElementById('online3u').style.display='';    
   }
   
}

//浮动窗口效果
var ShadeDiv = {
	objid : null,
	Shade : document.createElement('div'),
	ShadeID : 'Shade',
	width : 400,
	height : 300,
	Position : function(){
		if (!ShadeDiv.objid){
			ShadeDiv.objid = null;
			return;
		}
		var de = document.documentElement;
		var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
		var ch = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
		if (self.pageYOffset) {
			var st = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
			var st = document.documentElement.scrollTop;
		} else if (document.body) {// all other Explorers
			var st = document.body.scrollTop;
		}
		if (window.innerHeight && window.scrollMaxY) {	
			var sh = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			var sh = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			var sh = document.body.offsetHeight;
		}
		ShadeDiv.Shade.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=60,finishOpacity=100,style=0)';
		ShadeDiv.Shade.style.height = (sh > ch ? sh : ch) + 'px';
		ShadeDiv.Shade.style.width = w + 'px';
		var pos = [], pw;
		pw = ShadeDiv.width;
		pos[0] = (w-pw)/2;
		pos[1] = (ch-(ShadeDiv.height || 300))/2 -100+st;
		//window.status="ch:"+ch+"st:"+st+"post[1]:"+pos[1]+"ShadeDiv.clientHeight"+ShadeDiv.objid.clientHeight;
		if (navigator.product && navigator.product == 'Gecko'){
			pw -= 40;
		}
		ShadeDiv.objid.style.width = ShadeDiv.width + 'px';
		ShadeDiv.objid.style.height = ShadeDiv.height + 'px';
		ShadeDiv.objid.style.left = pos[0] + 'px';
		ShadeDiv.objid.style.top = pos[1] + 'px';
		ShadeDiv.Shade.style.display = 'block';
		ShadeDiv.objid.style.display = 'block';
	},
	Show : function(id,w,h){
		ShadeDiv.height = parseInt(h);
		ShadeDiv.width = parseInt(w);
		ShadeDiv.Shade.id = ShadeDiv.ShadeID;
		ShadeDiv.objid = document.getElementById(id);
		document.body.insertBefore(ShadeDiv.Shade,null);
		ShadeDiv.Position();
	},
	Close : function(){
		if (ShadeDiv.objid==null){
			return;
		}
		ShadeDiv.Confirmed();
	},

	Confirmed : function() {
		ShadeDiv.objid.style.display = 'none';
		ShadeDiv.Shade.style.display = 'none';
		document.body.removeChild(ShadeDiv.Shade);
	}

}
function fixImagesWidth(_id,_maxwidth)
{	
	var elem=document.getElementById(_id);
	var images=elem.getElementsByTagName("img");
	for(var i=0;i<images.length;i++)
	{
			if(images[i].offsetWidth > _maxwidth)
			{
				images[i].style.width=_maxwidth+"px";
			}
	}
} 

/*
	----------- Common Utility Scripts ------------

		author : satellite
		date   : 2005-9-15
		all right reserved 2007 dvbbs.net

	-----------------------------------------------
*/
var ua = window.navigator.userAgent;
var an = window.navigator.appName;
// Is it IE?
var bMSIE = (ua.indexOf("MSIE")>=1);
//$() 实现 document.getElementById() 简写
//
function $() 
{ 
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) 
  { 
    var element = arguments[i]; 
    if (typeof element == 'string') 
      element = document.getElementById(element); 
    if (arguments.length == 1) 
      return element; 
    elements.push(element); 
  } 
  return elements; 
}
/* 字符检测 */
function isInteger(str)
{  
	var regu = /^[-]{0,1}[0-9]{1,}$/;
	return regu.test(str);
}

function Html2Txt(htmlText) 
{ 
    str = htmlText.replace(/\r\n/g, " "); 
    str = str.replace(/\r/g, " ");  
    str = str.replace(/\n/g, " ");  
    str = str.replace(/\t/g, ""); 
    str = str.replace(/<BR>/gi,"\r\n"); 
    str = str.replace(/<[^>]+?>/g,""); 
    str = str.replace(/&nbsp;/g, " "); 
    str = str.replace(/&gt;/g, ">"); 
    str = str.replace(/&lt;/g, "<"); 
    str = str.replace(/&amp;/g, "&"); 
    return str; 
} 
/* ----------- 以下几个仅用于论坛 ------------------------- */

//specify whether contents should be auto copied to clipboard (memory)
//Applies only to IE 4+
//0=no, 1=yes
var copytoclip=1;
function copyToClipboard(theField,isalert) {
	var tempval=$(theField);	
	if (navigator.appVersion.match(/\bMSIE\b/)){
		tempval.select();
		if (copytoclip==1){
			therange=tempval.createTextRange();
			therange.execCommand("Copy");
			if(isalert!=false)alert("复制成功。现在您可以粘贴（Ctrl+v）到Blog 或 BBS中了。");
		}
		return;
	}else{
		alert("您使用的浏览器不支持此复制功能，请使用Ctrl+C或鼠标右键。");
		tempval.select();
	}
}
//Board Jump
function boardJump(obj)
{
	var selectedValue = obj.options[obj.selectedIndex].value;
	if (selectedValue.indexOf(',') != -1 || selectedValue == -1)
	{
		obj.options[0].selected = true;
		return;
	}
	location.href = 'board.aspx?boardid=' + selectedValue;
}

/*停止使用这个函数
//跳转标签效果
/*flag表示将要处于激活状态的标签
**url表示处于被激活状态标签下的frame将加载的url.
*/
function getList2(flag,url)
{	
	new3.f=flag;
	//added by McJeremyXu,set new3.event='' 
	new3.event='';
	new3.load();
	document.getElementById('my').src = url +"&nocache="+Math.random();
}
/******/


function setCookie(name,value)
{
	var Days = 30; //此 cookie 将被保存 30 天
	var exp = new Date(); //new Date("December 31, 9998");
	exp.setTime(exp.getTime() + Days*24*60*60*1000);
	document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}
function getCookie(name)
{
	var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	if(arr != null) return unescape(arr[2]); return null;
}
//Collapse Or Expand Tablebody
function collapse(img, objName)
{
	
	var cateid = objName.replace("cate","");
	var cateids= getCookie("closedcateids");
	if(cateids == null)
		cateids = "";
//	alert(cateids);
	//specially, invoke another function. (topic.aspx)
	if (objName == 'loopedreplies')
	{
		collapseTables(img);
		return;
	}

	var obj = document.getElementById(objName);
	if (!obj){return;}
	if (obj.style.display!='none'){
		obj.style.display = 'none';
		img.src = img.src.replace('open', 'close');
		//write cate id to cookie 
		setCookie("closedcateids",cateids.replace("[" + cateid + "]", "") + "[" + cateid + "]");
	}
	else{
		obj.style.display = 'block';
		img.src = img.src.replace('close', 'open');
		setCookie("closedcateids",cateids.replace("[" + cateid + "]", ""));
	}

}


/* ----------- 三个实用函数 --------------------- */

//Submit Once
function submitonce(f)
{
	if (document.all || document.getElementById)
	{
		for (i=0; i<f.elements.length; i++)
		{
			var ctl = f.elements[i];
			var ctlType = ctl.type.toLowerCase();
			if (ctlType == 'submit' || ctlType == 'button' || ctlType == 'reset')
			{
				ctl.disabled = true;
			}
		}
	}
}


//Ctrl + Enter
function ctlent_backup1()
{
	if (window.event)
	{
		if(event.ctrlKey && window.event.keyCode == 13)
		{
			var f = document.forms['editor_form'];
			if (!f) f = document.forms['__aspnetForm'];
			if (!f) f = document.forms['aspnetForm'];
			f.send.click();
			return false;
		}
	}
}


//Check All
function chkAll()
{
	var f;	//define & find the form object
	var isFound = false;
	for (var i=0; i<document.forms.length; i++)
	{
		f = document.forms[i];
		if (f.checkall)	//key item : named 'checkall'
		{
			isFound = true;
			break;
		}
	}
	if (!isFound) return;

	var isAllChecked = f.checkall.checked;
	for (var i=0; i<f.elements.length; i++)
	{
		if (f.elements[i].type.toLowerCase() == 'checkbox')
		{
			f.elements[i].checked = isAllChecked;
		}
	}
}


/* ---- !!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!! --------- */
/* ---- 以下函数将被Dvbbs.Web.dll产生的代码所引用 --------- */
var originUrl
//Pager
function setPage(s, i)
{
	return s.replace('{p}', i.toString());
}
function pager(url, page, maxPage, total, per, countsIsVisible)
{
	originUrl = url;
	var first		= "<font style='font-size:12px'>首页</font>";
	var previous	= "<font style='font-size:12px'>上一页</font>";
	var next		= "<font style='font-size:12px'>下一页</font>";
	var last		= "<font style='font-size:12px'>尾页</font>";

	var s = "<div class='pager-block' style='width:100%;text-align:right'><div class='pager-links' style='float:left; text-align:left; font-family:courier new,sans-serif'>";
	if (page == 1)
	{
		s += (first + " " + previous + " <b>");
	}
	else
	{
		if (first != "") s += ("<a href='" + setPage(url, 1) + "'>" + first + "</a> ");
		s += ("<a href='" + setPage(url, (page-1)) + "'>" + previous + "</a> <b>");
	}

	var j = (page-5 < 1) ? 1 : page-5;
	var k = (page+5 > maxPage) ? maxPage : page+5;

	if (j > 1) s += " <a href='" + setPage(url, 1) + "'>1</a> ... ";
	for (var i=j; i<k+1; i++)
	{
		if (page == i)
		{
			s += ("<span class='t2'>" + i + "</span> ");
			continue;
		}
		s += ("<a href='" + setPage(url, i) + "'>" + i + "</a> ");
	}
	if (maxPage > k) s += " ... <a href='" + setPage(url, maxPage) + "'>" + maxPage + "</a> ";
	if (page == maxPage)
	{
		s += ("</b>" + next + " " + last);
	}
	else
	{
		s += ("</b><a href='" + setPage(url, page+1) + "'>" + next + "</a> ");
		if (last != "") s += ("<a href='" + setPage(url, maxPage) + "'>" + last + "</a>");
	}
	s += " 转到 <input type='text' name='gotopage' value='" + page + "' size='3' onkeydown='onpagekeydown();'/> <input type='button' value='Go' style='height:19px;' onclick='ongoto()' />";
	s += ("</div>");
	
	if (countsIsVisible)
	{
		s += ("<div class='pager-stat' style='float:lift;'>");
		s += ("总记录:<span class='t2'>" + total + "</span>　");
		s += ("每页:<span class='t2'>" + per + "</span>　");
		s += ("总页数:<span class='t2'>" + maxPage + "</span></div>");
	}
	s += "</div>";

	return s;
}

function onpagekeydown()
{
	if (window.event)
	{
		if(window.event.keyCode == 13)
		{
			//ongoto();
			//直接用ongoto()时，在线列表分页的文本框中输入页数后回车会在新窗口中打开
			var page = document.getElementById("gotopage").value;
	if (isNaN(page))
	{
		page = "1";
	}
	if(originUrl=='undefined'||originUrl==null||originUrl=='')originUrl = document.getElementById("originUrl").value;

	if(arguments.length==1&&arguments[0]!='_self'&&arguments[0]!='_target'&&arguments[0]!='_parent'&&arguments[0]!='_top')
	{
		var w = eval(arguments[0]);
		w.location.href = setPage(originUrl, page);
	}else 
	{
		location.href = setPage(originUrl, page);
	}
			event.returnValue = false;
		}
	}
}
function ongoto()
{
	var page = document.getElementById("gotopage").value;
	if (isNaN(page))
	{
		page = "1";
	}
	if(originUrl=='undefined'||originUrl==null||originUrl=='')originUrl = document.getElementById("originUrl").value;

	if(arguments.length==1&&arguments[0]!='_self'&&arguments[0]!='_target'&&arguments[0]!='_parent'&&arguments[0]!='_top')
	{
		var w = eval(arguments[0]);
		w.location.href = setPage(originUrl, page);
	}else 
	{
		location.href = setPage(originUrl, page);
	}
}

//Byte Counter
function len(str)
{
	var bytes = 0;
	for(i=0; i<str.length; i++)
	{
		ascii = str.charCodeAt(i);
		bytes += (ascii < 255 ? 1 : 2);
	}
	return bytes;
}


//Trim
function trim(str)
{
	return str.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}
String.prototype.trim = function()
{
	return this.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}


//Format
String.prototype.format = function()
{
	var s = this.replace(/\r/g, '');
	s = s.replace(/[\v\t　 ]*\n[\v\t　 ]*/g, '\n');
	s = s.replace(/(\n+)/g, '$1　　');
	s = s.replace(/[\n]{2,}/g, '\n\n');
	s = s.replace(/\n/g, '\r\n');
	s = '　　' + s;
	s = s.replace(/(　　!)/g, '');
	s = s.replace(/　　(\[uploadimage)/gi, '$1');
	return s;
}


//Filter
String.prototype.shitEncode = function()
{
	return this.replace(/(妈的|妈b|妈比|fuck|shit|我日|法轮|产党|泽东)/gi, "**");
}


//HtmlEncode
String.prototype.htmlEncode = function()
{
	var s = this.replace(/&/g, '&amp;');
	s = s.replace(/[ 　]*\r/g, '');
	s = s.replace(/  /g, '&nbsp; ');
	s = s.replace(/\t/g, '&nbsp; &nbsp; ');
	s = s.replace(/\"/, '&quot;');
	s = s.replace(/\'/, '&#39;');
	s = s.replace(/</g, '&lt;');
	s = s.replace(/>/g, '&gt;');
	s = s.replace(/\n/g, '<BR>');
	return s.shitEncode();
}


//TextEncode
String.prototype.textEncode = function()
{
	var s = this.replace(/&/g, '&amp;');
	s = s.replace(/</g, '&lt;');
	s = s.replace(/>/, '&gt;');
	return s.shitEncode();
}


//UbbCode
function UbbCode()
{
	//Protected Html
	this.protectHtml = function(str)
	{
		var s = str.replace(/<(\/?script)([^>]*)>/gi, '&lt;$1$2&gt;');
		s = s.replace(/<(\/?applet)([^>]*)>/gi, '&lt;$1$2&gt;');
		s = s.replace(/(javascript|vbscript|script)[\s]*:/gi, 'none:');
		s = s.replace(/<([%\?]{1})/gi, '&lt;$1');
		s = s.replace(/([%\?]{1})>/gi, '$1&gt;');
		s = s.replace(/<!\-\-[\s]*#[\s]*include/gi, '<!-- include');
		return s.shitEncode();
	}

	//Emotions
	this.showEmotion = function(str)
	{
		return str.replace(/\{\/em([\d]+)\}/gi, "<img src='<~>emotion/$1.gif' alt='emote' />&nbsp;");
	}

	//Seek URL
	this.findUrl = function(str)
	{
		var s = str.replace(/([^>=\]])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*)/gi, "$1<a href='<~>$2' target='_blank'>$2</a>");
		s = s.replace(/(^|<br \/>)((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*)/gi, "$1<a href='<~>$2' target='_blank'>$2</a>");
		s = s.replace(/(^|<br \/>)(www\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]+)/gi, "$1<a href='http://$2' target='_blank'>$2</a>");
		return s;
	}
	
	this.supportUbb = function(str)
	{
		return this.regExp(this.findUrl(str.htmlEncode()));
	}
	this.supportHtml = function(str)
	{
		return this.regExp(str);
	}
	
	//Regex
	this.regExp = function(str)
	{
		//font styles & simple tags
		var s = str.replace(/\[((\/?b)|(\/?i)|(\/?u)|(\/?h[1-6])|(\/?sub)|(\/?sup)|(\/?center))\]/gi, "<$1>");
		s = s.replace(/\[color=((#[A-Fa-f0-9]{3})|(#[A-Fa-f0-9]{6})|[a-zA-Z]{3,12})\]/gi, "<span style='color:$1'>");
		s = s.replace(/\[size=([1-3][0-9])\]/gi, "<span style='font-size:$1px'>");
		s = s.replace(/\[face=([^\[]+)\]/gi, "<span style='font-family:$1'>");
		s = s.replace(/\[\/(color|size|face)\]/gi, "</span>");
		//image
		s = s.replace(/\[img\]([^\[]{5,})\[\/img\]/gi, "<img src='<~>$1' class='image-from-ubb' border='0' alt='image' style='cursor:hand' onload=\"if(this.width>'515')this.width='515'\" onclick=\"window.open(this.src, null, '')\" />");
		s = s.replace(/\[img=(left|right)\]([^\[]{5,})\[\/img\]/gi, "<img src='<~>$2' align='$1' class='image-from-ubb' border='0' alt='image' style='cursor:hand' onload=\"if(this.width>'515')this.width='515'\"' onclick=\"window.open(this.src, null, '')\" />");
		//line
		s = s.replace(/\[line\/\]/gi, "<hr size='1' color='#cccccc' noshade='noshade' />");
		s = s.replace(/\[line\]\s*(\d{1})\s*,\s*((#[A-Fa-f0-9]{3})|(#[A-Fa-f0-9]{6})|[A-Za-z]{3,12})\s*\[\/line\]/gi, "<hr size='$1' color='$2' noshade='noshade' />");
		//url
		s = s.replace(/\[url\]([^\[<]{5,})\[\/url\]/gi, "<a href='<~>$1' target='_blank'>$1</a>");
		s = s.replace(/\[url=([^\[<]{5,})\]([^\[<]+)\[\/url\]/gi, "<a href='<~>$1' target='_blank'>$2</a>");
		//email
		s = s.replace(/\[email\]([^\s@]+@[^\[\.]+\.[^\[]+)\[\/email\]/gi, "<a href='mailto:$1'>$1</a>");
		s = s.replace(/\[email=([^\s@]+@[^\[\.]+\.[^\[]+)\]([^\[]+)\[\/email\]/gi, "<a href='mailto:$1'>$2</a>");
		//flash
		s = s.replace(/\[flash\](.[^\[]*\.swf)\[\/flash\]/gi, "<embed src='<~>$1' width='500' height='400' quality='high' type='application/x-shockwave-flash'></embed><br /><a href='<~>$1' target='_blank'>[全屏欣赏　提醒：Flash中可能包含不安全内容]</a>");
		s = s.replace(/\[flash=(\d+),(\d+)\](.[^\[]*\.swf)\[\/flash\]/gi, "<embed src='<~>$3' width='$1' height='$2' quality='high' type='application/x-shockwave-flash'></embed><br /><a href='<~>$3' target='_blank'>[全屏欣赏　提醒：Flash中可能包含不安全内容]</a>");
		//media
		s = s.replace(/\*/gi, "*;");
		//	\.(avi|asx|wpl|aif|aifc|aiff|au|asf|mpeg|mpg|m1v|mp2|mpv2|mp2v|mpa|mid|midi|rmi|snd|wma|wmv|wm|wav|wax|m3u|wpl|mp3)
		s = s.replace(/\[(\/)?(MP(=([0-9]+),([0-9]+))?)\]/gi, "*$1$2*").replace(/\*MP=([0-9]+),([0-9]+)\*(.[^\*]*)\*\/MP\*/gi, "<object align='middle' classid='clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95' class='object' id='mediaplayer' width='$1' height='$2'><param name='showstatusbar' value='-1' /><param name='filename' value='$3' /><embed type='application/x-oleobject' codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701' filename='mp' src='<~>$3' width='$1' height='$2'></embed></object>");
		s = s.replace(/\*(\/)?(MP(=([0-9]+),([0-9]+))?)\*/gi, "[$1$2]").replace(/\*;/gi, "*");
		//real
		s = s.replace(/\*/gi, "*;");
		//	\.(rm|rma|ra|ram|rmm|rmvb|au|aif|mid|mp3|wav|wov|wma|smi|smil|m3u|mov|mpg|mpeg)
		s = s.replace(/\[(\/)?(RM(=([0-9]+),([0-9]+))?)\]/gi, "*$1$2*").replace(/\*RM=([0-9]+),([0-9]+)\*(.[^\*]*)\*\/RM\*/gi, "<object classid='clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa' class='object' id='raocx' width='$1' height='$2'><param name='src' value='$3'><param name='console' value='clip1' /><param name='controls' value='imagewindow' /><param name='autostart' value='0' /></object><br /><object classid='clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa' height='32' id='video2' width='$1'><param name='src' value='$3' /><param name='autostart' value='0' /><param name='controls' value='controlpanel' /><param name='console' value='clip1' /></object><br />[请确定您已安装了RealPlayer，并手动点击播放]");
		s = s.replace(/\*(\/)?(RM(=([0-9]+),([0-9]+))?)\*/gi, "[$1$2]").replace(/\*;/gi, "*");
		//code
		s = s.replace(/\[(\/?)code\]/gi, "[$1CODE]")
		//quote
		s = s.replace(/\[quotetitle\]([^\[]*)\[\/quotetitle\]/gi, "　&nbsp;<span style='position:relative;top:10px;' class='highlight bg1'>$1</span>");
		s = s.replace(/\[quote\](<br \/>|&nbsp;)*/gi, "<div class='grid bg3' style='width:96%; padding:10px 10px 9px 10px; line-height:18px'>");
		s = s.replace(/(<br \/>)*\[\/quote\]/gi, "</div>");

		return this.showCodeBlock(s);
	}

	//Set Code Highlight (CSharp)
	this.codeHighLightCSharp = function(str)
	{
		var s = str.replace(/(^|\s|<br \/>|;\s*|\)\s*)(private|protected|internal|public|using|namespace|class|interface|struct|event|virtual|abstract|static|delegate|override|readonly|return|break|continue|goto|case|default|sealed|throw)/g, "$1<span style='color:blue'>$2</span>");
		s = s.replace(/(else\s+if|if|switch|try|catch|finally|while|for|for\s+each|do|typeof|sizeof)(\s*\(|\s*\{)/gi, "<span style='color:blue'>$1</span>$2");
		s = s.replace(/(\s+|;\s*|=\s*|\(\s*|,\s*)(null|int|string|void|bool|long|short|byte|char|decimal|double|enum|event|float|object|sbyte|base|this|ulong|ushort|DateTime|true|false|get|set|var)(\s+|\.|\[|\s*\)|\s*;)/g, "$1<span style='color:blue'>$2</span>$3");
		s = s.replace(/(\}\s*|\]\s*|\s*\)|^|\s+|<br \/>)(else|is|as|in|is)(\s*\{|\s*\(|$|\s+|<br \/>)/g, "$1<span style='color:blue'>$2</span>$3");
		s = s.replace(/&quot;/gi, "\"").replace(/\\\"/g, "““””").replace(/(\"[^\"]*\")/g, "<span style='color:#ff00ff'>$1</span>").replace(/““””/g, "\\\"");
		s = s.replace(/<span style=\'color:blue\'>class<\/span>(\s*=)/gi, "class$1");

		var i = 0;	//define start index
		while ( (i = s.indexOf("//", i)) != -1)
		{
			if (s.indexOf("<BR>", i) == -1) break;

			s = s.substring(0, i) + "<span style='color:green'>" + s.substring(i, s.indexOf("<BR>", i)).replace(/<span style=\'color:#?[0-9a-zA-Z]+\'>([^<]+)<\/span>/gi, "$1") + "</span>" + s.substring(s.indexOf("<BR>", i));
			i = s.indexOf("<BR>", i);
		}

		i = 0;	//reset start index
		while ((i = s.indexOf("/*", i)) != -1)
		{
			if (s.indexOf("*/", i + 2) == -1) break;

			s = s.substring(0, i) + "<span style='color:green'>" + s.substring(i, s.indexOf("*/", i + 2) + 2).replace(/<span style=\'color:#?[0-9a-zA-Z]+\'>([^<]+)<\/span>/gi, "$1") + "</span>" + s.substring(s.indexOf("*/", i + 2) + 2);
			i = s.indexOf("*/", i + 2);
		}
		return s;
	}

	// Set CodeSource Display Mode
	this.setCodeSourceDisplayMode = function(senderId, eventerId)
	{
		var sender  = document.getElementById(senderId);
		var eventer = document.getElementById(eventerId);
		if (eventer.style.overflow == '')
		{
			sender.innerHTML = '[滚动模式]';
			eventer.noWrap = 'nowrap';
			eventer.style.height	= '400px';
			eventer.style.overflow	= 'auto';
		}
		else 
		{
			sender.innerHTML = '[全显模式]';
			eventer.noWrap = '';
			eventer.style.height	= '';
			eventer.style.overflow	= '';
		}
	}

	//Set Code Block
	this.codeBlockIndex = 0;
	this.showCodeBlock = function(str)
	{
		var arr = str.split('[CODE]');
		var quoterBegin = "　&nbsp;<span style='position:relative;top:10px;' class='highlight bg1'>本帖相关代码";
		quoterBegin    += " &nbsp; <a id='sender_$index' href=\"javascript:ubb.setCodeSourceDisplayMode('sender_$index', 'codesource_$index')\">[全显模式]</a></span>";
		quoterBegin    += "<div class='grid bg3' style='width:96%; padding:10px 10px 9px 10px; line-height:18px; font-family:宋体 !important; font-size:12px !important;' id='codesource_$index'>";

		for (var i=0; i<arr.length; i++)
		{
			var subArr = arr[i].split('[/CODE]');
			if (subArr.length == 1) continue;

			if (subArr[0].split('{').length > 1 && subArr[0].split(';').length > 4)
			{
				subArr[0] = this.codeHighLightCSharp(subArr[0]);	//如果不想语法高亮则把这行去掉
			}
			/* --- Show Line Number -------------			
			var lines = subArr[0].split('<br />');
			var maxLine = lines.length;
			for (var j=0; j<maxLine; j++)
			{
				lines[j] = "<span style='color:#bbbbbb;display:none'>"  + j.toString() + "</span > &nbsp;" + lines[j];
				for (var k=0; k<maxLine.toString().length - j.toString().length; k++)
				{
					if (k>10) break;
					lines[j] = '&nbsp;' + lines[j];
				}
			}
			subArr[0] = lines.join('<br />');
			*/
			subArr[0] = quoterBegin.replace(/\$index/g, this.codeBlockIndex++) + subArr[0];
			arr[i] = subArr.join('</div>');
		}
		return arr.join('');
	}

	//Explain The Attachment Mark
	this.showAttachment = function(str)
	{
		var s = str.replace(/\[uploadimage\]([\d]+),([0-9a-zA-Z_\.\/\\]+)\[\/uploadimage\]/gi, "<img src='<~>images/topic_hasimg.gif' align='absmiddle' alt='本帖包含图片' /> 本帖包含图片[<a href='additem.aspx?item=attach&itemid=$1'>收藏图片</a>]:<br /><a href='<~>attach.aspx?attachid=$1' target='_blank'><img src='<~>attach.aspx?attachid=$1' border='0' class='image-from-upload' alt='uploaded image' style='margin-top:3px' onload=\"if(this.width>'515')this.width='515'\"' /></a>");
		s = s.replace(/\[uploadimage=(left|right)\]([\d]+),([0-9a-zA-Z_\.\/\\]+)\[\/uploadimage\]/gi, "<img src='<~>images/topic_hasimg.gif' align='absmiddle' alt='本帖包含图片' /> 本帖包含图片[<a href='additem.aspx?item=attach&itemid=$1'>收藏图片</a>]:<br /><a href='<~>attach.aspx?attachid=$1' target='_blank'><img src='<~>attach.aspx?attachid=$2' style='margin:4px 6px 6px 6px' align='$1' border='0' class='image-from-upload' alt='uploaded image' onload=\"if(this.width>'515')this.width='515'\"' /></a>");
		s = s.replace(/\[uploadfile\]([0-9]+),([^\]]+),([0-9]+\.?[0-9\s]*kb)\[\/uploadfile\]/gi, "<img src='<~>images/topic_hasrar.gif' align='absmiddle' alt='本帖包含附件' /> 本帖包含附件[<a href='additem.aspx?item=attach&itemid=$1'>收藏附件</a>]:<br /><a href='<~>attach.aspx?attachid=$1' target='_blank'>$2</a> &nbsp;[附件大小:$3, <a href='<~>attach_list.aspx?attachid=$1' target='_blank'>查看信息...</a>]");
		return s;
	}

	//fix relative path
	this.fixRelativePath = function(str, pathUpSeek)
	{
		var s = str.replace(/ (href|src)=\'<~>(javascript|vbscript|script):([^\']*)\'/gi, " $1='$3'");
		s = s.replace(/ (href|src)=\'<~>(\/|[a-zA-Z]+:)([^\']*)\'/gi, " $1='$2$3'");
		s = s.replace(/ (href|src)=\'<~>([^\']*)\'/gi, " $1='" + pathUpSeek + "/$2'");
		return s;
	}

	//output
	this.print = function(str, currentPath, tagType, isFormat)
	{
		var s = isFormat ? str.format() : str;
		switch (tagType)
		{
			default:
				s = this.findUrl(s.htmlEncode());
				break;
			case 1:
				s = this.supportUbb(s);
				break;
			case -1:
				s = this.supportHtml(s);
				break;
			case 2:
				s = this.protectHtml(s);
				break;
		}

		s = this.showEmotion(this.showAttachment(s));
		s = this.fixRelativePath(s, currentPath);
		document.write(s);
	}
}
var ubb = new UbbCode();
var output;

function vgetCookie(parameter)
{
	var reg,allCookie,allCookie2,iLen,iStart,iEnd;
	allCookie = document.cookie;
	reg = new RegExp(parameter);
	if(allCookie.search(reg) == -1){
		return "";
	}
	else{
		iLen = parameter.length;
		iStart = allCookie.search(reg) + iLen +1;
		allCookie2 = allCookie.substr(iStart);
		iEnd = iStart + allCookie2.search(/;/i);		
		if((iStart - 1) == iEnd){
			return allCookie.substr(iStart);
		}
		else{
			return allCookie.substr(iStart,iEnd - iStart);
		}
	}
}

function frameon(url, img){
	if (window == top){
		top.location.href = "index.aspx?action=frameon&url="+escape(url);
	}else{
		top.location.href = url;
	}
}

function changeframeicon(img, path){
	if (!img){return false;}
	if (window == top){
		img.src = path + 'isleft.gif';
	}else{
		img.src = path + 'noleft.gif';

	}
}

// 检查并更改图片大小 added by 小点@20070612
function imgresize(o){
	var parentNode=o.parentNode;
	if (parentNode){
		if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
		}else{
		var parentNode=o.parentNode
		if (parentNode){
			if (o.offsetWidth>=parentNode.offsetWidth) o.style.width='98%';
			}
		}
}
function resizeimage(img)    
{
	var w=img.width,h=img.height; 
	var maxHeight=760,maxWidth=760;
	if (h>maxHeight)    
	{    
		img.height=maxHeight;    
		img.width=(maxHeight/h)*w;    
		w=img.width;   
		h=img.height;   
	}    
	if (w>maxWidth)    
	{    
		img.width=maxWidth;    
		img.height=(maxWidth/w)*h;    
	}    
}    



function addTitleHead(obj, tovalue){	//modified by caoxin03 2007 0816
	var x = eval('obj.form.' + tovalue);
	if (obj.options.selectedIndex > 0 && x.value.length < 46 && len(x.value) < 64)
	{
		x.value = obj.options[obj.options.selectedIndex].text + x.value;
		obj.options.selectedIndex = 0;
	}
}

function PostShowTime(stat){
	if(1 == stat){
		document.getElementById("uncertainstarttime").style.display = 'block';
		document.getElementById("certainstarttime").style.display = 'none';
	}else{
		document.getElementById("uncertainstarttime").style.display = 'none';
		document.getElementById("certainstarttime").style.display = 'block';
	}
}

// 展开关闭事件
function divdisplay(obj){
	if (obj){
		obj.style.display = (obj.style.display=="none") ? "block":"none";
	}
}


//获取访问者操作系统
function osinfo()
{
	$os="";
	$Agent = navigator.userAgent;
	if(getCookie($app_prefix + 'os') != 'ok')
	{
		if (($Agent.match(new RegExp('win', 'ig'))) != null)   //(eregi('win',$Agent))
		{
			$os="1";
		}
		else if (($Agent.match(new RegExp('linux', 'ig'))) != null)   //(eregi('linux',$Agent))
		{
			$os="2";
		}
		else if ((($Agent.match(new RegExp('Mac', 'ig'))) != null) && (($Agent.match(new RegExp('PC', 'ig'))) != null))   //(eregi('Mac',$Agent) && eregi('PC',$Agent))
		{
			$os="3";
		}
		else if (($Agent.match(new RegExp('FreeBSD', 'ig'))) != null)   //(eregi('FreeBSD',$Agent))
		{
			$os="4";
		}
		else if ((($Agent.match(new RegExp('sun', 'ig'))) != null) && (($Agent.match(new RegExp('os', 'ig'))) != null))   //(eregi('sun',$Agent) && eregi('os',$Agent))
		{
			$os="5";
		}
		else if (($Agent.match(new RegExp('AIX', 'ig'))) != null)   //(eregi('AIX',$Agent))
		{
			$os="6";
		}
		else if ((($Agent.match(new RegExp('ibm', 'ig'))) != null) && (($Agent.match(new RegExp('os', 'ig'))) != null))   //(eregi('ibm',$Agent) && eregi('os',$Agent))
		{
			$os="7";
		}
		else
		{
			$os="0";
		}

		return $os;
	}
}

//获取访问者浏览器
function browse_info()
{
	if(getCookie($app_prefix + 'browser') != 'ok')
	{
		var $Browsers = ['msie', 'netscape', 'konqueror', 'opera', 'lynx', 'firefox'];
		var $Agent = navigator.userAgent;
		var type;
		for (var i = 0; i < $Browsers.length; i++)
		{
			if ($Agent.toLowerCase().indexOf($Browsers[i]) != -1)
			{
				type = i + 1;
				return type.toString();
			}
		}
		return '0';
	}
}

var $app_prefix = getCookie('app_prefix');
if (!$app_prefix)
{
	app_prefix = 'dv_';
}

//var $os = osinfo();
//var $browser = browse_info();

//alert($os+ "." + $browser);  //Windows.MSIE  1.6
//document.cookie = 'os=' + escape($os) + '; browser=' + escape($browser) + ';';
//document.cookie = 'os2=' + escape($os);
//document.cookie = 'browser2=' + escape($browser);

//alert(getCookie($app_prefix + 'os')+"."+getCookie($app_prefix + 'browser'));
if(getCookie($app_prefix + 'os') == null)
{
	var $os = osinfo();
	//setCookie($app_prefix + 'os', escape($os));
	document.cookie = $app_prefix + 'os' + "=" + escape($os);
}

if(getCookie($app_prefix + 'browser') == null)
{
	var $browser = browse_info();
	//setCookie($app_prefix + 'browser', escape($browser));
	document.cookie = $app_prefix + 'browser' + "=" + escape($browser);
}

//alert(getCookie($app_prefix + 'session'));
//alert(getCookie($app_prefix + 'user'));   //null

if(getCookie($app_prefix + 'oldsession') == null && getCookie($app_prefix + 'session') != null)
{
	//setCookie($app_prefix + 'oldsession', getCookie($app_prefix + 'session'));
	document.cookie = $app_prefix + 'oldsession' + "="+ getCookie($app_prefix + 'session');
}

if(getCookie($app_prefix + 'user') == null && getCookie($app_prefix + 'olduser') == null)
{
	//setCookie($app_prefix + 'olduser', '游客');
	document.cookie = $app_prefix + 'olduser' + "=游客";
}
else if(getCookie($app_prefix + 'user') != null && getCookie($app_prefix + 'olduser') == null)
{
	//setCookie($app_prefix + 'olduser', getCookie($app_prefix + 'user'));
	document.cookie = $app_prefix + 'olduser' + "=" + escape(getCookie($app_prefix + 'user'));
}

//alert(getCookie($app_prefix + 'oldsession'));
//alert(getCookie($app_prefix + 'olduser'));
function checkNum(obj)
{
	if(obj.value.search(/\d{10}/)>=0)
	{
		alert("您输入的数字太大，输入小于9位的数字!");
	}
}


