(function(b){var a=b.Event;function c(h,f){var g,e;g=f.parentNode;e=f.nextSibling;if(e){g.insertBefore(h,e)}else{g.appendChild(h)}return h}function d(g,i,h){var e,f=g.getDoc().createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);if(h){return f.nextNode()}while(e=f.nextNode()){i=e}return i}b.plugins.Paste=function(f){var i=b.DOM,g;f.onPaste=new b.Dispatcher(f);function h(t){var u,s=[],m,q,l=f.selection,k,n,p,j,o;f.getWin().focus();if(g){r=f.selection.getRng();r.moveToBookmark(g);r.select()}u=t.split(/\r?\n/);if(u.length>1){t="";b.each(u,function(v){t+="<p>"+v+"</p>"});if(!b.isIE){f.execCommand("Delete");l.setContent('<span id="marker"></span>');m=f.dom.getParent(f.dom.get("marker").parentNode,function(v){s.push(v);if(/^(p|h[1-6]|div)$/i.test(v.nodeName)){return true}});if(m){f.onPaste.dispatch({text:t});k=n="";for(p=0;p<s.length;p++){k+="</"+s[p].nodeName.toLowerCase()+">"}for(p=s.length-1;p>=0;p--){n+="<"+s[p].nodeName.toLowerCase()+">"}t=k+t+n+'<span id="_caret">&nbsp;</span>';f.getBody().innerHTML=f.getBody().innerHTML.replace(/<span id=\"marker\"><\/span>/gi,t);q=f.dom.get("_caret");if(!b.isGecko){q.scrollIntoView()}j=f.getDoc().createRange();j.setStartBefore(q);j.setEndAfter(q);l.setRng(j);f.execCommand("Delete");return}else{o=f.dom.get("marker");o.parentNode.removeChild(o)}}}f.selection.setContent(t);f.onPaste.dispatch({text:t})}function e(p){var q,k,m=f.selection,l=m.getSel(),o,j=f.getBody();q=f.dom.add(j,"div",{id:"_mcePaste",style:"position:absolute;left:-10000px;top:"+j.scrollTop},"&nbsp;");o=m.getRng();q=q.firstChild;k=f.getDoc().createRange();k.setStart(q,0);k.setEnd(q,1);l.removeAllRanges();l.addRange(k);window.setTimeout(function(){var t=f.dom.get("_mcePaste"),s;s=t.innerHTML;t.parentNode.removeChild(t);if(o){m.setRng(o)}h(s.replace(/[\r\n]/g,"").replace(/<(\/p|br\s*\/?)>/g,"\n").replace(/<!--.*?-->/g,"").replace(/<[^>]+>/g,""))},0)}f.onInit.add(function(){if(b.isOpera){return}if(/Firefox\/2/.test(navigator.userAgent)){a.add(f.getDoc(),"keydown",function(j){if(((j.metaKey||j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){if(b.isIE){g=f.selection.getRng().getBookmark()}e(j)}},this)}else{a.add(b.isIE?f.getBody():f.getDoc(),"paste",function(j){var k;if(f.getWin().clipboardData){h(f.getWin().clipboardData.getData("Text"));return a.cancel(j)}if(j.clipboardData){h(j.clipboardData.getData("text/plain"));return a.cancel(j)}e(j)})}})}})(punymce);
