﻿var objEdit=null;function storeCaret(textEl){if(textEl.createTextRange){textEl.caretPos=document.selection.createRange().duplicate();}}function editor(){var edit=new Object();var editorid='posteditor';var cursor=-1;var stack=new Array();var editimg=syspath+"images/editor/";edit.editdoc=null;edit.getparent=true;var lang=new Array();lang['enter_tag_option']='请输入 %1 标签的选项:';lang['enter_link_url']='请输入链接的地址:';lang['enter_image_url']='请输入图片链接地址:';lang['enter_email_link']='请输入此链接的邮箱地址:';lang['fontname']='字体';lang['fontsize']='大小';var custombbcodes=new Array();custombbcodes['flash']='Flash Movie';custombbcodes['rm']='[rm=400,300,1]rtsp://your.com/example.rm[/rm]';custombbcodes['wmv']='[wmv=400,300,1]mms://your.com/example.wmv[/wmv]';var jsmenu=new Array();jsmenu['active']=new Array();jsmenu['timer']=new Array();jsmenu['iframe']=new Array();function initCtrl(ctrlobj,click,duration,timeout,layer){if(ctrlobj&&!ctrlobj.initialized){ctrlobj.initialized=true;ctrlobj.unselectable=true;ctrlobj.outfunc=typeof ctrlobj.onmouseout=='function'?ctrlobj.onmouseout:null;ctrlobj.onmouseout=function(){if(this.outfunc){this.outfunc();}if(duration<3){jsmenu['timer'][ctrlobj.id]=setTimeout('objEdit.hideMenu('+layer+')',timeout);}};if(click&&duration){ctrlobj.clickfunc=typeof ctrlobj.onclick=='function'?ctrlobj.onclick:null;ctrlobj.onclick=function(e){doane(e);if(jsmenu['active'][layer]==null||jsmenu['active'][layer].ctrlkey!=this.id){if(this.clickfunc){this.clickfunc();}else{edit.showMenu(this.id,true);}}else{edit.hideMenu(layer);}};}ctrlobj.overfunc=typeof ctrlobj.onmouseover=='function'?ctrlobj.onmouseover:null;ctrlobj.onmouseover=function(e){doane(e);if(this.overfunc){this.overfunc();}if(click){clearTimeout(jsmenu['timer'][this.id]);}else{for(var id in jsmenu['timer']){if(jsmenu['timer'][id]){clearTimeout(jsmenu['timer'][id]);}}}};}}function initMenu(ctrlid,menuobj,duration,timeout,layer){if(menuobj&&!menuobj.initialized){menuobj.initialized=true;menuobj.ctrlkey=ctrlid;menuobj.onclick=ebygum;menuobj.style.position='absolute';if(duration<3){if(duration>1){menuobj.onmouseover=function(){clearTimeout(jsmenu['timer'][ctrlid]);};}if(duration!=1){menuobj.onmouseout=function(){jsmenu['timer'][ctrlid]=setTimeout('objEdit.hideMenu('+layer+')',timeout);};}}menuobj.style.zIndex=50;if(is_ie&&!is_mac){menuobj.style.filter+="progid:DXImageTransform.Microsoft.shadow(direction=135,color=#CCCCCC,strength=2)";}initMenuContents(menuobj);}}function initMenuContents(menuobj){if(menuobj.title=='menu'){menuobj.style.filter+="progid:DXImageTransform.Microsoft.Alpha(opacity=85,finishOpacity=100,style=0)";menuobj.style.opacity=0.85;menuobj.title='';}else{var tds=findtags(menuobj,'td');for(var i=0;i<tds.length;i++){if(tds[i].className=='popupmenu_option'||tds[i].className=='editor_colornormal'){if(is_ie&&!is_mac){tds[i].style.filter+="progid:DXImageTransform.Microsoft.Alpha(opacity=85,finishOpacity=100,style=0)";}tds[i].style.opacity=0.85;if(tds[i].title&&tds[i].title=='nohighlight'){tds[i].title='';}else{tds[i].ctrlkey=this.ctrlkey;if(tds[i].className!='editor_colornormal'){tds[i].onmouseover=menuoption_onmouseover;tds[i].onmouseout=menuoption_onmouseout;}if(typeof tds[i].onclick=='function'){tds[i].clickfunc=tds[i].onclick;tds[i].onclick=menuoption_onclick_function;}else{tds[i].onclick=menuoption_onclick_link;}if(!is_saf&&!is_kon){try{links=findtags(tds[i],'a');for(var j=0;j<links.length;j++){if(isUndefined(links[j].onclick)){links[j].onclick=ebygum;}}}catch(e){}}}}}}}edit.showMenu=function(ctrlid,click,offset,duration,timeout,layer,showid,maxh){var ctrlobj=$(ctrlid);if(!ctrlobj){return;}if(isUndefined(click)){click=false;}if(isUndefined(offset)){offset=0;}if(isUndefined(duration)){duration=2;}if(isUndefined(timeout)){timeout=500;}if(isUndefined(layer)){layer=0;}if(isUndefined(showid)){showid=ctrlid;}var showobj=$(showid);var menuobj=$(showid+'_menu');if(!showobj||!menuobj){return;}if(isUndefined(maxh)){maxh=400;}edit.hideMenu(layer);for(var id in jsmenu['timer']){if(jsmenu['timer'][id]){clearTimeout(jsmenu['timer'][id]);}}initCtrl(ctrlobj,click,duration,timeout,layer);initMenu(ctrlid,menuobj,duration,timeout,layer);menuobj.style.display='';if(!is_opera){menuobj.style.clip='rect(auto, auto, auto, auto)';}var showobj_pos=fetchOffset(showobj);var showobj_x=showobj_pos['left'];var showobj_y=showobj_pos['top'];var showobj_w=showobj.offsetWidth;var showobj_h=showobj.offsetHeight;var menuobj_w=menuobj.offsetWidth;var menuobj_h=menuobj.offsetHeight;menuobj.style.left=(showobj_x+menuobj_w>document.body.clientWidth)&&(showobj_x+showobj_w-menuobj_w>=0)?showobj_x+showobj_w-menuobj_w+'px':showobj_x+'px';menuobj.style.top=offset==1?showobj_y+'px':(offset==2||((showobj_y+showobj_h+menuobj_h>document.body.scrollTop+document.body.clientHeight)&&(showobj_y-menuobj_h>=0))?(showobj_y-menuobj_h)+'px':showobj_y+showobj_h+'px');if(menuobj.style.clip&&!is_opera){menuobj.style.clip='rect(auto, auto, auto, auto)';}if(is_ie&&is_ie<7){if(!jsmenu['iframe'][layer]){var iframe=document.createElement('iframe');iframe.style.display='none';iframe.style.position='absolute';iframe.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';$('jsmenu_parent')?$('jsmenu_parent').appendChild(iframe):menuobj.parentNode.appendChild(iframe);jsmenu['iframe'][layer]=iframe;}jsmenu['iframe'][layer].style.top=menuobj.style.top;jsmenu['iframe'][layer].style.left=menuobj.style.left;jsmenu['iframe'][layer].style.width=menuobj_w;jsmenu['iframe'][layer].style.height=menuobj_h;jsmenu['iframe'][layer].style.display='block';}if(maxh&&menuobj.scrollHeight>maxh){menuobj.style.height=maxh+'px';if(is_opera){menuobj.style.overflow='auto';}else{menuobj.style.overflowY='auto';}}if(!duration){setTimeout('objEdit.hideMenu('+layer+')',timeout);}jsmenu['active'][layer]=menuobj;};edit.hideMenu=function(layer){if(isUndefined(layer)){layer=0;}if(jsmenu['active'][layer]){clearTimeout(jsmenu['timer'][jsmenu['active'][layer].ctrlkey]);jsmenu['active'][layer].style.display='none';if(is_ie&&is_ie<7&&jsmenu['iframe'][layer]){jsmenu['iframe'][layer].style.display='none';}jsmenu['active'][layer]=null;}};function fetchOffset(obj){var left_offset=obj.offsetLeft;var top_offset=obj.offsetTop;while((obj=obj.offsetParent)!=null&&edit.getparent){left_offset+=obj.offsetLeft;top_offset+=obj.offsetTop;}return {'left':left_offset,'top':top_offset};}function ebygum(eventobj){if(!eventobj||is_ie){window.event.cancelBubble=true;return window.event;}else{if(eventobj.target.type=='submit'){eventobj.target.form.submit();}eventobj.stopPropagation();return eventobj;}}function menuoption_onclick_function(e){this.clickfunc();edit.hideMenu();}function menuoption_onclick_link(e){choose(e,this);}function menuoption_onmouseover(e){this.className='popupmenu_highlight';}function menuoption_onmouseout(e){this.className='popupmenu_option';}function choose(e,obj){var links=findtags(obj,'a');if(links[0]){if(is_ie){links[0].click();window.event.cancelBubble=true;}else{if(e.shiftKey){window.open(links[0].href);e.stopPropagation();e.preventDefault();}else{window.location=links[0].href;e.stopPropagation();e.preventDefault();}}edit.hideMenu();}}edit.buttonContext=function(obj,state){if(state=='mouseover'){var mode=obj.state?'down':'hover';if(obj.mode!=mode){obj.mode=mode;obj.className='editor_button'+mode;}}else{var mode=obj.state?'selected':'normal';if(obj.mode!=mode){obj.mode=mode;obj.className=mode=='selected'?'editor_buttonselected':'editor_buttonnormal';}}if(is_ie&&event){event.cancelBubble=true;}};edit.menuContext=function(obj,state){obj.style.cursor=is_ie?'hand':'pointer';var mode=state=='mouseover'?'hover':'normal';obj.className='editor_button'+mode;var tds=findtags(obj,'td');for(var i=0;i<tds.length;i++){if(tds[i].id==editorid+'_menu'){tds[i].className='editor_menu'+mode;}else if(tds[i].id==editorid+'_colormenu'){tds[i].className='editor_colormenu'+mode;}}};function findtags(parentobj,tag){if(typeof parentobj.getElementsByTagName!='undefined'){return parentobj.getElementsByTagName(tag);}else if(parentobj.all&&parentobj.all.tags){return parentobj.all.tags(tag);}else{return null;}}edit.colorContext=function(obj,state){obj.style.cursor=is_ie?'hand':'pointer';var mode=state=='mouseover'?'hover':'normal';obj.className='editor_color'+mode;};function arraypop(a){if(typeof a!='object'||!a.length){return null;}else{var response=a[a.length-1];a.length--;return response;}}function checkFocus(){if(!edit.editdoc.hasfocus){edit.editdoc.focus();}}function stripos(haystack,needle,offset){if(isUndefined(offset)){offset=0;}var index=haystack.toLowerCase().indexOf(needle.toLowerCase(),offset);return (index==-1?false:index);}function stripSimple(tag,str,iterations){var startindex,stopindex;var opentag='['+tag+']';var closetag='[/'+tag+']';if(isUndefined(iterations)){iterations=-1;}while((startindex=stripos(str,opentag))!==false&&iterations!=0){iterations--;if((stopindex=stripos(str,closetag))!==false){var text=str.substr(startindex+opentag.length,stopindex-startindex-opentag.length);str=str.substr(0,startindex)+text+str.substr(stopindex+closetag.length);}else{break;}}return str;}function stripComplex(tag,str,iterations){var startindex,stopindex;var opentag='['+tag+'=';var closetag='[/'+tag+']';if(isUndefined(iterations)){iterations=-1;}while((startindex=stripos(str,opentag))!==false&&iterations!=0){iterations--;if((stopindex=stripos(str,closetag))!==false){var openend=stripos(str, ']', startindex);if(openend!==false&&openend>startindex&&openend<stopindex){var text=str.substr(openend+1,stopindex-openend-1);str=str.substr(0,startindex)+text+str.substr(stopindex+closetag.length);}else{break;}}else{break;}}return str;}function customTags(tagname,params){applyFormat('removeformat');var pp='=400,300,1';if(tagname.toLowerCase()=='flash'){pp=pp.substr(0,pp.length-2);}if(custombbcodes[tagname].indexOf(']')==-1){custombbcodes[tagname]='['+tagname+pp+'][/'+tagname+']';}if(params==1){var selection=getSel();if(selection===false){selection='';}else{selection+='';}var opentag='['+tagname+pp+']';var closetag='[/'+tagname+']';var text=opentag+selection+closetag;selection==''?insertText(custombbcodes[tagname],mb_strlen(opentag),mb_strlen(closetag)):insertText(text,mb_strlen(opentag),mb_strlen(closetag));}else{insertText(custombbcodes[tagname],custombbcodes[tagname].indexOf(']')+1,mb_strlen('[/'+tagname+']'));}return false;}edit.ubbcode=function(cmd,arg){if(cmd=='openhelper'){window.open(selfname+'?act=UBBHelp','gb_ubb_helper');return;}if(cmd!='redo'){edit.addSnapshot(getEditorContents());}checkFocus();if(in_array(cmd,['quote','code'])){wrapTags(cmd,false);}else if(cmd.substr(0,6)=='custom'){customTags(cmd.substr(8),cmd.substr(6,1));}else if(cmd=='removeformat'){var simplestrip=new Array('b','i','u');var complexstrip=new Array('font','color','size');var str=getSel();if(str===false){return;}for(var tag in simplestrip){str=stripSimple(simplestrip[tag],str);}for(var tag in complexstrip){str=stripComplex(complexstrip[tag],str);}insertText(str);}else if(cmd=='undo'){var str;edit.addSnapshot(getEditorContents());moveCursor(-1);if((str=getSnapshot())!==false){edit.editdoc.value=str;}}else if(cmd=='redo'){var str;moveCursor(1);if((str=getSnapshot())!==false){edit.editdoc.value=str;}}else if(cmd=='createlink'){promptLink('url',lang['enter_link_url'],'http://');}else if(cmd=='unlink'){var sel=getSel();sel=stripSimple('url',sel);sel=stripComplex('url',sel);insertText(sel);}else if(cmd=='email'){promptLink('email',lang['enter_email_link'],'');}else if(cmd=='insertimage'){var img=showPrompt(lang['enter_image_url'],'http://');if(img=verifyPrompt(img)){applyFormat('insertimage',false,img);}}else if(cmd=='insertface'){var str=getSel();if(str===false){str='';}else{str+='';}str='['+arg+']'+str;insertText(str,mb_strlen(str),mb_strlen(''));}else{applyFormat(cmd,false,(isUndefined(arg)?true:arg));}if(cmd!='undo'){edit.addSnapshot(getEditorContents());}checkFocus();};edit.addSnapshot=function(str){if(stack[cursor]==str){return;}else{cursor++;stack[cursor]=str;if(!isUndefined(stack[cursor+1])){stack[cursor+1]=null;}}};function getSnapshot(){if(!isUndefined(stack[cursor])&&stack[cursor]!=null){return stack[cursor];}else{return false;}}function moveCursor(increment){var test=cursor+increment;if(test>=0&&stack[test]!=null&&!isUndefined(stack[test])){cursor+=increment;}}function getEditorContents(){return edit.editdoc.value;}function getSel(){if(!isUndefined(edit.editdoc.selectionStart)){return edit.editdoc.value.substr(edit.editdoc.selectionStart,edit.editdoc.selectionEnd-edit.editdoc.selectionStart);}else if(document.selection&&document.selection.createRange){return document.selection.createRange().text;}else if(window.getSelection){return window.getSelection()+'';}else{return false;}}function showPrompt(dialogtxt,defaultval){return trim(prompt(dialogtxt,defaultval)+'');}function verifyPrompt(str){if(in_array(str,['http://','null','undefined','false',''])||str==null||str==false){return false;}else{return str;}}function mb_strlen(str){return (is_ie&&str.indexOf('\n')!=-1)?str.replace(/\r?\n/g,'_').length:str.length;}function promptLink(tagname,phrase,iprompt){var value=showPrompt(phrase,iprompt);if((value=verifyPrompt(value))!==false){if(getSel()){applyFormat('unlink');wrapTags(tagname,value);}else{wrapTags(tagname,value,value);}}return true;}function wrapTags(tagname,useoption,selection){var opentag,closetag,text;if(tagname=='code'){applyFormat('removeformat');}if(isUndefined(selection)){var selection=getSel();if(selection===false){selection='';}else{selection+='';}}if(useoption===true){var option=showPrompt(construct_phrase(lang['enter_tag_option'],('['+tagname+']')),'');if(option=verifyPrompt(option)){opentag='['+tagname+'='+option+']';}else{return false;}}else if(useoption!==false){opentag='['+tagname+'='+useoption+']';}else{opentag='['+tagname+']';}closetag='[/'+tagname+']';text=opentag+selection+closetag;insertText(text,mb_strlen(opentag),mb_strlen(closetag));return false;}function applyFormat(cmd,dialog,argument){switch(cmd){case 'bold':case 'italic':case 'underline':wrapTags(cmd.substr(0,1),false);break;case 'justifyleft':case 'justifycenter':case 'justifyright':wrapTags('align',cmd.substr(7));break;case 'fontname':wrapTags('font',argument);break;case 'fontsize':wrapTags('size',argument);break;case 'forecolor':wrapTags('color',argument);break;case 'createlink':var sel=getSel();if(sel){wrapTags('url',argument);}else{wrapTags('url',argument,argument);}break;case 'insertimage':wrapTags('img',false,argument);break;}}function insertText(text,movestart,moveend){checkFocus();if(!isUndefined(edit.editdoc.selectionStart)){var opn=edit.editdoc.selectionStart+0;edit.editdoc.value=edit.editdoc.value.substr(0,edit.editdoc.selectionStart)+text+edit.editdoc.value.substr(edit.editdoc.selectionEnd);if(!isUndefined(movestart)){edit.editdoc.selectionStart=opn+movestart;edit.editdoc.selectionEnd=opn+mb_strlen(text)-moveend;}else if(movestart!==false){edit.editdoc.selectionStart=opn;edit.editdoc.selectionEnd=opn+mb_strlen(text);}}else if(document.selection&&document.selection.createRange){var sel=document.selection.createRange();sel.text=text.replace(/\r?\n/g,'\r\n');if(!isUndefined(movestart)){sel.moveStart('character',-mb_strlen(text)+movestart);sel.moveEnd('character',-moveend);}else if(movestart!==false){sel.moveStart('character',-mb_strlen(text));}sel.select();} else {edit.editdoc.value+=text;}}function doane(event){var e=event?event:window.event ;if(is_ie){e.returnValue=false;e.cancelBubble=true;}else{e.stopPropagation();e.preventDefault();}}edit.editorMenu=function(obj){edit.showMenu(obj.id,true);};function editorGUI(objID){var str='';var fonts=new Array("华文仿宋","黑体","华文楷体","宋体","新宋体","Tahoma","Arial","Impact","Verdana","Times New Roman");var separator='<td><img src="'+editimg+'bb_separator.gif" style="width:6px;height:20px;" alt="" /></td>';var colorCode=new Array('#000000','#A0522D','#556B2F','#006400','#483D8B','#000080','#4B0082','#2F4F4F','#8B0000','#FF8C00','#808000','#008000','#008080','#0000FF','#708090','#696969','#FF0000','#F4A460','#9ACD32','#2E8B57','#48D1CC','#4169E1','#800080','#808080','#FF00FF','#FFA500','#FFFF00','#00FF00','#00FFFF','#00BFFF','#9932CC','#C0C0C0','#FFC0CB','#F5DEB3','#FFFACD','#98FB98','#AFEEEE','#ADD8E6','#DDA0DD','#FFFFFF');str+='<div id="posteditor">';str+='<table cellspacing="0" cellpadding="0" class="editor_table" style="border:0">';str+='<tr>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_removeformat" onclick="objEdit.ubbcode(\'removeformat\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_removeformat.gif" style="width:21px;height:20px;" alt="清除文本格式" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_undo" onclick="objEdit.ubbcode(\'undo\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_undo.gif" style="width:21px;height:20px;" alt="撤销" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_redo" onclick="objEdit.ubbcode(\'redo\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_redo.gif" style="width:21px;height:20px;" alt="重做" /></div></td>';str+=separator;str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_bold" onclick="objEdit.ubbcode(\'bold\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_bold.gif" style="width:21px;height:20px;" alt="粗体" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_italic" onclick="objEdit.ubbcode(\'italic\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_italic.gif" style="width:21px;height:20px;" alt="斜体" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_underline" onclick="objEdit.ubbcode(\'underline\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_underline.gif" style="width:21px;height:20px;" alt="下划线" /></div></td>';str+=separator;str+='<td id="posteditor_popup_fontname" title="字体" onclick="objEdit.editorMenu(this)"><div class="editor_buttonnormal" onmouseover="objEdit.menuContext(this,\'mouseover\')" onmouseout="objEdit.menuContext(this,\'mouseout\')">';str+='<table cellpadding="0" cellspacing="0" unselectable="on" class="editor_table" style="border:0">';str+='<tr>';str+='<td class="editor_menunormal" id="posteditor_menu" unselectable="on"><div id="posteditor_font_out" style="width:91px" unselectable="on">字体</div></td>';str+='<td unselectable="on"><img src="'+editimg+'bb_menupop.gif" style="width:7px;height:4px;" unselectable="on" alt="" /></td>';str+='</tr>';str+='</table>';str+='</div></td>';str+='<td id="posteditor_popup_fontsize" title="大小" onclick="objEdit.editorMenu(this)"><div class="editor_buttonnormal" onmouseover="objEdit.menuContext(this,\'mouseover\')" onmouseout="objEdit.menuContext(this,\'mouseout\')">';str+='<table cellpadding="0" cellspacing="0" unselectable="on" class="editor_table" style="border:0">';str+='<tr>';str+='<td class="editor_menunormal" id="posteditor_menu" unselectable="on"><div id="posteditor_size_out" style="width:25px" unselectable="on">大小</div></td>';str+='<td unselectable="on"><img src="'+editimg+'bb_menupop.gif" style="width:7px;height:4px;" unselectable="on" alt="" /></td>';str+='</tr>';str+='</table>';str+='</div></td>';str+='<td id="posteditor_popup_forecolor" title="颜色" onclick="objEdit.editorMenu(this)"><div class="editor_buttonnormal" onmouseover="objEdit.menuContext(this,\'mouseover\')" onmouseout="objEdit.menuContext(this,\'mouseout\')">';str+='<table cellpadding="0" cellspacing="0" class="editor_table" unselectable="on" style="border:0">';str+='<tr>';str+='<td class="editor_colormenunormal" id="posteditor_colormenu" unselectable="on"><img src="'+editimg+'bb_color.gif" style="width:21px;height:16px;" unselectable="on" alt="" /><br /><img src="'+editimg+'bb_clear.gif" id="posteditor_color_bar" style="background-color:black;width:21px;height:4px;" unselectable="on" alt="" /></td>';str+='<td unselectable="on"><img src="'+editimg+'bb_menupop.gif" style="width:7px;height:4px;" unselectable="on" alt="" /></td>';str+='</tr>';str+='</table>';str+='</div></td>';str+=separator;str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_justifyleft" onclick="objEdit.ubbcode(\'justifyleft\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_left.gif" style="width:21px;height:20px;" alt="居左" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_justifycenter" onclick="objEdit.ubbcode(\'justifycenter\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_center.gif" style="width:21px;height:20px;" alt="居中" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_justifyright" onclick="objEdit.ubbcode(\'justifyright\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_right.gif" style="width:21px;height:20px;" alt="居右" /></div></td>';str+='</tr>';str+='</table>';str+='<table cellspacing="0" cellpadding="0" class="editor_table" style="border:0">';str+='<tr>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_createlink" onclick="objEdit.ubbcode(\'createlink\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_url.gif" style="width:21px;height:20px;" alt="插入链接" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_unlink" onclick="objEdit.ubbcode(\'unlink\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_unlink.gif" style="width:21px;height:20px;" alt="移除链接" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_email" onclick="objEdit.ubbcode(\'email\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_email.gif" style="width:21px;height:20px;" alt="插入邮箱链接" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_insertimage" onclick="objEdit.ubbcode(\'insertimage\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_image.gif" style="width:21px;height:20px;" alt="插入图片" /></div></td>';str+=separator;str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_wrap0_quote" onclick="objEdit.ubbcode(\'quote\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_quote.gif" style="width:21px;height:20px;" alt="插入引用" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_wrap0_code" onclick="objEdit.ubbcode(\'code\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_code.gif" style="width:21px;height:20px;" alt="插入代码" /></div></td>';str+=separator;str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_custom1_flash" onclick="objEdit.ubbcode(\'custom1_flash\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_flash.gif" style="width:21px;height:20px;" alt="嵌入 Flash 动画" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_custom1_rm" onclick="objEdit.ubbcode(\'custom1_rm\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_rm.gif" style="width:21px;height:20px;" alt="嵌入 Real Player 音频或视频" /></div></td>';str+='<td><div class="editor_buttonnormal" id="posteditor_cmd_custom1_wmv" onclick="objEdit.ubbcode(\'custom1_wmv\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_wmv.gif" style="width:21px;height:20px;" alt="嵌入 Windows Media 音频或视频" /></div></td>';str+=separator;str+='<td><div class="editor_buttonnormal" onclick="objEdit.ubbcode(\'openhelper\')" onmouseover="objEdit.buttonContext(this,\'mouseover\')" onmouseout="objEdit.buttonContext(this,\'mouseout\')"><img src="'+editimg+'bb_help.gif" style="width:21px;height:20px;" alt="打开 UBB 语法帮助" /></div></td>';str+='</tr>';str+='</table>';str+='<div class="popupmenu_popup" id="posteditor_popup_fontname_menu" style="display:none">';str+='<table cellpadding="4" cellspacing="0" unselectable="on" class="editor_table" style="border:0">';for(var i=0;i<fonts.length;i++){str+='<tr><td class="popupmenu_option" onclick="objEdit.ubbcode(\'fontname\',\''+fonts[i]+'\')" unselectable="on"><span style="font-family:\''+fonts[i]+'\'" unselectable="on">'+fonts[i]+'</span></td></tr>';}str+='</table>';str+='</div>';str+='<div class="popupmenu_popup" id="posteditor_popup_fontsize_menu" style="display:none">';str+='<table cellpadding="4" cellspacing="0" unselectable="on" class="editor_table" style="border:0">';for(var i=1;i<=7;i++){str+='<tr align="center"><td class="popupmenu_option" onclick="objEdit.ubbcode(\'fontsize\','+i+')" unselectable="on"><font size="'+i+'" unselectable="on">'+i+'</font></td></tr>';}str+='</table>';str+='</div>';str+='<div class="popupmenu_popup" id="posteditor_popup_forecolor_menu" style="display:none">';str+='<table cellpadding="4" cellspacing="0" unselectable="on" class="editor_table" style="border:0">';for(var j=0,i=0,tmp='';i<colorCode.length;i++){tmp+='<td class="editor_colornormal" onclick="objEdit.ubbcode(\'forecolor\',\''+colorCode[i]+'\')" onmouseover="objEdit.colorContext(this,\'mouseover\')" onmouseout="objEdit.colorContext(this,\'mouseout\')" unselectable="on"><div style="background-color:'+colorCode[i]+';" unselectable="on"></div></td>';if(j++==7){str+='<tr>'+tmp+'</tr>';tmp='';j=0;}}str+='</table>';str+='</div>';str+='</div>';if(objID&&$(objID)){$(objID).innerHTML=str;}else{document.write(str);}}edit.init=function(txtarea,guiID){edit.editdoc=$(txtarea);if(edit.editdoc){editorGUI(guiID);var onevent=function(){storeCaret($(txtarea));};edit.editdoc.onselect=onevent;edit.editdoc.onclick=onevent;edit.editdoc.onkeyup=onevent;edit.addSnapshot(edit.editdoc.value);}};return edit;}
