///////////////////////////////////////////////////////////////////////////////////////////
//                                                                                       //
//              *  HTML在线编辑器 内定版本号 v1.00                                        //
//              *  编写：Java Leung 于 2003-08-12                                        //
//              *  Copyright @ GDCIC 2000-2003                                          //
//              *  你若需移用该程序的一部分或全部代码，请保留编写者信息                     //
//                                                                                      //
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
//*  HTML在线编辑器 内定版本号 v1.01                                                         //
//修正于2004-3-2							    	   										   //
//HTML在线编辑器版本：									   									//
//说明：版本1.00没有限制用户编辑输入；							   								//
//      版本1.01增加了限制用户编辑功能：						   								//
//	    1、分可信任用户和不可信任用户(Anonymous)；					   							//
//	       对于可信任用户不受编辑限制(如论坛的版主以上系统角色)；			   					//
//	       对于不可信任用户：*、图片大小受限制；表格大小受限制；(要求控制使窗口不出现  			//
//                             X坐标滚动条为宜，且自动加上链接到新窗口查看全图)；     			//
//				 			*、提交前应作检查；					   							//
//	                        *、为避免提交前检查过于复杂，表格中不允许嵌套表格，表格中 			//
//	                            不允许插入图片(难以控制准确大小)；					  		   //
//											   											   //
/////////////////////////////////////////////////////////////////////////////////////////////
//本文件中使用到的变量均定义在主调用文件中

function document.onreadystatechange() {
  if (YInitialized) return;
  YInitialized = true;

  var i, s, curr;

  for (i=0; i<document.body.all.length; i++) {
    curr=document.body.all[i];
    if (curr.className == "yToolbar") {
      if (! InitTB(curr)) {
        alert("Toolbar: " + curr.id + " failed to initialize. Status: false");
      }
      yToolbars[yToolbars.length] = curr;
    }
  }

  DoLayout(); //排列toolbars
  window.onresize = DoLayout;
  
  chgEditor("On","");
  Composition.focus();
}

// 初始化 toolbar button
function InitBtn(btn,bchk,BtnProp) {
  btn.onmousemove = BtnMouseMove;
  btn.onmouseover = YCancelEvent;
  btn.onmouseout = BtnMouseOut;
  btn.onmousedown = BtnMouseDown;
  btn.onmouseup = BtnMouseUp;
  btn.ondragstart = YCancelEvent;
  btn.onselectstart = YCancelEvent;
  btn.YINITIALIZED = true;
  btn.YCHECK = bchk;
  btn.Prop = BtnProp;
  return true;
}

//初始化 Editor - 关联事件. 
function initEditor(E) {
   //E.ondragstart = Edragstart;
   E.onresizestart = Eresizestart;
   //E.oncontrolselect = Econtrolselect;
   //E.onresizeend = Eresizestart;
   //E.ondragenter = Edragstart;
   //E.ondragend = Edragstart;
   //E.ondrag = YCancelEvent;
   E.ondrop = Edrop;

    return true;
}

function Edrop() {
   if (!bTrustUsr) {
        //if(event.srcElement.tagName=='IMG'||event.srcElement.tagName=='TABLE'){
           alert('您没有拖放操作的权限');
		   return false;
		//}
   }
   return true;
}

function Eresizestart() {
   if (!bTrustUsr) {
        alert('您没有改变对象大小操作的权限');
		return false;
   }
   return true;
}

//初始化 toolbar. 
function InitTB(y) {

  y.TBWidth = 0;
    
  if (! PopulateTB(y)) return false;
  
  y.style.posWidth = y.TBWidth;
  
  return true;
}

function YCancelEvent() {
  event.returnValue=false;
  event.cancelBubble=true;
  return false;
}

function BtnMouseMove() {
  if (YMouseIn) return true;
  var brtn;
  if (event.srcElement.tagName != "IMG") {
      brtn = false;
  }else{ 
      brtn = true;
      YMouseIn = true;
      var image = event.srcElement;
      var element = image.parentElement; //btn

      switch (image.className) {
          case "Ico": 
              if (event.button == 1) {
                  if (YBtnClick) {
                      element.className = "BtnMouseOverDown";  
                      image.className = "IcoDown";
                  }else{
                      element.className = "BtnMouseOverUp";
                  }
              }else{
                  element.className = "BtnMouseOverUp";
              }
              break;
           case "IcoDown":
               if (event.button == 1) {
                   if (YBtnClick) {
                       element.className = "BtnMouseOverDown";  
                       image.className = "IcoDownPressed";
                   }else{
                       element.className = "BtnMouseOverDown";
                   }
               }else{
                   element.className = "BtnMouseOverDown";
               }
               break;
           case "IcoArrow":
               if (event.button == 1) {
                   if (YBtnClick) {
                       element.className = "BtnArrowOverDown";  
                       image.className = "IcoArrowDown";
                   }else{
                      element.className = "BtnArrowOverUp";
                   }
               }else{
                   element.className = "BtnArrowOverUp";
               }
               break;
           case "IcoArrowDown":
               //保持
               break;
           default:
               alert("未定义属性!");
        }
  }
  event.cancelBubble = true;
  return brtn;
}

function BtnMouseOver() {
  var brtn;
  if (event.srcElement.tagName != "IMG") {
      brtn = false;
  }else{ 
      brtn = true;
      var image = event.srcElement;
      var element = image.parentElement;
  
      if (image.className == "Ico") {
          if (event.button == 1) {

              if (YBtnClick) {
                 element.className = "BtnMouseOverDown";  
                 image.className = "IcoDownPressed";
              }else{
                 element.className = "BtnMouseOverUp";
              }
          }else{
              element.className = "BtnMouseOverUp";
          }
      }else if (image.className == "IcoDown") {
          element.className = "BtnMouseOverDown";
      }
  }
  event.cancelBubble = true;
  return brtn;
}

function BtnMouseOut() {
  var brtn;
  if (event.srcElement.tagName != "IMG") { 
      brtn = false;
  }else{ 
      brtn = true;
      YMouseIn = false;
      var image = event.srcElement;
      var element = image.parentElement;
      //yRaisedElement = null; 
      switch (image.className) {
          case "Ico": 
              element.className = "Btn";  
              break;
           case "IcoDown":
                 if (YBtnClick) {
                    element.className = "Btn";  
                    image.className = "Ico";
                 }else{
                    element.className = "BtnDown";
                 }
              break;
           case "IcoDownPressed": 
              element.className = "BtnDown";  
              image.className = "IcoDown";    
              break;
           case "IcoArrow":
               element.className = "BtnArrow";  
               break;
           case "IcoArrowDown":
               if (YBtnClick) {
                    element.className = "BtnArrow";  
                    image.className = "IcoArrow";
                 }else{
                    //保持
                 }
               break;
           default:
               alert("未定义属性!");
        }
  }
  event.cancelBubble = true;
  return brtn;
}

function BtnMouseDown() {
  var brtn;
  if (event.srcElement.tagName != "IMG") { 
      brtn = false;
  }else{ 
      brtn = true;
      var image = event.srcElement;
      var element = image.parentElement;
      switch (image.className) {
          case "Ico": 
             if (event.button == 1) {
                YBtnClick = true;
                element.className = "BtnMouseOverDown";  
                image.className = "IcoDown";
             }else{
                 //按其它键时保持状态
             }
             break;
          case "IcoDown":
             if (event.button == 1) {
                YBtnClick = true;
                image.className = "IcoDownPressed";
             }else{
                //按其它键时保持状态
             }
             break;
          case "IcoArrow":
             if (event.button == 1) {
                YBtnClick = true;
                element.className = "BtnArrowOverDown";  
                image.className = "IcoArrowDown";
             }else{
             } 
             break;
          case "IcoArrowDown":
             //按其它键时保持状态
             break;
          default:
              alert("未定义属性!");
      }
  }
  event.cancelBubble = true;
  return brtn;
}

function BtnMouseUp() {
  var brtn;
  if (event.srcElement.tagName != "IMG") { 
      brtn = false;
  }else{ 
      brtn = true;
      var image = event.srcElement;
      var element = image.parentElement;

  // if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); 
      switch (image.className) {
          case "Ico": 
             break;
          case "IcoDown":
             if (event.button == 1) {
                if (YBtnClick) {
                   YBtnClick = false;
                   if (element.YCHECK) {
                       //可Check型Btn保持按下时状态
                   }else{
                      element.className = "BtnMouseOverUp"; 
                      image.className = "Ico";
                   }
                }else{
                    //保持状态
                }
             }else{
             }
             break;
          case "IcoDownPressed":
              YBtnClick = false;
              element.className = "BtnMouseOverUp"; 
              image.className = "Ico"; 
              break;
           case "IcoArrow":
              //维持不变  
              break;
           case "IcoArrowDown":
              if (event.button == 1) {
                 if (YBtnClick) {
                    YBtnClick = false;
                    if (element.YCHECK) {
                    }else{
                       element.className = "BtnArrowOverUp"; 
                       image.className = "IcoArrow";
                    }
                 }else{
                 }
              }else{
              }
              break;
           default:
              alert("未定义属性!");
        }
  }

  return brtn;
}

//预处理初始化Btn
function PreInitBtn(y,element,bchk,BtnProp){
      if (element.YINITIALIZED == null) {
	     if (! InitBtn(element,bchk,BtnProp)) {
	        alert("Problem initializing:" + element.id);
	        return false;
	     }
      }
      
      element.style.posLeft = y.TBWidth;
//    y.TBWidth += element.offsetWidth + 1;
      y.TBWidth += element.offsetWidth
      return true;
}

function PopulateTB(y) {
  var i, elements, element;

  elements = y.children;
  for (i=0; i<elements.length; i++) {
    element = elements[i];
    if (element.tagName == "SCRIPT" || element.tagName == "!") continue;
    
    switch (element.className) {
    case "Btn": 
	  if (! PreInitBtn(y,element,false,0)) return false;
      break;

    case "BtnDown":
	  if (! PreInitBtn(y,element,true,0)) return false;
      break;

    case "Btnorgl":
      element.className = "Btn";
	  if (! PreInitBtn(y,element,true,0)) return false;
      break;

    case "BtnArrow":
	  if (! PreInitBtn(y,element,false,1)) return false;
      break;
      
    case "TBGen":
      element.style.posLeft = y.TBWidth;
      y.TBWidth += element.offsetWidth + 1;
      break;
      
    case "TBSep":
      element.style.posLeft = y.TBWidth + 2;
      y.TBWidth += SEP_PADDING;
      break;
      
    case "TBHandle":
      element.style.posLeft = 2;
      y.TBWidth += HANDLE_PADDING;
      break;
      
    default:
      alert("Invalid class: " + element.className + " on Element: " + element.id + " <" + element.tagName + ">");
      return false;
    }
  }

  y.TBWidth += 1;
  return true;
}

function LayoutTBs() {
  var RelTop = 0;
  var NumTBs = yToolbars.length;

  if (NumTBs == 0) return RelTop;

  var i;
  var TB;
  var ScrWid = (document.body.offsetWidth) - 6;
  var TotalLen = ScrWid;
  for (i = 0 ; i < NumTBs ; i++) {
    TB = yToolbars[i];
    if (TB.TBWidth > TotalLen) TotalLen = TB.TBWidth;
  }

  var PrevTB;
  var LastStart = 0;
  var LastWid, CurrWid;

  TB = yToolbars[0];
  TB.style.posTop = 0;
  TB.style.posLeft = 0;

  var Start = TB.TBWidth;
  for (i = 1 ; i < yToolbars.length ; i++) {
    PrevTB = TB;
    TB = yToolbars[i];
    CurrWid = TB.TBWidth;

    if ((Start + CurrWid) > ScrWid) { 
      Start = 0;
      LastWid = TotalLen - LastStart;
    }
    else { 
      LastWid = PrevTB.TBWidth;
      RelTop -= TB.offsetHeight;
    }
      
    TB.style.posTop = RelTop;
    TB.style.posLeft = Start;
    PrevTB.style.width = LastWid; //对齐toolbars

    LastStart = Start;
    Start += CurrWid;
  } 

  TB.style.width = TotalLen - LastStart;
  
  //处理toolbars移位后其他元素的页面位置
  i--;
  TB = yToolbars[i];

  LayoutOthers( TB,RelTop );
  return RelTop;
}

function LayoutOthers( Elem,TopValue ) {
  var Ind = Elem.sourceIndex;
  var A = Elem.document.all;
  var item;

  for (i in A) {
    item = A.item(i);
    if (! item) continue;
    if (! item.style) continue;
    if (item.sourceIndex <= Ind) continue;
    if (item.style.position == "absolute") continue;
    item.style.posTop = TopValue;
  }
}

function DoLayout() {
 // alert('1');
  var r = LayoutTBs();
  fixSize(r);
  //  alert('2');
}

function fixSize(opt)
{  var Edtor = document.all.Composition
   var CpOrglHgt = Edtor.offsetHeight;
   Edtor.style.height = Math.max(document.body.offsetHeight - Edtor.offsetTop - 18, 0);
   var Idistance = Edtor.offsetHeight - CpOrglHgt;
   opt = opt / 2; 
   LayoutOthers( Edtor,Idistance + opt );
}

function format(what,opt,opt2) {
  var tmp = 0;
  Composition.focus(); 
  var sel = Composition.document.selection;
  if( what==null ) {showAbout();return true;}
  if(Format=="Preview") return false;
  if (opt2!=null){  //opt2为null则'Html、'Normal'状态下均允许使用
      if (Format=="Html") return false;
  }else{
  	  if (Format=="Html"){
	      if (!bTrustUsr) return false; 
	  }
  }
  switch( opt2 )
     {// case null:

       case 0:
          break;
       case 1: //forecolor
          opt = SelectColor(what,opt);
          what = 'forecolor';
          break;
       case 2: //backcolor
          opt = SelectColor(what,opt); 
          what = 'backcolor';
          break;
       case 3: //CreateLink
          opt = createLink(sel); 
          if (opt==null) return false;
          if (sel.type=="None") {
             what = null;
             opt = "<A HREF=\""+opt+"\" target=_blank>"+opt+"</A> ";
          }else{
             what = 'CreateLink';
          }
          break;
       case 4: //InsertImage
          opt = createImage(sel); 
          if (opt==null) return false;
          what = 'InsertImage';
          break;
       case 5: //Addtable
          opt = addTable(sel); 
          if (opt==null) return false;
          what = null;
          break;
       case 6: //粘贴标签
          what = null;
          tmp = 1;
          break;
       default: //null & others

     }
  if (what==null){
      if (! pasteHTML(sel,opt,tmp)) return false;
  }else{ 
      if (opt==null) Composition.document.execCommand(what);
      else Composition.document.execCommand(what,false,opt);
  }        
//调整
if (!bTrustUsr) { //非可信用户
  switch( opt2 )
     {// case null:

       case 0:
          break;
       case 1: //forecolor
          break;
       case 2: //backcolor
          break;
       case 3: //CreateLink
          break;
       case 4: //InsertImage
          if (sel.type == 'Control') {
		     var controlR = sel.createRange();
		     if (controlR.length==1){ 
			     var oObject = controlR.item(0);
                 if (oObject.tagName == 'IMG'){
				 //oObject.select()
				     window.showModalDialog("chkImgWidth.htm",'',"dialogWidth=200px;dialogHeight=140px;status=0"); 
				     if (oObject.width > 525){
                          oObject.style.width = 525;//screen.width - 320
					    //oObject.style.height=oObject.height;
						oObject.border = 0;
						//加入连接
						Composition.document.execCommand('CreateLink',false,oObject.src);
						//var isA = getEl("A",oObject); 
                        oObject.parentElement.target = '_blank';
						oObject.parentElement.title = '点击打开新窗口查看原图';
				     }
					 //加入事件
					 //oObject.onresize = "alert()";
			     }
		     }
		  }
          break;
       case 5: //Addtable
          break;
       case 6: //粘贴标签
          break;
       default: //null & others

     }
}
//
  Composition.focus();

  return true;

}

function pasteHTML(sel,opt,prop) //直接paste内容
{
	//Composition.focus();
    if (sel.type == 'Control') return false;
	var controlR=sel.createRange();
    if (prop==0){
       
    }else if (prop==1) { //paste mark
         opt = preMarkHtml(opt,controlR.text);	
	     if (opt==null) return false;
    }
	
    controlR.pasteHTML(opt);
    //controlR.select();
    return true;			
}

function preMarkHtml(Mark,seltext)
{
	if (Mark==''&&Mark==null) return null;
	var strHTML;
	//Composition.focus();
	var A=Mark.split(" ");
	if (Mark=="hr")
	   strHTML="<hr>";
	else
	   strHTML = "<" + Mark + ">" + seltext + "</" + A[0] + ">"; 
    return strHTML;			
}

function doSelectClick(str,Svalue,MarkNum) {
    if( Svalue =='' ) return;0
    format(str,Svalue,MarkNum);
}

function doFormat(what,para,Mark) {
   //if(Format!="Preview") 
     // if (Format=='Normal')
       //  Composition.document.execCommand(what,false,'');
         Composition.document.execCommand(what,para);
      //else
        // pasteMark(Mark);   
}

function setMode(newMode) {
  bTextMode = newMode;
  var cont;
  if (bTextMode) {
    cleanHtml();

    cont=Composition.document.body.innerHTML;
    Composition.document.body.innerText=cont;
  } else {
    cont=Composition.document.body.innerText;
    Composition.document.body.innerHTML=cont;
  }
  
  Composition.focus();
}

function getEl(sTag,start) {
  while ((start!=null) && (start.tagName!=sTag)) start = start.parentElement;
  return start;
}

function createLink(sel) {
var str = "http:\/\/";
var controlR = sel.createRange();

if (sel.type == 'Control') { 
   if (controlR.length==1){ 
      var oObject = controlR.item(0);
      switch( oObject.tagName ){
          case 'IMG':
             str = oObject.src;
             break;
          case 'TABLE':
             break;
          case 'HR':
             break;
          default:
    
      }
   }
}else{
  var isA = getEl("A",controlR.parentElement());
  str = isA ? isA.href : "http:\/\/";
}
  str=prompt("请输入链接位置 (例如： http://www.gdcic.net):", str);

  if ((str!=null) && (str!="http://")) {
      return str;
  }

  return null;
}

function createImage(sel) {
var element;
var str = "http:\/\/";
var controlR = sel.createRange();
if (sel.type == 'Control') {
   if (controlR.length==1){ 
      var oObject = controlR.item(0);
	  //判断用户操作权限
	  if (!bTrustUsr) { //非可信用户
	      element = oObject;
	      do {
		      element = element.parentElement;
			  if (element.tagName=='TABLE') {
			       alert('您没有在表格中插入图片的权限');
				   return null;
			  }
		  }while(!(element.tagName=='BODY'))
	  }
	  //////////////////////////////
      switch( oObject.tagName ){
          case 'IMG':
             str = oObject.src;
             break;
          case 'TABLE':
		     return null;
             break;
          case 'HR':
		     return null;
             break;
          default:
             return null;
      }
   }else{
       return null; //选择多对象不继续操作
   }
}else{
   //判断用户操作权限
	  var e1 = controlR.parentElement();
	  element = e1;
	  if (!bTrustUsr) { //非可信用户
	      while(!(element.tagName=='BODY')) {
			  if (element.tagName=='TABLE') {
			       alert('您没有在表格中插入图片的权限');
				   return null;
			  }
			  element = element.parentElement;
		  }
	  }
	 //////////////////////////////
  var isA = getEl("A",e1);
  str = isA ? isA.href : "http:\/\/";
}
//=======================================
  var strParm=new Array();
  strParm[0]=str;
  if (bTrustUsr) 
     strParm[1]="1";
  else
     strParm[1]="0";
//========================================	 
  //str=window.showModalDialog("/bbs/selectPIC.htm",str,"dialogWidth=320px;dialogHeight=210px;status=0");
 // str=window.showModalDialog("selectPIC.htm",strParm,"dialogWidth=320px;dialogHeight=210px;status=0");
    //str=window.showModalDialog("/Ims/Manager/Photo/SelectPhoto.aspx",strParm,"dialogWidth=700px;dialogHeight=420px;status=0");
  str=window.showModalDialog("AnonyUploadPhoto.aspx",strParm,"dialogWidth=380px;dialogHeight=280px;scroll=0;status=0;help=0");

  if ((str!=null) && (str!="http://")) {
      return str;
  }

  return null;
}

function insertImage() {
  if (!validateMode()) return;
  var isA = getEl("A",Composition.document.selection.createRange().parentElement());
  var str=prompt("请输入图片位置 (e.g. http://www.gdcic.net/images/site/logo.gif):", isA ? isA.href : "http:\/\/");

  if ((str!=null) && (str!="http://")) {
    if (Composition.document.selection.type=="None") {
      var sel=Composition.document.selection.createRange();
      sel.pasteHTML("<img src=\""+str+"\">");
      sel.select();
    }
    else format("CreateImage",str);
  }
  else Composition.focus();
}

function SelectColor(id,Curr) {
 var c = id.style.backgroundColor;
 if (! Curr)
     c=window.showModalDialog("SelectColor.htm",c,"dialogWidth=420px;dialogHeight=340px;status=0");

  if (c && c!="") {
     if (! Curr) id.style.backgroundColor=c;
     return c;
  }
  return '#ffffff';
}

function backColor(id,Curr) {
 var c;
  if (Curr) {
     c=id.style.backgroundColor;
 }else{
     c=window.showModalDialog("SelectColor.htm",id.style.backgroundColor,"dialogWidth=420px;dialogHeight=340px;status=0");
 }
  if (c && c!="") {
     format('backcolor', c);
     if (! Curr) id.style.backgroundColor=c;
  }else{
     Composition.focus();
  }
}

function showAbout() {
  // showModalDialog("/bbs/CopyRight.asp","","dialogWidth:310px;dialogHeight:255px;status:no;");
}

function addTable(sel)
{
var BparkFunc=0;
if (sel.type == 'Control') return null;

if (!bTrustUsr) { //非可信用户
    var element=sel.createRange().parentElement();
	
	while(!(element.tagName=='BODY')) {
	   if (element.tagName=='TABLE') {
			BparkFunc=1;
			break;
	   }
	   element = element.parentElement;
	}
}

     var ReturnValue=window.showModalDialog("AddTable.htm",BparkFunc,"dialogWidth=310px;dialogHeight=150px;status=0");
	  if(ReturnValue && ReturnValue!="") return ReturnValue;

   return null;
}

function selectRange(){
	//edit = Composition.document.selection.createRange();
	//RangeType = Composition.document.selection.type;
}

function cleanHtml() {
  var fonts = Composition.document.body.all.tags("FONT");
  var curr;
  for (var i = fonts.length - 1; i >= 0; i--) {
    curr = fonts[i];
    if (curr.style.backgroundColor == "#ffffff") curr.outerHTML = curr.innerHTML;
  }
}

function getPureHtml() {
  var str = "";
  var paras = Composition.document.body.all.tags("P");
  if (paras.length > 0) {
    for (var i=paras.length-1; i >= 0; i--) str = paras[i].innerHTML + "\n" + str;
  } else {
    str = Composition.document.body.innerHTML;
  }
  return str;
}

function chgEditor(Model,StrHTML) {
	Composition.document.designMode=Model;
	Composition.document.open();
	Composition.document.write(StrHTML);
	Composition.document.close();
	if(CssFile!="")
		E.createStyleSheet(CssFile);
	initEditor(Composition.document.body);
}

function SelectFormat(Status) //更改编辑模式
 {
  swapModes(Status);
  switch(Status)
    { case "Normal":
           Html.style.display="none";
           Preview.style.display="none";
           Normal.style.display="block";
           break;
      case "Html":
           Normal.style.display="none";
           Preview.style.display="none";
           Html.style.display="block";
           break;
           
      default: //"Preview"
           Normal.style.display="none";
           Html.style.display="none";
           Preview.style.display="block";
		   break; 
   }
    return;
 }

function swapModes(Mode) {
    var StrHTML='';	
	switch(Mode){
		case "Normal":
			if (Format == "Html"){
			    if (bTrustUsr) { //可信用户
			        //alert(Composition.document.body.innerHTML);
				    Composition.document.body.innerHTML = Composition.document.body.innerText;	
				    //alert(Composition.document.body.innerHTML);
				}else{
				    StrHTML = Composition.document.body.innerText;
				   
					chgEditor("On",StrHTML);
				}
			}else{ //Preview
				 StrHTML = Composition.document.body.innerHTML;
				 chgEditor("On",StrHTML);
			}
			break;
		case "Html":
			if (Format == "Preview"){
			    if (bTrustUsr) { //可信用户
				    StrHTML = Composition.document.body.innerHTML;
				    chgEditor("On",StrHTML);	
				}else{
				    alert('您没有直接编辑源代码的权限');
				}
			}else{ //Normal
			    if (!bTrustUsr) { //非可信用户
				    StrHTML = Composition.document.body.innerHTML;
				    chgEditor("Off",StrHTML);
					alert('您没有直接编辑源代码的权限');
				}
			}
			Composition.document.body.innerText = Composition.document.body.innerHTML;
			break;
		default: //"Preview"
			if (bTrustUsr) { //可信用户
				if (Format == "Html"){
				    StrHTML = Composition.document.body.innerText;	
				}else{ //Normal
				 	StrHTML = Composition.document.body.innerHTML;	
				}
				chgEditor("Off",StrHTML);
			}else{
				if (Format == "Html"){
				   	Composition.document.body.innerHTML = Composition.document.body.innerText;
				}else{ //Normal
				 	StrHTML = Composition.document.body.innerHTML;
				 	chgEditor("Off",StrHTML);
				}
			}
			break;
	}
	Composition.focus();
    Format=Mode;
}


