function formatbody( varTemp )
{
        var tsbody = "\n"+varTemp;
        tsbody = tsbody.replace(/ |　/ig,"");
        tsbody = tsbody.replace(/\r\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n/ig,"\n\n　　");
        tsbody = tsbody.replace("\n\n","");
        return tsbody;
}

function formatbodys2( obj )
{
	var b = "\n"+obj.value;
        //b = b.replace(/ |　/ig,"");
        b = b.replace(/\r\n/ig,"\n");
        b = b.replace(/\n\n/ig,"\n");
        b = b.replace(/\n\n/ig,"\n");
        b = b.replace(/\n\n/ig,"\n");
        b = b.replace(/\n\n/ig,"\n");
        b = b.replace(/\n/ig,"\n\n　　");
        b = b.replace("\n\n","");
        b = b.replace(/<br.*?>/gi, "<br />　　");
        b = b.replace(/　　　　/ig,"　　");
        obj.value=b;
}
        
function formatbodys( varTemp )
{
        var tsbody = "\n"+varTemp;
        tsbody = tsbody.replace(/ |　/ig,"");
        tsbody = tsbody.replace(/\r\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n\n/ig,"\n");
        tsbody = tsbody.replace(/\n/ig,"\n\n　　");
        tsbody = tsbody.replace("\n\n","");
        return tsbody;
}




function picsize(obj)
		{
			img=new Image();
			img.src=obj.src;
			if (img.width>document.body.clientWidth-300)
			{
				return document.body.clientWidth-300;
			}
			else
			{
				return img.width;
			}
		}

//XmlDom Start
function GetXmlDom() {
	if (window.ActiveXObject) {//IE浏览器
		return new ActiveXObject("Microsoft.XMLDOM");
	}
	else if (document.implementation && document.implementation.createDocument) { //其它浏览器
		return document.implementation.createDocument("","",null);
	}
}

function GetNodeValue(objXmlElement)
{
	if(window.ActiveXObject) {	//IE浏览器
		return objXmlElement.text;
	}
	else if(window.XMLHttpRequest) {  //其它浏览器
		try {
			return objXmlElement.firstChild.nodeValue;
		}
		catch(ex) {
			return "";
		}
	}
}


//XmlDom End
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;  
}  




//Emotion_Part Start
var HNUSOFTCellWidth = 20;
var HNUSOFTCellHeight = 20;
var HNUSOFTRowNum = 5;
var HNUSOFTColNum = 10;
var HNUSOFTCurTab = 0;
var HNUSOFTCurPage = 0;
var HNUSOFTShowWidth = 75;
var HNUSOFTShowHeight = 75;
var HNUSOFTSnapThumb = 0; 				//需要截取缩略图时候，把这个改为1
var HNUSOFTCustomSizeLock = 1; 		//是否开启自定义大小


var XmlDom = GetXmlDom();
XmlDom.async = false;
XmlDom.load("/editor/emotion.xml");
var XmlDomRoot = XmlDom.documentElement;
EmotionNode = XmlDomRoot.getElementsByTagName('Emotion');


var HNUSOFTTabs = EmotionNode.length	//表情——组数

var gbMoNeedHidden = false;

function Gel(id, obj) {
	obj = (obj == null ? document : obj);
	return obj.getElementById(id);
}

function HNUSOFTCOMCalcCurPages() {//每组表情页数
	var iDLen = EmotionNode[HNUSOFTCurTab].getElementsByTagName('ICON').length;		//每组表情数
	
	var iPLen = HNUSOFTRowNum * HNUSOFTColNum;
	var fv = iDLen / iPLen;
	if (iDLen % iPLen == 0) {
		return fv == 0 ? 1 : parseInt(fv);
	}
	else {
		return Math.round(fv + 0.5);
	}
}

function HNUSOFTCOMJustifyImg(oImg, iWidth, iHeight, bPos) {//单元格表情按比例缩放
	var oNewImg = new Image();
	oNewImg.src = oImg.src;
	
	var w = oNewImg.width;
	var h = oNewImg.height;
	var wb = w / iWidth;
	var hb = h / iHeight;

	if (wb > 1 || hb > 1) {//等比例缩少
		if (wb > hb) {
			oImg.width = iWidth;
			oImg.height = h * iHeight / w;
		}
		else {
			oImg.width = w * iWidth / h;
			oImg.height = iHeight;
		}
		h = oImg.height;
	}
	else {
		oImg.width = w;
		oImg.height = h;
	}

	if (bPos) {
		oImg.style.top = ((iHeight - h) / 2) + "px";
	}

	return;
}

function EmotionHidePanel() {
	try{
		if (gbMoNeedHidden) {
			Gel("moShowPanel").style.display = "none";
		}
	}catch(e){}
}

function HNUSOFTCOMEmotionShow(sUrl, iOffset, oldObj) {
	var obj = Gel("moShowPanel");
	if (sUrl == null || sUrl == "") {
		gbMoNeedHidden = true;
		setTimeout("EmotionHidePanel()", 300);
	}
	else if (EmotionCurObj == oldObj){
		gbMoNeedHidden = false;
		var div = Gel("moDivContainer");
		obj.style.top = parseInt(div.offsetTop) + "px";
		if (iOffset < HNUSOFTColNum / 2) {
			obj.style.left = (parseInt(div.offsetLeft) + parseInt(div.offsetWidth) - HNUSOFTShowWidth) + "px";
		}
		else {
			obj.style.left = div.offsetLeft + "px";
		}
		obj.innerHTML = "<img src='" + sUrl + "' width=" + HNUSOFTShowWidth + " height=" + HNUSOFTShowHeight + " onload='HNUSOFTCOMJustifyImg(this, " + HNUSOFTShowWidth + "," + HNUSOFTShowHeight + ", true);this.style.zIndex = 1;Gel(\"moShowLoadDiv\").style.display = \"none\";' style='position:relative;'></img><div id='moShowLoadDiv' style='text-align:center;position:absolute;left:0;top:0;background:#fff;width:" + HNUSOFTShowWidth + "px;height:" + HNUSOFTShowHeight + "px;'><div style='font:normal 12px Verdana;color:#888;margin-top:" + (HNUSOFTShowHeight/2 - 6) + "px;'>loading...</div></div>";
		obj.style.display = "";
	}
}

var EmotionCurObj = null;
function HNUSOFTCOMOnMouseOver(obj, iOffset) {
	if (HNUSOFTSnapThumb) {return ;}
	obj.style.border='1px solid #000080';
	EmotionCurObj = obj;
	setTimeout(function() {try{HNUSOFTCOMEmotionShow(obj.getElementsByTagName("IMG")[0].getAttribute("sval"), iOffset, obj);}catch(e){}}, 300);
}

function HNUSOFTCOMOnMouseOut(obj) {
	if (HNUSOFTSnapThumb) {return ;}
	obj.style.border='1px solid #F6F6F6';
	EmotionCurObj = null;
	HNUSOFTCOMEmotionShow();
}

function HNUSOFTCOMGetPageText() {
	return (HNUSOFTCurPage + 1) + "/" + HNUSOFTCOMCalcCurPages();
}

function HNUSOFTCOMRefreshData() {
	Gel("moTabContainer").innerHTML = HNUSOFTCOMTab();
	Gel("moDivContainer").innerHTML = HNUSOFTCOMTable();
	Gel("moPageText").innerHTML = HNUSOFTCOMGetPageText();
}

function HNUSOFTCOMChangeTab(iTab) {
	if (iTab >= HNUSOFTTabs || iTab == HNUSOFTCurTab) {
		return;
	}
	HNUSOFTCurPage = 0;
	HNUSOFTCurTab = iTab;
	HNUSOFTCOMRefreshData();
}

function HNUSOFTCOMNextPage() {
	if (HNUSOFTCurPage + 1 >= HNUSOFTCOMCalcCurPages()) {
		return ;
	}
	HNUSOFTCurPage += 1;
	HNUSOFTCOMRefreshData();
}

function HNUSOFTCOMPrevPage() {
	if (HNUSOFTCurPage <= 0) {
		return ;
	}
	HNUSOFTCurPage -= 1;
	HNUSOFTCOMRefreshData();
}

function HNUSOFTCOMCell(iCurTab, iCurPage, iNum, iOffset) {
	iNum = iCurPage * HNUSOFTRowNum * HNUSOFTColNum + iNum;
	var data = EmotionNode[iCurTab].getElementsByTagName('ICON');	//第 iCurTab 组表情数据
	if (iNum >= data.length) {
		return "";
	}
	
	var sSrc = EmotionNode[iCurTab].getAttributeNode('PathName').nodeValue + data[iNum].getAttributeNode('FileName').nodeValue;		//获取 第 iCurTab 组、第 iNum 个 表情符号的路径
	
	return "<img onclick='HNUSOFTCOMExecute(\"HNUSOFT_ICON_END\", \"" + sSrc + "\");' sval='" + sSrc + "' src='" + sSrc + "' title='" + GetNodeValue(data[iNum]) + "' width=" + HNUSOFTCellWidth + " height=" + HNUSOFTCellHeight + " onload='HNUSOFTCOMJustifyImg(this, " + HNUSOFTCellWidth + "," + HNUSOFTCellHeight + ", true);' style='position:relative;cursor:pointer'></img>";
}

function HNUSOFTCOMTable() {
	var pdivh = "<div style='width:" + HNUSOFTCellWidth + "px;height:" + HNUSOFTCellHeight + "px;'>";
	var code = "<table cellpadding=0 cellspacing=" + (HNUSOFTSnapThumb ? 0 : 1) + " bgcolor=#DFE6F6>";
	for (var i = 0; i < HNUSOFTRowNum; i++) {
		code += "<tr>";
		for (var j = 0; j < HNUSOFTColNum; j++) {
			var cell = HNUSOFTCOMCell(HNUSOFTCurTab, HNUSOFTCurPage, i * HNUSOFTColNum + j, j);
			code += "<td align=center valign=middle width=" + (HNUSOFTCellWidth + (HNUSOFTSnapThumb ? 0 : 2)) + "px height=" + (HNUSOFTCellHeight + (HNUSOFTSnapThumb ? 0 : 2)) + "px style='background:#f6f6f6;padding:" + (HNUSOFTSnapThumb ? 0 : 1) + "px;border:" + (HNUSOFTSnapThumb ? 0 : 1) + "px solid #F6F6F6;' " + (cell != "" ? "onmouseover='HNUSOFTCOMOnMouseOver(this, " + j + ");' onmouseout='HNUSOFTCOMOnMouseOut(this);'>" + pdivh + cell : ">" + pdivh) + "</div></td>";
		}
		code += "</tr>";
	}
	return code + "</table>";
}

function HNUSOFTCOMTab() {
	if (HNUSOFTCustomSizeLock) {//根据定义大小，重定向:宽,高,行,列
		HNUSOFTCellWidth = parseInt(EmotionNode[HNUSOFTCurTab].getAttributeNode('Width').nodeValue);
		HNUSOFTCellHeight = parseInt(EmotionNode[HNUSOFTCurTab].getAttributeNode('Height').nodeValue);
		HNUSOFTRowNum = parseInt(EmotionNode[HNUSOFTCurTab].getAttributeNode('TableRow').nodeValue);
		HNUSOFTColNum = parseInt(EmotionNode[HNUSOFTCurTab].getAttributeNode('TableCol').nodeValue);
	}

	var code = "";
	for (var i = 0; i < HNUSOFTTabs; i++) {
		code += "<span style='color:" + (HNUSOFTCurTab == i ? "#000;border:1px solid #DFE6F6;font-weight:bold;border-bottom:1px solid #f6f6f6;border-top:2px solid #FFC83C" : "#000" ) + ";padding:3px 7px 2px 7px;cursor:pointer;' onclick='HNUSOFTCOMChangeTab(" + i + ")'  unselectable='on'>" + EmotionNode[i].getAttributeNode('CategoryName').nodeValue + "</span>";
	}
	return code;
}

function HNUSOFTCOMBtnMouse(obj, down) {
	var s = obj.style;
	s.position = "relative";
	s.top = down ? "1px" : "0px";
	s.left = down ? "1px" : "0px";
}

function HNUSOFTCOMCube() {
	var str;
	str = "<div style='padding:10px 10px 10px 10px;' unselectable='on'>";
	str += "<div id='moDivContainer' unselectable='on'>" + HNUSOFTCOMTable() + "</div>";
	return str;
}
//Emotion_Part End

var HNUSOFT_SAFE_MODE = false; 		// true or false
var HNUSOFT_CurrentMode = "DESIGN";
var HNUSOFT_IsChangeMode = true;
var HNUSOFT_TdHeight = -1;
var HNUSOFT_FONT_FAMILY = "Helvetica, Arial, sans-serif";
var HNUSOFT_WIDTH = "100%";
var HNUSOFT_HEIGHT = "100%";
var HNUSOFT_SKIN_PATH  = "/editor/Button/";
var HNUSOFT_MENU_BORDER_COLOR = '#AAAAAA';
var HNUSOFT_MENU_BG_COLOR = '#EFEFEF';
var HNUSOFT_MENU_TEXT_COLOR = '#222222';
var HNUSOFT_MENU_SELECTED_COLOR = '#0099FF';
var HNUSOFT_TOOLBAR_BORDER_COLOR = '#DDDDDD';
var HNUSOFT_TOOLBAR_BG_COLOR = '#F9F9F9';
var HNUSOFT_FORM_BORDER_COLOR = '#DDDDDD';
var HNUSOFT_FORM_BG_COLOR = '#FFFFFF';
var HNUSOFT_BUTTON_COLOR = '#AAAAAA';
var HNUSOFT_ForeColor = '#000000';
var HNUSOFT_BackColor = '#FFFFFF';

var HNUSOFT_TABLE_ROW1_ISHUI = false;
var HNUSOFT_TABLE_COL1_ISHUI = false;

var HNUSOFT_LANG = {
	INPUT_URL		: "请输入正确的URL地址。",
	CONFIRM			: "确定",
	CANCEL			: "取消",
	PREVIEW			: "预览",
	REMOTE			: "URL：",
	NEW_WINDOW		: "新窗口",
	CURRENT_WINDOW		: "当前窗口",
	TARGET			: "目标",
	SUBJECT			: "标题",
	CurrentMode		: "编辑器处于代码状态下不能发送内容！",
	SubjectMinLen		: "标题不能小于2个字符！",
	BodyMinLen		: "内容不能小于2个字符！",
	BodyMaxLen		: "内容不能超过60000个字符！",
	VerifyCode		: "请输入验证码！",
	DesignMode		: "设计模式",
	CodeMode		: "代码模式",
	AddEditorArea		: "增大编辑区",
	ReduceEditorArea	: "减小编辑区",
	Search			: "查　找：",
	Replace			: "替换为：",
	ReplaceButton		: "替换",
	Case			: "大小写：",
	CaseChkBox		: "区分大小写",
	WIDTH			: "宽度",
	HEIGHT			: "高度",
	Transparent		: "透明",
	AutoStart		: "自动播放",
	StatusBar		: "显示状态栏",
	CopyPaste		: "请用鼠标右击完成剪切/复制、粘贴操作"
}

var HNUSOFT_FONT_NAME = Array(
	Array('宋体', '宋体'),
	Array('黑体', '黑体'),
	Array('楷体', '楷体'), 
	Array('隶书', '隶书'),
	Array('幼圆', '幼圆'),
	Array('新宋体', '新宋体'),
	Array('Arial', 'Arial'),
	Array('Arial Black', 'Arial Black'),
	Array('Courier New','Courier New'),
	Array('Garamond','Garamond'),
	Array('Georgia','Georgia'),
	Array('Tahoma','Tahoma'),
	Array('Verdana', 'Verdana'),
	Array('Times New Roman', 'Times New Roman'),
	Array('GulimChe', 'GulimChe'),
	Array('MS Gothic', 'MS Gothic')
);
var HNUSOFT_SPECIAL_CHARACTER = Array(
	'§','№','☆','★','○','●','◎','◇','◆','□','℃','‰','■','△','▲','※',
	'→','←','↑','↓','〓','¤','°','＃','＆','＠','＼','︿','＿','￣','―','α',
	'β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ',
	'σ','τ','υ','φ','χ','ψ','ω','≈','≡','≠','＝','≤','≥','＜','＞','≮',
	'≯','∷','±','＋','－','×','÷','／','∫','∮','∝','∞','∧','∨','∑','∏',
	'∪','∩','∈','∵','∴','⊥','∥','∠','⌒','⊙','≌','∽','〖','〗',
	'【','】','（','）','［','］','Ⅱ','Ⅲ','Ⅳ','Ⅴ','Ⅵ','Ⅶ','Ⅷ','Ⅸ','Ⅹ','Ⅺ','Ⅻ','～','‖','｜','《','》','「','」','『','』','｛','｝',
	'├','┝','┞','┟','┠','┡','┢','┣','│','┆','┬','┭','┮','┯','┰','┱','┲','┳','┼','┽','┾','┿','╀','╃','╂','╁','┿','￠',
	'＄','￡','￥','‰','％','℃','零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾','佰','仟','万','亿','√','Ξ','υ','Φ','Ω','Θ','а','б','в'
);

var HNUSOFT_TOP_TOOLBAR_ICON = Array(
	Array('HNUSOFT_TITLE', 'title.gif', '标题'),
	Array('HNUSOFT_FONTNAME', 'font.gif', '字体'),
	Array('HNUSOFT_FONTSIZE', 'fontsize.gif', '文字大小'),
	Array('HNUSOFT_LINK', 'link.gif', '创建超级连接'),
	Array('HNUSOFT_TEXTCOLOR', 'fbcolor.gif', '文字颜色'),
	Array('HNUSOFT_BGCOLOR', 'fgcolor.gif', '文字背景颜色'),
	Array('HNUSOFT_BOLD', 'bold.gif', '粗体'),
	Array('HNUSOFT_ITALIC', 'italic.gif', '斜体'),
	Array('HNUSOFT_UNDERLINE', 'underline.gif', '下划线'),
	Array('HNUSOFT_STRIKE', 'strikethrough.gif', '删除线')
	
	
	
	
	
	
	
	
);


var HNUSOFT_MIDDLE_TOOLBAR_ICON = Array(
	
	Array('HNUSOFT_IMAGE', 'image.gif', '插入图片或文件'),
	Array('HNUSOFT_JUSTIFYLEFT', 'justifyleft.gif', '左对齐'),
	Array('HNUSOFT_JUSTIFYCENTER', 'justifycenter.gif', '居中'),
	Array('HNUSOFT_JUSTIFYRIGHT', 'justifyright.gif', '右对齐'),
	Array('HNUSOFT_JUSTIFYFULL', 'justifyfull.gif', '两端对齐'),
	Array('HNUSOFT_UNDO', 'undo.gif', '撤消'),
	Array('HNUSOFT_REDO', 'redo.gif', '恢复')
	
	
	
	
);


var HNUSOFT_BOTTOM_TOOLBAR_ICON = Array(
	
	
	
);

var HNUSOFT_TITLE_TABLE = Array(
	Array('H1', HNUSOFT_LANG['SUBJECT'] + ' 1'), 
	Array('H2', HNUSOFT_LANG['SUBJECT'] + ' 2'), 
	Array('H3', HNUSOFT_LANG['SUBJECT'] + ' 3'), 
	Array('H4', HNUSOFT_LANG['SUBJECT'] + ' 4'), 
	Array('H5', HNUSOFT_LANG['SUBJECT'] + ' 5'), 
	Array('H6', HNUSOFT_LANG['SUBJECT'] + ' 6')
);

var HNUSOFT_FONT_SIZE = Array(
	Array(1,'8pt'), 
	Array(2,'10pt'), 
	Array(3,'12pt'), 
	Array(4,'14pt'), 
	Array(5,'18pt'), 
	Array(6,'24pt'), 
	Array(7,'36pt')
);
var HNUSOFT_POPUP_MENU_TABLE = Array(
	"HNUSOFT_TITLE", "HNUSOFT_FONTNAME", "HNUSOFT_FONTSIZE", "HNUSOFT_TEXTCOLOR", "HNUSOFT_BGCOLOR", 
	"HNUSOFT_TABLE", "HNUSOFT_HR", "HNUSOFT_ICON", "HNUSOFT_SPECIALCHAR", 
	"HNUSOFT_Replace", "HNUSOFT_IMAGE", "HNUSOFT_Media", "HNUSOFT_LINK"
);
var HNUSOFT_COLOR_TABLE = Array(
"#000000","#003300","#006600","#009900","#00cc00","#00ff00","#330000","#333300","#336600","#339900","#33cc00","#33ff00","#660000","#663300","#666600","#669900","#66cc00","#66ff00","#000033","#003333","#006633","#009933","#00cc33","#00ff33","#330033","#333333","#336633","#339933","#33cc33","#33ff33","#660033","#663333","#666633","#669933","#66cc33","#66ff33","#000066","#003366","#006666","#009966","#00cc66","#00ff66","#330066","#333366","#336666","#339966","#33cc66","#33ff66","#660066","#663366","#666666","#669966","#66cc66","#66ff66","#000099","#003399","#006699","#009999","#00cc99","#00ff99","#330099","#333399","#336699","#339999","#33cc99","#33ff99","#660099","#663399","#666699","#669999","#66cc99","#66ff99","#0000cc","#0033cc","#0066cc","#0099cc","#00cccc","#00ffcc","#3300cc","#3333cc","#3366cc","#3399cc","#33cccc","#33ffcc","#6600cc","#6633cc","#6666cc","#6699cc","#66cccc","#66ffcc","#0000ff","#0033ff","#0066ff","#0099ff","#00ccff","#00ffff","#3300ff","#3333ff","#3366ff","#3399ff","#33ccff","#33ffff","#6600ff","#6633ff","#6666ff","#6699ff","#66ccff","#66ffff","#990000","#993300","#996600","#999900","#99cc00","#99ff00","#cc0000","#cc3300","#cc6600","#cc9900","#cccc00","#ccff00","#ff0000","#ff3300","#ff6600","#ff9900","#ffcc00","#ffff00","#990033","#993333","#996633","#999933","#99cc33","#99ff33","#cc0033","#cc3333","#cc6633","#cc9933","#cccc33","#ccff33","#ff0033","#ff3333","#ff6633","#ff9933","#ffcc33","#ffff33","#990066","#993366","#996666","#999966","#99cc66","#99ff66","#cc0066","#cc3366","#cc6666","#cc9966","#cccc66","#ccff66","#ff0066","#ff3366","#ff6666","#ff9966","#ffcc66","#ffff66","#990099","#993399","#996699","#999999","#99cc99","#99ff99","#cc0099","#cc3399","#cc6699","#cc9999","#cccc99","#ccff99","#ff0099","#ff3399","#ff6699","#ff9999","#ffcc99","#ffff99","#9900cc","#9933cc","#9966cc","#9999cc","#99cccc","#99ffcc","#cc00cc","#cc33cc","#cc66cc","#cc99cc","#cccccc","#ccffcc","#ff00cc","#ff33cc","#ff66cc","#ff99cc","#ffcccc","#ffffcc","#9900ff","#9933ff","#9966ff","#9999ff","#99ccff","#99ffff","#cc00ff","#cc33ff","#cc66ff","#cc99ff","#ccccff","#ccffff","#ff00ff","#ff33ff","#ff66ff","#ff99ff","#ffccff","#ffffff"

);

var HNUSOFT_OBJ_NAME;
var HNUSOFT_SELECTION;
var HNUSOFT_RANGE;
var HNUSOFT_RANGE_TEXT;
var HNUSOFT_EDITFORM_DOCUMENT;
var HNUSOFT_Replace_DOCUMENT;
var HNUSOFT_IMAGE_DOCUMENT;
var HNUSOFT_Media_DOCUMENT;
var HNUSOFT_LINK_DOCUMENT;
var HNUSOFT_BROWSER;
var HNUSOFT_TOOLBAR_ICON;

//浏览器类型
function HNUSOFTCOMGetBrowser()
{
	var browser = '';
	var agentInfo = navigator.userAgent.toLowerCase();
	if (agentInfo.indexOf("msie") > -1) {
		var re = new RegExp("msie\\s?([\\d\\.]+)","ig");
		var arr = re.exec(agentInfo);
		if (parseInt(RegExp.$1) >= 5.5) {
			browser = 'IE';
		}
	} else if (agentInfo.indexOf("firefox") > -1) {
		browser = 'FF';
	} else if (agentInfo.indexOf("netscape") > -1) {
		var temp1 = agentInfo.split(' ');
		var temp2 = temp1[temp1.length-1].split('/');
		if (parseInt(temp2[1]) >= 7) {
			browser = 'NS';
		}
	} else if (agentInfo.indexOf("gecko") > -1) {
		browser = 'ML';
	} else if (agentInfo.indexOf("opera") > -1) {
		var temp1 = agentInfo.split(' ');
		var temp2 = temp1[0].split('/');
		if (parseInt(temp2[1]) >= 9) {
			browser = 'OPERA';
		}
	}
	return browser;
}



function HNUSOFTCOMHtmlToXhtml(str) 
{
	str = str.replace(/<br.*?>/gi, "<br />");
	str = str.replace(/(<hr\s+[^>]*[^\/])(>)/gi, "$1 />");
	str = str.replace(/(<img\s+[^>]*[^\/])(>)/gi, "$1 />");
	str = str.replace(/(<\w+)(.*?>)/gi, function ($0,$1,$2) 
	{
		return($1.toLowerCase() + HNUSOFTCOMConvertAttribute($2));
	}
				);
	str = str.replace(/(<\/\w+>)/gi, function ($0,$1) {
						return($1.toLowerCase());
					}
				);
	return str;
}
function HNUSOFTCOMConvertAttribute(str)
{
	if (HNUSOFT_SAFE_MODE == true) {
		str = HNUSOFTCOMClearAttributeScriptTag(str);
	}
	return str;
}
function HNUSOFTCOMClearAttributeScriptTag(str)
{
	var re = new RegExp("(\\son[a-z]+=)[\"']?[^>]*?[^\\\\\>][\"']?([\\s>])","ig");
	str = str.replace(re, function ($0,$1,$2) {
						return($1.toLowerCase() + "\"\"" + $2);
					}
				);
	return str;
}
function HNUSOFTCOMClearScriptTag(str)
{
	if (HNUSOFT_SAFE_MODE == false) {
		return str;
	}
	str = str.replace(/<(script.*?)>/gi, "[$1]");
	str = str.replace(/<\/script>/gi, "[/script]");
	return str;
}
function HNUSOFTCOMHtmlentities(str)
{
	str = str.replace(/&/g,'&amp;');
	str = str.replace(/</g,'&lt;');
	str = str.replace(/>/g,'&gt;');
	str = str.replace(/"/g,'&quot;');
	return str;
}

function HNUSOFTCOMDisplayMenu(cmd)
{
	HNUSOFTCOMEditorForm.focus();
	HNUSOFTCOMSelection();
	HNUSOFTCOMDisableMenu();
	
	var Top = ie_y(document.getElementById(cmd))+25;
	var Left = ie_x(document.getElementById(cmd));

	document.getElementById('POPUP_'+cmd).style.top = Top.toString(10) + 'px';
	document.getElementById('POPUP_'+cmd).style.left = Left.toString(10) + 'px';
	document.getElementById('POPUP_'+cmd).style.display = 'block';
}
function HNUSOFTCOMDisableMenu()
{
	for (i = 0; i < HNUSOFT_POPUP_MENU_TABLE.length; i++) {
		document.getElementById('POPUP_'+HNUSOFT_POPUP_MENU_TABLE[i]).style.display = 'none';
	}
}
function HNUSOFTCOMReloadIframe()
{
	var str = '';
	str += HNUSOFTCOMPopupMenu('HNUSOFT_Replace');
	str += HNUSOFTCOMPopupMenu('HNUSOFT_IMAGE');
	str += HNUSOFTCOMPopupMenu('HNUSOFT_Media');
	document.getElementById('InsertIframe').innerHTML = str;
	HNUSOFTCOMDrawIframe('HNUSOFT_Replace');
	HNUSOFTCOMDrawIframe('HNUSOFT_IMAGE');
	HNUSOFTCOMDrawIframe('HNUSOFT_Media');
}
function HNUSOFTCOMGetMenuCommonStyle()
{
	var str = 'position:absolute;top:1px;left:1px;font-size:12px;color:'+HNUSOFT_MENU_TEXT_COLOR+
			';background-color:'+HNUSOFT_MENU_BG_COLOR+';border:solid 1px '+HNUSOFT_MENU_BORDER_COLOR+';z-index:1;display:none;';
	return str;
}
function HNUSOFTCOMGetCommonMenu(cmd, content)
{
	var str = '';
	str += '<div id="POPUP_'+cmd+'" style="'+HNUSOFTCOMGetMenuCommonStyle()+'">';
	str += content;
	str += '</div>';
	return str;
}
function HNUSOFTCOMCreateColorTable(cmd, eventStr)
{
	var str = '';
	str += '<table cellpadding="0" cellspacing="2" border="0">';
	for (i = 0; i < HNUSOFT_COLOR_TABLE.length; i++) {
		if (i == 0 || (i >= 18 && i%18 == 0)) {
			str += '<tr>';
		}
		str += '<td style="width:12px;height:12px;border:1px solid #AAAAAA;font-size:1px;cursor:pointer;background-color:' +
		HNUSOFT_COLOR_TABLE[i] + ';" onmouseover="this.style.borderColor=\'#000000\';' + ((eventStr) ? eventStr : '') + '" ' +
		'onmouseout="this.style.borderColor=\'#AAAAAA\';" ' + 
		'onclick="HNUSOFTCOMExecute(\''+cmd+'_END\', \'' + HNUSOFT_COLOR_TABLE[i] + '\');">&nbsp;</td>';
		if (i >= 7 && i%(i-1) == 0) {
			str += '</tr>';
		}
	}
	str += '</table>';
	return str;
}
function HNUSOFTCOMDrawColorTable(cmd)
{
	var str = '';
	str += '<div id="POPUP_'+cmd+'" style="width:280px;padding:2px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
	str += HNUSOFTCOMCreateColorTable(cmd);
	str += '</div>';
	return str;
}


//弹出菜单
function HNUSOFTCOMPopupMenu(cmd)
{
	switch (cmd)
	{
		case 'HNUSOFT_TITLE':
			var str = '';
			for (i = 0; i < HNUSOFT_TITLE_TABLE.length; i++) {
				str += '<div style="width:140px;cursor:pointer;" ' + 
				'onclick="HNUSOFTCOMExecute(\'HNUSOFT_TITLE_END\', \'' + HNUSOFT_TITLE_TABLE[i][0] + '\');" ' + 
				'onmouseover="this.style.backgroundColor=\''+HNUSOFT_MENU_SELECTED_COLOR+'\';" ' +
				'onmouseout="this.style.backgroundColor=\''+HNUSOFT_MENU_BG_COLOR+'\';"><' + HNUSOFT_TITLE_TABLE[i][0] + ' style="margin:2px;">' + 
				HNUSOFT_TITLE_TABLE[i][1] + '</' + HNUSOFT_TITLE_TABLE[i][0] + '></div>';
			}
			str = HNUSOFTCOMGetCommonMenu('HNUSOFT_TITLE', str);
			return str;
			break;
		case 'HNUSOFT_FONTNAME':
			var str = '';
			for (i = 0; i < HNUSOFT_FONT_NAME.length; i++) {
				str += '<div style="font-family:' + HNUSOFT_FONT_NAME[i][0] + 
				';padding:2px;width:160px;cursor:pointer;" ' + 
				'onclick="HNUSOFTCOMExecute(\'HNUSOFT_FONTNAME_END\', \'' + HNUSOFT_FONT_NAME[i][0] + '\');" ' + 
				'onmouseover="this.style.backgroundColor=\''+HNUSOFT_MENU_SELECTED_COLOR+'\';" ' +
				'onmouseout="this.style.backgroundColor=\''+HNUSOFT_MENU_BG_COLOR+'\';">' + 
				HNUSOFT_FONT_NAME[i][1] + '</div>';
			}
			str = HNUSOFTCOMGetCommonMenu('HNUSOFT_FONTNAME', str);
			return str;
			break;
		case 'HNUSOFT_FONTSIZE':
			var str = '';
			for (i = 0; i < HNUSOFT_FONT_SIZE.length; i++) {
				str += '<div style="font-size:' + HNUSOFT_FONT_SIZE[i][1] + 
				';padding:2px;width:120px;cursor:pointer;" ' + 
				'onclick="HNUSOFTCOMExecute(\'HNUSOFT_FONTSIZE_END\', \'' + HNUSOFT_FONT_SIZE[i][0] + '\');" ' + 
				'onmouseover="this.style.backgroundColor=\''+HNUSOFT_MENU_SELECTED_COLOR+'\';" ' +
				'onmouseout="this.style.backgroundColor=\''+HNUSOFT_MENU_BG_COLOR+'\';">' + 
				HNUSOFT_FONT_SIZE[i][1] + '</div>';
			}
			str = HNUSOFTCOMGetCommonMenu('HNUSOFT_FONTSIZE', str);
			return str;
			break;
		case 'HNUSOFT_TEXTCOLOR':
			var str = '';
			str = HNUSOFTCOMDrawColorTable('HNUSOFT_TEXTCOLOR');
			return str;
			break;
		case 'HNUSOFT_BGCOLOR':
			var str = '';
			str = HNUSOFTCOMDrawColorTable('HNUSOFT_BGCOLOR');
			return str;
			break;
		case 'HNUSOFT_HR':
			var str = '';
			str += '<div id="POPUP_'+cmd+'" style="width:280px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<div id="hrPreview" style="margin:10px 2px 10px 2px;height:1px;border:0;font-size:0;background-color:#FFFFFF;"></div>';
			str += HNUSOFTCOMCreateColorTable(cmd, 'document.getElementById(\'hrPreview\').style.backgroundColor = this.style.backgroundColor;');
			str += '</div>';
			return str;
			break;
		case 'HNUSOFT_ICON':
			var str = '';
			str = '<div id="POPUP_'+cmd+'" style="'+HNUSOFTCOMGetMenuCommonStyle()+'"></div>';
			return str;
			break;
		case 'HNUSOFT_SPECIALCHAR':
			var str = '';
			str += '<table id="POPUP_'+cmd+'" cellpadding="0" cellspacing="2" style="'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			for (i = 0; i < HNUSOFT_SPECIAL_CHARACTER.length; i++) {
				if (i == 0 || (i >= 20 && i%20 == 0)) {
					str += '<tr>';
				}
				str += '<td style="padding:2px;border:1px solid #AAAAAA;cursor:pointer;" ' + 
				'onclick="HNUSOFTCOMExecute(\'HNUSOFT_SPECIALCHAR_END\', \'' + HNUSOFT_SPECIAL_CHARACTER[i] + '\');" ' +
				'onmouseover="this.style.borderColor=\'#000000\';" ' +
				'onmouseout="this.style.borderColor=\'#AAAAAA\';">' + HNUSOFT_SPECIAL_CHARACTER[i] + '</td>';
				if (i >= 9 && i%(i-1) == 0) {
					str += '</tr>';
				}
			}
			str += '</table>';
			return str;
			break;
		case 'HNUSOFT_TABLE':
			var str = '';
			var num = 10;
			str += '<table id="POPUP_'+cmd+'" cellpadding="0" cellspacing="0" style="'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<tr><td colspan="10" style="text-align:center;height:25px;"><input type="checkbox" name="checkbox" value="0" onClick="tableRow1IsHui();">>第一行灰色背景</td><td colspan="10" style="text-align:center;height:20px;"><input type="checkbox" name="checkbox2" value="1" onClick="tableCol1IsHui();">第一列灰色背景</td></tr>';
			for (i = 1; i <= num; i++) {
				str += '<tr>';
				for (j = 1; j <= 20; j++) {
					var value = i.toString(10) + ',' + j.toString(10);
					str += '<td id="HNUSOFTCOMTableTd' + i.toString(10) + '_' + j.toString(10) + 
					'" style="width:15px;height:15px;background-color:#FFFFFF;border:1px solid #DDDDDD;cursor:pointer;" ' + 
					'onclick="HNUSOFTCOMExecute(\'HNUSOFT_TABLE_END\', \'' + value + '\');" ' +
					'onmouseover="HNUSOFTCOMDrawTableSelected(\''+i.toString(10)+'\', \''+j.toString(10)+'\');" ' + 
					'onmouseout="">&nbsp;</td>';
				}
				str += '</tr>';
			}
			str += '<tr><td colspan="20" id="tableLocation" style="text-align:center;height:20px;"></td></tr>';
			str += '</table>';
			return str;
			break;
		case 'HNUSOFT_Replace':
			var str = '';
			str += '<div id="POPUP_'+cmd+'" style="width:220px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<iframe name="HNUSOFTCOMReplaceIframe" id="HNUSOFTCOMReplaceIframe" frameborder="0" style="width:220px;height:120px;padding:0;margin:0;border:0;">';
			str += '</iframe></div>';
			return str;
			break;
		case 'HNUSOFT_IMAGE':
			var str = '';
			str += '<div id="POPUP_'+cmd+'" style="width:450px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<iframe name="HNUSOFTCOMImageIframe" id="HNUSOFTCOMImageIframe" frameborder="0" style="width:450px;height:150px;padding:0;margin:0;border:0;">';
			str += '</iframe></div>';
			return str;
			break;
		case 'HNUSOFT_Media':
			var str = '';
			str += '<div id="POPUP_'+cmd+'" style="width:420px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<iframe name="HNUSOFTCOMMediaIframe" id="HNUSOFTCOMMediaIframe" frameborder="0" style="width:420px;height:120px;padding:0;margin:0;border:0;">';
			str += '</iframe></div>';
			return str;
			break;
		case 'HNUSOFT_LINK':
			var str = '';
			str += '<div id="POPUP_'+cmd+'" style="width:300px;'+HNUSOFTCOMGetMenuCommonStyle()+'">';
			str += '<iframe name="HNUSOFTCOMLinkIframe" id="HNUSOFTCOMLinkIframe" frameborder="0" style="width:300px;height:85px;padding:0;margin:0;border:0;">';
			str += '</iframe></div>';
			//alert(str);
			return str;
			break;
		default: 
			break;
	}
}
function HNUSOFTCOMDrawIframe(cmd)
{
	if (HNUSOFT_BROWSER == 'IE') {
		HNUSOFT_Replace_DOCUMENT = document.frames("HNUSOFTCOMReplaceIframe").document;
		HNUSOFT_IMAGE_DOCUMENT = document.frames("HNUSOFTCOMImageIframe").document;
		HNUSOFT_Media_DOCUMENT = document.frames("HNUSOFTCOMMediaIframe").document;
		HNUSOFT_LINK_DOCUMENT = document.frames("HNUSOFTCOMLinkIframe").document;
	} else {
		HNUSOFT_Replace_DOCUMENT = document.getElementById('HNUSOFTCOMReplaceIframe').contentDocument;
		HNUSOFT_IMAGE_DOCUMENT = document.getElementById('HNUSOFTCOMImageIframe').contentDocument;
		HNUSOFT_Media_DOCUMENT = document.getElementById('HNUSOFTCOMMediaIframe').contentDocument;
		HNUSOFT_LINK_DOCUMENT = document.getElementById('HNUSOFTCOMLinkIframe').contentDocument;
	}
	switch (cmd)
	{
		case 'HNUSOFT_IMAGE':
			var str = '';
			
			str += '<div align="center">' + 
				'<form name="uploadForm" style="margin:0;padding:0;" method="post" onsubmit="javascript:if(parent.HNUSOFTCOMDrawImageEnd()==false){return false;};">' +
				''; 
			str += '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;"><tr><td style="width:410px;padding:10px 10px 10px 10px;">';

			str += '<table width="100%" height=22 border="0" cellspacing="0" cellpadding="0"><tr><td><iframe scrolling="no" frameborder="0" width="100%" height=23 src="/editor/uploadFile.aspx"></iframe> </td></tr></table>图象或文件地址：<input type="text" id="imgLink" value="http://" maxlength="255" style="width:100%;border:1px solid #555555;" /><input type="hidden" name="docOLDname">';
			str += '</td></tr><tr><td style="margin:5px;padding-bottom:5px;" align="center">' +
				'<input style="width:80px;" type="submit" name="button" id="'+cmd+'submitButton" value="'+HNUSOFT_LANG['CONFIRM']+'"/>　　　' +
				'<input style="width:80px;" type="button" name="button" value="'+HNUSOFT_LANG['CANCEL']+'" onclick="parent.HNUSOFTCOMDisableMenu();parent.HNUSOFTCOMReloadIframe();" /></td></tr>' + 
				'</table></form><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td style="font-size:12px;padding-left:10px;">说明：可以上传图片，也可以上传文件，图片大小限制为1M。<br>支持的格式：jpg,gif,png,doc,xls,pdf,mdb,txt</td></tr></table></div>';
			HNUSOFTCOMDrawMenuIframe(HNUSOFT_IMAGE_DOCUMENT, str);
			break;
		case 'HNUSOFT_Replace':
			var str = '<table border=0 cellpadding=2 style="background:'+HNUSOFT_MENU_BG_COLOR+';width:100%;height:100%;font-size:12px;">';
			str += '<form name=Replace method="Post">';
			str += '<tr><td>'+HNUSOFT_LANG['Search']+'<input type=text name=TextOne value=></td></tr>';
			str += '<tr><td>'+HNUSOFT_LANG['Replace']+'<input type=text name=TextTwo value=></td></tr>';
			str += '<tr><td>　　<input type=checkbox id=Case /> <label for="Case">'+HNUSOFT_LANG['CaseChkBox']+'</label></td></tr>';
			str += '<tr><td align=center><input id="HNUSOFT_ReplacesubmitButton" type="button" value=" '+HNUSOFT_LANG['ReplaceButton']+' " onclick="parent.HNUSOFTCOMReplace();">　<input type=button value=" '+HNUSOFT_LANG['CANCEL']+' " onclick="parent.HNUSOFTCOMDisableMenu();parent.HNUSOFTCOMReloadIframe();"></td></tr>';
			str += '</form></div>';
			HNUSOFTCOMDrawMenuIframe(HNUSOFT_Replace_DOCUMENT, str);
			break;
		case 'HNUSOFT_Media':
			var str = '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' + 
			'<tr><td style="padding-left:5px;padding-top:5px;height:20px;">'+'Flash、视频地址：'+
			'<tr>' +
			'<tr><td style="padding-left:5px;">'+'<input type="text" id="MediaLink" value="http://" style="width:400px;border:1px solid #555555;" /></td></tr>' +
			'<tr>' +
			'<td style="margin:5px;padding-bottom:5px;padding-left:5px">'+HNUSOFT_LANG['WIDTH']+'：<input type=text id="MediaWidth" value=300 style="border:1px solid #555555;width:40px;">　　'+HNUSOFT_LANG['HEIGHT']+'：<input type=text id=MediaHeigth value=250 style="border:1px solid #555555;width:40px;">　　'+HNUSOFT_LANG['AutoStart']+'：<input type="checkbox" id="AutoStart" value="1" checked />　　'+HNUSOFT_LANG['StatusBar']+'：<input type="checkbox" value="1" id=ShowStatusBar checked></td>' +
			'</tr>' +	
			'<tr><td style="margin:5px;padding-top:10px;" align="center">' +
			'<input style="width:80px;" type="submit" name="button" id="'+cmd+'submitButton" value="'+HNUSOFT_LANG['CONFIRM']+'" onclick="parent.HNUSOFTCOMDrawMediaEnd();" /> ' +
			'　　<input style="width:80px;" type="button" name="button" value="'+HNUSOFT_LANG['CANCEL']+'" onclick="parent.HNUSOFTCOMDisableMenu();parent.HNUSOFTCOMReloadIframe();" /></td></tr>' + 
			'</table>';
			HNUSOFTCOMDrawMenuIframe(HNUSOFT_Media_DOCUMENT, str);
			break;
		case 'HNUSOFT_LINK':
			var str = '';
			str += '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' + 
				'<tr><td style="width:50px;padding:5px;">URL</td>' +
				'<td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperLink" value="http://" style="width:120px;border:1px solid #555555;background-color:#FFFFFF;"></td>' +
				'<tr><td style="padding:5px;">'+HNUSOFT_LANG['TARGET']+'</td>' +
				'<td style="padding-bottom:5px;"><select id="hyperLinkTarget"><option value="_blank" selected="selected">'+HNUSOFT_LANG['NEW_WINDOW']+'</option><option value="">'+HNUSOFT_LANG['CURRENT_WINDOW']+'</option></select></td></tr>' + 
				'<tr><td colspan="2" style="padding-bottom:5px;" align="center">' +
				'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+HNUSOFT_LANG['CONFIRM']+'" onclick="parent.HNUSOFTCOMDrawLinkEnd();" /> ' +
				'<input type="button" name="button" value="'+HNUSOFT_LANG['CANCEL']+'" onclick="parent.HNUSOFTCOMDisableMenu();" /></td></tr>';
			str += '</table>';
			//alert(str);
			HNUSOFTCOMDrawMenuIframe(HNUSOFT_LINK_DOCUMENT, str);
			break;
		default:
			break;
	}
}
function HNUSOFTCOMDrawMenuIframe(obj, str)
{
	obj.open();
	obj.write(str);
	obj.close();
	obj.body.style.color = HNUSOFT_MENU_TEXT_COLOR;
	obj.body.style.backgroundColor = HNUSOFT_MENU_BG_COLOR;
	obj.body.style.margin = 0;
	obj.body.scroll = 'no';
}
function HNUSOFTCOMDrawTableSelected(i, j)
{
	var text = '插入表格:' + i.toString(10) + ' 行 ' + j.toString(10) + ' 列';
	document.getElementById('tableLocation').innerHTML = text;
	var num = 10;
	for (m = 1; m <= num; m++) {
		for (n = 1; n <= 20; n++) {
			var obj = document.getElementById('HNUSOFTCOMTableTd' + m.toString(10) + '_' + n.toString(10) + '');
			if (m <= i && n <= j) {
				obj.style.backgroundColor = HNUSOFT_MENU_SELECTED_COLOR;
			} else {
				obj.style.backgroundColor = '#FFFFFF';
			}
		}
	}
}

//替换内容_开始
function HNUSOFTCOMReplace()
{
	var TextOne = HNUSOFT_Replace_DOCUMENT.Replace.elements['TextOne'].value
	var TextTwo = HNUSOFT_Replace_DOCUMENT.Replace.elements['TextTwo'].value
	var IgnoreCase = HNUSOFT_Replace_DOCUMENT.Replace.elements['Case'].value
	if (TextOne != null && TextTwo != null){
		con = HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML;
		if (IgnoreCase.toLowerCase() == "on"){
			con = HNUSOFTCOMRegEx(con,TextOne,TextTwo,true);
		}
		else{
			con = HNUSOFTCOMRegEx(con,a,b);
		}
		HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML = con;
	}
	else
		HNUSOFTCOMEditorForm.focus();
	
	HNUSOFTCOMDisableMenu();
	HNUSOFTCOMReloadIframe();
}
function HNUSOFTCOMRegEx(s,a,b,i){
	a = a.replace("?","\\?");
	if (i==null){
		var r = new RegExp(a,"gi");
	}
	else if (i) {
		var r = new RegExp(a,"g");
	}
	else{
		var r = new RegExp(a,"gi");
	}
	return s.replace(r,b); 
}
//替换内容_结束

//插入图片 预览
function HNUSOFTCOMImagePreview()
{
	var url = HNUSOFT_IMAGE_DOCUMENT.getElementById('imgLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(HNUSOFT_LANG['INPUT_URL']);
		return false;
	}
	var imgObj = HNUSOFT_IMAGE_DOCUMENT.createElement("IMG");
	imgObj.src = url;
	var width = parseInt(imgObj.width);
	var height = parseInt(imgObj.height);
	var rate = parseInt(width/height);
	if (width >240 && height <= 180) {
		width = 240;
		height = parseInt(width/rate);
	} else if (width <=240 && height > 180) {
		height = 180;
		width = parseInt(height*rate);
	} else if (width >240 && height > 180) {
		height = 180;
		width = parseInt(height*rate);
		if (width >240) width = 240;
	}
	imgObj.style.width = width;
	imgObj.style.height = height;
	var el = HNUSOFT_IMAGE_DOCUMENT.getElementById('imgPreview');
	if (el.hasChildNodes()) {
		el.removeChild(el.childNodes[0]);
	}
	el.appendChild(imgObj);
	return imgObj;
}
//插入图片
function HNUSOFTCOMDrawImageEnd()
{
	var url = HNUSOFT_IMAGE_DOCUMENT.getElementById('imgLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(HNUSOFT_LANG['INPUT_URL']);
		return false;
	}
	
	var strOLDname = HNUSOFT_IMAGE_DOCUMENT.getElementById('docOLDname').value;
	var strExt = GetFileExt( url );
	
	if( strExt == "jpg" || strExt == "gif" || strExt == "png")
	{
		HNUSOFTCOMEditorForm.focus();
		var element = document.createElement("img");
		element.src = url;
		element.border = 0;
		element.align = "center";
		element.style.cssText = "BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; BORDER-LEFT: #333333 1px solid; BORDER-BOTTOM: #333333 1px solid";
		//element.style = "adf";
		
		alert("上传成功");
		
		var tWidth = element.width;
		if( tWidth > 600)
		{
			element.width = 600;
			element.height = element.height * 600/tWidth;
		}
		
		
		var Linkss = document.createElement("a");
		Linkss.href = url;
		Linkss.target = "_blank ";
		Linkss.appendChild( element );
		
		
		var eDiv = document.createElement("div");
		eDiv.width = "610";
		eDiv.align = "left";
		eDiv.appendChild( Linkss );
		eDiv.appendChild( document.createElement("br") );
		
		
		
		HNUSOFTCOMSelect();
		HNUSOFTCOMInsertItem(eDiv);
		HNUSOFTCOMDisableMenu();
		HNUSOFTCOMReloadIframe();
	}
	else
	{
		HNUSOFTCOMEditorForm.focus();
		var element = document.createElement("img");
		element.src = "/editor/Emoticons/ext/" + strExt + ".jpg";
		element.border = 0;	
		
		var Linkss = document.createElement("a");
		Linkss.href = url;
		Linkss.target = "_blank ";
		
		var createText = document.createTextNode( strOLDname );
		Linkss.appendChild( element );
		Linkss.appendChild( createText );
		
	
		HNUSOFTCOMSelect();
		HNUSOFTCOMInsertItem(Linkss);
		HNUSOFTCOMDisableMenu();
		HNUSOFTCOMReloadIframe();
	}	
	
}



		
function GetFileExt(o)
{
    return o.replace(/.+\./,"").toLowerCase();
}


function HNUSOFTCOMGetMediaHtmlTag(url)
{
	var str = '<embed src="'+url+'" quality="high" AutoStart="true"></embed>';
	return str;
}
//插入Media 预览
function HNUSOFTCOMMediaPreview()
{
	var url = HNUSOFT_Media_DOCUMENT.getElementById('MediaLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(HNUSOFT_LANG['INPUT_URL']);
		return false;
	}
	var el = HNUSOFT_Media_DOCUMENT.getElementById('MediaPreview');
	el.innerHTML = HNUSOFTCOMGetMediaHtmlTag(url);
}
//插入Media
function HNUSOFTCOMDrawMediaEnd()
{
	var url = HNUSOFT_Media_DOCUMENT.getElementById('MediaLink').value;
	var Width = HNUSOFT_Media_DOCUMENT.getElementById('MediaWidth').value;
	var Height = HNUSOFT_Media_DOCUMENT.getElementById('MediaHeigth').value;
	if (url=="http://" || !url || url.length<10) {
		alert(HNUSOFT_LANG['INPUT_URL']);
		return false;
	}
	HNUSOFTCOMEditorForm.focus();
	HNUSOFTCOMSelect();
	var obj = document.createElement("EMBED");
	obj.src = url;
	obj.style.width = Width;
	obj.style.height = Height;
	obj.quality = "high";
	obj.autostart = HNUSOFT_Media_DOCUMENT.getElementById('AutoStart').checked;
	obj.ShowStatusBar = HNUSOFT_Media_DOCUMENT.getElementById('ShowStatusBar').checked;
	HNUSOFTCOMInsertItem(obj);
	HNUSOFTCOMDisableMenu();
}

//插入链接
function HNUSOFTCOMDrawLinkEnd()
{
	var range;
	var url = HNUSOFT_LINK_DOCUMENT.getElementById('hyperLink').value;
	var target = HNUSOFT_LINK_DOCUMENT.getElementById('hyperLinkTarget').value;
	if (url.match(/http|ftp|https|mailto|wais|telnet|news|gopher|mms:\/\/.{3,}/) == null) {
		alert(HNUSOFT_LANG['INPUT_URL']);
		return false;
	}
	HNUSOFTCOMEditorForm.focus();
	HNUSOFTCOMSelect();
	var element;
    if (HNUSOFT_BROWSER != 'IE') {
		HNUSOFTCOMExecuteValue('CreateLink', url);
		element = HNUSOFT_RANGE.startContainer.previousSibling;
		element.target = target;
		if (target) {
			element.target = target;
		}
    }
	HNUSOFTCOMDisableMenu();
}

function HNUSOFTCOMSelection()
{
	if (HNUSOFT_BROWSER == 'IE') {
		HNUSOFT_SELECTION = HNUSOFT_EDITFORM_DOCUMENT.selection;
		HNUSOFT_RANGE = HNUSOFT_SELECTION.createRange();
		HNUSOFT_RANGE_TEXT = HNUSOFT_RANGE.text;
	}
	else {
		HNUSOFT_SELECTION = document.getElementById("HNUSOFTCOMEditorForm").contentWindow.getSelection();
        HNUSOFT_RANGE = HNUSOFT_SELECTION.getRangeAt(0);
		HNUSOFT_RANGE_TEXT = HNUSOFT_RANGE.toString();
	}
}
function HNUSOFTCOMSelect()
{
	if (HNUSOFT_BROWSER == 'IE') {
		HNUSOFT_RANGE.select();
	}
}

function HNUSOFTCOMInsertItem(insertNode)
{
	
	if (HNUSOFT_BROWSER == 'IE') {
		if (HNUSOFT_SELECTION.type.toLowerCase() == 'control') {
			HNUSOFT_RANGE.item(0).outerHTML = insertNode.outerHTML;
		}
		else {
			HNUSOFT_RANGE.pasteHTML(insertNode.outerHTML);
		}
	}
	else {
        HNUSOFT_SELECTION.removeAllRanges();
		HNUSOFT_RANGE.deleteContents();
        var startRangeNode = HNUSOFT_RANGE.startContainer;
        var startRangeOffset = HNUSOFT_RANGE.startOffset;
        var newRange = document.createRange();
		if (startRangeNode.nodeType == 3 && insertNode.nodeType == 3) {
            startRangeNode.insertData(startRangeOffset, insertNode.nodeValue);
            newRange.setEnd(startRangeNode, startRangeOffset + insertNode.length);
            newRange.setStart(startRangeNode, startRangeOffset + insertNode.length);
        }
		else {
            var afterNode;
            if (startRangeNode.nodeType == 3) {
                var textNode = startRangeNode;
                startRangeNode = textNode.parentNode;
                var text = textNode.nodeValue;
                var textBefore = text.substr(0, startRangeOffset);
                var textAfter = text.substr(startRangeOffset);
                var beforeNode = document.createTextNode(textBefore);
                var afterNode = document.createTextNode(textAfter);
                startRangeNode.insertBefore(afterNode, textNode);
                startRangeNode.insertBefore(insertNode, afterNode);
                startRangeNode.insertBefore(beforeNode, insertNode);
                startRangeNode.removeChild(textNode);
            }
			else {
				if (startRangeNode.tagName.toLowerCase() == 'html') {
					startRangeNode = startRangeNode.childNodes[0].nextSibling;
					afterNode = startRangeNode.childNodes[0];
				}
				else {
					afterNode = startRangeNode.childNodes[startRangeOffset];
				}
				startRangeNode.insertBefore(insertNode, afterNode);
            }
            newRange.setEnd(afterNode, 0);
            newRange.setStart(afterNode, 0);
        }
        HNUSOFT_SELECTION.addRange(newRange);
	}
}






//清洁代码
function ClearCode(){
	var htmlStr = HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML;
	htmlStr = htmlStr.replace(/\<p>/gi,"[$p]");
	htmlStr = htmlStr.replace(/\<\/p>/gi,"[$\/p]");
	htmlStr = htmlStr.replace(/\<br>/gi,"[$br]");
	htmlStr = htmlStr.replace(/\<[^>]*>/g,"");
	htmlStr = htmlStr.replace(/\[\$p\]/gi,"<p>");
	htmlStr = htmlStr.replace(/\[\$\/p\]/gi,"<\/p>");
	htmlStr = htmlStr.replace(/\[\$br\]/gi,"<br>");
	HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML = htmlStr;
}

//非IE浏览器文字背景颜色
function HNUSOFTCOMExecuteBackColor(value) {
	var startRangeNode = HNUSOFT_RANGE.startContainer;
	if (startRangeNode.nodeType == 3) {
		var parent = startRangeNode.parentNode;
		var element = document.createElement("font");
		element.style.backgroundColor = value;
		element.appendChild(HNUSOFT_RANGE.extractContents());
		var startRangeOffset = HNUSOFT_RANGE.startOffset;
		var newRange = document.createRange();
		var afterNode;
		var textNode = startRangeNode;
		startRangeNode = textNode.parentNode;
		var text = textNode.nodeValue;
		var textBefore = text.substr(0, startRangeOffset);
		var textAfter = text.substr(startRangeOffset);
		var beforeNode = document.createTextNode(textBefore);
		var afterNode = document.createTextNode(textAfter);
		startRangeNode.insertBefore(afterNode, textNode);
		startRangeNode.insertBefore(element, afterNode);
		startRangeNode.insertBefore(beforeNode, element);
		startRangeNode.removeChild(textNode);
		newRange.setEnd(afterNode, 0);
		newRange.setStart(afterNode, 0);
		HNUSOFT_SELECTION.addRange(newRange);
	}
}

function HNUSOFTCOMExecuteValue(cmd, value)
{
	if (value == 'HNUSOFT_BackColor') {
		value = HNUSOFT_BackColor;
		if (HNUSOFT_BROWSER == 'IE') {
			HNUSOFT_EDITFORM_DOCUMENT.execCommand(cmd, false, value);
		}
		else {
			HNUSOFTCOMSelection();
			HNUSOFTCOMExecuteBackColor(value);
		}
	}
	else {
		if (value == 'HNUSOFT_ForeColor') value = HNUSOFT_ForeColor;
		HNUSOFT_EDITFORM_DOCUMENT.execCommand(cmd, false, value);
	}
}
function HNUSOFTCOMSimpleExecute(cmd,option)
{
	HNUSOFTCOMEditorForm.focus();
	HNUSOFTCOMSelection();
	HNUSOFT_EDITFORM_DOCUMENT.execCommand(cmd,true,option);
	HNUSOFTCOMDisableMenu();
}

//格式实现
function HNUSOFTCOMExecute(cmd, value)
{
	switch (cmd)
	{
		case 'InsertInputText':
			HNUSOFTCOMSimpleExecute('InsertInputText');
			break;
		case 'InsertTextArea':
			HNUSOFTCOMSimpleExecute('InsertTextArea');
			break;
		case 'InsertInputRadio':
			HNUSOFTCOMSimpleExecute('InsertInputRadio');
			break;
		case 'InsertCheckbox':
			HNUSOFTCOMSimpleExecute('InsertInputCheckbox');
			break;
		case 'InsertSelectDropdown':
			HNUSOFTCOMSimpleExecute('InsertSelectDropdown');
			break;
		case 'InsertButton':
			HNUSOFTCOMSimpleExecute('InsertButton');
			break;
		case 'Break':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelection();
			var element = document.createElement("br");
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_PRINT':
			HNUSOFTCOMSimpleExecute('print');
			break;
		case 'HNUSOFT_UNDO':
			HNUSOFTCOMSimpleExecute('undo');
			break;
		case 'HNUSOFT_REDO':
			HNUSOFTCOMSimpleExecute('redo');
			break;
		case 'HNUSOFT_CUT':
			HNUSOFT_BROWSER == 'IE' ? HNUSOFTCOMSimpleExecute('cut') : alert(HNUSOFT_LANG['CopyPaste']);
			break;
		case 'HNUSOFT_COPY':
			HNUSOFT_BROWSER == 'IE' ? HNUSOFTCOMSimpleExecute('copy') : alert(HNUSOFT_LANG['CopyPaste']);
			break;
		case 'HNUSOFT_PASTE':
			HNUSOFT_BROWSER == 'IE' ? HNUSOFTCOMSimpleExecute('paste') : alert(HNUSOFT_LANG['CopyPaste']);
			break;
		case 'HNUSOFT_SELECTALL':
			HNUSOFTCOMSimpleExecute('selectall');
			break;
		case 'HNUSOFT_UNSELECT':
			HNUSOFTCOMSimpleExecute('unselect');
			break;
		case 'HNUSOFT_Paragraph':
			HNUSOFTCOMSimpleExecute('InsertParagraph');
			break;
		case 'HNUSOFT_Delete':
			HNUSOFTCOMSimpleExecute('Delete');
			break;
		case 'HNUSOFT_SUBSCRIPT':
			HNUSOFTCOMSimpleExecute('subscript');
			break;
		case 'HNUSOFT_SUPERSCRIPT':
			HNUSOFTCOMSimpleExecute('superscript');
			break;
		case 'HNUSOFT_BOLD':
			HNUSOFTCOMSimpleExecute('bold');
			break;
		case 'HNUSOFT_ITALIC':
			HNUSOFTCOMSimpleExecute('italic');
			break;
		case 'HNUSOFT_UNDERLINE':
			HNUSOFTCOMSimpleExecute('underline');
			break;
		case 'HNUSOFT_STRIKE':
			HNUSOFTCOMSimpleExecute('strikethrough');
			break;
		case 'HNUSOFT_JUSTIFYLEFT':
			HNUSOFTCOMSimpleExecute('justifyleft');
			break;
		case 'HNUSOFT_JUSTIFYCENTER':
			HNUSOFTCOMSimpleExecute('justifycenter');
			break;
		case 'HNUSOFT_JUSTIFYRIGHT':
			HNUSOFTCOMSimpleExecute('justifyright');
			break;
		case 'HNUSOFT_JUSTIFYFULL':
			HNUSOFTCOMSimpleExecute('justifyfull');
			break;
		case 'HNUSOFT_NUMBEREDLIST':
			HNUSOFTCOMSimpleExecute('insertorderedlist');
			break;
		case 'HNUSOFT_UNORDERLIST':
			HNUSOFTCOMSimpleExecute('insertunorderedlist');
			break;
		case 'HNUSOFT_INDENT':
			HNUSOFTCOMSimpleExecute('indent');
			break;
		case 'HNUSOFT_OUTDENT':
			HNUSOFTCOMSimpleExecute('outdent');
			break;
		case 'HNUSOFT_REMOVE':
			HNUSOFTCOMSimpleExecute('removeformat');
			break;
		case 'HNUSOFT_ClearUP':
			ClearCode();
			break;
		case 'HNUSOFT_TITLE':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_TITLE_END':
			HNUSOFTCOMEditorForm.focus();
			value = '<' + value + '>';
			HNUSOFTCOMSelect();
			HNUSOFTCOMExecuteValue('FormatBlock', value);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_FONTNAME':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_FONTNAME_END':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelect();
			HNUSOFTCOMExecuteValue('fontname', value);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_FONTSIZE':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_FONTSIZE_END':
			HNUSOFTCOMEditorForm.focus();
			value = value.substr(0, 1);
			HNUSOFTCOMSelect();
			HNUSOFTCOMExecuteValue('fontsize', value);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_TEXTCOLOR':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_TEXTCOLOR_END':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelect();
			HNUSOFTCOMExecuteValue('ForeColor', value);
			HNUSOFTCOMDisableMenu();
			document.getElementById('HNUSOFT_TEXTCOLORBar').style.background = value;
			HNUSOFT_ForeColor = value;
			break;
		case 'HNUSOFT_BGCOLOR':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_BGCOLOR_END':
			HNUSOFTCOMEditorForm.focus();
			if (HNUSOFT_BROWSER == 'IE') {
				HNUSOFTCOMSelect();
				HNUSOFTCOMExecuteValue('BackColor', value);
			} else {
				HNUSOFTCOMExecuteBackColor(value)
			}
			HNUSOFTCOMDisableMenu();
			document.getElementById('HNUSOFT_BGCOLORBar').style.background = value;
			HNUSOFT_BackColor = value;
			break;
		case 'HNUSOFT_ICON':
			HNUSOFTCOMDisplayMenu(cmd);
			document.getElementById('POPUP_'+cmd).innerHTML = HNUSOFTCOMCube();
			break;
		case 'HNUSOFT_ICON_END':
			HNUSOFTCOMEditorForm.focus();
			var element = document.createElement("img");
			element.src = value;
			element.border = 0;
			HNUSOFTCOMSelect();
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_Replace':
			HNUSOFTCOMDisplayMenu(cmd);
			HNUSOFTCOMReplaceIframe.focus();
			HNUSOFT_Replace_DOCUMENT.getElementById(cmd+'submitButton').focus();
			break;
		case 'HNUSOFT_IMAGE':
			HNUSOFTCOMDisplayMenu(cmd);
			HNUSOFTCOMImageIframe.focus();
			HNUSOFT_IMAGE_DOCUMENT.getElementById(cmd+'submitButton').focus();
			break;
		case 'HNUSOFT_Media':
			HNUSOFTCOMDisplayMenu(cmd);
			HNUSOFTCOMMediaIframe.focus();
			HNUSOFT_Media_DOCUMENT.getElementById(cmd+'submitButton').focus();
			break;
		case 'HNUSOFT_LINK':
			if (HNUSOFT_BROWSER == 'IE') {
				HNUSOFTCOMSimpleExecute('createLink');
			}
			else {
				HNUSOFTCOMDisplayMenu(cmd);
				HNUSOFTCOMLinkIframe.focus();
				HNUSOFT_LINK_DOCUMENT.getElementById(cmd+'submitButton').focus();
			}
			break;
		case 'HNUSOFT_UNLINK':
			HNUSOFTCOMSimpleExecute('unlink');
			break;
		case 'HNUSOFT_SPECIALCHAR':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_SPECIALCHAR_END':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelect();
			var element = document.createElement("span");
			element.appendChild(document.createTextNode(value));
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_TABLE':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_TABLE_END':
			HNUSOFTCOMEditorForm.focus();
			var location = value.split(',');
			var iWidth = 100/location[1];
			var element = document.createElement("table");
			element.cellPadding = 1;
			element.cellSpacing = 1;
			element.border = 1;
			element.bgcolor = "#666666";
			element.borderColor = "#ffffff";
			element.style.width = "100%";
			for (var i = 0; i < location[0]; i++) {
				var rowElement = element.insertRow(i);
				if(HNUSOFT_TABLE_ROW1_ISHUI && i==0)
				{
					rowElement.bgcolor = "#eeeeee";
				}
				else
				{
					rowElement.bgcolor = "#ffffff";
				}
				
				for (var j = 0; j < location[1]; j++) 
				{
					var cellElement = rowElement.insertCell(j);
					if(HNUSOFT_TABLE_COL1_ISHUI)
					{
						if( j==0)
						{
							cellElement.bgcolor = "#eeeeee";
						}
						else
						{
							if( i != 0)
							{
								cellElement.bgcolor = "#ffffff";
							}
						}
					}
					
					cellElement.width = iWidth + "%";
					cellElement.height = "25";
					cellElement.innerHTML = "&nbsp;";
					
				}
			}
			HNUSOFTCOMSelect();
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_HR':
			HNUSOFTCOMDisplayMenu(cmd);
			break;
		case 'HNUSOFT_HR_END':
			HNUSOFTCOMEditorForm.focus();
			var element = document.createElement("hr");
			element.width = "100%";
			element.color = value;
			element.size = 1;
			HNUSOFTCOMSelect();
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_DATE':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelection();
			var element = document.createElement("span");
			element.appendChild(document.createTextNode(new Date().toLocaleDateString()));
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_TIME':
			HNUSOFTCOMEditorForm.focus();
			HNUSOFTCOMSelection();
			var element = document.createElement("span");
			element.appendChild(document.createTextNode(new Date().toLocaleTimeString()));
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			break;
		case 'HNUSOFT_QUOTE':
			HNUSOFTCOMEditorForm.focus();
			var element = document.createElement("span");
			element.innerHTML = value;
			HNUSOFTCOMSelection();
			HNUSOFTCOMInsertItem(element);
			HNUSOFTCOMDisableMenu();
			HNUSOFTCOMReloadIframe();	
			break;
		default:
			break;
	}
}
// 改变模式：代码、编辑
function setMode(NewMode){
	if(NewMode!=HNUSOFT_CurrentMode){
		HNUSOFT_IsChangeMode = true;
		var obj=document.getElementById("HNUSOFTCOMEditorIframe");
		if(HNUSOFT_TdHeight == -1)HNUSOFT_TdHeight = parseInt(obj.offsetHeight);
		switch(NewMode){
			case 'DESIGN':
				obj.style.height = (parseInt(obj.offsetHeight) - 81) + 'px';
		
				HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML = HNUSOFTCOMClearScriptTag(document.getElementById("HNUSOFTCOMCodeForm").value);
				document.getElementById("HNUSOFTCOMEditorForm").style.display = 'block';
				document.getElementById("HNUSOFTCOMToolBar").style.display = 'block';
				document.getElementById("HNUSOFTCOMCodeForm").style.display = 'none';
				
				var EditorFormObject =document.getElementById("HNUSOFTCOMEditorForm");
				EditorFormObject.style.height = parseInt(obj.offsetHeight) + 'px';
				if (parseInt(EditorFormObject.offsetHeight)< HNUSOFT_TdHeight){EditorFormObject.style.height = HNUSOFT_TdHeight + 'px';}

				break;
			case 'CODE':
				obj.style.height = (parseInt(obj.offsetHeight) + 77) + 'px';
				
				document.getElementById("HNUSOFTCOMCodeForm").value = HNUSOFTCOMHtmlToXhtml(HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML);
				document.getElementById("HNUSOFTCOMToolBar").style.display = 'none';
				document.getElementById("HNUSOFTCOMEditorForm").style.display = 'none';
				document.getElementById("HNUSOFTCOMCodeForm").style.display = 'block';
				document.getElementById("HNUSOFTCOMCodeForm").focus();
				
				var CodeFormObject=document.getElementById("HNUSOFTCOMCodeForm");
				CodeFormObject.style.height = parseInt(obj.offsetHeight) + 'px';
				if (parseInt(CodeFormObject.offsetHeight)< HNUSOFT_TdHeight){CodeFormObject.style.height = HNUSOFT_TdHeight + 'px';}
				break;
			default:
				break;
		}
		if (parseInt(obj.offsetHeight)< HNUSOFT_TdHeight){obj.style.height = HNUSOFT_TdHeight + 'px';}
		try{
			document.getElementById("HtmlEditor_DESIGN").className = "StatusBarBtnOff";
			document.getElementById("HtmlEditor_CODE").className = "StatusBarBtnOff";
			document.getElementById("HtmlEditor_"+NewMode).className = "StatusBarBtnOn";
		}
		catch(e){
		}
		HNUSOFT_CurrentMode = NewMode;
		
		
		
	}
}





// 调整编辑器的大小
function ChangeSize(size){
	var obj=document.getElementById("HNUSOFTCOMEditorIframe");
	if(HNUSOFT_TdHeight == -1)HNUSOFT_TdHeight = parseInt(obj.offsetHeight);
	obj.style.height = (parseInt(obj.offsetHeight) + size) + 'px';
	if (parseInt(obj.offsetHeight)< HNUSOFT_TdHeight){obj.style.height = HNUSOFT_TdHeight + 'px';}
	
	if (HNUSOFT_IsChangeMode) {
		if (HNUSOFT_CurrentMode == 'DESIGN') {
			obj=document.getElementById("HNUSOFTCOMEditorForm");
			obj.style.height = (parseInt(obj.offsetHeight) + size) + 'px';
			if (parseInt(obj.offsetHeight)< HNUSOFT_TdHeight){obj.style.height = HNUSOFT_TdHeight + 'px';}
		}
		else {
			if (parseInt(obj.offsetHeight)< HNUSOFT_TdHeight+77){obj.style.height = (HNUSOFT_TdHeight+77) + 'px';}
			
			obj=document.getElementById("HNUSOFTCOMCodeForm");
			obj.style.height = (parseInt(obj.offsetHeight) + size) + 'px';
			if (parseInt(obj.offsetHeight)< HNUSOFT_TdHeight+77){obj.style.height = (HNUSOFT_TdHeight+77) + 'px';}
		}
	}
}

//编辑器工具栏各图标按钮
function HNUSOFTCOMCreateIcon(icon)
{
	var str;
	str = '';
	
	if( icon[0] == 'HNUSOFT_TITLE' )
	{
		var strDuanluo = "<select onChange=\"FormatText('FormatBlock',this[this.selectedIndex].value);this.selectedIndex=0;\"><option>段落</option><option value=\"&lt;P&gt;\">正文</option><option value=\"&lt;H1&gt;\">标题一</option><option value=\"&lt;H2&gt;\">标题二</option><option value=\"&lt;H3&gt;\">标题三</option><option value=\"&lt;H4&gt;\">标题四</option><option value=\"&lt;H5&gt;\">标题五</option><option value=\"&lt;H6&gt;\">标题六</option><option value=\"&lt;PRE&gt;\">预设格式</option></select> ";	
		str += strDuanluo;
	}
	else if( icon[0] == 'HNUSOFT_FONTNAME' )
	{
		var strFont = "<option value='宋体'>宋体</option> <option value='黑体'>黑体</option> <option value='隶书'>隶书</option> <option value='幼圆'>幼圆</option> <option value='新宋体'>新宋体</option><option value='Arial'>Arial</option><option value='Courier New'>Courier New</option><option value='Garamond'>Garamond</option><option value='Georgia'>Georgia</option><option value='Tahoma'>Tahoma</option><option value='Times New Roman'>Times</option><option value='Verdana'>Verdana</option>";
		var strFont2 = "<select onChange=\"FormatText('fontname',this[this.selectedIndex].value);this.selectedIndex=0;\"><option>字体</option>"+strFont+"</select> ";
		str += strFont2
	}
	else if( icon[0] == 'HNUSOFT_FONTSIZE' )
	{
		var strFontSize = "<select onChange=\"FormatText('fontsize',this[this.selectedIndex].value);this.selectedIndex=0;\"><option>大小</option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option></select> ";	
		str += strFontSize;
	}
	else if (icon[0] == 'HNUSOFT_TEXTCOLOR' || icon[0] == 'HNUSOFT_BGCOLOR') 
	{
		if (icon[0] == 'HNUSOFT_TEXTCOLOR')
			ExecuteCMD = 'ForeColor';
		else
			ExecuteCMD = 'BackColor';
		
		str += '<div style="POSITION: relative;border:1px solid ' + HNUSOFT_TOOLBAR_BG_COLOR +';cursor:pointer;height:20px;width:28px" onmouseover="document.getElementById(\''+icon[0]+'RightBar\').style.borderLeft = this.style.border=\'1px solid ' + HNUSOFT_MENU_BORDER_COLOR + '\';" onmouseout="document.getElementById(\''+icon[0]+'RightBar\').style.borderLeft = this.style.border=\'1px solid ' + HNUSOFT_TOOLBAR_BG_COLOR + '\';" title="' + icon[2]  + '">';
		str += '<img src="' + HNUSOFT_SKIN_PATH  + icon[1] +'" onclick="HNUSOFTCOMExecuteValue(\''+ExecuteCMD+'\',\'HNUSOFT_'+ExecuteCMD+'\');">';
		str += '<img id="'+icon[0]+'Bar" style="BACKGROUND: '+eval("HNUSOFT_"+ExecuteCMD)+'; LEFT: 1px; POSITION: absolute; TOP: 15px" height=4 src="' + HNUSOFT_SKIN_PATH  +'clear.gif" width=16 onclick="HNUSOFTCOMExecuteValue(\''+ExecuteCMD+'\',\'HNUSOFT_'+ExecuteCMD+'\');">';
		str += '<div id="'+icon[0]+'RightBar" style="POSITION: absolute;left:17px;top:0px;border-left:1px solid '+HNUSOFT_TOOLBAR_BG_COLOR+';height:18px"><img id="'+ icon[0] +'" src="' + HNUSOFT_SKIN_PATH + 'PopMenu.gif" alt="' + icon[2]  + '" align="absmiddle" onclick="HNUSOFTCOMExecute(\''+ icon[0] +'\');"></div>';
		str += '</div>';
	}
	
	else
	{
		str = '<img id="'+ icon[0] +'" src="' + HNUSOFT_SKIN_PATH + icon[1] + '" alt="' + icon[2]  + 
			'" align="absmiddle" style="border:1px solid ' + HNUSOFT_TOOLBAR_BG_COLOR +';cursor:pointer;height:20px;';
		str += '" onclick="HNUSOFTCOMExecute(\''+ icon[0] +'\');" '+
			'onmouseover="this.style.border=\'1px solid ' + HNUSOFT_MENU_BORDER_COLOR + '\';" ' +
			'onmouseout="this.style.border=\'1px solid ' + HNUSOFT_TOOLBAR_BG_COLOR + '\';" ';
		str += '>';
	}
	
	return str;
}

function FormatText(command,option)
{HNUSOFTCOMEditorForm.focus();HNUSOFTCOMEditorForm.document.execCommand(command,true,option);}

//编辑器工具栏
function HNUSOFTCOMCreateToolbar()
{
	var htmlData = '<table cellpadding="0" cellspacing="0" border="0" height="26"><tr>';
	
	for (i = 0; i < HNUSOFT_TOP_TOOLBAR_ICON.length; i++) {
		htmlData += '<td style="padding:2px;">' + HNUSOFTCOMCreateIcon(HNUSOFT_TOP_TOOLBAR_ICON[i]) + '</td>';
	}
	
	
	htmlData += '</tr></table><table cellpadding="0" cellspacing="0" border="0" height="26"><tr>';
	for (i = 0; i < HNUSOFT_MIDDLE_TOOLBAR_ICON.length; i++) {
		htmlData += '<td style="padding:2px;">' + HNUSOFTCOMCreateIcon(HNUSOFT_MIDDLE_TOOLBAR_ICON[i]) + '</td>';
	}
		
	htmlData += '</tr></table><table cellpadding="0" cellspacing="0" border="0" height="26"><tr>';
	for (i = 0; i < HNUSOFT_BOTTOM_TOOLBAR_ICON.length; i++) {
		htmlData += '<td style="padding:2px;">' + HNUSOFTCOMCreateIcon(HNUSOFT_BOTTOM_TOOLBAR_ICON[i]) + '</td>';
	}
		
	htmlData += '</tr></table>';
	return htmlData;
}

function HNUSOFTCOMWriteFullHtml(documentObj, content)
{
	var editHtmlData = '';
	editHtmlData += '<html>\r\n<head>\r\n<title>HNUSOFTCOM Editor --Powered By HNUSOFTCOM</title>\r\n';
	editHtmlData += '<style type="text/css">\r\n\tbody { font-family:Courier New;font-size:12px;margin:2px;}\r\n\tBLOCKQUOTE {BORDER: #cccccc 1px dotted; PADDING: 4px; MARGIN: 16px;}\r\n\tP{margin:0px;}\r\n</style>\r\n';
	editHtmlData += '</head>\r\n<body>\r\n';
	editHtmlData += content;
	editHtmlData += '\r\n</body>\r\n</html>\r\n';
	documentObj.open();
	documentObj.write(editHtmlData);
	documentObj.close();
}

//编辑器主函数
function HNUSOFTCOMEditor(objName) 
{
	this.objName = objName;
	this.hiddenName = objName;
	this.safeMode;
	this.editorWidth;
	this.editorHeight;
	this.iconPath;
	this.menuBorderColor;
	this.menuBgColor;
	this.menuTextColor;
	this.menuSelectedColor;
	this.toolbarBorderColor;
	this.toolbarBgColor;
	this.formBorderColor;
	this.formBgColor;
	this.buttonColor;
	this.init = function()
	{
		if (this.safeMode) HNUSOFT_SAFE_MODE = this.safeMode;
		if (this.editorWidth) HNUSOFT_WIDTH = this.editorWidth;
		if (this.editorHeight) HNUSOFT_HEIGHT = this.editorHeight;
		if (this.menuBorderColor) HNUSOFT_MENU_BORDER_COLOR = this.menuBorderColor;
		if (this.menuBgColor) HNUSOFT_MENU_BG_COLOR = this.menuBgColor;
		if (this.menuTextColor) HNUSOFT_MENU_TEXT_COLOR = this.menuTextColor;
		if (this.menuSelectedColor) HNUSOFT_MENU_SELECTED_COLOR = this.menuSelectedColor;
		if (this.toolbarBorderColor) HNUSOFT_TOOLBAR_BORDER_COLOR = this.toolbarBorderColor;
		if (this.toolbarBgColor) HNUSOFT_TOOLBAR_BG_COLOR = this.toolbarBgColor;
		if (this.formBorderColor) HNUSOFT_FORM_BORDER_COLOR = this.formBorderColor;
		if (this.formBgColor) HNUSOFT_FORM_BG_COLOR = this.formBgColor;
		if (this.buttonColor) HNUSOFT_BUTTON_COLOR = this.buttonColor;
		HNUSOFT_OBJ_NAME = this.objName;
		HNUSOFT_BROWSER = HNUSOFTCOMGetBrowser();
	}
	this.show = function()
	{
		this.init();
		var widthStyle = 'width:' + HNUSOFT_WIDTH + ';';
		var heightStyle = 'height:' + HNUSOFT_HEIGHT + ';';
		if (HNUSOFT_BROWSER == '') {
			var htmlData = '<div id="HNUSOFTCOMEditorIframe" style="' + widthStyle + heightStyle +';background-color:'+ HNUSOFT_FORM_BG_COLOR +'">' +
			'<textarea name="HNUSOFTCOMCodeForm" id="HNUSOFTCOMCodeForm" style="' + widthStyle + heightStyle + 
			'padding:0;margin:0;border:1px solid '+ HNUSOFT_FORM_BORDER_COLOR + 
			';font-size:12px;line-height:16px;font-family:'+HNUSOFT_FONT_FAMILY+';background-color:'+ 
			HNUSOFT_FORM_BG_COLOR +';">' + document.getElementsByName(this.hiddenName)[0].value + '</textarea></div>';
			document.open();
			document.write(htmlData);
			document.close();
			return;
		}
		var htmlData = '<style>TD.StatusBarBtnOff {padding:1px 5px;border:1px outset;cursor:pointer;}TD.StatusBarBtnOn {padding:1px 5px;border:1px inset;background-color: #EEEEEE;}</style>';
		
		htmlData += '<div id=HNUSOFTCOMToolBar style="'+widthStyle+';border:1px solid ' + HNUSOFT_TOOLBAR_BORDER_COLOR + ';border-bottom:0;background-color:'+ HNUSOFT_TOOLBAR_BG_COLOR +'">';
		htmlData += HNUSOFTCOMCreateToolbar();
		htmlData += '</div><div id="HNUSOFTCOMEditorIframe" style="' + widthStyle + heightStyle + 
			'border:1px solid '+ HNUSOFT_FORM_BORDER_COLOR +';background-color:'+ HNUSOFT_FORM_BG_COLOR +'">' +
			'<iframe name="HNUSOFTCOMEditorForm" id="HNUSOFTCOMEditorForm" style="' + widthStyle + heightStyle + 
			'padding:0;margin:0;border:0;"></iframe>';

		
		htmlData += '<textarea name="HNUSOFTCOMCodeForm" id="HNUSOFTCOMCodeForm" style="' + widthStyle + heightStyle + 
				'padding:0;margin:0;border:0;font-size:12px;display:none;line-height:16px;font-family:'+HNUSOFT_FONT_FAMILY+';background-color:'+ 
		HNUSOFT_FORM_BG_COLOR +';"></textarea></div>';
		
		htmlData += '<table border=0 cellpadding=0 cellspacing=0 height=20 style="margin-top:5px;">';
		htmlData += '<tr>';
		htmlData += '<td class=StatusBarBtnOn id=HtmlEditor_DESIGN onclick="setMode(\'DESIGN\')"><img border=0 src=/editor/Button/modeedit.gif align=absmiddle alt="'+HNUSOFT_LANG['DesignMode']+'"></td>';
		htmlData += '<td width=5>&nbsp;</td>';
		htmlData += '<td class=StatusBarBtnOff id=HtmlEditor_CODE onclick="setMode(\'CODE\')"><img border=0 src=/editor/Button/modecode.gif align=absmiddle alt="'+HNUSOFT_LANG['CodeMode']+'"></td>';
		//htmlData += '<td width=5>&nbsp;</td>';
		//htmlData += '<td class=StatusBarBtnOff onclick="window.showModalDialog(\'/editor/uploadDocFile.aspx\',window, \'resizable:no; status:no; scroll:yes;dialogWidth:400px;dialogHeight:180px;\');"><img border=0 src=/editor/Button/modecode.gif align=absmiddle">上传文件或图片</td>';
		htmlData += '<td width=5>&nbsp;</td>';
		htmlData += '<td align=right width=100%><img border=0 src=/editor/Button/+.gif align=absmiddle onclick=ChangeSize(100) style=cursor:pointer title="'+HNUSOFT_LANG['AddEditorArea']+'"><img border=0 src=/editor/Button/-.gif align=absmiddle onclick=ChangeSize(-100) style=cursor:pointer title="'+HNUSOFT_LANG['ReduceEditorArea']+'"></td>';
		htmlData += '</tr></table>';
		
		for (var i = 0; i < HNUSOFT_POPUP_MENU_TABLE.length; i++) {
			if (HNUSOFT_POPUP_MENU_TABLE[i] == 'HNUSOFT_Replace') {
				htmlData += '<span id="InsertIframe">';
			}
			htmlData += HNUSOFTCOMPopupMenu(HNUSOFT_POPUP_MENU_TABLE[i]);
			if (HNUSOFT_POPUP_MENU_TABLE[i] == 'HNUSOFT_Media') {
				htmlData += '</span>';
			}
		}
		document.open();
		document.write(htmlData);
		document.close();
		if (HNUSOFT_BROWSER == 'IE') {
			HNUSOFT_EDITFORM_DOCUMENT = document.frames("HNUSOFTCOMEditorForm").document;
		} else {
			HNUSOFT_EDITFORM_DOCUMENT = document.getElementById('HNUSOFTCOMEditorForm').contentDocument;
		}
		HNUSOFTCOMDrawIframe('HNUSOFT_Replace');
		HNUSOFTCOMDrawIframe('HNUSOFT_IMAGE');
		HNUSOFTCOMDrawIframe('HNUSOFT_Media');
		HNUSOFTCOMDrawIframe('HNUSOFT_LINK');
		HNUSOFT_EDITFORM_DOCUMENT.designMode = 'On';
		HNUSOFT_CurrentMode = "DESIGN";
		HNUSOFTCOMWriteFullHtml(HNUSOFT_EDITFORM_DOCUMENT, document.getElementsByName(eval(HNUSOFT_OBJ_NAME).hiddenName)[0].value);
		var el = HNUSOFT_EDITFORM_DOCUMENT.body;
		
		if (HNUSOFT_EDITFORM_DOCUMENT.addEventListener){
			HNUSOFT_EDITFORM_DOCUMENT.addEventListener('click', HNUSOFTCOMDisableMenu, false);
			HNUSOFT_EDITFORM_DOCUMENT.addEventListener('keypress', ctlent, true);
		} else if (el.attachEvent){
			el.attachEvent('onclick', HNUSOFTCOMDisableMenu);
			el.attachEvent('onkeypress', ctlent);
		}
	}
	this.data = function()
	{
		var htmlResult;
		if (HNUSOFT_BROWSER == '') {
			htmlResult = document.getElementById("HNUSOFTCOMCodeForm").value;
		}
		else {
			if (HNUSOFT_CurrentMode.toLowerCase() == 'design') {
				htmlResult = HNUSOFT_EDITFORM_DOCUMENT.body.innerHTML;
			}
			else {
				htmlResult = document.getElementById("HNUSOFTCOMCodeForm").value;
			}
		}
		HNUSOFTCOMDisableMenu();
		htmlResult = HNUSOFTCOMHtmlToXhtml(htmlResult);
		htmlResult = HNUSOFTCOMClearScriptTag(htmlResult);
		
		htmlResult = ChangeImgPath(htmlResult);
		
		document.getElementsByName(this.hiddenName)[0].value = htmlResult;
		return htmlResult;
	}
}

//初始化编辑器
var editor = new HNUSOFTCOMEditor("editor");
editor.hiddenName = "Body";
editor.show();

function ChangeImgPath(str){
	var url = location.href;
	var siteUrl = url.split("/");
	siteUrl.length = siteUrl.length-1;
	var siteStr = siteUrl.join("/");
	
	return str.replace(siteStr +"/","")
}

//内容提交
function CheckForm() 
{
	if(HNUSOFT_CurrentMode.toLowerCase() != 'design')
	{
		alert(HNUSOFT_LANG['CurrentMode']);
		return false;
	}
	
	editor.data();
	ClearCode();
	Body=document.Form1.Body;
	//Body.value=formatbody(Body.value);
	//formatbodys2( Body );
	


 	if(typeof(Body) != "undefined" )
 	{
		if(Body.value.length<2){alert(HNUSOFT_LANG['BodyMinLen']);return false;}
		if(Body.value.length>60000){alert(HNUSOFT_LANG['BodyMaxLen']);return false;}
  	}
}
//检测文章长度
function CheckLength(){
	editor.data();
	MessageLength=document.form.Body.value.length;
	alert("最大字符为 "+60000+ " 字节\n您的内容已有 "+MessageLength+" 字节");
}

//Ctrl + Enter 发帖
function ctlent(event){
	if(HNUSOFT_CurrentMode.toLowerCase() != 'design'){
		alert(HNUSOFT_LANG['CurrentMode']);
		return false;
	}
	else if(event.ctrlKey && (event.keyCode==13 || event.keyCode==10)){
		parent.document.form.EditSubmit.click();
	}
}


function tableRow1IsHui()
{
	HNUSOFT_TABLE_ROW1_ISHUI = !HNUSOFT_TABLE_ROW1_ISHUI;
}

function tableCol1IsHui()
{
	HNUSOFT_TABLE_COL1_ISHUI = !HNUSOFT_TABLE_COL1_ISHUI;
}





// 解决编辑器回车换双行<p></p>结束
