﻿var KE={};KE.version="3.4";KE.lang={source:"切换模式",undo:"后退(Ctrl+Z)",redo:"前进(Ctrl+Y)",cut:"剪切(Ctrl+X)",copy:"复制(Ctrl+C)",paste:"粘贴(Ctrl+V)",plainpaste:"粘贴为无格式文本",wordpaste:"从Word粘贴",selectall:"全选",justifyleft:"左对齐",justifycenter:"居中",justifyright:"右对齐",justifyfull:"两端对齐",insertorderedlist:"编号",insertunorderedlist:"项目符号",indent:"增加缩进",outdent:"减少缩进",subscript:"下标",superscript:"上标",title:"标题",fontname:"字体",fontsize:"文字大小",textcolor:"文字颜色",bgcolor:"文字背景",bold:"粗体",italic:"斜体",underline:"下划线",strikethrough:"删除线",removeformat:"删除格式",image:"图片",flash:"插入Flash",media:"插入多媒体",table:"插入表格",hr:"插入横线",emoticons:"插入笑脸",link:"超级连接",unlink:"取消超级连接",fullscreen:"全屏显示",about:"关于",print:"打印",yes:"确定",no:"取消",close:"关闭",editImage:"图片属性",deleteImage:"删除图片",editLink:"超级连接属性",deleteLink:"取消超级连接",noColor:"无填充颜色",invalidImg:"请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。",invalidMedia:"请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。",invalidWidth:"宽度必须为数字。",invalidHeight:"高度必须为数字。",invalidBorder:"边框必须为数字。",invalidUrl:"请输入有效的URL地址。",pleaseInput:"请输入内容",cutError:"您的浏览器安全设置不允许使用剪切操作，请使用快捷键(Ctrl+X)来完成。",copyError:"您的浏览器安全设置不允许使用复制操作，请使用快捷键(Ctrl+C)来完成。",pasteError:"您的浏览器安全设置不允许使用粘贴操作，请使用快捷键(Ctrl+V)来完成。"};KE.scriptPath=(function(){var c=document.getElementsByTagName("script");for(var b=0,a=c.length;b<a;b++){if(c[b].src&&c[b].src.match(/kindeditor[\w\-\.]*\.js/)){return c[b].src.substring(0,c[b].src.lastIndexOf("/")+1);}}return"";})();KE.browser=(function(){var a=navigator.userAgent.toLowerCase();return{VERSION:a.match(/(msie|firefox|webkit|opera)[\/:\s](\d+)/)?RegExp.$2:"0",IE:(a.indexOf("msie")>-1&&a.indexOf("opera")==-1),GECKO:(a.indexOf("gecko")>-1&&a.indexOf("khtml")==-1),WEBKIT:(a.indexOf("applewebkit")>-1),OPERA:(a.indexOf("opera")>-1)};})();KE.setting={wyswygMode:true,autoOnsubmitMode:true,loadStyleMode:true,resizeMode:2,filterMode:false,urlType:"relative",skinType:"oxygen",newlineTag:"br",cssPath:"",skinsPath:KE.scriptPath+"skins/",pluginsPath:KE.scriptPath+"plugins/",minWidth:200,minHeight:100,minChangeSize:5,items:["source","fullscreen","undo","redo","print","cut","copy","paste","plainpaste","wordpaste","justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","selectall","-","title","fontname","fontsize","textcolor","bgcolor","bold","italic","underline","strikethrough","removeformat","image","flash","media","table","hr","emoticons","link","unlink"],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"],endlineTags:["br","hr","table","tbody","td","tr","th","div","p","ol","ul","li","blockquote","h1","h2","h3","h4","h5","h6"],htmlTags:{font:["color","size","face",".background-color"],span:["style"],div:["class","align","style"],table:["class","border","cellspacing","cellpadding","width","height","align","style"],"td,th":["class","align","valign","width","height","colspan","rowspan","bgcolor","style"],a:["class","href","target","name","style"],embed:["src","width","height","type","loop","autostart","quality","style","align","allowscriptaccess","/"],img:["src","width","height","border","alt","title","align","style","/"],hr:["class","/"],br:["/"],"p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6":["align","style"],"tbody,tr,strong,b,sub,sup,em,i,u,strike":[]},mediaTypes:{rm:"audio/x-pn-realaudio-plugin",flash:"application/x-shockwave-flash",media:"video/x-ms-asf-plugin"}};KE.g={};KE.plugin={};KE.$=function(b,a){var a=a||document;return a.getElementById(b);};KE.$$=function(a,b){var b=b||document;return b.createElement(a);};KE.event={add:function(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false);}else{if(a.attachEvent){a.attachEvent("on"+b,c);}}},remove:function(a,b,c){if(a.removeEventListener){a.removeEventListener(b,c,false);}else{if(a.detachEvent){a.detachEvent("on"+b,c);}}},input:function(a,b){this.add(a,"keyup",function(c){if(!c.ctrlKey&&!c.altKey&&(c.keyCode<16||c.keyCode>18)&&c.keyCode!=116){b(c);if(c.preventDefault){c.preventDefault();}if(c.stopPropagation){c.stopPropagation();}return false;}});},ctrl:function(b,a,c){this.add(b,"keydown",function(d){if(d.ctrlKey&&d.keyCode==a.toUpperCase().charCodeAt(0)&&!d.shiftKey&&!d.altKey){c(d);if(d.preventDefault){d.preventDefault();}if(d.stopPropagation){d.stopPropagation();}return false;}});},ready:function(c,f,e){var f=f||window;var e=e||document;var b=false;var d=function(){if(b){return;}b=true;c();};if(e.addEventListener){this.add(e,"domcontentloaded",d);}else{if(e.attachEvent){this.add(e,"readystatechange",function(){if(e.readyState=="complete"){d();}});if(e.documentElement.doScroll&&typeof f.frameElement==="undefined"){var a=function(){if(b){return;}try{e.documentElement.doScroll("left");}catch(g){window.setTimeout(a,0);return;}d();};a();}}}this.add(f,"load",d);}};KE.each=function(c,b){for(var a in c){if(c.hasOwnProperty(a)){b(a,c[a]);}}};KE.eachNode=function(c,b){var a=function(e){if(KE.util.getNodeType(e)!=1){return true;}var f=e.firstChild;while(f){var d=f.nextSibling;if(!b(f)){return false;}if(!a(f)){return false;}f=d;}return true;};a(c);};KE.selection=function(b,a){this.sel=null;this.range=null;this.keRange=null;this.init=function(){var f=b.getSelection?b.getSelection():a.selection;var k;try{if(f.rangeCount>0){k=f.getRangeAt(0);}else{k=f.createRange();}}catch(m){}if(!k){k=KE.util.createRange(a);}this.sel=f;this.range=k;var h,n,l,d;if(KE.browser.IE){if(k.item){var g=k.item(0);h=l=g;n=d=0;}else{var o=function(e){var B=k.duplicate();B.collapse(e);var y=B.parentElement();var p=y.childNodes;if(p.length==0){return{node:y,pos:0};}var r;var q;var A=0;var v=false;var w=k.duplicate();w.moveToElementText(y);for(var x=0,z=p.length;x<z;x++){var u=p[x];var C=w.compareEndPoints("StartToStart",B);if(C>0){v=true;}else{if(C==0){if(u.nodeType==1){var t=new KE.range(a);t.selectTextNode(u);return{node:t.startNode,pos:0};}else{return{node:u,pos:0};}}}if(u.nodeType==1){var s=k.duplicate();s.moveToElementText(u);w.setEndPoint("StartToEnd",s);if(v){A+=s.text.length;}else{A=0;}}else{if(u.nodeType==3){w.moveStart("character",u.nodeValue.length);A+=u.nodeValue.length;}}if(!v){r=u;}}if(!v&&r.nodeType==1){var r=y.lastChild;return{node:r,pos:r.nodeType==1?1:r.nodeValue.length};}w=k.duplicate();w.moveToElementText(y);w.setEndPoint("StartToEnd",B);A-=w.text.replace(/\r\n|\n|\r/g,"").length;return{node:r,pos:A};};var c=o(true);var j=o(false);h=c.node;n=c.pos;l=j.node;d=j.pos;}}else{h=k.startContainer;n=k.startOffset;l=k.endContainer;d=k.endOffset;if(h.nodeType==1&&typeof h.childNodes[n]!="undefined"){h=h.childNodes[n];n=0;}if(l.nodeType==1&&d>0){if(typeof l.childNodes[d-1]!="undefined"){l=l.childNodes[d-1];d=(l.nodeType==1)?0:l.nodeValue.length;}}}var i=new KE.range(a);i.setTextStart(h,n);i.setTextEnd(l,d);this.keRange=i;};this.init();this.addRange=function(g){if(KE.browser.GECKO&&KE.browser.VERSION<3){return;}this.keRange=g;if(KE.browser.IE){var d=function(i){var j=KE.util.createRange(a);var k=i?g.startNode:g.endNode;if(k.nodeType==1){j.moveToElementText(k);j.collapse(i);}else{if(k.nodeType==3){j=KE.util.getNodeStartRange(a,k);var l=i?g.startPos:g.endPos;j.moveStart("character",l);}}return j;};if(!this.range.item){var h=g.startNode;if(h==g.endNode&&KE.util.getNodeType(h)==1&&KE.util.getNodeTextLength(h)==0){var f=a.createTextNode(" ");h.appendChild(f);this.range.moveToElementText(h);this.range.collapse(false);this.range.select();h.removeChild(f);}else{this.range.setEndPoint("StartToStart",d(true));this.range.setEndPoint("EndToStart",d(false));this.range.select();}}}else{var c=function(i){var j=0;while(i){i=i.previousSibling;j++;}return --j;};var e=new KE.range(a);e.setTextStart(g.startNode,g.startPos);e.setTextEnd(g.endNode,g.endPos);if(KE.util.getNodeType(e.startNode)==88){this.range.setStart(e.startNode.parentNode,c(e.startNode));}else{this.range.setStart(e.startNode,e.startPos);}if(KE.util.getNodeType(e.endNode)==88){this.range.setEnd(e.endNode.parentNode,c(e.endNode)+1);}else{this.range.setEnd(e.endNode,e.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(a){this.startNode=null;this.startPos=null;this.endNode=null;this.endPos=null;this.getParentElement=function(){var d=function(f,e){while(f&&(!f.tagName||f.tagName.toLowerCase()!="body")){f=f.parentNode;if(e(f)){return;}}};var c=[];d(this.startNode,function(e){c.push(e);});var b;d(this.endNode,function(e){if(KE.util.inArray(e,c)){b=e;return true;}});return b?b:a.body;};this.getNodeList=function(){var b=this.getParentElement();var f=[];var c=this;var e=this.startNode;var d=false;if(b==e){d=true;}if(d){f.push(b);}KE.eachNode(b,function(h){if(h==e){d=true;}var g=new KE.range(a);g.selectTextNode(h);if(g.comparePoints("START_TO_END",c)>=0){return false;}if(d){f.push(h);}return true;});return f;};this.comparePoints=function(c,b){var d=function(k,e,j,l){var h;if(KE.browser.IE){var f=function(p,q,m){var n=KE.util.createRange(a);var o=KE.util.getNodeType(p);if(o==1){n.moveToElementText(p);n.collapse(m);}else{if(o==3){n=KE.util.getNodeStartRange(a,p);n.moveStart("character",q);n.collapse(true);}}return n;};var i,g;if(c=="START_TO_START"||c=="START_TO_END"){i=f(k,e,true);}else{i=f(k,e,false);}if(c=="START_TO_START"||c=="END_TO_START"){g=f(j,l,true);}else{g=f(j,l,false);}return i.compareEndPoints("StartToStart",g);}else{var i=KE.util.createRange(a);i.selectNode(k);if(c=="START_TO_START"||c=="START_TO_END"){i.collapse(true);}else{i.collapse(false);}var g=KE.util.createRange(a);g.selectNode(j);if(c=="START_TO_START"||c=="END_TO_START"){g.collapse(true);}else{g.collapse(false);}if(i.compareBoundaryPoints(Range.START_TO_START,g)>0){h=1;}else{if(i.compareBoundaryPoints(Range.START_TO_START,g)==0){if(e>l){h=1;}else{if(e==l){h=0;}else{h=-1;}}}else{h=-1;}}}return h;};if(c=="START_TO_START"){return d(this.startNode,this.startPos,b.startNode,b.startPos);}if(c=="START_TO_END"){return d(this.startNode,this.startPos,b.endNode,b.endPos);}if(c=="END_TO_START"){return d(this.endNode,this.endPos,b.startNode,b.startPos);}if(c=="END_TO_END"){return d(this.endNode,this.endPos,b.endNode,b.endPos);}};this.setTextStart=function(b,d){var c=b;KE.eachNode(b,function(e){if(KE.util.getNodeType(e)==3&&e.nodeValue.length>0){c=e;d=0;return false;}return true;});this.setStart(c,d);};this.setStart=function(b,c){this.startNode=b;this.startPos=c;if(this.endNode===null){this.endNode=b;this.endPos=c;}};this.setTextEnd=function(b,d){var c=b;KE.eachNode(b,function(e){if(KE.util.getNodeType(e)==3&&e.nodeValue.length>0){c=e;d=e.nodeValue.length;}return true;});this.setEnd(c,d);};this.setEnd=function(b,c){this.endNode=b;this.endPos=c;if(this.startNode===null){this.startNode=b;this.startPos=c;}};this.selectNode=function(b){this.setStart(b,0);this.setEnd(b,b.nodeType==1?0:b.nodeValue.length);};this.selectTextNode=function(b){this.setTextStart(b,0);this.setTextEnd(b,b.nodeType==1?0:b.nodeValue.length);};this.extractContents=function(h){h=(h===false)?false:true;var m=this;var c=this.startNode;var i=this.startPos;var g=this.endNode;var b=this.endPos;var e=function(t,q,p){var s=t.nodeValue.length;var o=t.cloneNode(true);var r=o.splitText(q);r.splitText(p-q);if(h){var n=t;if(q>0){n=t.splitText(q);}if(p<s){n.splitText(p-q);}n.parentNode.removeChild(n);}return r;};var k=false;var d=false;var j=function(u,v){if(KE.util.getNodeType(u)!=1){return true;}var o=u.firstChild;while(o){if(o==c){k=true;}if(o==g){d=true;}var q=o.nextSibling;var t=o.nodeType;if(t==1){var s=new KE.range(a);s.selectNode(o);if(k&&s.comparePoints("END_TO_END",m)<0){var n=o.cloneNode(true);v.appendChild(n);if(h){o.parentNode.removeChild(o);}}else{var r=o.cloneNode(false);v.appendChild(r);if(!j(o,r)){return false;}}}else{if(t==3){if(k){var p;if(o==c&&o==g){p=e(o,i,b);v.appendChild(p);return false;}else{if(o==c){p=e(o,i,o.nodeValue.length);v.appendChild(p);}else{if(o==g){p=e(o,0,b);v.appendChild(p);return false;}else{p=e(o,0,o.nodeValue.length);v.appendChild(p);}}}}}}o=q;if(d){return false;}}return true;};var f=this.getParentElement();var l=f.cloneNode(false);j(f,l);return l;};this.cloneContents=function(){return this.extractContents(false);};this.getText=function(){var b=this.cloneContents().innerHTML;return b.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.g[id].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){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(tags){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 tagNames=[];KE.each(tags,function(key,val){if(key!="*"){tagNames.push(key);}});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 removeAttr=function(node,attr){if(attr.charAt(0)=="."){var jsKey=KE.util.getJsKey(attr.substr(1));eval("node.style."+jsKey+' = "";');}else{node.removeAttribute(attr);}};var nodeList=keRange.getNodeList();keRange.setTextStart(keRange.startNode,keRange.startPos);keRange.setTextEnd(keRange.endNode,keRange.endPos);for(var i=0,length=nodeList.length;i<length;i++){var node=nodeList[i];if(node.nodeType==1){var tagName=node.tagName.toLowerCase();if(tags[tagName]){var attr=tags[tagName];for(var j=0,len=attr.length;j<len;j++){if(attr[j]=="*"){KE.util.removeParent(node);break;}else{removeAttr(node,attr[j]);if(node.attributes.length==0){KE.util.removeParent(node);break;}else{if(node.attributes[0].name=="style"&&node.attributes[0].value===""){KE.util.removeParent(node);break;}}}}}if(tags["*"]){var attr=tags["*"];for(var j=0,len=attr.length;j<len;j++){removeAttr(node,attr[j]);}}}}try{this.keSel.addRange(keRange);}catch(e){}};};KE.format={getUrl:function(c,f,d,e){if(!f){return c;}f=f.toLowerCase();if(!KE.util.inArray(f,["absolute","relative","domain"])){return c;}d=d||location.protocol+"//"+location.host;e=e||(location.pathname.match(/^(\/.*)\//)?RegExp.$1:"");if(c.match(/^(\w+:\/\/[^\/]*)/)){if(RegExp.$1!==d){return c;}}if(c.match(/^mailto:/i)){return c;}var b=function(l){var k=l.split("/");paths=[];for(var j=0,g=k.length;j<g;j++){var h=k[j];if(h==".."){if(paths.length>0){paths.pop();}}else{if(h!==""&&h!="."){paths.push(h);}}}return"/"+paths.join("/");};if(c.match(/^\//)){c=d+b(c.substr(1));}else{if(!c.match(/^\w+:\/\//)){c=d+b(e+"/"+c);}}if(f=="relative"){var a=function(k,l){if(c.substr(0,k.length)===k){var g=[];for(var h=0;h<l;h++){g.push("..");}var j=".";if(g.length>0){j+="/"+g.join("/");}if(e=="/"){j+="/";}return j+c.substr(k.length);}else{if(k.match(/^(.*)\//)){return a(RegExp.$1,++l);}}};c=a(d+e,0);}else{if(f=="absolute"){if(c.substr(0,d.length)===d){c=c.substr(d.length);}}}return c;},getHtml:function(d,g,j){var i=g?true:false;var c={};if(i){KE.each(g,function(n,o){var l=n.split(",");for(var m=0,k=l.length;m<k;m++){c[l[m]]=KE.util.arrayToHash(o);}});}var h=KE.util.arrayToHash(KE.setting.noEndTags);var b=KE.util.arrayToHash(KE.setting.inlineTags);var e=KE.util.arrayToHash(KE.setting.endlineTags);d=d.replace(/\r\n|\n|\r/g,"");d=d.replace(/<(\/)?(\w+)(.*?)(\/)?>/g,function(r,q,p,n,l){var t=q||"";var m=p.toLowerCase();var s=n||"";var o=l||"";if(i&&typeof c[m]=="undefined"){return"";}if(o===""&&typeof h[m]!="undefined"){o=" /";}var k="";if((t||o)&&typeof e[m]!="undefined"){k="\r\n";}if(s!==""){s=s.replace(/\s*([^\s]+?)=(".*?"|[^\s]*)/g,function(v,u,y){var w=u.toLowerCase();var x=y||"";if(i){if(w.charAt(0)==="."||(w!=="style"&&typeof c[m][w]=="undefined")){return" ";}}if(x===""){x='""';}else{if(w==="style"){x=x.substr(1,x.length-2);x=x.replace(/\s*([^\s]+?)\s*:(.*?)(;|$)/g,function(A,z,D){var C=z.toLowerCase();if(i){if(typeof c[m]["style"]=="undefined"&&typeof c[m]["."+C]=="undefined"){return"";}}var B=KE.util.trim(D.toLowerCase());B=KE.util.rgbToHex(B);return C+":"+B+";";});x=KE.util.trim(x);if(x===""){return"";}x='"'+x+'"';}if(KE.util.inArray(w,["src","href"])){if(x.charAt(0)==='"'){x=x.substr(1,x.length-2);}x=KE.format.getUrl(x,j);}if(x.charAt(0)!=='"'){x='"'+x+'"';}}return" "+w+"="+x+" ";});s=s.replace(/\s+(checked|selected|disabled|readonly)(\s+|$)/ig,function(v,u){var w=u.toLowerCase();if(i){if(w.charAt(0)==="."||typeof c[m][w]=="undefined"){return" ";}}return" "+w+'="'+w+'" ';});s=KE.util.trim(s);s=s.replace(/\s+/g," ");if(s){s=" "+s;}return"<"+t+m+s+o+">"+k;}else{return"<"+t+m+o+">"+k;}});var a=KE.setting.inlineTags.join("|");var f=function(l){var k=l.replace(new RegExp("<("+a+")[^>]*><\\/("+a+")>","ig"),function(n,m,o){if(m==o){return"";}else{return n;}});if(l!==k){k=f(k);}return k;};return f(d);}};KE.util={getDocumentElement:function(a){a=a||document;return(a.compatMode!="CSS1Compat")?a.body:a.documentElement;},getDocumentHeight:function(b){var a=this.getDocumentElement(b);return Math.max(a.scrollHeight,a.clientHeight);},getDocumentWidth:function(b){var a=this.getDocumentElement(b);return Math.max(a.scrollWidth,a.clientWidth);},createTable:function(b){var a=KE.$$("table",b);a.cellPadding=0;a.cellSpacing=0;a.border=0;return{table:a,cell:a.insertRow(0).insertCell(0)};},loadStyle:function(b){var a=KE.$$("link");a.setAttribute("type","text/css");a.setAttribute("rel","stylesheet");a.setAttribute("href",b);document.getElementsByTagName("head")[0].appendChild(a);},inArray:function(c,a){for(var b=0;b<a.length;b++){if(c==a[b]){return true;}}return false;},trim:function(a){return a.replace(/^\s+|\s+$/g,"");},getJsKey:function(d){var b=d.split("-");d="";for(var c=0,a=b.length;c<a;c++){d+=(c>0)?b[c].charAt(0).toUpperCase()+b[c].substr(1):b[c];}return d;},arrayToHash:function(b){var d={};for(var c=0,a=b.length;c<a;c++){d[b[c]]=1;}return d;},escape:function(a){a=a.replace(/&/g,"&amp;");a=a.replace(/</g,"&lt;");a=a.replace(/>/g,"&gt;");a=a.replace(/\xA0/g,"&nbsp;");a=a.replace(/\x20/g," ");return a;},getScrollPos:function(){var a,c;if(KE.browser.IE||KE.browser.OPERA){var b=this.getDocumentElement();a=b.scrollLeft;c=b.scrollTop;}else{a=window.scrollX;c=window.scrollY;}return{x:a,y:c};},getElementPos:function(c){var a=0,f=0;if(c.getBoundingClientRect){var d=c.getBoundingClientRect();var c=this.getDocumentElement();var e=this.getScrollPos();a=d.left+e.x-c.clientLeft;f=d.top+e.y-c.clientTop;}else{a=c.offsetLeft;f=c.offsetTop;var b=c.offsetParent;while(b){a+=b.offsetLeft;f+=b.offsetTop;b=b.offsetParent;}}return{x:a,y:f};},getCoords:function(a){a=a||window.event;return{x:a.clientX,y:a.clientY};},setOpacity:function(b,a){if(typeof b.style.opacity=="undefined"){b.style.filter=(a==100)?"":"alpha(opacity="+a+")";}else{b.style.opacity=(a==100)?"":"0."+a.toString();}},getIframeDoc:function(a){return a.contentDocument||a.contentWindow.document;},rgbToHex:function(b){function a(c){c=parseInt(c).toString(16);return c.length>1?c:"0"+c;}return b.replace(/rgb\s*?\(\s*?(\d+)\s*?,\s*?(\d+)\s*?,\s*?(\d+)\s*?\)/ig,function(d,c,f,e){return"#"+a(c)+a(f)+a(e);});},hashToStr:function(a){var b="";KE.each(a,function(c,d){b+=c+":'"+d+"',";});return b.length>0?b.substr(0,b.length-1):"";},strToHash:function(c){var b={};var a=/(\w+)\s*:\s*'([^']+)'/g;while(a.exec(c)){b[RegExp.$1]=RegExp.$2;}return b;},createRange:function(a){return a.createRange?a.createRange():a.body.createTextRange();},getNodeType:function(a){return(a.nodeType==1&&KE.util.inArray(a.tagName.toLowerCase(),KE.setting.noEndTags))?88:a.nodeType;},getNodeTextLength:function(c){var b=KE.util.getNodeType(c);if(b==1){var a=c.innerHTML;return a.replace(/<.*?>/ig,"").length;}else{if(b==3){return c.nodeValue.length;}}},getNodeStartRange:function(e,d){var a=KE.util.createRange(e);var c=d.nodeType;if(c==1){a.moveToElementText(d);return a;}else{if(c==3){var g=0;var b=d.previousSibling;while(b){if(b.nodeType==1){var f=KE.util.createRange(e);f.moveToElementText(b);a.setEndPoint("StartToEnd",f);a.moveStart("character",g);return a;}else{if(b.nodeType==3){g+=b.nodeValue.length;}}b=b.previousSibling;}a.moveToElementText(d.parentNode);a.moveStart("character",g);return a;}}},removeParent:function(b){if(b.hasChildNodes){var c=b.firstChild;while(c){var a=c.nextSibling;b.parentNode.insertBefore(c,b);c=a;}}b.parentNode.removeChild(b);},drag:function(e,d,a,c){var b=KE.g[e];d.onmousedown=function(i){i=i||window.event;if(i.preventDefault){i.preventDefault();}if(i.stopPropagation){i.stopPropagation();}var l=KE.util.getCoords(i);var k=parseInt(a.style.top);var m=parseInt(a.style.left);var n=a.style.width;var q=a.style.height;if(n.match(/%$/)){n=a.offsetWidth+"px";}if(q.match(/%$/)){q=a.offsetHeight+"px";}n=parseInt(n);q=parseInt(q);var o=l.y;var p=l.x;var j=true;var h=function(u){if(j){var v=KE.util.getCoords(u);var t=v.y-o;var s=v.x-p;c(k,m,n,q,t,s);}};var g=KE.util.getElementPos(b.iframe);var r=function(u){if(j){var v=KE.util.getCoords(u,b.iframeDoc);var t=g.y+v.y-o;var s=g.x+v.x-p;c(k,m,n,q,t,s);}};var f=function(s){j=false;KE.event.remove(document,"mousemove",h);KE.event.remove(document,"mouseup",f);KE.event.remove(b.iframeDoc,"mousemove",r);KE.event.remove(b.iframeDoc,"mouseup",f);};KE.event.add(document,"mousemove",h);KE.event.add(document,"mouseup",f);KE.event.add(b.iframeDoc,"mousemove",r);KE.event.add(b.iframeDoc,"mouseup",f);};},resize:function(h,d,a,c,b){b=(typeof b=="undefined")?true:b;var e=KE.g[h];if(!e.container){return;}if(c&&(parseInt(d)<=e.minWidth||parseInt(a)<=e.minHeight)){return;}if(b){e.container.style.width=d;}e.container.style.height=a;if(!e.toolbarTable.offsetHeight){window.setTimeout(function(){KE.util.resize(h,d,a,c,b);},0);return;}var f=parseInt(a)-e.toolbarTable.offsetHeight-e.bottom.offsetHeight;if(f>=0){e.textareaTable.style.height=f+"px";e.iframe.style.height=f+"px";e.newTextarea.style.height=(((KE.browser.IE&&KE.browser.VERSION<8)||document.compatMode!="CSS1Compat")?f-2:f)+"px";}},hideLoadingPage:function(c){var a=KE.g[c].dialogStack;var b=a[a.length-1];b.loading.style.display="none";b.iframe.style.display="";},showLoadingPage:function(c){var a=KE.g[c].dialogStack;var b=a[a.length-1];b.loading.style.display="";b.iframe.style.display="none";},setDefaultPlugin:function(c){var a=["selectall","justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","bold","italic","underline","strikethrough","unlink"];for(var b=0;b<a.length;b++){KE.plugin[a[b]]={click:new Function("id",'KE.util.execCommand(id, "'+a[b]+'", null);')};}},getFullHtml:function(b){var a="<html>";a+="<head>";a+='<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';a+="<title>KindEditor</title>";a+='<link href="'+KE.g[b].skinsPath+"common/editor.css?ver="+KE.version+'" rel="stylesheet" type="text/css" />';if(KE.g[b].cssPath){a+='<link href="'+KE.g[b].cssPath+'" rel="stylesheet" type="text/css" />';}a+="</head>";a+='<body class="ke-content"></body>';a+="</html>";return a;},getMediaType:function(b,a){if(b===null){if(a.match(/\.(rm|rmvb)(\?|$)/i)){return"rm";}else{if(a.match(/\.(swf|flv)(\?|$)/i)){return"flash";}else{return"media";}}}return b.toLowerCase();},getMediaImage:function(c,h,b,d,j,k){h=this.getMediaType(h,b);var e={src:b,width:d,height:j};if(typeof k!="undefined"){e.autostart=k;}var i=this.hashToStr(e);var a="";if(d>0){a+="width:"+d+"px;";}if(j>0){a+="height:"+j+"px;";}var g="ke-"+h;var f='<img class="'+g+'" src="'+KE.g[c].skinsPath+'common/blank.gif" ';if(a!==""){f+='style="'+a+'" ';}f+='title="'+i+'" alt="flash" />';return f;},getMediaEmbed:function(h,f,c,e,a,g){f=this.getMediaType(f,c);var d='<embed src="'+c+'" ';if(e>0){d+='width="'+e+'" ';}if(a>0){d+='height="'+a+'" ';}var b=KE.g[h].mediaTypes[f];if(f=="rm"){d+='type="'+b+'" loop="true" autostart="'+g+'" />';}else{if(f=="flash"){d+='type="'+b+'" quality="high" />';}else{d+='type="'+b+'" loop="true" autostart="'+g+'" />';}}return d;},execGetHtmlHooks:function(e,d){var b=KE.g[e].getHtmlHooks;for(var c=0,a=b.length;c<a;c++){d=b[c](d);}return d;},execSetHtmlHooks:function(e,d){var b=KE.g[e].setHtmlHooks;for(var c=0,a=b.length;c<a;c++){d=b[c](d);}return d;},getData:function(c){var b=KE.g[c];if(!b.wyswygMode){b.iframeDoc.body.innerHTML=b.newTextarea.value;}var a=this.execGetHtmlHooks(c,b.iframeDoc.body.innerHTML);a=a.replace(/^\s*<br[^>]*>\s*$/ig,"");if(b.filterMode){return KE.format.getHtml(a,b.htmlTags,b.urlType);}else{return KE.format.getHtml(a,null,b.urlType);}},getSrcData:function(b){var a=KE.g[b];if(!a.wyswygMode){a.iframeDoc.body.innerHTML=a.newTextarea.value;}return this.execGetHtmlHooks(b,a.iframeDoc.body.innerHTML);},getPureData:function(b){var a=this.getData(b);a=a.replace(/<(?!img|embed).*?>/ig,"");a=a.replace(/&nbsp;/ig," ");return a;},setData:function(a){KE.g[a].srcTextarea.value=this.getData(a);},focus:function(b){var a=KE.g[b];if(a.wyswygMode){a.iframeWin.focus();}else{a.newTextarea.focus();}},click:function(b,a){KE.layout.hide(b);KE.util.focus(b);KE.plugin[a].click(b);},selection:function(b){var a=KE.g[b];a.keSel=new KE.selection(a.iframeWin,a.iframeDoc);a.keRange=a.keSel.keRange;a.sel=a.keSel.sel;a.range=a.keSel.range;},select:function(a){if(KE.browser.IE){KE.g[a].range.select();}},execCommand:function(d,b,a){try{KE.g[d].iframeDoc.execCommand(b,false,a);}catch(c){}KE.toolbar.updateState(d);KE.history.add(d,false);},pasteHtml:function(i,b,a){var e=KE.g[i];var c='<img id="__ke_temp_tag__" style="display:none;" />';if(a){b=c+b;}else{b+=c;}if(KE.browser.IE){if(e.sel.type.toLowerCase()=="control"){e.range.item(0).outerHTML=b;}else{e.range.pasteHTML(b);}}else{e.range.deleteContents();var h=e.range.createContextualFragment(b);e.range.insertNode(h);}var d=KE.$("__ke_temp_tag__",e.iframeDoc);var f=e.iframeDoc.createTextNode("");d.parentNode.replaceChild(f,d);e.keRange.selectNode(f);e.keSel.addRange(e.keRange);},insertHtml:function(c,a){if(a===""){return;}var b=KE.g[c];if(!b.wyswygMode){return;}if(KE.browser.IE){this.select(c);if(b.sel.type.toLowerCase()=="control"){b.range.item(0).outerHTML=a;}else{b.range.pasteHTML(a);}}else{if(KE.browser.GECKO&&KE.browser.VERSION<3){this.execCommand(c,"inserthtml",a);return;}else{this.pasteHtml(c,a);}}KE.history.add(c,false);},setFullHtml:function(b,a){a=a.replace(/\r\n|\n|\r/g,"");if(!KE.browser.IE&&a===""){a="<br />";}KE.g[b].iframeDoc.body.innerHTML=KE.util.execSetHtmlHooks(b,a);},addTabEvent:function(a){KE.event.add(KE.g[a].iframeDoc,"keydown",function(b){if(b.keyCode==9){KE.util.selection(a);KE.util.insertHtml(a,"　　");if(b.preventDefault){b.preventDefault();}if(b.stopPropagation){b.stopPropagation();}return false;}});},addContextmenuEvent:function(b){var a=KE.g[b];if(a.contextmenuItems.length==0){return;}KE.event.add(a.iframeDoc,"contextmenu",function(h){KE.util.selection(b);var g=false;for(var d=0,c=a.contextmenuItems.length;d<c;d++){var f=a.contextmenuItems[d];if(f.cond(b)){g=true;break;}}if(g){var j=new KE.menu({id:b,event:h,type:"contextmenu"});for(var d=0,c=a.contextmenuItems.length;d<c;d++){var f=a.contextmenuItems[d];if(f.cond(b)){j.add(f.text,(function(e){return function(){e.click(b,j);};})(f));}}j.show();if(h.preventDefault){h.preventDefault();}if(h.stopPropagation){h.stopPropagation();}return false;}return true;});},addNewlineEvent:function(b){var a=KE.g[b];if(KE.browser.IE&&a.newlineTag.toLowerCase()!="br"){return;}if(KE.browser.GECKO&&KE.browser.VERSION<3&&a.newlineTag.toLowerCase()!="p"){return;}if(KE.browser.OPERA){return;}KE.event.add(a.iframeDoc,"keydown",function(g){if(g.keyCode!=13||g.shiftKey||g.ctrlKey||g.altKey){return true;}KE.util.selection(b);var f=a.keRange.getParentElement();var d=f.tagName.toLowerCase();if(a.newlineTag.toLowerCase()=="br"){if(!KE.util.inArray(d,["h1","h2","h3","h4","h5","h6","li"])){KE.util.pasteHtml(b,"<br />");var c=a.keRange.startNode.nextSibling;if(KE.browser.IE){if(!c){KE.util.pasteHtml(b,"<br />",true);}}else{if(KE.browser.WEBKIT){if(!c||(c.nodeType==3&&c.nodeValue==="")){KE.util.pasteHtml(b,"<br />",true);}if(!c){KE.util.pasteHtml(b,"<br />",true);}}}if(g.preventDefault){g.preventDefault();}if(g.stopPropagation){g.stopPropagation();}return false;}}else{if(!KE.util.inArray(d,["p","h1","h2","h3","h4","h5","h6","pre","div","li"])){KE.util.execCommand(b,"formatblock","<P>");}}return true;});}};KE.layout={hide:function(b){var a=KE.g[b];a.hideDiv.innerHTML="";a.hideDiv.style.display="none";a.maskDiv.style.display="none";}};KE.menu=function(a){this.getPos=function(){var g=a.id;var c=0;var f=0;if(this.type=="menu"){var d=KE.g[g].toolbarIcon[a.cmd];var e=KE.util.getElementPos(d[0]);c=e.x;f=e.y+d[0].offsetHeight;}else{var e=KE.util.getCoords(a.event);var b=KE.util.getElementPos(KE.g[g].iframe);c=e.x+b.x;f=e.y+b.y+5;}return{x:c,y:f};};this.init=function(){this.type=(a.type&&a.type=="contextmenu")?a.type:"menu";var c=KE.$$("div");c.className="ke-"+this.type;var b=this.getPos();c.style.top=b.y+"px";c.style.left=b.x+"px";this.div=c;};this.init();this.add=function(c,e){var b=this;var d=KE.$$("div");d.className="ke-"+this.type+"-noselected";d.onmouseover=function(){this.className="ke-"+b.type+"-selected";};d.onmouseout=function(){this.className="ke-"+b.type+"-noselected";};d.onclick=e;d.innerHTML=c;this.append(d);};this.append=function(b){this.div.appendChild(b);};this.insert=function(b){this.div.innerHTML=b;};this.hide=function(){KE.layout.hide(a.id);};this.show=function(){this.hide();var b=a.id;KE.g[b].hideDiv.style.display="";KE.g[b].hideDiv.appendChild(this.div);};this.picker=function(){var c=KE.g[a.id].colorTable;var f=KE.$$("table");f.cellPadding=0;f.cellSpacing=0;f.border=0;f.style.margin=0;f.style.padding=0;f.style.borderCollapse="separate";var g=f.insertRow(0);var b=g.insertCell(0);b.colSpan=c[0].length;b.className="ke-picker-cell";b.style.backgroundColor="#FFFFFF";b.title=KE.lang.noColor;b.onmouseover=function(){this.style.borderColor="#000000";};b.onmouseout=function(){this.style.borderColor="#F0F0EE";};b.onclick=function(){KE.plugin[a.cmd].exec(a.id,"");};b.innerHTML=KE.lang.noColor;for(var e=0;e<c.length;e++){var g=f.insertRow(e+1);for(var d=0;d<c[e].length;d++){var b=g.insertCell(d);b.className="ke-picker-cell";b.style.backgroundColor=c[e][d];b.title=c[e][d];b.onmouseover=function(){this.style.borderColor="#000000";};b.onmouseout=function(){this.style.borderColor="#F0F0EE";};b.onclick=new Function('KE.plugin["'+a.cmd+'"].exec("'+a.id+'", "'+c[e][d]+'")');b.innerHTML="&nbsp;";}}this.append(f);this.show();};};KE.dialog=function(a){this.widthMargin=20;this.heightMargin=90;this.zIndex=19811214;this.getPos=function(){var h=a.id;var e=KE.util.getDocumentElement();var g=KE.util.getScrollPos();var d=a.width+this.widthMargin;var c=a.height+this.heightMargin;var b=Math.round(g.x+(e.clientWidth-d)/2);var f=Math.round(g.y+(e.clientHeight-c)/2);b=b<0?0:b;f=f<0?0:f;return{x:b,y:f};};this.hide=function(){var c=a.id;var b=KE.g[c].dialogStack;if(b[b.length-1]!=this){return false;}b.pop();KE.g[c].hideDiv.removeChild(this.div);if(b.length<1){KE.g[c].hideDiv.style.display="none";KE.g[c].maskDiv.style.display="none";}if(a.hideHandler){a.hideHandler();}KE.util.focus(c);};this.show=function(){var r=this;var d=a.id;var b=KE.$$("div");b.className="ke-dialog";var n=KE.g[d].dialogStack;if(n.length>0){this.zIndex=n[n.length-1].zIndex+1;}b.style.zIndex=this.zIndex;var m=this.getPos();b.style.width=(a.width+this.widthMargin)+"px";b.style.height=(a.height+this.heightMargin)+"px";b.style.top=m.y+"px";b.style.left=m.x+"px";var g=KE.$$("div");g.className="ke-dialog-title";g.innerHTML=a.title;var p=KE.$$("span");p.className="ke-toolbar-close";p.alt=KE.lang.close;p.title=KE.lang.close;p.onclick=function(){r.hide();};g.appendChild(p);KE.util.drag(d,g,b,function(t,u,s,x,w,v){b.style.top=(t+w)+"px";b.style.left=(u+v)+"px";});b.appendChild(g);var h=KE.$$("div");h.className="ke-dialog-body";var o=KE.util.createTable();o.table.className="ke-loading-table";o.table.style.width=a.width+"px";o.table.style.height=a.height+"px";o.cell.align="center";o.cell.vAlign="middle";var l=KE.$$("span");l.className="ke-loading-img";o.cell.appendChild(l);var i=KE.$$("iframe");if(a.useFrameCSS){i.className="ke-dialog-iframe";}i.width=a.width+"px";i.height=a.height+"px";i.setAttribute("frameBorder","0");i.style.display="none";h.appendChild(i);h.appendChild(o.table);b.appendChild(h);var c=KE.$$("div");c.className="ke-dialog-bottom";var f=null;var e=null;var q=null;if(a.noButton){f=KE.$$("input");f.className="ke-dialog-no";f.type="button";f.name="noButton";f.value=a.noButton;f.onclick=function(){r.hide();KE.util.select(d);};c.appendChild(f);}if(a.yesButton){e=KE.$$("input");e.className="ke-dialog-yes";e.type="button";e.name="yesButton";e.value=a.yesButton;e.onclick=function(){var s=KE.g[d].dialogStack;if(s[s.length-1]==r){KE.plugin[a.cmd].exec(d);}};c.appendChild(e);}if(a.previewButton){q=KE.$$("input");q.className="ke-dialog-preview";q.type="button";q.name="previewButton";q.value=a.previewButton;q.onclick=function(){var s=KE.g[d].dialogStack;if(s[s.length-1]==r){KE.plugin[a.cmd].preview(d);}};c.appendChild(q);}b.appendChild(c);KE.g[d].hideDiv.style.display="";KE.g[d].hideDiv.appendChild(b);window.focus();if(e){e.focus();}else{if(f){f.focus();}}if(typeof a.html!="undefined"){var k=KE.util.getIframeDoc(i);var j=KE.util.getFullHtml(d,false);k.open();k.write(j);k.close();k.body.innerHTML=a.html;}else{if(typeof a.file=="undefined"){i.src=KE.g[d].pluginsPath+a.cmd+".html?ver="+KE.version;}else{i.src=KE.g[d].pluginsPath+a.file;}}KE.g[d].maskDiv.style.width=KE.util.getDocumentWidth()+"px";KE.g[d].maskDiv.style.height=KE.util.getDocumentHeight()+"px";KE.g[d].maskDiv.style.display="block";this.iframe=i;this.loading=o.table;this.noButton=f;this.yesButton=e;this.previewButton=q;this.div=b;KE.g[d].dialogStack.push(this);KE.g[d].dialog=i;KE.g[d].yesButton=e;KE.g[d].noButton=f;KE.g[d].previewButton=q;if(!a.loadingMode){KE.util.hideLoadingPage(d);}};};KE.toolbar={updateState:function(g){var d=["justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","bold","italic","underline","strikethrough"];for(var a=0;a<d.length;a++){var c=d[a];var b=false;try{b=KE.g[g].iframeDoc.queryCommandState(c);}catch(f){}if(b){KE.toolbar.select(g,c);}else{KE.toolbar.unselect(g,c);}}},isSelected:function(b,a){if(KE.plugin[a]&&KE.plugin[a].isSelected){return true;}else{return false;}},select:function(d,c){if(KE.g[d].toolbarIcon[c]){var b=KE.g[d].toolbarIcon[c][0];b.className="ke-icon-selected";b.onmouseover=null;b.onmouseout=null;}},unselect:function(d,c){if(KE.g[d].toolbarIcon[c]){var b=KE.g[d].toolbarIcon[c][0];b.className="ke-icon";b.onmouseover=function(){this.className="ke-icon-on";};b.onmouseout=function(){this.className="ke-icon";};}},able:function(b,a){KE.each(KE.g[b].toolbarIcon,function(e,f){if(!KE.util.inArray(e,a)){var c=f[0];var d=f[1];c.className="ke-icon";KE.util.setOpacity(d,100);c.onclick=(function(h,g){return function(){KE.util.click(h,g);};})(b,e);c.onmouseover=function(){this.className="ke-icon-on";};c.onmouseout=function(){this.className="ke-icon";};}});},disable:function(b,a){KE.each(KE.g[b].toolbarIcon,function(e,f){if(!KE.util.inArray(e,a)){var c=f[0];var d=f[1];c.className="ke-icon-disabled";KE.util.setOpacity(d,50);c.onclick=null;c.onmouseover=null;c.onmouseout=null;}});},create:function(b){var g=KE.util.arrayToHash(KE.setting.items);KE.g[b].toolbarIcon=[];var f=KE.util.createTable();var k=f.table;k.className="ke-toolbar";k.oncontextmenu=function(){return false;};k.onmousedown=function(){return false;};k.onmousemove=function(){return false;};var p=f.cell;var c=KE.g[b].items.length;var h=0;var o;for(var e=0;e<c;e++){var d=KE.g[b].items[e];if(e==0||d=="-"){var n=KE.util.createTable().table;n.className="ke-toolbar-table";o=n.insertRow(0);h=0;p.appendChild(n);if(d=="-"){continue;}}var m=o.insertCell(h);m.hideforcus=true;h++;var j=KE.$$("a");j.className="ke-icon";j.href="javascript:;";j.onclick=(function(i,a){return function(){KE.util.click(i,a);};})(b,d);j.onmouseover=function(){this.className="ke-icon-on";};j.onmouseout=function(){this.className="ke-icon";};j.hidefocus=true;j.title=KE.lang[d];var l=KE.$$("span");if(typeof g[d]=="undefined"){l.className="ke-common-icon ke-icon-"+d;}else{l.className="ke-common-icon ke-common-icon-url ke-icon-"+d;}j.appendChild(l);m.appendChild(j);KE.g[b].toolbarIcon[d]=[j,l];if(KE.toolbar.isSelected(b,d)){KE.toolbar.select(b,d);}}return k;}};KE.history={add:function(e,b){var c=KE.g[e];var a=KE.util.getSrcData(e);if(c.undoStack.length>0){var d=c.undoStack[c.undoStack.length-1];if(a==d){return;}if(b&&Math.abs(a.length-d.length)<c.minChangeSize){return;}}c.undoStack.push(a);c.redoStack=[];},undo:function(d){var b=KE.g[d];if(b.undoStack.length==0){return;}var a=KE.util.getSrcData(d);b.redoStack.push(a);var c=b.undoStack.pop();if(a===c&&b.undoStack.length>0){c=b.undoStack.pop();}b.iframeDoc.body.innerHTML=KE.util.execSetHtmlHooks(d,c);b.newTextarea.value=KE.util.execGetHtmlHooks(d,c);},redo:function(d){var b=KE.g[d];if(b.redoStack.length==0){return;}var a=KE.util.getSrcData(d);b.undoStack.push(a);var c=b.redoStack.pop();b.iframeDoc.body.innerHTML=KE.util.execSetHtmlHooks(d,c);b.newTextarea.value=KE.util.execGetHtmlHooks(d,c);}};KE.remove=function(d,c){if(!KE.g[d].container){return false;}c=(typeof c=="undefined")?0:c;var a=KE.g[d].container;if(c==1){document.body.removeChild(a);}else{var b=KE.g[d].srcTextarea;b.parentNode.removeChild(a);if(c==0){b.style.display="";}}document.body.removeChild(KE.g[d].hideDiv);document.body.removeChild(KE.g[d].maskDiv);KE.g[d].container=null;KE.g[d].dialogStack=[];KE.g[d].contextmenuItems=[];KE.g[d].getHtmlHooks=[];KE.g[d].setHtmlHooks=[];};KE.create=function(v,s){if(KE.g[v].beforeCreate){KE.g[v].beforeCreate();}if(KE.browser.IE&&KE.browser.VERSION<7){try{document.execCommand("BackgroundImageCache",false,true);}catch(G){}}var H=KE.$(v)||document.getElementsByName(v)[0];s=(typeof s=="undefined")?0:s;if(s==0&&KE.g[v].container){return;}var w=KE.g[v].width||H.style.width||H.offsetWidth+"px";var u=KE.g[v].height||H.style.height||H.offsetHeight+"px";var b=KE.util.createTable();var p=b.table;p.className="ke-container";p.style.width=w;p.style.height=u;var J=b.cell;J.className="ke-toolbar-outer";var r=p.insertRow(1).insertCell(0);r.className="ke-textarea-outer";b=KE.util.createTable();var j=b.table;j.className="ke-textarea-table";var g=b.cell;r.appendChild(j);var t=p.insertRow(2).insertCell(0);t.className="ke-bottom-outer";if(s==1){document.body.appendChild(p);}else{H.parentNode.insertBefore(p,H);}var F=KE.toolbar.create(v);J.appendChild(F);var l=KE.$$("iframe");l.className="ke-iframe";l.setAttribute("frameBorder","0");var d=KE.$$("textarea");d.className="ke-textarea";d.style.display="none";g.appendChild(l);g.appendChild(d);var k=KE.$$("table");k.className="ke-bottom";k.cellPadding=0;k.cellSpacing=0;k.border=0;var h=k.insertRow(0);var y=h.insertCell(0);y.className="ke-bottom-left";var m=h.insertCell(1);m.className="ke-bottom-right";m.align="right";m.vAlign="bottom";var C=KE.$$("span");C.className="ke-bottom-right-img";m.appendChild(C);t.appendChild(k);var c=KE.$$("div");c.style.display="none";var a=KE.$$("div");a.className="ke-mask";KE.util.setOpacity(a,50);document.body.appendChild(c);document.body.appendChild(a);H.style.display="none";KE.util.setDefaultPlugin(v);var B=l.contentWindow;var q=KE.util.getIframeDoc(l);q.designMode="On";var n=KE.util.getFullHtml(v);q.open();q.write(n);q.close();if(!KE.g[v].wyswygMode){d.value=KE.util.execSetHtmlHooks(v,H.value);d.style.display="block";l.style.display="none";KE.toolbar.disable(v,["source","fullscreen"]);KE.toolbar.select(v,"source");}if(KE.g[v].autoOnsubmitMode){var x=H.parentNode;while(x){if(x.nodeType==1&&x.tagName.toLowerCase()=="form"){KE.event.add(x,"submit",new Function('KE.util.setData("'+v+'")'));break;}x=x.parentNode;}}var I=function(){KE.layout.hide(v);};var f=function(){KE.toolbar.updateState(v);};var E=function(){KE.history.add(v,true);};var o=function(L){if(KE.browser.WEBKIT){var K=L.srcElement||L.target;if(K.tagName.toLowerCase()=="img"){KE.util.selection(v);var i=KE.g[v].keRange;i.selectNode(K);KE.g[v].keSel.addRange(i);}}};KE.event.add(q,"click",o);KE.event.add(q,"contextmenu",o);KE.event.add(q,"click",I);KE.event.add(q,"click",f);KE.event.input(q,E);KE.event.input(q,f);KE.event.add(d,"click",I);KE.event.input(d,E);KE.g[v].container=p;KE.g[v].toolbarTable=F;KE.g[v].textareaTable=j;KE.g[v].iframe=l;KE.g[v].newTextarea=d;KE.g[v].srcTextarea=H;KE.g[v].bottom=k;KE.g[v].hideDiv=c;KE.g[v].maskDiv=a;KE.g[v].iframeWin=B;KE.g[v].iframeDoc=q;KE.g[v].width=w;KE.g[v].height=u;KE.util.resize(v,w,u);if(KE.g[v].resizeMode>0){KE.util.drag(v,m,p,function(i,K,e,N,M,L){if(KE.g[v].resizeMode==2){KE.util.resize(v,(e+L)+"px",(N+M)+"px",true);}else{if(KE.g[v].resizeMode==1){KE.util.resize(v,e+"px",(N+M)+"px",true,false);}}});KE.util.drag(v,y,p,function(i,K,e,N,M,L){if(KE.g[v].resizeMode>0){KE.util.resize(v,e+"px",(N+M)+"px",true,false);}});}for(var A=0,D=KE.g[v].items.length;A<D;A++){var z=KE.g[v].items[A];if(KE.plugin[z]&&KE.plugin[z].init){KE.plugin[z].init(v);}}KE.util.addContextmenuEvent(v);KE.util.addNewlineEvent(v);KE.util.addTabEvent(v);window.setTimeout(function(){KE.util.setFullHtml(v,H.value);KE.history.add(v,false);if(KE.g[v].afterCreate){KE.g[v].afterCreate();}},0);};KE.init=function(a){var b=a.id;KE.each(KE.setting,function(c,d){a[c]=(typeof a[c]=="undefined")?d:a[c];});KE.g[b]=a;KE.g[b].undoStack=[];KE.g[b].redoStack=[];KE.g[b].dialogStack=[];KE.g[b].contextmenuItems=[];KE.g[b].getHtmlHooks=[];KE.g[b].setHtmlHooks=[];if(a.loadStyleMode){KE.util.loadStyle(a.skinsPath+a.skinType+".css");}};KE.show=function(a){KE.init(a);KE.event.ready(function(){KE.create(a.id);});};KE.plugin.about={click:function(b){KE.util.selection(b);var a=new KE.dialog({id:b,cmd:"about",file:"about.html?id="+b+"&ver="+KE.version,width:300,height:70,loadingMode:true,title:KE.lang.about,noButton:KE.lang.close});a.show();}};KE.plugin.undo={init:function(a){KE.event.ctrl(KE.g[a].iframeDoc,"Z",function(b){KE.plugin.undo.click(a);KE.util.focus(a);});},click:function(a){KE.history.undo(a);}};KE.plugin.redo={init:function(a){KE.event.ctrl(KE.g[a].iframeDoc,"Y",function(b){KE.plugin.redo.click(a);KE.util.focus(a);});},click:function(a){KE.history.redo(a);}};KE.plugin.cut={click:function(b){try{if(!KE.g[b].iframeDoc.queryCommandSupported("cut")){throw"e";}}catch(a){alert(KE.lang.cutError);return;}KE.util.execCommand(b,"cut",null);}};KE.plugin.copy={click:function(b){try{if(!KE.g[b].iframeDoc.queryCommandSupported("copy")){throw"e";}}catch(a){alert(KE.lang.copyError);return;}KE.util.execCommand(b,"copy",null);}};KE.plugin.paste={click:function(b){try{if(!KE.g[b].iframeDoc.queryCommandSupported("paste")){throw"e";}}catch(a){alert(KE.lang.pasteError);return;}KE.util.execCommand(b,"paste",null);}};KE.plugin.plainpaste={click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"plainpaste",file:"plainpaste.html?id="+a+"&ver="+KE.version,width:400,height:300,loadingMode:true,title:KE.lang.plainpaste,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},exec:function(c){var a=KE.util.getIframeDoc(this.dialog.iframe);var b=KE.$("textArea",a).value;b=KE.util.escape(b);b=b.replace(/\r\n|\n|\r/g,"<br />$&");KE.util.insertHtml(c,b);this.dialog.hide();KE.util.focus(c);}};KE.plugin.wordpaste={click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"wordpaste",file:"wordpaste.html?id="+a+"&ver="+KE.version,width:400,height:300,loadingMode:true,title:KE.lang.wordpaste,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},exec:function(d){var b=KE.util.getIframeDoc(this.dialog.iframe);var a=KE.$("wordIframe",b);var c=KE.util.getIframeDoc(a).body.innerHTML;c=c.replace(/<meta(\n|.)*?>/ig,"");c=c.replace(/<!(\n|.)*?>/ig,"");c=c.replace(/<style[^>]*>(\n|.)*?<\/style>/ig,"");c=c.replace(/<script[^>]*>(\n|.)*?<\/script>/ig,"");c=c.replace(/<w:[^>]+>(\n|.)*?<\/w:[^>]+>/ig,"");c=c.replace(/<xml>(\n|.)*?<\/xml>/ig,"");c=c.replace(/\r\n|\n|\r/ig,"");c=KE.util.execGetHtmlHooks(d,c);c=KE.format.getHtml(c,KE.g[d].htmlTags,KE.g[d].urlType);KE.util.insertHtml(d,c);this.dialog.hide();KE.util.focus(d);}};KE.plugin.fullscreen={click:function(i){var e=KE.g[i];var b=this;var d=function(){var g=KE.util.getDocumentElement();e.width=g.clientWidth+"px";e.height=g.clientHeight+"px";};var c="";var a=function(){if(!b.isSelected){return;}var j=KE.util.getDocumentElement();var g=[j.clientWidth,j.clientHeight].join("");if(c!=g){c=g;d();KE.util.resize(i,e.width,e.height);}};if(this.isSelected){this.isSelected=false;KE.util.setData(i);KE.remove(i,1);e.width=this.width;e.height=this.height;KE.create(i,2);document.body.parentNode.style.overflow="auto";KE.event.remove(window,"resize",a);KE.toolbar.unselect(i,"fullscreen");}else{this.isSelected=true;KE.util.setData(i);this.width=e.container.style.width;this.height=e.container.style.height;KE.remove(i,2);document.body.parentNode.style.overflow="hidden";d();KE.create(i,1);var h=KE.util.getScrollPos();var f=e.container;f.style.position="absolute";f.style.left=h.x+"px";f.style.top=h.y+"px";f.style.zIndex=19811211;KE.event.add(window,"resize",a);KE.toolbar.select(i,"fullscreen");}}};KE.plugin.bgcolor={click:function(a){KE.util.selection(a);this.menu=new KE.menu({id:a,cmd:"bgcolor"});this.menu.picker();},exec:function(c,b){var a=new KE.cmd(c);if(b==""){a.remove({span:[".background-color"]});}else{a.wrap("span",[{".background-color":b}]);}KE.history.add(c,false);this.menu.hide();KE.util.focus(c);}};KE.plugin.fontname={click:function(d){var a={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 b="fontname";KE.util.selection(d);var c=new KE.menu({id:d,cmd:b});KE.each(a,function(f,g){var e='<span style="font-family: '+f+';">'+g+"</span>";c.add(e,new Function('KE.plugin["'+b+'"].exec("'+d+'", "'+f+'")'));});c.show();this.menu=c;},exec:function(c,b){var a=new KE.cmd(c);a.wrap("span",[{".font-family":b}]);KE.history.add(c,false);this.menu.hide();KE.util.focus(c);}};KE.plugin.fontsize={click:function(h){var f=["9px","10px","12px","14px","16px","18px","24px","32px"];var e="fontsize";KE.util.selection(h);var g=new KE.menu({id:h,cmd:e});for(var c=0,a=f.length;c<a;c++){var d=f[c];var b='<span style="font-size: '+d+';">'+d+"</span>";g.add(b,new Function('KE.plugin["'+e+'"].exec("'+h+'", "'+d+'")'));}g.show();this.menu=g;},exec:function(c,b){var a=new KE.cmd(c);a.wrap("span",[{".font-size":b}]);KE.history.add(c,false);this.menu.hide();KE.util.focus(c);}};KE.plugin.hr={click:function(a){KE.util.selection(a);KE.util.insertHtml(a,"<hr />");KE.util.focus(a);}};KE.plugin.print={click:function(a){KE.util.selection(a);KE.g[a].iframeWin.print();}};KE.plugin.removeformat={click:function(e){KE.util.selection(e);var d=new KE.cmd(e);var b={"*":["class","style"]};for(var c=0,a=KE.g[e].inlineTags.length;c<a;c++){b[KE.g[e].inlineTags[c]]=["*"];}d.remove(b);KE.history.add(e,false);KE.toolbar.updateState(e);KE.util.focus(e);}};KE.plugin.source={click:function(b){var a=KE.g[b];if(!a.wyswygMode){KE.util.setFullHtml(b,a.newTextarea.value);a.iframe.style.display="block";a.newTextarea.style.display="none";KE.toolbar.able(b,["source","fullscreen"]);a.wyswygMode=true;this.isSelected=false;KE.toolbar.unselect(b,"source");}else{KE.layout.hide(b);a.newTextarea.value=KE.util.getData(b);a.iframe.style.display="none";a.newTextarea.style.display="block";KE.toolbar.disable(b,["source","fullscreen"]);a.wyswygMode=false;this.isSelected=true;KE.toolbar.select(b,"source");}KE.util.focus(b);}};KE.plugin.textcolor={click:function(a){KE.util.selection(a);this.menu=new KE.menu({id:a,cmd:"textcolor"});this.menu.picker();},exec:function(c,b){var a=new KE.cmd(c);if(b==""){a.remove({span:[".color"],font:["color"]});}else{a.wrap("span",[{".color":b}]);}KE.history.add(c,false);this.menu.hide();KE.util.focus(c);}};KE.plugin.title={click:function(d){var c={H1:"标题 1",H2:"标题 2",H3:"标题 3",H4:"标题 4",H5:"标题 5",H6:"标题 6"};var a="title";KE.util.selection(d);var b=new KE.menu({id:d,cmd:a});KE.each(c,function(f,g){var e="<"+f+' style="margin:0px;">'+g+"</"+f+">";b.add(e,new Function('KE.plugin["'+a+'"].exec("'+d+'", "<'+f+'>")'));});b.show();this.menu=b;},exec:function(b,a){KE.util.select(b);KE.util.execCommand(b,"formatblock",a);this.menu.hide();KE.util.focus(b);}};KE.plugin.emoticons={click:function(a){var b=[["etc_01.gif","etc_02.gif","etc_03.gif","etc_04.gif","etc_05.gif","etc_06.gif"],["etc_07.gif","etc_08.gif","etc_09.gif","etc_10.gif","etc_11.gif","etc_12.gif"],["etc_13.gif","etc_14.gif","etc_15.gif","etc_16.gif","etc_17.gif","etc_18.gif"],["etc_19.gif","etc_20.gif","etc_21.gif","etc_22.gif","etc_23.gif","etc_24.gif"],["etc_25.gif","etc_26.gif","etc_27.gif","etc_28.gif","etc_29.gif","etc_30.gif"],["etc_31.gif","etc_32.gif","etc_33.gif","etc_34.gif","etc_35.gif","etc_36.gif"]];var d="emoticons";KE.util.selection(a);var k=KE.$$("table");k.cellPadding=0;k.cellSpacing=2;k.border=0;k.style.margin=0;k.style.padding=0;k.style.borderCollapse="separate";k.style.borderSpacing="2px";for(var g=0;g<b.length;g++){var l=k.insertRow(g);for(var e=0;e<b[g].length;e++){var h=l.insertCell(e);h.style.margin=0;h.style.padding="1px";h.style.border="1px solid #F0F0EE";h.style.cursor="pointer";h.onmouseover=function(){this.style.borderColor="#000000";};h.onmouseout=function(){this.style.borderColor="#F0F0EE";};h.onclick=new Function('KE.plugin["'+d+'"].exec("'+a+'", "'+b[g][e]+'")');var f=KE.$$("img");f.src=KE.g[a].pluginsPath+"emoticons/"+b[g][e];h.appendChild(f);}}var c=new KE.menu({id:a,cmd:d});c.append(k);c.show();this.menu=c;},exec:function(c,b){var a='<img src="'+KE.g[c].pluginsPath+"emoticons/"+b+'" border="0" />';KE.util.insertHtml(c,a);this.menu.hide();KE.util.focus(c);}};KE.plugin.flash={init:function(b){var a=this;KE.g[b].getHtmlHooks.push(function(c){return c.replace(/<img[^>]*class="?ke-flash"?[^>]*>/ig,function(f){var e=f.match(/style="[^"]*;?\s*width:\s*(\d+)/i)?RegExp.$1:0;var d=f.match(/style="[^"]*;?\s*height:\s*(\d+)/i)?RegExp.$1:0;e=e||(f.match(/width="([^"]+)"/i)?RegExp.$1:0);d=d||(f.match(/height="([^"]+)"/i)?RegExp.$1:0);if(f.match(/title="([^"]+)"/i)){var g=KE.util.strToHash(RegExp.$1);var h=g.src||"";e=e||g.width||0;d=d||g.height||0;return KE.util.getMediaEmbed(b,"flash",h,e,d);}});});KE.g[b].setHtmlHooks.push(function(c){return c.replace(/<embed[^>]*type="application\/x-shockwave-flash"[^>]*>/ig,function(e){var g=e.match(/\s+src="([^"]+)"/i)?RegExp.$1:"";var f=e.match(/\s+width="([^"]+)"/i)?RegExp.$1:0;var d=e.match(/\s+height="([^"]+)"/i)?RegExp.$1:0;return KE.util.getMediaImage(b,"flash",g,f,d);});});},click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"flash",file:"flash.html?id="+a+"&ver="+KE.version,width:400,height:140,loadingMode:true,title:KE.lang.flash,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},check:function(d,b,c,a){if(!b.match(/\w+:\/\/.{3,}/)){alert(KE.lang.invalidUrl);window.focus();this.dialog.yesButton.focus();return false;}if(!c.match(/^\d+$/)){alert(KE.lang.invalidWidth);window.focus();this.dialog.yesButton.focus();return false;}if(!a.match(/^\d+$/)){alert(KE.lang.invalidHeight);window.focus();this.dialog.yesButton.focus();return false;}return true;},exec:function(f){var c=KE.util.getIframeDoc(this.dialog.iframe);var b=KE.$("url",c).value;var e=KE.$("width",c).value;var a=KE.$("height",c).value;if(!this.check(f,b,e,a)){return false;}var d=KE.util.getMediaImage(f,"flash",b,e,a);KE.util.insertHtml(f,d);this.dialog.hide();KE.util.focus(f);}};KE.plugin.image={getSelectedNode:function(c){var b=KE.g[c];var a=b.keRange.startNode;if(a.nodeType!=1){return;}if(a.tagName.toLowerCase()!="img"){return;}if(!a.className.match(/^ke-\w+/i)){return a;}},init:function(c){var a=this;var b=KE.g[c];b.contextmenuItems.push({text:KE.lang.editImage,click:function(e,d){KE.util.select(e);d.hide();a.click(e);},cond:function(d){return a.getSelectedNode(d);}});b.contextmenuItems.push({text:KE.lang.deleteImage,click:function(f,e){KE.util.select(f);e.hide();var d=a.getSelectedNode(f);d.parentNode.removeChild(d);},cond:function(d){return a.getSelectedNode(d);}});},click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"image",file:"image/image.html?id="+a+"&ver="+KE.version,width:400,height:230,loadingMode:true,title:KE.lang.image,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},check:function(g){var c=KE.util.getIframeDoc(this.dialog.iframe);var e=KE.$("type",c).value;var d=KE.$("imgWidth",c).value;var a=KE.$("imgHeight",c).value;var f=KE.$("imgTitle",c).value;var b="";if(e==2){b=KE.$("imgFile",c).value;}else{b=KE.$("url",c).value;}if(!b.match(/\.(jpg|jpeg|gif|bmp|png)(\s|$)/i)){alert(KE.lang.invalidImg);window.focus();this.dialog.yesButton.focus();return false;}if(!d.match(/^\d+$/)){alert(KE.lang.invalidWidth);window.focus();this.dialog.yesButton.focus();return false;}if(!a.match(/^\d+$/)){alert(KE.lang.invalidHeight);window.focus();this.dialog.yesButton.focus();return false;}return true;},exec:function(b){var e=KE.util.getIframeDoc(this.dialog.iframe);var h=KE.$("type",e).value;if(!this.check(b)){return false;}if(h==2){KE.$("editorId",e).value=b;e.uploadForm.submit();return false;}else{var a=KE.$("url",e).value;var c=KE.$("imgWidth",e).value;var l=KE.$("imgHeight",e).value;var j=KE.$("imgTitle",e).value;var k=e.getElementsByName("align");var g="";for(var d=0,f=k.length;d<f;d++){if(k[d].checked){g=k[d].value;break;}}this.insert(b,a,j,c,l,0,g);}},insert:function(h,c,f,e,a,b,g){var d='<img src="'+c+'" ';if(e>0){d+='width="'+e+'" ';}if(a>0){d+='height="'+a+'" ';}if(f){d+='title="'+f+'" ';}if(g){d+='align="'+g+'" ';}d+='alt="'+f+'" ';d+='border="'+b+'" />';KE.util.insertHtml(h,d);this.dialog.hide();KE.util.focus(h);}};KE.plugin.link={getSelectedNode:function(a){var f=KE.g[a];var e=f.keRange;var c=e.startNode;var j=e.startPos;var h=e.endNode;var b=e.endPos;var d=KE.util.arrayToHash(f.inlineTags);var i=function(m){while(m){if(m.nodeType==1){var g=m.tagName.toLowerCase();if(g=="a"){return m;}}m=m.parentNode;}return null;};var k=i(c);var l=i(h);if(k&&l&&k===l){return k;}},init:function(b){var a=this;KE.g[b].contextmenuItems.push({text:KE.lang.editLink,click:function(d,c){KE.util.select(d);c.hide();a.click(d);},cond:function(c){return a.getSelectedNode(c);}});KE.g[b].contextmenuItems.push({text:KE.lang.deleteLink,click:function(d,c){KE.util.select(d);c.hide();KE.util.execCommand(d,"unlink",null);},cond:function(c){return a.getSelectedNode(c);}});},click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"link",file:"link/link.html?id="+a+"&ver="+KE.version,width:400,height:100,loadingMode:true,title:KE.lang.link,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},exec:function(b){KE.util.select(b);var j=KE.g[b].iframeDoc;var f=KE.util.getIframeDoc(this.dialog.iframe);var a=KE.$("hyperLink",f).value;var h=KE.$("linkType",f).value;if(!a.match(/.+/)||a.match(/^\w+:\/\/\/?$/)){alert(KE.lang.invalidUrl);window.focus();this.dialog.yesButton.focus();return false;}var c=KE.g[b].keRange.getParentElement();while(c){if(c.tagName.toLowerCase()=="a"||c.tagName.toLowerCase()=="body"){break;}c=c.parentNode;}c=c.parentNode;j.execCommand("createlink",false,"__ke_temp_url__");var g=c.getElementsByTagName("a");for(var e=0,d=g.length;e<d;e++){if(g[e].href.match(/\/?__ke_temp_url__$/)!=null){g[e].href=a;if(h){g[e].target=h;}}}KE.history.add(b);this.dialog.hide();KE.util.focus(b);}};KE.plugin.media={init:function(c){var a=this;var b={};KE.each(KE.g[c].mediaTypes,function(d,e){b[e]=d;});KE.g[c].getHtmlHooks.push(function(d){return d.replace(/<img[^>]*class="?ke-\w+"?[^>]*>/ig,function(f){var g=f.match(/style="[^"]*;?\s*width:\s*(\d+)/i)?RegExp.$1:0;var e=f.match(/style="[^"]*;?\s*height:\s*(\d+)/i)?RegExp.$1:0;g=g||(f.match(/width="([^"]+)"/i)?RegExp.$1:0);e=e||(f.match(/height="([^"]+)"/i)?RegExp.$1:0);if(f.match(/\s+title="([^"]+)"/i)){var h=KE.util.strToHash(RegExp.$1);var i=h.src||"";g=g||h.width||0;e=e||h.height||0;autostart=h.autostart||"false";return KE.util.getMediaEmbed(c,null,i,g,e,autostart);}});});KE.g[c].setHtmlHooks.push(function(d){return d.replace(/<embed[^>]*type="([^"]+)"[^>]*>/ig,function(g,f){if(typeof b[f]=="undefined"){return g;}var j=g.match(/\s+src="([^"]+)"/i)?RegExp.$1:"";var h=g.match(/\s+width="([^"]+)"/i)?RegExp.$1:0;var e=g.match(/\s+height="([^"]+)"/i)?RegExp.$1:0;var i=g.match(/\s+autostart="([^"]+)"/i)?RegExp.$1:"false";return KE.util.getMediaImage(c,null,j,h,e,i);});});},click:function(a){KE.util.selection(a);this.dialog=new KE.dialog({id:a,cmd:"media",file:"media.html?id="+a+"&ver="+KE.version,width:400,height:170,loadingMode:true,title:KE.lang.media,yesButton:KE.lang.yes,noButton:KE.lang.no});this.dialog.show();},check:function(d,b,c,a){if(!b.match(/^\w+:\/\/.{3,}\.(swf|flv|mp3|wav|wma|wmv|mid|avi|mpg|mpeg|asf|rm|rmvb)(\?|$)/i)){alert(KE.lang.invalidMedia);window.focus();this.dialog.yesButton.focus();return false;}if(!c.match(/^\d+$/)){alert(KE.lang.invalidWidth);window.focus();this.dialog.yesButton.focus();return false;}if(!a.match(/^\d+$/)){alert(KE.lang.invalidHeight);window.focus();this.dialog.yesButton.focus();return false;}return true;},exec:function(g){var c=KE.util.getIframeDoc(this.dialog.iframe);var b=KE.$("url",c).value;var e=KE.$("width",c).value;var a=KE.$("height",c).value;if(!this.check(g,b,e,a)){return false;}var f=KE.$("autostart",c).checked?"true":"false";var d=KE.util.getMediaImage(g,null,b,e,a,f);KE.util.insertHtml(g,d);this.dialog.hide();KE.util.focus(g);}};KE.plugin.table={click:function(b){var n=this;var g=10;var d="table";var h=[];KE.util.selection(b);var m=KE.$$("table");m.cellPadding=0;m.cellSpacing=0;m.border=0;m.className="ke-plugin-table-table";for(var f=0;f<g;f++){var o=m.insertRow(f);h[f]=[];for(var e=0;e<g;e++){var k=(f+1)+","+(e+1);var l=o.insertCell(e);var a=KE.$$("div");l.appendChild(a);h[f][e]=a;a.onmouseover=(function(i,j){return function(){n.locationCell.innerHTML=i+" by "+j+" Table";for(var q=0;q<g;q++){for(var r=0;r<g;r++){var p=h[q][r];if(q<i&&r<j){p.style.backgroundColor="#CCCCCC";}else{p.style.backgroundColor="#FFFFFF";}}}};})(f+1,e+1);a.onclick=(function(i){return function(){KE.plugin[d].exec(b,i);};})(k);}}var o=m.insertRow(g);var l=o.insertCell(0);l.colSpan=10;l.style.fontSize="12px";l.style.textAlign="center";l.style.height="20px";l.style.margin=0;l.style.padding=0;l.style.border=0;n.locationCell=l;var c=new KE.menu({id:b,cmd:d});c.append(m);c.show();this.menu=c;},exec:function(f,e){var a=e.split(",");var d='<table border="1">';for(var c=0;c<a[0];c++){d+="<tr>";for(var b=0;b<a[1];b++){d+="<td>&nbsp;</td>";}d+="</tr>";}d+="</table>";KE.util.insertHtml(f,d);this.menu.hide();KE.util.focus(f);}};
