var UbbUsed=0;
var Dvbbs_bIsIE5		= document.all;
var text_enter_url      = "请输入连接网址";			var error_no_useuserName= "请输入定员用户名";				var error_no_points		= "您必须输入数值,如：1000";		var text_enter_usemoney	= "请输入数值,如：1000 (即只有用户支付了1000点金钱才能浏览该内容!)";
var text_enter_txt		= "请输入连接说明";			var text_enter_image	= "请输入图片网址";				var text_enter_sound	= "请输入声音文件网址";			var text_enter_money	= "请输入数值,如：1000 (即限制金钱在1000点以下的用户不能浏览该内容!)";
var text_enter_swf		= "请输入FLASH动画网址";		var text_enter_ra		= "请输入Real音乐网址";			var text_enter_rm		= "请输入Real影片网址";			var text_enter_points	= "请输入数值,如：1000 (即限制积分在1000点以下的用户不能浏览该内容!)";
var text_enter_wmv		= "请输入Media影片网址";		var text_enter_wma		= "请输入Media音乐网址";			var text_enter_mov		= "请输入QuickTime音乐网址";		var text_enter_usercp	= "请输入数值,如：1000 (即限制魅力值在1000点以下的用户不能浏览该内容!)";
var text_enter_sw		= "请输入shockwave音乐网址";	var text_enter_email    = "请输入邮件网址";				var error_no_url		= "您必须输入网址";				var text_enter_power	= "请输入数值,如：1000 (即限制威望在1000点以下的用户不能浏览该内容!)";
var error_no_txt        = "您必须连接说明";			var error_no_title      = "您必须输入首页标题";			var error_no_email		= "您必须输入邮件网址";			var text_enter_post		= "请输入数值,如：1000 (即限制发表文章在1000点以下的用户不能浏览该内容!)";
var error_no_gtxt		= "必须输入文字！";			var text_enter_guang1	= "文字的长度、颜色和边界大小";		var text_enter_guang2	= "要产生效果的文字！";			var text_enter_useuserName	= "请输入定员用户名(多个的用英文豆号分开)";
var error_no_gset		= "必须正确按照各式输入！";

function commentWrite(NewCode) {
IframeID.document.body.innerHTML+=NewCode;
IframeID.focus();
return;
}

function storeCaret(text) { 
	if (text.createTextRange) {
		text.caretPos = document.selection.createRange().duplicate();
	}
        if(event.ctrlKey && window.event.keyCode==13){i++;if (i>1) {alert('帖子正在发出，请耐心等待！');return false;}this.document.form.submit();}
}
function AddText(text) {
	if (IframeID.document.body.createTextRange && IframeID.document.body.caretPos) {      
		var caretPos = IframeID.document.body.caretPos;      
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
		text + ' ' : text;
	}
	else IframeID.document.body.innerHTML += text;
	IframeID.focus(caretPos);
}

function Curl() {
	txt2=prompt("链接文本显示.\n如果不想使用, 可以为空, 将只显示超级链接地址. ",""); 
		if (txt2!=null) {
			txt=prompt("超级链接.","http://");      
			if (txt!=null) {
				if (txt2=="") {
					AddTxt="[url]"+txt;
					AddText(AddTxt);
					AddTxt="[/url]";
					AddText(AddTxt);
				} else {
					AddTxt="[url="+txt+"]"+txt2;
					AddText(AddTxt);
					AddTxt="[/url]";
					AddText(AddTxt);
				}         
			} 
		}
}

//ubb标记
function Dv_ubb() {
	txt=prompt("被引用的文字","文字");     
		if(txt!=null) {          
			AddTxt="[quote]"+txt;
			AddText(AddTxt);
			AddTxt="[/quote]";
			AddText(AddTxt);
		}	        
}

//特殊帖
function Dv_Signal(code,addtype) {
	var promptinfo='';
	var error_info='';
	var default_info='1000';
	var addtype=0;
	switch (code)
	{
		case 'Point':
			promptinfo=text_enter_points;
			error_info=error_no_points;
			break;
		case 'Money':
			promptinfo=text_enter_money;
			error_info=error_no_points;
			break;
		case 'UseMoney':
			promptinfo=text_enter_usemoney;
			error_info=error_no_points;
			break;
		case 'UserName':
			promptinfo=text_enter_useuserName;
			error_info=error_no_useuserName;
			default_info="";
			UbbUsed=UbbUsed+1
			break;
		case 'UserCP':
			promptinfo=text_enter_usercp;
			error_info=error_no_points;
			break;
		case 'Power':
			promptinfo=text_enter_power;
			error_info=error_no_points;
			break;
		case 'Post':
			promptinfo=text_enter_post;
			error_info=error_no_points;
			break;
		case 'SOUND':
			addtype=1;
			promptinfo=text_enter_sound;
			error_info=error_no_url;
			default_info="http://";
			break;
		case 'IMG':
			addtype=1;
			promptinfo=text_enter_image;
			error_info=error_no_url;
			default_info="http://";
			break;
		case 'EMAIL':
			addtype=1;
			promptinfo=text_enter_email;
			error_info=error_no_email;
			default_info="";
			break;
	}
	txt=prompt("图片的 URL","http://");    
		if(txt!=null) {            
			AddTxt="\r[img]"+txt;
			AddText(AddTxt);
			AddTxt="[/img]";
			AddText(AddTxt);
		}	
}
   

//清除表单
function ClearReset()
{
	IframeID.document.body.innerHTML='';
	IframeID.focus();
}

//检查UBB使用次数
function CheckUbbUse(code,n,content){
	var tempstr=0;
	var strubbcode=/\[\/username\]/gi;
	chktemp=content.match(strubbcode);
	if (chktemp!=null)
	{
		tempstr=tempstr+chktemp.length;
	}
	if (tempstr>n)
	{
		ischeck=false;
		UbbUsed=tempstr;
		alert("用户定员帖限制只能出现"+n+"次！");
	}
}
// end 
var checkword;
//如果自动清理word垃圾代码，请设置为var autocheckword=1;
var autocheckword=1;
//取编辑器里的数据
var OSWEBXHTML=new Object();
OSWEBXHTML.GetXHTML=function(node){ 
	if (autocheckword==1){
		if (node.innerHTML.indexOf('<COLGROUP>')!=-1){
			checkword=1;
		}
	}
	if (window.ActiveXObject){
			var prefix = ["MSXML3","MSXML2","MSXML","Microsoft"];
			for (var i=0;i<prefix.length;i++) {
			try {
				this.XML=new ActiveXObject(prefix[i] + ".DOMDocument");
				if (XML)
					{
						return XML;
					}		
			} catch (e) {}
			}
	}else{
			this.XML=document.implementation.createDocument('', '', null);
			Node.prototype.__defineGetter__('xml', OSWEBXHTML._Node_Getxml);
	}; 
	this.MainNode=this.XML.appendChild(this.XML.createElement( 'XHTML' ));
	 
	this._AppendChildNodes(this.MainNode, node);
	var sXHTML=this.MainNode.xml;
	sXHTML=sXHTML.replace(/<embed><\/embed>/g,"");
	sXHTML=sXHTML.replace(/\/>/g,">");   //去掉标签/>中的/
//	 alert(sXHTML);
	return sXHTML.substr(7, sXHTML.length - 15);
  	 
}; 
OSWEBXHTML._Node_Getxml=function(){
	var oSerializer=new XMLSerializer();
	return oSerializer.serializeToString(this);
	};
OSWEBXHTML._AppendChildNodes=function(xmlNode, htmlNode){
	var oChildren=htmlNode.childNodes;
	var i=0;
	// alert(xmlNode.xml+"-len:" + oChildren.length); 
	while (i < oChildren.length){ 
		i +=this._AppendNode(xmlNode, oChildren[i]);
	};
};
OSWEBXHTML._AppendNode=function(xmlNode, htmlNode){
	var iAddedNodes=1;
	// alert(htmlNode.nodeName+","+htmlNode.nodeType+","+ htmlNode.nodeValue);
	switch (htmlNode.nodeType){
		case 1 : var sNodeName=fixtag(htmlNode.nodeName.toLowerCase());
		 
		if(sNodeName=='') break;
		if(checkword==1){
				if (sNodeName=='colgroup') break;
			}
		var oAttributes=htmlNode.attributes;
		var oNode=xmlNode.appendChild(this.XML.createElement( sNodeName ));
		for (var n=0 ; n < oAttributes.length ; n++){
			var oAttribute=oAttributes[n];
			if (oAttribute.specified && oAttribute.nodeName.toLowerCase()+''!='style') this._AppendAttribute(oNode, fixtag(oAttribute.nodeName.toLowerCase()+''), oAttribute.nodeValue+'');
			};
			var cssText=htmlNode.style.cssText;

			if (cssText!='') {
				if (navigator.appVersion.indexOf("MSIE")!=-1){
				cssText=cssText+';';
				}
				this._AppendAttribute(oNode, 'style', cssText);
			}
			 
				if (htmlNode.childNodes.length == 0){
				switch (sNodeName){
					case "img" :case "input" :case "br" : case "hr" :case "param":break;
					default : oNode.appendChild(this.XML.createTextNode( '' ));
					break;
					};
					};
			switch (sNodeName){
			case "abbr" : if (document.all){var oNextNode=htmlNode.nextSibling;
				while (true){
					iAddedNodes++;
					if (oNextNode && oNextNode.nodeName !='/ABBR'){
						this._AppendNode(oNode, oNextNode);
						oNextNode=oNextNode.nextSibling;
					}else
						break;
				}; 
				break;
			};
			case "area" : if (document.all && ! oNode.attributes.getNamedItem( 'coords' )){var sCoords=htmlNode.getAttribute('coords', 2);if (sCoords && sCoords !='0,0,0') this._AppendAttribute(oNode, 'coords', sCoords);};
		  case "img" : if (! oNode.attributes.getNamedItem( 'alt' )) this._AppendAttribute(oNode, 'alt', 'image');
			default :this._AppendChildNodes(oNode, htmlNode);
			break;
		};
			case 3 : if (htmlNode.nodeValue!=null) {
				xmlNode.appendChild(this.XML.createTextNode( htmlNode.nodeValue ));
			};
			break;
			default : xmlNode.appendChild(this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ));break;
		};
		return iAddedNodes;
	};
OSWEBXHTML._AppendAttribute=function(xmlNode, attributeName, attributeValue){
	if(checkattributeName(attributeName) && attributeName.indexOf('_moz') ==-1 && attributeName.substring(0,2)!='on' && attributeValue.indexOf('_moz') ==-1 && attributeName!=''){
		if(checkword==1){
			if (attributeName=='classname') return;
			if (attributeName=='style') return;
			if (attributeName=='class') return;
			}
			if (attributeName=='xstr') return;
			if (attributeName=='xnum') return;
			if (attributeName=='u1num') return;
		var oXmlAtt=this.XML.createAttribute(attributeName);
		if ((typeof( attributeValue )=='boolean' && attributeValue == true ) || attributeValue == 'true'){
			oXmlAtt.nodeValue=attributeName;
			}else{
			oXmlAtt.nodeValue=attributeValue;
			};
			xmlNode.attributes.setNamedItem(oXmlAtt);
			};
			};
			
function fixtag(text)
{
	text = text.replace(/&|\/|<|>|\*|#|:|;|=|\?|\)|\(|%|\[|\]|\$| /g, "") ;
	return text ;
}
function checkattributeName(attributeName){
	var Re = new RegExp(/&|\/|<|>|\*|#|:|;|=|\?|\)|\(|%|\[|\]|\$| /gi);
	if(Re.test(attributeName)){
		return false
		}else{
		var Re = new RegExp(/[0-9]/gi);
		if(Re.test(attributeName.substring(0,1))){
			return false
			}else{
			return true;
			}
		}
	}

var editor_CodeFormatter=new Object();
editor_CodeFormatter.Regex=new Object();
editor_CodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;
editor_CodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;
editor_CodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;
editor_CodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;
editor_CodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;
editor_CodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;
editor_CodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;
editor_CodeFormatter.Regex.FormatIndentatorRemove=new RegExp('    ');
editor_CodeFormatter.Regex.CDdata=/<!\[CDATA\[((.|\n)[^\]\]]*)\]\]>/gi;

editor_CodeFormatter.Format=function(html){
	var sFormatted=html.replace(this.Regex.BlocksOpener,'\n$&');
	sFormatted=sFormatted.replace(this.Regex.BlocksCloser,'$&\n');
	sFormatted=sFormatted.replace(this.Regex.NewLineTags,'$&\n');
	sFormatted=sFormatted.replace(this.Regex.MainTags,'\n$&\n');
	sFormatted=sFormatted.replace(this.Regex.CDdata,'\n$1\n');
	var sIndentation='';
	var asLines=sFormatted.split(this.Regex.LineSplitter);
	sFormatted='';
	for (var i=0;i<asLines.length;i++){
		var sLine=asLines[i];
		if (sLine.length==0) continue;
		if (this.Regex.DecreaseIndent.test(sLine)) sIndentation=sIndentation.replace(this.Regex.FormatIndentatorRemove,'');
		sFormatted+=sIndentation+sLine+'\n';
		if (this.Regex.IncreaseIndent.test(sLine)) sIndentation+='    ';
		};
	return sFormatted;
}

function gonews()
{
document.Announce.Body.value=OSWEBXHTML.GetXHTML(IframeID.document.body);
 //return false; 
 if(Checkdata()){
	 	return true;
 	}
 	else{return false;}
}

function getStrLength(str){
	return str.replace(/[^\x00-\xff]/g,"gg").length;
}


function Checkdata(){
	ischeck=true;
	if (document.Announce.subject && document.Announce.subject.value =="" ){
		window.alert("请输入您要发帖子的主题");
		window.Announce.subject.focus();
		 ischeck=false; 
	}
	if(document.Announce.subject && getStrLength(window.Announce.subject.value) >60){
		window.alert("主题最多30个汉字");
		window.Announce.subject.focus();
		 ischeck=false; 
	}
	if ( document.Announce.Body.value =="" ){
		window.alert("请输入您要发帖子的内容");
		 ischeck=false; 
	}
	if (document.Announce.ftag!=undefined)
	{
	if ( document.Announce.ftag.value !="" && getStrLength(document.Announce.ftag.value)<3){
		window.alert("标签过短");
		window.Announce.ftag.focus();
		 ischeck=false; 
	}
	}
	
	return ischeck; 
	}
	
	//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;
			}
		}
	}
}

//投票选项
function addpolloption() {
	 
	if(curoptions < maxoptions) {
		$('polloption_new').innerHTML += '<p>' + $('polloption_hidden').innerHTML + '</p>';
		curoptions++;
	} else {
		$('polloption_new').innerHTML += '<span>已达到最大投票数'+maxoptions+'</span>';
	}
}

function delpolloption(obj) {
	obj.parentNode.parentNode.removeChild(obj.parentNode);
	curoptions--;
}
