﻿
var KE={};KE.version='3.3';KE.lang={justifyleft:'左对齐',justifycenter:'居中',justifyright:'右对齐',justifyfull:'两端对齐',title:'标题',fontname:'字体',fontsize:'文字大小',textcolor:'文字颜色',bgcolor:'文字背景',bold:'粗体',italic:'斜体',underline:'下划线',strikethrough:'删除线',removeformat:'删除格式',image:'插入图片',hr:'插入横线',emoticons:'插入笑脸',link:'超级连接',unlink:'取消超级连接',yes:'确定',no:'取消',close:'关闭',invalidImg:"请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。",invalidWidth:"宽度必须为数字。",invalidHeight:"高度必须为数字。",invalidBorder:"边框必须为数字。",invalidUrl:"URL不正确。",pleaseInput:"请输入内容"};KE.scriptPath=(function(){var elements=document.getElementsByTagName('script');for(var i=0,len=elements.length;i<len;i++){if(elements[i].src&&elements[i].src.match(/editmin[\w\-\.]*\.js/)){return elements[i].src.substring(0,elements[i].src.lastIndexOf('/')+1);}}
return"";})();KE.htmlPath=(function(){return location.href.substring(0,location.href.lastIndexOf('/')+1);})();KE.browser=(function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("msie")>-1)return'IE';else if(ua.indexOf("webkit")>-1)return'WEBKIT';else if(ua.indexOf("gecko")>-1)return'GECKO';else if(ua.indexOf("opera")>-1)return'OPERA';else return"";})();KE.setting={wyswygMode:true,autoOnsubmitMode:true,resizeMode:2,filterMode:true,tagLineMode:false,skinType:'default',cssPath:'',skinsPath:KE.scriptPath+'skins/',pluginsPath:KE.scriptPath+'plugins/',minWidth:200,minHeight:100,minChangeSize:5,items:['title','fontname','fontsize','textcolor','bgcolor','bold','italic','underline','strikethrough','removeformat','justifyleft','justifycenter','justifyright','justifyfull','link','unlink','emoticons','image','hr',],colorTable:[["#FFFFFF","#E5E4E4","#D9D8D8","#C0BDBD","#A7A4A4","#8E8A8B","#827E7F","#767173","#5C585A","#000000"],["#FEFCDF","#FEF4C4","#FEED9B","#FEE573","#FFED43","#F6CC0B","#E0B800","#C9A601","#AD8E00","#8C7301"],["#FFDED3","#FFC4B0","#FF9D7D","#FF7A4E","#FF6600","#E95D00","#D15502","#BA4B01","#A44201","#8D3901"],["#FFD2D0","#FFBAB7","#FE9A95","#FF7A73","#FF483F","#FE2419","#F10B00","#D40A00","#940000","#6D201B"],["#FFDAED","#FFB7DC","#FFA1D1","#FF84C3","#FF57AC","#FD1289","#EC0078","#D6006D","#BB005F","#9B014F"],["#FCD6FE","#FBBCFF","#F9A1FE","#F784FE","#F564FE","#F546FF","#F328FF","#D801E5","#C001CB","#8F0197"],["#E2F0FE","#C7E2FE","#ADD5FE","#92C7FE","#6EB5FF","#48A2FF","#2690FE","#0162F4","#013ADD","#0021B0"],["#D3FDFF","#ACFAFD","#7CFAFF","#4AF7FE","#1DE6FE","#01DEFF","#00CDEC","#01B6DE","#00A0C2","#0084A0"],["#EDFFCF","#DFFEAA","#D1FD88","#BEFA5A","#A8F32A","#8FD80A","#79C101","#3FA701","#307F00","#156200"],["#D4C89F","#DAAD88","#C49578","#C2877E","#AC8295","#C0A5C4","#969AC2","#92B7D7","#80ADAF","#9CA53B"]],noEndTags:['br','hr','img','area','col','embed','input','param'],inlineTags:['b','del','em','font','i','span','strike','strong','sub','sup','u'],htmlTags:{font:['color','size','face','.background-color'],span:['.color','.background-color','.font-size','.font-family','.font-weight','.font-style','.text-decoration','.vertical-align'],div:['class','align','.border','.margin','.padding','.text-align','.color','.background-color','.font-size','.font-family','.font-weight','.font-style','.text-decoration','.vertical-align'],table:['class','border','cellspacing','cellpadding','width','height','align','.padding','.margin','.border','bgcolor','.text-align','.color','.background-color','.font-size','.font-family','.font-weight','.font-style','.text-decoration'],'td,th':['class','align','valign','width','height','colspan','rowspan','bgcolor','.text-align','.color','.background-color','.font-size','.font-family','.font-weight','.font-style','.text-decoration','.vertical-align'],a:['class','href','target','name'],embed:['src','width','height','type','loop','autostart','quality','.width','.height','align','allowscriptaccess','/'],img:['src','width','height','border','alt','title','.width','.height','/'],hr:['class','/'],br:['/'],'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6':['align','.text-align','.color','.background-color','.font-size','.font-family','.font-weight','.font-style','.text-decoration','.vertical-align','.text-indent'],'tbody,tr,strong,b,sub,sup,em,i,u,strike':[]}};KE.g={};KE.plugin={};KE.$=function(id,doc){var doc=doc||document;return doc.getElementById(id);};KE.$$=function(name,doc){var doc=doc||document;return doc.createElement(name);};KE.event={add:function(el,event,listener){if(el.addEventListener){el.addEventListener(event,listener,false);}else if(el.attachEvent){el.attachEvent('on'+event,listener);}},remove:function(el,event,listener){if(el.removeEventListener){el.removeEventListener(event,listener,false);}else if(el.detachEvent){el.detachEvent('on'+event,listener);}},input:function(el,func){this.add(el,'keyup',function(e){if(!e.ctrlKey&&!e.shiftKey&&!e.altKey&&(e.keyCode<16||e.keyCode>18)&&e.keyCode!=116){func(e);return false;}});},ctrl:function(el,key,func){this.add(el,'keydown',function(e){if(e.ctrlKey&&e.keyCode==key.toUpperCase().charCodeAt(0)&&!e.shiftKey&&!e.altKey){func(e);return false;}});},ready:function(func){var loaded=false;var readyFunc=function(){if(loaded)return;loaded=true;func();};if(document.addEventListener){this.add(document,"DOMContentLoaded",readyFunc);}else if(document.attachEvent){this.add(document,"readystatechange",function(){if(document.readyState=="complete")readyFunc();});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){var ieReadyFunc=function(){if(loaded)return;try{document.documentElement.doScroll("left");}catch(e){setTimeout(ieReadyFunc,0);return;}
readyFunc();};ieReadyFunc();}}
this.add(window,'load',readyFunc);}};KE.each=function(obj,func){for(var key in obj){if(obj.hasOwnProperty(key))func(key,obj[key]);}};KE.eachNode=function(node,func){var walkNodes=function(parent){if(KE.util.getNodeType(parent)!=1)return true;var n=parent.firstChild;while(n!=null){var next=n.nextSibling;if(!func(n))return false;if(!walkNodes(n))return false;n=next;}
return true;};walkNodes(node);};KE.selection=function(win,doc){this.sel=null;this.range=null;this.keRange=null;this.init=function(){var sel=win.getSelection?win.getSelection():doc.selection;var range;try{if(sel.rangeCount>0)range=sel.getRangeAt(0);else range=sel.createRange();}catch(e){}
if(!range)range=KE.util.createRange(doc);this.sel=sel;this.range=range;var startNode,startPos,endNode,endPos;if(KE.browser=='IE'){if(range.item){var el=range.item(0);startNode=endNode=el;startPos=endPos=0;}else{var getStartEnd=function(isStart){var pointRange=range.duplicate();pointRange.collapse(isStart);var parentNode=pointRange.parentElement();var nodes=parentNode.childNodes;if(nodes.length==0)return{node:parentNode,pos:0};var startNode;var endElement;var startPos=0;var isEnd=false;var testRange=range.duplicate();testRange.moveToElementText(parentNode);for(var i=0,len=nodes.length;i<len;i++){var node=nodes[i];var cmp=testRange.compareEndPoints('StartToStart',pointRange);if(cmp>0){isEnd=true;}else if(cmp==0){if(node.nodeType==1){var keRange=new KE.range(doc);keRange.selectTextNode(node);return{node:keRange.startNode,pos:0};}else{return{node:node,pos:0};}}
if(node.nodeType==1){var nodeRange=range.duplicate();nodeRange.moveToElementText(node);testRange.setEndPoint('StartToEnd',nodeRange);if(isEnd)startPos+=nodeRange.text.length;else startPos=0;}else if(node.nodeType==3){testRange.moveStart('character',node.nodeValue.length);startPos+=node.nodeValue.length;}
if(!isEnd)startNode=node;}
if(!isEnd&&startNode.nodeType==1){var startNode=parentNode.lastChild;return{node:startNode,pos:startNode.nodeType==1?1:startNode.nodeValue.length};}
testRange=range.duplicate();testRange.moveToElementText(parentNode);testRange.setEndPoint('StartToEnd',pointRange);startPos-=testRange.text.replace(/\r\n|\n|\r/g,'').length;return{node:startNode,pos:startPos};};var start=getStartEnd(true);var end=getStartEnd(false);startNode=start.node;startPos=start.pos;endNode=end.node;endPos=end.pos;}}else{startNode=range.startContainer;startPos=range.startOffset;endNode=range.endContainer;endPos=range.endOffset;if(startNode.nodeType==1&&typeof startNode.childNodes[startPos]!="undefined"){startNode=startNode.childNodes[startPos];startPos=startNode.nodeType==1?0:startNode.nodeValue.length;}
if(endNode.nodeType==1&&typeof endNode.childNodes[endPos]!="undefined"){endNode=endNode.childNodes[endPos];endPos=endNode.nodeType==1?0:endNode.nodeValue.length;}}
var keRange=new KE.range(doc);keRange.setTextStart(startNode,startPos);keRange.setTextEnd(endNode,endPos);this.keRange=keRange;};this.init();this.addRange=function(keRange){this.keRange=keRange;if(KE.browser=='IE'){var getEndRange=function(isStart){var range=KE.util.createRange(doc);var node=isStart?keRange.startNode:keRange.endNode;if(node.nodeType==1){range.moveToElementText(node);range.collapse(isStart);}else if(node.nodeType==3){range=KE.util.getNodeStartRange(doc,node);var pos=isStart?keRange.startPos:keRange.endPos;range.moveStart('character',pos);}
return range;}
if(!this.range.item){var node=keRange.startNode;if(node==keRange.endNode&&KE.util.getNodeType(node)==1&&KE.util.getNodeTextLength(node)==0){var temp=doc.createTextNode(" ");node.appendChild(temp);this.range.moveToElementText(node);this.range.collapse(false);this.range.select();node.removeChild(temp);}else{this.range.setEndPoint('StartToStart',getEndRange(true));this.range.setEndPoint('EndToStart',getEndRange(false));this.range.select();}}}else{var range=new KE.range(doc);range.setTextStart(keRange.startNode,keRange.startPos);range.setTextEnd(keRange.endNode,keRange.endPos);this.range.setStart(range.startNode,range.startPos);this.range.setEnd(range.endNode,range.endPos);this.sel.removeAllRanges();this.sel.addRange(this.range);}};this.focus=function(){if(KE.browser=='IE'&&this.range!=null)this.range.select();}};KE.range=function(doc){this.startNode=null;this.startPos=null;this.endNode=null;this.endPos=null;this.getParentElement=function(){var scanParent=function(node,func){while(node!=null&&node.tagName!='body'){node=node.parentNode;if(func(node))return;}}
var nodeList=[];scanParent(this.startNode,function(node){nodeList.push(node);});var parentNode;scanParent(this.endNode,function(node){if(KE.util.inArray(node,nodeList)){parentNode=node;return true;}});return parentNode?parentNode:doc.body;};this.getNodeList=function(){var parentNode=this.getParentElement();var nodeList=[];var keRange=this;var startNode=this.startNode;var isStarted=false;if(parentNode==startNode)isStarted=true;if(isStarted)nodeList.push(parentNode);KE.eachNode(parentNode,function(node){if(node==startNode)isStarted=true;var range=new KE.range(doc);range.selectTextNode(node);if(range.comparePoints('START_TO_END',keRange)>=0)return false;if(isStarted)nodeList.push(node);return true;});return nodeList;};this.comparePoints=function(how,range){var compareNodes=function(nodeA,posA,nodeB,posB){var cmp;if(KE.browser=='IE'){var getStartRange=function(node,pos,isStart){var range=KE.util.createRange(doc);var type=KE.util.getNodeType(node);if(type==1){range.moveToElementText(node);range.collapse(isStart);}else if(type==3){range=KE.util.getNodeStartRange(doc,node);range.moveStart('character',pos);range.collapse(true);}
return range;}
var rangeA,rangeB;if(how=='START_TO_START'||how=='START_TO_END')rangeA=getStartRange(nodeA,posA,true);else rangeA=getStartRange(nodeA,posA,false);if(how=='START_TO_START'||how=='END_TO_START')rangeB=getStartRange(nodeB,posB,true);else rangeB=getStartRange(nodeB,posB,false);return rangeA.compareEndPoints('StartToStart',rangeB);}else{var rangeA=KE.util.createRange(doc);rangeA.selectNode(nodeA);if(how=='START_TO_START'||how=='START_TO_END')rangeA.collapse(true);else rangeA.collapse(false);var rangeB=KE.util.createRange(doc);rangeB.selectNode(nodeB);if(how=='START_TO_START'||how=='END_TO_START')rangeB.collapse(true);else rangeB.collapse(false);if(rangeA.compareBoundaryPoints(Range.START_TO_START,rangeB)>0){cmp=1;}else if(rangeA.compareBoundaryPoints(Range.START_TO_START,rangeB)==0){if(posA>posB)cmp=1;else if(posA==posB)cmp=0;else cmp=-1;}else{cmp=-1;}}
return cmp;}
if(how=='START_TO_START')return compareNodes(this.startNode,this.startPos,range.startNode,range.startPos);if(how=='START_TO_END')return compareNodes(this.startNode,this.startPos,range.endNode,range.endPos);if(how=='END_TO_START')return compareNodes(this.endNode,this.endPos,range.startNode,range.startPos);if(how=='END_TO_END')return compareNodes(this.endNode,this.endPos,range.endNode,range.endPos);};this.setTextStart=function(node,pos){var textNode=node;KE.eachNode(node,function(n){if(KE.util.getNodeType(n)==3&&n.nodeValue.length>0){textNode=n;pos=0;return false;}
return true;});this.setStart(textNode,pos);};this.setStart=function(node,pos){this.startNode=node;this.startPos=pos;if(this.endNode===null){this.endNode=node;this.endPos=pos;}};this.setTextEnd=function(node,pos){var textNode=node;KE.eachNode(node,function(n){if(KE.util.getNodeType(n)==3&&n.nodeValue.length>0){textNode=n;pos=n.nodeValue.length;}
return true;});this.setEnd(textNode,pos);};this.setEnd=function(node,pos){this.endNode=node;this.endPos=pos;if(this.startNode===null){this.startNode=node;this.startPos=pos;}};this.selectNode=function(node){this.setStart(node,0);this.setEnd(node,node.nodeType==1?0:node.nodeValue.length);};this.selectTextNode=function(node){this.setTextStart(node,0);this.setTextEnd(node,node.nodeType==1?0:node.nodeValue.length);};this.extractContents=function(isDelete){isDelete=(isDelete===false)?false:true;var thisRange=this;var startNode=this.startNode;var startPos=this.startPos;var endNode=this.endNode;var endPos=this.endPos;var extractTextNode=function(node,startPos,endPos){var length=node.nodeValue.length;var cloneNode=node.cloneNode(true);var centerNode=cloneNode.splitText(startPos);centerNode.splitText(endPos-startPos);if(isDelete){var center=node;if(startPos>0)center=node.splitText(startPos);if(endPos<length)center.splitText(endPos-startPos);center.parentNode.removeChild(center);}
return centerNode;};var isStarted=false;var isEnd=false;var extractNodes=function(parent,frag){if(KE.util.getNodeType(parent)!=1)return true;var node=parent.firstChild;while(node!=null){if(node==startNode)isStarted=true;if(node==endNode)isEnd=true;var nextNode=node.nextSibling;var type=KE.util.getNodeType(node);if(type==1){var range=new KE.range(doc);range.selectNode(node);if(isStarted&&range.comparePoints('END_TO_END',thisRange)<0){var cloneNode=node.cloneNode(true);frag.appendChild(cloneNode);if(isDelete){node.parentNode.removeChild(node);}}else{var childFlag=node.cloneNode(false);frag.appendChild(childFlag);if(!extractNodes(node,childFlag))return false;}}else if(type==3){if(isStarted){var textNode;if(node==startNode&&node==endNode){textNode=extractTextNode(node,startPos,endPos);frag.appendChild(textNode);return false;}else if(node==startNode){textNode=extractTextNode(node,startPos,node.nodeValue.length);frag.appendChild(textNode);}else if(node==endNode){textNode=extractTextNode(node,0,endPos);frag.appendChild(textNode);return false;}else{textNode=extractTextNode(node,0,node.nodeValue.length);frag.appendChild(textNode);}}}
node=nextNode;if(isEnd)return false;}
return true;}
var parentNode=this.getParentElement();var docFrag=parentNode.cloneNode(false);extractNodes(parentNode,docFrag);return docFrag;};this.cloneContents=function(){return this.extractContents(false);};this.getText=function(){var html=this.cloneContents().innerHTML;return html.replace(/<.*?>/g,"");};};KE.cmd=function(id){this.doc=KE.g[id].iframeDoc;this.keSel=KE.g[id].keSel;this.keRange=KE.g[id].keRange;this.mergeAttributes=function(el,attr){for(var i=0,len=attr.length;i<len;i++){KE.each(attr[i],function(key,value){if(key.charAt(0)=='.'){var jsKey=KE.util.getJsKey(key.substr(1));eval('el.style.'+jsKey+' = value;');}else{el.setAttribute(key,value);}});}
return el;};this.wrapTextNode=function(node,startPos,endPos,element,attributes){var length=node.nodeValue.length;var isFull=(startPos==0&&endPos==length);var range=new KE.range(this.doc);range.selectTextNode(node.parentNode);if(isFull&&node.parentNode.tagName==element.tagName&&range.comparePoints('END_TO_END',this.keRange)<=0&&range.comparePoints('START_TO_START',this.keRange)>=0){this.mergeAttributes(node.parentNode,attributes);return node;}else{var el=element.cloneNode(true);if(isFull){var cloneNode=node.cloneNode(true);el.appendChild(cloneNode);node.parentNode.replaceChild(el,node);return cloneNode;}else{var centerNode=node;if(startPos<endPos){if(startPos>0)centerNode=node.splitText(startPos);if(endPos<length)centerNode.splitText(endPos-startPos);var cloneNode=centerNode.cloneNode(true);el.appendChild(cloneNode);centerNode.parentNode.replaceChild(el,centerNode);return cloneNode;}else{if(startPos<length){centerNode=node.splitText(startPos);centerNode.parentNode.insertBefore(el,centerNode);}else{if(centerNode.nextSibling){centerNode.parentNode.insertBefore(el,centerNode.nextSibling);}else{centerNode.parentNode.appendChild(el);}}
return el;}}}};this.wrap=function(tagName,attributes){var self=this;this.keSel.focus();var element=KE.$$(tagName,this.doc);this.mergeAttributes(element,attributes);var keRange=this.keRange;var startNode=keRange.startNode;var startPos=keRange.startPos;var endNode=keRange.endNode;var endPos=keRange.endPos;var parentNode=keRange.getParentElement();var isStarted=false;KE.eachNode(parentNode,function(node){if(node==startNode)isStarted=true;if(node.nodeType==1){if(node==startNode&&node==endNode){if(KE.util.inArray(node.tagName.toLowerCase(),KE.setting.noEndTags)){if(startPos>0)node.parentNode.appendChild(element);else node.parentNode.insertBefore(element,node);}else{node.appendChild(element);}
keRange.selectNode(element);return false;}else if(node==startNode){keRange.setStart(node,0);}else if(node==endNode){keRange.setEnd(node,0);return false;}}else if(node.nodeType==3){if(isStarted){if(node==startNode&&node==endNode){var rangeNode=self.wrapTextNode(node,startPos,endPos,element,attributes);keRange.selectNode(rangeNode);return false;}else if(node==startNode){var rangeNode=self.wrapTextNode(node,startPos,node.nodeValue.length,element,attributes);keRange.setStart(rangeNode,0);}else if(node==endNode){var rangeNode=self.wrapTextNode(node,0,endPos,element,attributes);keRange.setEnd(rangeNode,rangeNode.nodeType==1?0:rangeNode.nodeValue.length);return false;}else{self.wrapTextNode(node,0,node.nodeValue.length,element,attributes);}}}
return true;});this.keSel.addRange(keRange);};this.getTopParent=function(tagNames,node){var parent=null;while(node!=null){node=node.parentNode;if(KE.util.inArray(node.tagName.toLowerCase(),tagNames)){parent=node;}else{break;}}
return parent;};this.splitNodeParent=function(parent,node,pos){var leftRange=new KE.range(this.doc);leftRange.selectNode(parent.firstChild);leftRange.setEnd(node,pos);var leftFrag=leftRange.extractContents();parent.parentNode.insertBefore(leftFrag,parent);return{left:leftFrag,right:parent};};this.remove=function(tagNames,attributes){var keRange=this.keRange;var startNode=keRange.startNode;var startPos=keRange.startPos;var endNode=keRange.endNode;var endPos=keRange.endPos;this.keSel.focus();if(keRange.getText().replace(/\s+/g,'')==='')return;var startParent=this.getTopParent(tagNames,startNode);var endParent=this.getTopParent(tagNames,endNode);if(startParent){var startFrags=this.splitNodeParent(startParent,startNode,startPos);keRange.setStart(startFrags.right,0);if(startNode==endNode&&KE.util.getNodeTextLength(startFrags.right)>0){keRange.selectNode(startFrags.right);var range=new KE.range(this.doc);range.selectTextNode(startFrags.left);if(startPos>0)endPos-=range.endNode.nodeValue.length;range.selectTextNode(startFrags.right);endNode=range.startNode;}}
if(endParent){var endFrags=this.splitNodeParent(endParent,endNode,endPos);this.keRange.setEnd(endFrags.left,0);if(startParent==endParent){keRange.setStart(endFrags.left,0);}}
var nodeList=keRange.getNodeList();keRange.setTextStart(keRange.startNode,keRange.startPos);keRange.setTextEnd(keRange.endNode,keRange.endPos);for(var i=0;i<nodeList.length;i++){var node=nodeList[i];if(node.nodeType==1){if(KE.util.inArray(node.tagName.toLowerCase(),tagNames)){KE.util.removeParent(node);}else{for(var j=0;j<attributes.length;j++){node.removeAttribute(attributes[j]);}}}}
try{this.keSel.addRange(keRange);}catch(e){}};};KE.format={getHtml:function(html,htmlTags){var isFilter=(typeof htmlTags=="undefined")?false:true;var domain=document.domain;var arrayToHash=function(arr){var hash={};for(var i=0,len=arr.length;i<len;i++)hash[arr[i]]=1;return hash;};var htmlTagHash={};if(isFilter){KE.each(htmlTags,function(key,val){var arr=key.split(',');for(var i=0,len=arr.length;i<len;i++)htmlTagHash[arr[i]]=arrayToHash(val);});}
var noEndTagHash=arrayToHash(KE.setting.noEndTags);var inlineTagHash=arrayToHash(KE.setting.inlineTags);html=html.replace(/<(\/)?(\w+)(.*?)(\/)?>/g,function($0,$1,$2,$3,$4){var startSlash=$1||'';var tagName=$2.toLowerCase();var attr=$3||'';var endSlash=$4||'';if(isFilter&&typeof htmlTagHash[tagName]=="undefined")return'';if(endSlash===''&&typeof noEndTagHash[tagName]!="undefined")endSlash=' /';var nl='';if(KE.browser=='IE'&&endSlash&&typeof inlineTagHash[tagName]=="undefined")nl="\r\n";if(attr!==''){attr=attr.replace(/\s*([^\s]+?)=(".*?"|[^\s]*)/g,function($0,$1,$2){var key=$1.toLowerCase();var val=$2||'';if(isFilter){if(key.charAt(0)==="."||(key!=="style"&&typeof htmlTagHash[tagName][key]=="undefined"))return' ';}
if(val===''){val='""';}else{if(key==="style"){val=val.substr(1,val.length-2);val=val.replace(/\s*([^\s]+?)\s*:(.*?)(;|$)/g,function($0,$1,$2){var k=$1.toLowerCase();if(isFilter){if(typeof htmlTagHash[tagName]['.'+k]=="undefined")return'';}
var v=KE.util.trim($2.toLowerCase());v=KE.util.rgbToHex(v);return k+':'+v+';';});val=KE.util.trim(val);if(val==='')return'';val='"'+val+'"';}
val=val.replace(/http:\/\/(.*?)\//g,function($0,$1){if($1===domain)return'/';else return $0;});if(val.charAt(0)!=='"')val='"'+val+'"';}
return' '+key+'='+val+' ';});attr=attr.replace(/\s+(checked|selected|disabled|readonly)(\s+|$)/ig,function($0,$1){var key=$1.toLowerCase();if(isFilter){if(key.charAt(0)==="."||typeof htmlTagHash[tagName][key]=="undefined")return' ';}
return' '+key+'="'+key+'"'+' ';});attr=KE.util.trim(attr);attr=attr.replace(/\s+/g,' ');if(attr)attr=' '+attr;return'<'+startSlash+tagName+attr+endSlash+'>'+nl;}else{return'<'+startSlash+tagName+endSlash+'>'+nl;}});return html;}};KE.util={getDocumentElement:function(){return(document.compatMode!="CSS1Compat")?document.body:document.documentElement;},getDocumentHeight:function(){var el=this.getDocumentElement();return Math.max(el.scrollHeight,el.clientHeight);},getDocumentWidth:function(){var el=this.getDocumentElement();return Math.max(el.scrollWidth,el.clientWidth);},createTable:function(){var table=KE.$$('table');table.cellPadding=0;table.cellSpacing=0;table.border=0;return{table:table,cell:table.insertRow(0).insertCell(0)};},loadStyle:function(path){var link=KE.$$('link');link.setAttribute('type','text/css');link.setAttribute('rel','stylesheet');link.setAttribute('href',path);document.getElementsByTagName("head")[0].appendChild(link);},inArray:function(str,arr){for(var i=0;i<arr.length;i++){if(str==arr[i])return true;}
return false;},trim:function(str){return str.replace(/^\s+|\s+$/g,"");},getJsKey:function(key){var arr=key.split('-');key='';for(var i=0,len=arr.length;i<len;i++){key+=(i>0)?arr[i].charAt(0).toUpperCase()+arr[i].substr(1):arr[i];}
return key;},escape:function(html){html=html.replace(/&/g,"&amp;");html=html.replace(/</g,"&lt;");html=html.replace(/>/g,"&gt;");html=html.replace(/\xA0/g,"&nbsp;");html=html.replace(/\x20/g," ");return html;},getElementPos:function(el){var x=0;var y=0;if(KE.browser!="WEBKIT"){var box=el.getBoundingClientRect();var el=this.getDocumentElement();x=box.left+el.scrollLeft-el.clientLeft;y=box.top+el.scrollTop-el.clientTop;}else{x=el.offsetLeft;y=el.offsetTop;var parent=el.offsetParent;while(parent){x+=parent.offsetLeft;y+=parent.offsetTop;parent=parent.offsetParent;}}
return{'x':x,'y':y};},getCoords:function(ev){ev=ev||window.event;var el=this.getDocumentElement();if(ev.pageX)return{x:ev.pageX,y:ev.pageY};return{x:ev.clientX+el.scrollLeft-el.clientLeft,y:ev.clientY+el.scrollTop-el.clientTop};},setOpacity:function(el,opacity){if(typeof el.style.opacity=="undefined"){el.style.filter=(opacity==100)?"":"alpha(opacity="+opacity+")";}else{el.style.opacity=(opacity==100)?"":"0."+opacity.toString();}},getIframeDoc:function(iframe){return iframe.contentDocument||iframe.contentWindow.document;},rgbToHex:function(str){function hex(s){s=parseInt(s).toString(16);return s.length>1?s:'0'+s;};return str.replace(/rgb\s*?\(\s*?(\d+)\s*?,\s*?(\d+)\s*?,\s*?(\d+)\s*?\)/ig,function($0,$1,$2,$3){return'#'+hex($1)+hex($2)+hex($3);});},getStyle:function(el,key){var arr=key.split('-');key="";for(var i=0,len=arr.length;i<len;i++){key+=(i>0)?arr[i].charAt(0).toUpperCase()+arr[i].substr(1):arr[i];}
var val=el.style[key];if(!val){var css=el.getAttribute("style");if(css){var re=new RegExp("(^|[^\w\-])"+key+"\s*:\s*([^;]+)","ig");var arr=re.exec(css);if(arr)val=arr[2];}}
return KE.util.rgbToHex(val);},createRange:function(doc){return doc.createRange?doc.createRange():doc.body.createTextRange();},getNodeType:function(node){return(node.nodeType==1&&KE.util.inArray(node.tagName.toLowerCase(),KE.setting.noEndTags))?88:node.nodeType;},getNodeTextLength:function(node){var type=KE.util.getNodeType(node);if(type==1){var html=node.innerHTML;return html.replace(/<.*?>/ig,"").length;}else if(type==3){return node.nodeValue.length;}},getNodeStartRange:function(doc,node){var range=KE.util.createRange(doc);var type=node.nodeType;if(type==1){range.moveToElementText(node);return range;}else if(type==3){var offset=0;var sibling=node.previousSibling;while(sibling){if(sibling.nodeType==1){var nodeRange=KE.util.createRange(doc);nodeRange.moveToElementText(sibling);range.setEndPoint('StartToEnd',nodeRange);range.moveStart('character',offset);return range;}else if(sibling.nodeType==3){offset+=sibling.nodeValue.length;}
sibling=sibling.previousSibling;}
range.moveToElementText(node.parentNode);range.moveStart('character',offset);return range;}},trimNodes:function(parent){if(KE.util.getNodeType(parent)!=1)return;if(KE.util.inArray(parent.tagName.toLowerCase(),KE.setting.inlineTags)&&KE.util.getNodeTextLength(parent)==0){parent.parentNode.removeChild(parent);return;}
KE.eachNode(parent,function(node){KE.util.trimNodes(node);return true;});},removeParent:function(parent){if(parent.hasChildNodes){var node=parent.firstChild;while(node!=null){var nextNode=node.nextSibling;parent.parentNode.insertBefore(node,parent);node=nextNode;}}
parent.parentNode.removeChild(parent);},drag:function(id,mousedownObj,moveObj,func,hideFlag){var obj=KE.g[id];mousedownObj.onmousedown=function(event){if(hideFlag&&obj.wyswygMode)obj.iframe.style.display='none';if(KE.browser!='IE')event.preventDefault();var ev=event||window.event;var pos=KE.util.getCoords(ev);var objTop=parseInt(moveObj.style.top);var objLeft=parseInt(moveObj.style.left);var objWidth=moveObj.style.width;var objHeight=moveObj.style.height;if(objWidth.match(/%$/))objWidth=moveObj.offsetWidth+'px';if(objHeight.match(/%$/))objHeight=moveObj.offsetHeight+'px';objWidth=parseInt(objWidth);objHeight=parseInt(objHeight);var mouseTop=pos.y;var mouseLeft=pos.x;var dragFlag=true;var moveListener=function(event){if(dragFlag){var ev=event||window.event;var pos=KE.util.getCoords(ev);var top=pos.y-mouseTop;var left=pos.x-mouseLeft;func(objTop,objLeft,objWidth,objHeight,top,left);}
return false;};var upListener=function(event){if(hideFlag&&obj.wyswygMode)obj.iframe.style.display='';dragFlag=false;KE.event.remove(document,'mousemove',moveListener);KE.event.remove(document,'mouseup',upListener);};KE.event.add(document,'mousemove',moveListener);KE.event.add(document,'mouseup',upListener);};},setDefaultPlugin:function(id){var items=['cut','copy','paste','selectall','justifyleft','justifycenter','justifyright','justifyfull','insertorderedlist','insertunorderedlist','indent','outdent','subscript','superscript','bold','italic','underline','strikethrough','unlink'];for(var i=0;i<items.length;i++){KE.plugin[items[i]]={click:new Function('id','KE.util.execCommand(id, "'+items[i]+'", null);')};}},getFullHtml:function(id,tagLineMode){var html='<html>';html+='<head>';html+='<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';html+='<title>KindEditor</title>';if(tagLineMode){html+='<link href="'+KE.g[id].skinsPath+'editor.css" rel="stylesheet" type="text/css" />';}
if(KE.g[id].cssPath){html+='<link href="'+KE.g[id].cssPath+'" rel="stylesheet" type="text/css" />';}
html+='</head>';html+='<body class="ke-content"></body>';html+='</html>';return html;},resize:function(id,width,height,isCheck,isResizeWidth){isResizeWidth=(typeof isResizeWidth=="undefined")?true:isResizeWidth;var obj=KE.g[id];if(isCheck&&(parseInt(width)<=obj.minWidth||parseInt(height)<=obj.minHeight))return;if(isResizeWidth)obj.container.style.width=width;obj.container.style.height=height;if(!obj.toolbarTable.offsetHeight){setTimeout(function(){KE.util.resize(id,width,height,isCheck,isResizeWidth);},0);return;}
var diff=parseInt(height)-obj.toolbarTable.offsetHeight-obj.bottom.offsetHeight;if(diff>=0){obj.textareaTable.style.height=diff+'px';obj.iframe.style.height=diff+'px';obj.newTextarea.style.height=diff+'px';}},getData:function(id){var obj=KE.g[id];if(!obj.wyswygMode){obj.iframeDoc.body.innerHTML=obj.newTextarea.value;}
if(obj.filterMode){return KE.format.getHtml(obj.iframeDoc.body.innerHTML,obj.htmlTags);}else{return KE.format.getHtml(obj.iframeDoc.body.innerHTML);}},getSrcData:function(id){var obj=KE.g[id];if(!obj.wyswygMode){obj.iframeDoc.body.innerHTML=obj.newTextarea.value;}
return obj.iframeDoc.body.innerHTML;},getPureData:function(id){var data=this.getSrcData(id);data=data.replace(/<br[\s\/]{0,2}>/ig,"\r\n");data=data.replace(/<.*?>/ig,"");data=data.replace(/&nbsp;/ig,"");return data;},setData:function(id){KE.g[id].srcTextarea.value=this.getData(id);},setPureData:function(id){KE.g[id].srcTextarea.value=this.getPureData(id);},focus:function(id){if(KE.g[id].wyswygMode){KE.g[id].iframeWin.focus();}else{KE.g[id].newTextarea.focus();}},click:function(id,cmd){KE.layout.hide(id);KE.util.focus(id);KE.plugin[cmd].click(id);},selection:function(id){var win=KE.g[id].iframeWin;var doc=KE.g[id].iframeDoc;KE.g[id].keSel=new KE.selection(win,doc);KE.g[id].keRange=KE.g[id].keSel.keRange;KE.g[id].sel=KE.g[id].keSel.sel;KE.g[id].range=KE.g[id].keSel.range;},select:function(id){if(KE.browser=='IE')KE.g[id].range.select();},pToBr:function(id){if(KE.browser=='IE'){KE.event.add(KE.g[id].iframeDoc,'keydown',function(e){if(e.keyCode==13){KE.util.selection(id);if(KE.g[id].range.parentElement().tagName!='LI'){KE.util.insertHtml(id,'<br />');KE.util.select(id);return false;}}});}},execCommand:function(id,cmd,value){try{KE.g[id].iframeDoc.execCommand(cmd,false,value);}catch(e){}
KE.toolbar.updateState(id);KE.history.add(id,false);},insertHtml:function(id,html){if(html=='')return;KE.util.select(id);if(KE.browser=='IE'){if(KE.g[id].sel.type.toLowerCase()=='control'){KE.g[id].range.item(0).outerHTML=html;}else{KE.g[id].range.pasteHTML(html);}
KE.history.add(id,false);}else{this.execCommand(id,'inserthtml',html);}}};KE.layout={show:function(id,div){KE.layout.hide(id);KE.g[id].hideDiv.appendChild(div);KE.g[id].hideDiv.style.display='block';KE.g[id].layoutDiv=div;},hide:function(id){try{KE.g[id].hideDiv.removeChild(KE.g[id].layoutDiv);}catch(e){}
KE.g[id].hideDiv.style.display='none';KE.g[id].maskDiv.style.display='none';KE.util.focus(id);},make:function(id){var div=KE.$$('div');div.style.position='absolute';div.style.zIndex=19811214;return div;}};KE.menu=function(arg){this.arg=arg;var div=KE.layout.make(arg.id);div.className='ke-menu';var obj=KE.g[arg.id].toolbarIcon[arg.cmd];var pos=KE.util.getElementPos(obj[0]);div.style.top=pos.y+obj[0].offsetHeight+'px';div.style.left=pos.x+'px';this.div=div;this.add=function(html,event){var cDiv=KE.$$('div');cDiv.className='ke-menu-noselected';cDiv.style.width=this.arg.width;cDiv.onmouseover=function(){this.className='ke-menu-selected';}
cDiv.onmouseout=function(){this.className='ke-menu-noselected';}
cDiv.onclick=event;cDiv.innerHTML=html;this.append(cDiv);};this.append=function(el){this.div.appendChild(el);};this.insert=function(html){this.div.innerHTML=html;};this.show=function(){KE.layout.show(this.arg.id,this.div);};this.picker=function(){var colorTable=KE.setting.colorTable;var table=KE.$$('table');table.cellPadding=0;table.cellSpacing=0;table.border=0;table.style.margin=0;table.style.padding=0;table.style.borderCollapse='separate';for(var i=0;i<colorTable.length;i++){var row=table.insertRow(i);for(var j=0;j<colorTable[i].length;j++){var cell=row.insertCell(j);cell.className='ke-picker-cell';cell.style.backgroundColor=colorTable[i][j];cell.title=colorTable[i][j];cell.onmouseover=function(){this.style.borderColor='#000000';}
cell.onmouseout=function(){this.style.borderColor='#F0F0EE';}
cell.onclick=new Function('KE.plugin["'+this.arg.cmd+'"].exec("'+
this.arg.id+'", "'+colorTable[i][j]+'")');cell.innerHTML='&nbsp;';}}
this.append(table);this.show();};};KE.dialog=function(arg){this.arg=arg;this.topHeight=20;this.bottomHeight=76;this.getPos=function(){var arg=this.arg;var id=this.arg.id;var obj=KE.g[id];var pos=KE.util.getElementPos(KE.g[id].container);var height=arg.height+this.topHeight+this.bottomHeight;var w=obj.container.style.width;var h=obj.container.style.height;if(w.match(/%$/))w=obj.container.offsetWidth+'px';if(h.match(/%$/))h=obj.container.offsetHeight+'px';var xDiff=Math.round(parseInt(w)/2)-Math.round(arg.width/2);var yDiff=Math.round(parseInt(h)/2)-Math.round(height/2);var x=xDiff<0?pos.x:pos.x+xDiff;var y=yDiff<0?pos.y:pos.y+yDiff;return{'x':x,'y':y};};this.show=function(){var arg=this.arg;var id=arg.id;var div=KE.layout.make(arg.id);div.className='ke-dialog';var pos=this.getPos();div.style.width=(arg.width+this.topHeight)+'px';div.style.height=(arg.height+this.bottomHeight)+'px';div.style.top=pos.y+'px';div.style.left=pos.x+'px';var titleDiv=KE.$$('div');titleDiv.className='ke-dialog-title';titleDiv.innerHTML=arg.title;var span=KE.$$('span');var url=KE.g[id].skinsPath+KE.g[id].skinType+'.gif';span.style.backgroundImage="url("+url+")";span.className="ke-toolbar-close";span.alt=KE.lang['close'];span.title=KE.lang['close'];span.onclick=new Function("KE.layout.hide('"+id+"')");titleDiv.appendChild(span);KE.util.drag(id,titleDiv,div,function(objTop,objLeft,objWidth,objHeight,top,left){div.style.top=(objTop+top)+'px';div.style.left=(objLeft+left)+'px';});div.appendChild(titleDiv);var bodyDiv=KE.$$('div');bodyDiv.className='ke-dialog-body';var dialog=KE.$$('iframe');if(arg.useFrameCSS){dialog.className='ke-dialog-iframe';}
dialog.width=arg.width+'px';dialog.height=arg.height+'px';dialog.setAttribute("frameBorder","0");bodyDiv.appendChild(dialog);div.appendChild(bodyDiv);var bottomDiv=KE.$$('div');bottomDiv.className='ke-dialog-bottom';var noButton=null;var yesButton=null;var previewButton=null;if(arg.noButton){noButton=KE.$$('input');noButton.className='ke-dialog-no';noButton.type='button';noButton.name='noButton';noButton.value=arg.noButton;noButton.onclick=new Function("KE.layout.hide('"+id+"')");bottomDiv.appendChild(noButton);}
if(arg.yesButton){yesButton=KE.$$('input');yesButton.className='ke-dialog-yes';yesButton.type='button';yesButton.name='yesButton';yesButton.value=arg.yesButton;yesButton.onclick=new Function("KE.plugin['"+arg.cmd+"'].exec('"+id+"')");bottomDiv.appendChild(yesButton);}
if(arg.previewButton){previewButton=KE.$$('input');previewButton.className='ke-dialog-preview';previewButton.type='button';previewButton.name='previewButton';previewButton.value=arg.previewButton;previewButton.onclick=new Function("KE.plugin['"+arg.cmd+"'].preview('"+id+"')");bottomDiv.appendChild(previewButton);}
if(arg.cmd!="image")
{div.appendChild(bottomDiv);}
KE.layout.show(id,div);window.focus();if(yesButton)yesButton.focus();else if(noButton)noButton.focus();if(typeof arg.html!="undefined"){var dialogDoc=KE.util.getIframeDoc(dialog);var html=KE.util.getFullHtml(id,false);dialogDoc.open();dialogDoc.write(html);dialogDoc.close();dialogDoc.body.innerHTML=arg.html;}else{if(arg.cmd=="image")
{dialog.src=KE.g[id].pluginsPath+'imgall.aspx';}
else
{dialog.src=KE.g[id].pluginsPath+arg.cmd+'.html';}}
KE.g[id].maskDiv.style.width=KE.util.getDocumentWidth()+'px';KE.g[id].maskDiv.style.height=KE.util.getDocumentHeight()+'px';KE.g[id].maskDiv.style.display='block';KE.g[id].dialog=dialog;KE.g[id].noButton=noButton;KE.g[id].yesButton=yesButton;KE.g[id].previewButton=previewButton;};};KE.toolbar={updateState:function(id){var cmdList=['justifyleft','justifycenter','justifyright','justifyfull','insertorderedlist','insertunorderedlist','indent','outdent','subscript','superscript','bold','italic','underline','strikethrough'];for(var i=0;i<cmdList.length;i++){var cmd=cmdList[i];var state=false;try{state=KE.g[id].iframeDoc.queryCommandState(cmd);}catch(e){}
if(state){KE.toolbar.select(id,cmd);}else{KE.toolbar.unselect(id,cmd);}}},isSelected:function(id,cmd){if(KE.plugin[cmd]&&KE.plugin[cmd].isSelected)return true;else return false;},select:function(id,cmd){if(KE.g[id].toolbarIcon[cmd]){var a=KE.g[id].toolbarIcon[cmd][0];a.className="ke-icon-selected";a.onmouseover=null;a.onmouseout=null;}},unselect:function(id,cmd){if(KE.g[id].toolbarIcon[cmd]){var a=KE.g[id].toolbarIcon[cmd][0];a.className="ke-icon";a.onmouseover=function(){this.className="ke-icon-on";};a.onmouseout=function(){this.className="ke-icon";};}},able:function(id,arr){KE.each(KE.g[id].toolbarIcon,function(cmd,obj){if(!KE.util.inArray(cmd,arr)){var a=obj[0];var span=obj[1];a.className='ke-icon';KE.util.setOpacity(span,100);a.onclick=new Function('KE.util.click("'+id+'", "'+cmd+'");');a.onmouseover=function(){this.className="ke-icon-on";};a.onmouseout=function(){this.className="ke-icon";};}});},disable:function(id,arr){KE.each(KE.g[id].toolbarIcon,function(cmd,obj){if(!KE.util.inArray(cmd,arr)){var a=obj[0];var span=obj[1];a.className='ke-icon-disabled';KE.util.setOpacity(span,50);a.onclick=null;a.onmouseover=null;a.onmouseout=null;}});},create:function(id){KE.g[id].toolbarIcon=[];var tableObj=KE.util.createTable();var toolbar=tableObj.table;toolbar.className='ke-toolbar';toolbar.oncontextmenu=function(){return false;};toolbar.onmousedown=function(){return false;};toolbar.onmousemove=function(){return false;};var toolbarCell=tableObj.cell;var length=KE.g[id].items.length;var cellNum=0;var row;for(var i=0;i<length;i++){var cmd=KE.g[id].items[i];if(i==0||cmd=='-'){var table=KE.util.createTable().table;table.className='ke-toolbar-table';row=table.insertRow(0);cellNum=0;toolbarCell.appendChild(table);if(cmd=='-')continue;}
var cell=row.insertCell(cellNum);cell.hideforcus=true;cellNum++;var a=KE.$$('a');a.className='ke-icon';a.href='javascript:;';a.onclick=new Function('KE.util.click("'+id+'", "'+cmd+'");');a.onmouseover=function(){this.className="ke-icon-on";};a.onmouseout=function(){this.className="ke-icon";};a.hidefocus=true;a.title=KE.lang[cmd];var span=KE.$$('span');span.className="ke-common-icon ke-icon-"+cmd;if(KE.util.inArray(cmd,KE.g[id].defaultItems)){var url=KE.g[id].skinsPath+KE.g[id].skinType+'.gif';span.style.backgroundImage="url("+url+")";}
a.appendChild(span);cell.appendChild(a);KE.g[id].toolbarIcon[cmd]=[a,span];if(KE.toolbar.isSelected(id,cmd))KE.toolbar.select(id,cmd);}
return toolbar;}};KE.history={add:function(id,minChangeFlag){var obj=KE.g[id];var html=KE.util.getSrcData(id);if(obj.undoStack.length>0){var prevHtml=obj.undoStack[obj.undoStack.length-1];if(html==prevHtml)return;if(minChangeFlag&&Math.abs(html.length-prevHtml.length)<obj.minChangeSize)return;}
obj.undoStack.push(html);obj.redoStack=[];},undo:function(id){var obj=KE.g[id];if(obj.undoStack.length==0)return;var html=KE.util.getSrcData(id);obj.redoStack.push(html);var prevHtml=obj.undoStack.pop();if(html==prevHtml&&obj.undoStack.length>0){prevHtml=obj.undoStack.pop();}
obj.iframeDoc.body.innerHTML=prevHtml;obj.newTextarea.value=prevHtml;},redo:function(id){var obj=KE.g[id];if(obj.redoStack.length==0)return;var html=KE.util.getSrcData(id);obj.undoStack.push(html);var nextHtml=obj.redoStack.pop();obj.iframeDoc.body.innerHTML=nextHtml;obj.newTextarea.value=nextHtml;}};KE.remove=function(id,mode){mode=(typeof mode=="undefined")?0:mode;var container=KE.g[id].container;if(mode==1){document.body.removeChild(container);}else{var srcTextarea=KE.$(id);srcTextarea.parentNode.removeChild(container);}
document.body.removeChild(KE.g[id].hideDiv);document.body.removeChild(KE.g[id].maskDiv);KE.g[id].containner=null;};KE.create=function(id,mode){if(KE.browser=='IE')try{document.execCommand('BackgroundImageCache',false,true);}catch(e){}
var srcTextarea=KE.$(id);mode=(typeof mode=="undefined")?0:mode;if(mode==0&&KE.g[id].container!=null)return;var width=KE.g[id].width||srcTextarea.style.width||srcTextarea.offsetWidth+'px';var height=KE.g[id].height||srcTextarea.style.height||srcTextarea.offsetHeight+'px';var tableObj=KE.util.createTable();var container=tableObj.table;container.className='ke-container';container.style.width=width;container.style.height=height;var toolbarOuter=tableObj.cell;toolbarOuter.className='ke-toolbar-outer';var textareaOuter=container.insertRow(1).insertCell(0);textareaOuter.className='ke-textarea-outer';tableObj=KE.util.createTable();var textareaTable=tableObj.table;textareaTable.className='ke-textarea-table';var textareaCell=tableObj.cell;textareaOuter.appendChild(textareaTable);var bottomOuter=container.insertRow(2).insertCell(0);bottomOuter.className='ke-bottom-outer';if(mode==1)document.body.appendChild(container);else srcTextarea.parentNode.insertBefore(container,srcTextarea);var toolbarTable=KE.toolbar.create(id);toolbarOuter.appendChild(toolbarTable);var iframe=KE.$$('iframe');iframe.className='ke-iframe';iframe.setAttribute("frameBorder","0");var newTextarea=KE.$$('textarea');newTextarea.className='ke-textarea';newTextarea.style.display='none';textareaCell.appendChild(iframe);textareaCell.appendChild(newTextarea);var bottom=KE.$$('table');bottom.className='ke-bottom';bottom.cellPadding=0;bottom.cellSpacing=0;bottom.border=0;var row=bottom.insertRow(0);var bottomLeft=row.insertCell(0);bottomLeft.className='ke-bottom-left';var bottomRight=row.insertCell(1);bottomRight.className='ke-bottom-right';var span=KE.$$('span');var url=KE.g[id].skinsPath+KE.g[id].skinType+'.gif';span.style.backgroundImage="url("+url+")";span.className='ke-bottom-right-img';bottomRight.appendChild(span);bottomOuter.appendChild(bottom);var hideDiv=KE.$$('div');hideDiv.style.display='none';var maskDiv=KE.$$('div');maskDiv.className='ke-mask';KE.util.setOpacity(maskDiv,50);document.body.appendChild(hideDiv);document.body.appendChild(maskDiv);srcTextarea.style.display="none";KE.util.setDefaultPlugin(id);var iframeWin=iframe.contentWindow;var iframeDoc=KE.util.getIframeDoc(iframe);iframeDoc.designMode="On";var html=KE.util.getFullHtml(id,KE.g[id].tagLineMode);iframeDoc.open();iframeDoc.write(html);iframeDoc.close();if(!KE.g[id].wyswygMode){newTextarea.value=srcTextarea.value;newTextarea.style.display='block';iframe.style.display='none';KE.toolbar.disable(id,['source','preview','fullscreen']);KE.toolbar.select(id,'source');}
if(KE.g[id].autoOnsubmitMode){var form=srcTextarea.parentNode;while(form!=null&&form.tagName!='FORM'){form=form.parentNode;}
if(form!=null&&form.tagName=='FORM'){KE.event.add(form,'submit',new Function('KE.util.setData("'+id+'")'));}}
KE.event.add(iframeDoc,'click',new Function('KE.layout.hide("'+id+'")'));KE.event.add(iframeDoc,'click',new Function('KE.toolbar.updateState("'+id+'")'));KE.event.input(iframeDoc,new Function('KE.history.add("'+id+'", true)'));KE.event.input(iframeDoc,new Function('KE.toolbar.updateState("'+id+'")'));KE.event.add(newTextarea,'click',new Function('KE.layout.hide("'+id+'")'));KE.event.input(newTextarea,new Function('KE.history.add("'+id+'", true)'));KE.g[id].container=container;KE.g[id].toolbarTable=toolbarTable;KE.g[id].textareaTable=textareaTable;KE.g[id].iframe=iframe;KE.g[id].newTextarea=newTextarea;KE.g[id].srcTextarea=srcTextarea;KE.g[id].bottom=bottom;KE.g[id].hideDiv=hideDiv;KE.g[id].maskDiv=maskDiv;KE.g[id].iframeWin=iframeWin;KE.g[id].iframeDoc=iframeDoc;KE.g[id].width=width;KE.g[id].height=height;KE.util.resize(id,width,height);KE.util.drag(id,bottomRight,container,function(objTop,objLeft,objWidth,objHeight,top,left){if(KE.g[id].resizeMode==2)KE.util.resize(id,(objWidth+left)+'px',(objHeight+top)+'px',true);else if(KE.g[id].resizeMode==1)KE.util.resize(id,objWidth+'px',(objHeight+top)+'px',true,false);},true);KE.util.drag(id,bottomLeft,container,function(objTop,objLeft,objWidth,objHeight,top,left){if(KE.g[id].resizeMode>0)KE.util.resize(id,objWidth+'px',(objHeight+top)+'px',true,false);},true);for(var i=0,len=KE.g[id].items.length;i<len;i++){var cmd=KE.g[id].items[i];if(KE.plugin[cmd]&&KE.plugin[cmd].init)KE.plugin[cmd].init(id);}
if(srcTextarea.value!=="")iframeDoc.body.innerHTML=srcTextarea.value;KE.history.add(id,false);};KE.init=function(config){config.wyswygMode=(typeof config.wyswygMode=="undefined")?KE.setting.wyswygMode:config.wyswygMode;config.autoOnsubmitMode=(typeof config.autoOnsubmitMode=="undefined")?KE.setting.autoOnsubmitMode:config.autoOnsubmitMode;config.resizeMode=(typeof config.resizeMode=="undefined")?KE.setting.resizeMode:config.resizeMode;config.filterMode=(typeof config.filterMode=="undefined")?KE.setting.filterMode:config.filterMode;config.tagLineMode=(typeof config.tagLineMode=="undefined")?KE.setting.tagLineMode:config.tagLineMode;config.skinType=config.skinType||KE.setting.skinType;config.cssPath=config.cssPath||KE.setting.cssPath;config.skinsPath=config.skinsPath||KE.setting.skinsPath;config.pluginsPath=config.pluginsPath||KE.setting.pluginsPath;config.minWidth=config.minWidth||KE.setting.minWidth;config.minHeight=config.minHeight||KE.setting.minHeight;config.minChangeSize=config.minChangeSize||KE.setting.minChangeSize;config.defaultItems=KE.setting.items;config.items=config.items||KE.setting.items;config.htmlTags=config.htmlTags||KE.setting.htmlTags;KE.g[config.id]=config;KE.g[config.id].undoStack=[];KE.g[config.id].redoStack=[];KE.util.loadStyle(config.skinsPath+config.skinType+'.css');}
KE.show=function(config){KE.init(config);KE.event.ready(new Function('KE.create("'+config.id+'")'));};KE.plugin['bgcolor']={click:function(id){KE.util.selection(id);var menu=new KE.menu({id:id,cmd:'bgcolor'});menu.picker();},exec:function(id,value){var cmd=new KE.cmd(id);cmd.wrap('span',[{'.background-color':value}]);KE.history.add(id,false);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['fontname']={click:function(id){var fontName={'SimSun':'宋体','SimHei':'黑体','FangSong_GB2312':'仿宋体','KaiTi_GB2312':'楷体','NSimSun':'新宋体','Arial':'Arial','Arial Black':'Arial Black','Times New Roman':'Times New Roman','Courier New':'Courier New','Tahoma':'Tahoma','Verdana':'Verdana'};var cmd='fontname';KE.util.selection(id);var menu=new KE.menu({id:id,cmd:cmd,width:'160px'});KE.each(fontName,function(key,value){var html='<span style="font-family: '+key+';">'+value+'</span>';menu.add(html,new Function('KE.plugin["'+cmd+'"].exec("'+id+'", "'+key+'")'));});menu.show();},exec:function(id,value){var cmd=new KE.cmd(id);cmd.wrap('span',[{'.font-family':value}]);KE.history.add(id,false);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['fontsize']={click:function(id){var fontSize=['9px','10px','12px','14px','16px','18px','24px','32px'];var cmd='fontsize';KE.util.selection(id);var menu=new KE.menu({id:id,cmd:cmd,width:'100px'});for(var i=0,len=fontSize.length;i<len;i++){var value=fontSize[i];var html='<span style="font-size: '+value+';">'+value+'</span>';menu.add(html,new Function('KE.plugin["'+cmd+'"].exec("'+id+'", "'+value+'")'));}
menu.show();},exec:function(id,value){var cmd=new KE.cmd(id);cmd.wrap('span',[{'.font-size':value}]);KE.history.add(id,false);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['removeformat']={click:function(id){KE.util.selection(id);var cmd=new KE.cmd(id);cmd.remove(KE.setting.inlineTags,['class','style']);KE.history.add(id,false);KE.toolbar.updateState(id);KE.util.focus(id);}};KE.plugin['textcolor']={click:function(id){KE.util.selection(id);var menu=new KE.menu({id:id,cmd:'textcolor'});menu.picker();},exec:function(id,value){var cmd=new KE.cmd(id);cmd.wrap('span',[{'.color':value}]);KE.history.add(id,false);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['emoticons']={icon:'emoticons.gif',click:function(id){var emoticonTable=[['1x.gif','2x.gif','3x.gif','4x.gif','5x.gif','6x.gif','7x.gif','8x.gif','9x.gif','10x.gif','11x.gif','12x.gif'],['13x.gif','14x.gif','15x.gif','16x.gif','17x.gif','18x.gif','19x.gif','20x.gif','21x.gif','22x.gif','23x.gif','24x.gif'],['25x.gif','26x.gif','27x.gif','28x.gif','29x.gif','30x.gif','31x.gif','32x.gif','33x.gif','34x.gif','35x.gif','36x.gif'],['37x.gif','38x.gif','39x.gif','40x.gif','41x.gif','42x.gif','43x.gif','44x.gif','45x.gif','46x.gif','47x.gif','48x.gif'],['49x.gif','50x.gif','51x.gif','52x.gif','53x.gif','54x.gif','55x.gif','56x.gif','57x.gif','58x.gif','59x.gif','60x.gif'],['61x.gif','62x.gif','63x.gif','64x.gif','65x.gif','66x.gif','67x.gif','68x.gif','69x.gif','70x.gif','71x.gif','72x.gif'],['73x.gif','74x.gif','75x.gif','76x.gif','77x.gif','78x.gif','79x.gif','80x.gif','84x.gif','82x.gif','83x.gif','81x.gif'],['85x.gif','86x.gif','87x.gif','88x.gif','89x.gif','90x.gif','91x.gif','92x.gif','93x.gif','94x.gif','95x.gif','103x.gif'],['97x.gif','98x.gif','99x.gif','100x.gif','101x.gif','102x.gif','96x.gif','104x.gif','105x.gif','106x.gif','107x.gif','108x.gif']];var cmd='emoticons';KE.util.selection(id);var table=KE.$$('table');table.cellPadding=0;table.cellSpacing=2;table.border=0;table.style.margin=0;table.style.padding=0;table.style.borderCollapse='separate';table.style.borderSpacing='2px';for(var i=0;i<emoticonTable.length;i++){var row=table.insertRow(i);for(var j=0;j<emoticonTable[i].length;j++){var cell=row.insertCell(j);cell.style.margin=0;cell.style.width=22;cell.style.height=22;cell.style.padding='1px';cell.style.border='1px solid #F0F0EE';cell.style.cursor='pointer';cell.onmouseover=function(){this.style.borderColor='#000000';}
cell.onmouseout=function(){this.style.borderColor='#F0F0EE';ctselectout();}
cell.onclick=new Function('KE.plugin["'+cmd+'"].exec("'+id+'", "'+emoticonTable[i][j]+'")');var src=KE.g[id].pluginsPath+'emoticons/'+emoticonTable[i][j];cell.innerHTML="<img src="+KE.g[id].pluginsPath+'emoticons/'+emoticonTable[i][j]+" border='0'  onmousemove=insertface(src.replace('x',''),"+i+","+j+")>";}}
var menu=new KE.menu({id:id,cmd:cmd});var div=KE.$$('div');div.className='big_face';div.style.position='absolute';div.style.display='none';div.id='big_face';div.innerHTML='';menu.append(div);menu.append(table);menu.show();},exec:function(id,value){KE.util.select(id);var html='<img src="'+KE.g[id].pluginsPath+'emoticons/'+value.replace('x','')+'" border="0" />';KE.util.insertHtml(id,html);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['image']={click:function(id){KE.util.selection(id);var dialog=new KE.dialog({id:id,cmd:'image',width:527,height:518,title:KE.lang['image'],yesButton:KE.lang['yes'],noButton:KE.lang['no']});dialog.show();},check:function(id){var dialogDoc=KE.util.getIframeDoc(KE.g[id].dialog);var type=KE.$('type',dialogDoc).value;var url='';if(type==1){url=KE.$('imgFile',dialogDoc).value;}else{url=KE.$('url',dialogDoc).value;}
var width=KE.$('imgWidth',dialogDoc).value;var height=KE.$('imgHeight',dialogDoc).value;var border=KE.$('imgBorder',dialogDoc).value;if(!url.match(/\.(jpg|jpeg|gif|bmp|png)(\s|$)/i)){alert(KE.lang['invalidImg']);window.focus();KE.g[id].yesButton.focus();return false;}
if(width.match(/^\d+$/)==null){alert(KE.lang['invalidWidth']);window.focus();KE.g[id].yesButton.focus();return false;}
if(height.match(/^\d+$/)==null){alert(KE.lang['invalidHeight']);window.focus();KE.g[id].yesButton.focus();return false;}
if(border.match(/^\d+$/)==null){alert(KE.lang['invalidBorder']);window.focus();KE.g[id].yesButton.focus();return false;}
return true;},exec:function(id){KE.util.select(id);var dialogDoc=KE.util.getIframeDoc(KE.g[id].dialog);var type=KE.$('type',dialogDoc).value;if(!this.check(id))return false;if(type==1){KE.$('editorId',dialogDoc).value=id;dialogDoc.uploadForm.submit();return false;}else{var url=KE.$('url',dialogDoc).value;var title=KE.$('imgTitle',dialogDoc).value;var width=KE.$('imgWidth',dialogDoc).value;var height=KE.$('imgHeight',dialogDoc).value;var border=KE.$('imgBorder',dialogDoc).value;this.insert(id,url,title,width,height,border);}},insert:function(id,url,title,width,height,border){var html='<img onload="javascript:ResizeImages(this)"  src="'+url+'" ';if(width>0)html+='width="'+width+'" ';if(height>0)html+='height="'+height+'" ';if(title)html+='title="'+title+'" ';html+='alt="'+title+'" ';html+='border="'+border+'" />';KE.util.insertHtml(id,html);KE.layout.hide(id);KE.util.focus(id);}};KE.plugin['link']={click:function(id){KE.util.selection(id);var dialog=new KE.dialog({id:id,cmd:'link',width:310,height:70,title:KE.lang['link'],yesButton:KE.lang['yes'],noButton:KE.lang['no']});dialog.show();},exec:function(id){KE.util.select(id);var iframeDoc=KE.g[id].iframeDoc;var range=KE.g[id].range;var dialogDoc=KE.util.getIframeDoc(KE.g[id].dialog);var url=KE.$('hyperLink',dialogDoc).value;var target=KE.$('linkType',dialogDoc).value;if(url.match(/\w+:\/\/.{3,}/)==null){alert(KE.lang['invalidUrl']);window.focus();KE.g[id].yesButton.focus();return false;}
var node;if(KE.browser=='IE'){node=range.item?range.item(0).parentNode:iframeDoc.body;}else{node=(range.startContainer==range.endContainer)?range.startContainer.parentNode:iframeDoc.body;}
if(node&&node.tagName=='A')node=node.parentNode;if(!node)node=iframeDoc.body;iframeDoc.execCommand("createlink",false,"__ke_temp_url__");var arr=node.getElementsByTagName('a');for(var i=0,l=arr.length;i<l;i++){if(arr[i].href.match(/\/?__ke_temp_url__$/)!=null){arr[i].href=url;if(target)arr[i].target=target;}}
KE.history.add(id);KE.layout.hide(id);KE.util.focus(id);}};function insertface(path,y,x)
{var string;string="<img src='"+path+"' />"
document.getElementById("big_face").style.display='';document.getElementById("big_face").style.left=(x+1)*28;document.getElementById("big_face").style.top=(y+1)*30;document.getElementById("big_face").innerHTML="<img src='"+path.replace('x','')+"' />"}
function ctselectout()
{document.getElementById("big_face").style.display='none';}