<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[20174] trunk: Add support for line breaks to the caption textareas, see #18311</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg > ul, #logmsg > ol { margin-left: 0; margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://core.trac.wordpress.org/changeset/20174">20174</a></dd>
<dt>Author</dt> <dd>azaozz</dd>
<dt>Date</dt> <dd>2012-03-14 21:53:11 +0000 (Wed, 14 Mar 2012)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add support for line breaks to the caption textareas, see <a href="http://core.trac.wordpress.org/ticket/18311">#18311</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminincludesmediaphp">trunk/wp-admin/includes/media.php</a></li>
<li><a href="#trunkwpadminjseditordevjs">trunk/wp-admin/js/editor.dev.js</a></li>
<li><a href="#trunkwpincludesjstinymcepluginswpeditimageeditor_plugin_srcjs">trunk/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js</a></li>
<li><a href="#trunkwpincludesjstinymcepluginswpeditimagejseditimagedevjs">trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js</a></li>
<li><a href="#trunkwpincludesjstinymcepluginswpeditimagejseditimagejs">trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminincludesmediaphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/media.php (20173 => 20174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/media.php        2012-03-14 13:37:49 UTC (rev 20173)
+++ trunk/wp-admin/includes/media.php        2012-03-14 21:53:11 UTC (rev 20174)
</span><span class="lines">@@ -144,14 +144,14 @@
</span><span class="cx"> 
</span><span class="cx">         $id = ( 0 &lt; (int) $id ) ? 'attachment_' . $id : '';
</span><span class="cx"> 
</span><del>-        if ( ! preg_match( '/width=&quot;([0-9]+)/', $html, $matches ) )
</del><ins>+        if ( ! preg_match( '/width=[&quot;\']([0-9]+)/', $html, $matches ) )
</ins><span class="cx">                 return $html;
</span><span class="cx"> 
</span><span class="cx">         $width = $matches[1];
</span><span class="cx"> 
</span><del>-        // look only for html tags with attributes
-        $caption = preg_replace_callback( '/&lt;[a-zA-Z0-9]+ [^&lt;&gt;]+&gt;/', '_cleanup_image_add_caption', $caption );
-        $caption = str_replace(        '&quot;', '&amp;quot;', $caption );
</del><ins>+        $caption = str_replace( array(&quot;\r\n&quot;, &quot;\r&quot;), &quot;\n&quot;, $caption);
+        $caption = preg_replace_callback( '/&lt;[a-zA-Z0-9]+(?: [^&lt;&gt;]+&gt;)*/', '_cleanup_image_add_caption', $caption );
+        $caption = preg_replace( '/\n+/', '&lt;br /&gt;', str_replace('&quot;', '&amp;quot;', $caption) );
</ins><span class="cx"> 
</span><span class="cx">         $html = preg_replace( '/(class=[&quot;\'][^\'&quot;]*)align(none|left|right|center)\s?/', '$1', $html );
</span><span class="cx">         if ( empty($align) )
</span><span class="lines">@@ -167,8 +167,10 @@
</span><span class="cx"> // Private, preg_replace callback used in image_add_caption()
</span><span class="cx"> function _cleanup_image_add_caption($str) {
</span><span class="cx">         if ( isset($str[0]) ) {
</span><ins>+                // remove any line breaks from inside the tags
+                $s = preg_replace( '/[\r\n\t]+/', ' ', $str[0]);
</ins><span class="cx">                 // look for single quotes inside html attributes (for example in title)
</span><del>-                $s = preg_replace_callback( '/=&quot;[^&quot;]+&quot;/', '_cleanup_image_add_caption2', $str[0] );
</del><ins>+                $s = preg_replace_callback( '/=&quot;[^&quot;]+&quot;/', '_cleanup_image_add_caption2', $s );
</ins><span class="cx">                 return str_replace(        '&quot;', &quot;'&quot;, $s );
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -1542,14 +1544,15 @@
</span><span class="cx"> 
</span><span class="cx"> &lt;?php if ( ! apply_filters( 'disable_captions', '' ) ) { ?&gt;
</span><span class="cx">                 if ( f.caption.value ) {
</span><del>-                        caption = f.caption.value.replace(/&lt;[a-zA-Z0-9]+ [^&lt;&gt;]+&gt;/g, function(a){
-                                a = a.replace(/=&quot;[^&quot;]+&quot;/, function(b){
</del><ins>+                        caption = f.caption.value.replace(/\r\n|\r/g, '\n');
+                        caption = caption.replace(/&lt;[a-zA-Z0-9]+( [^&lt;&gt;]+)?&gt;/g, function(a){
+                                a = a.replace(/[\r\n\t]+/, ' ').replace(/=&quot;[^&quot;]+&quot;/, function(b){
</ins><span class="cx">                                         return b.replace(/'/g, '&amp;#39;');
</span><span class="cx">                                 });
</span><span class="cx">                                 return a.replace(/&quot;/g, &quot;'&quot;);
</span><span class="cx">                         });
</span><span class="cx"> 
</span><del>-                        caption = caption.replace(/&quot;/g, '&amp;quot;');
</del><ins>+                        caption = caption.replace(/\n+/g, '&lt;br /&gt;').replace(/&quot;/g, '&amp;quot;');
</ins><span class="cx">                 }
</span><span class="cx"> &lt;?php } ?&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpadminjseditordevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/editor.dev.js (20173 => 20174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/editor.dev.js        2012-03-14 13:37:49 UTC (rev 20173)
+++ trunk/wp-admin/js/editor.dev.js        2012-03-14 21:53:11 UTC (rev 20174)
</span><span class="lines">@@ -62,16 +62,25 @@
</span><span class="cx">         },
</span><span class="cx"> 
</span><span class="cx">         _wp_Nop : function(content) {
</span><del>-                var blocklist1, blocklist2;
</del><ins>+                var blocklist1, blocklist2, preserve_linebreaks = false, preserve_br = false;
</ins><span class="cx"> 
</span><span class="cx">                 // Protect pre|script tags
</span><span class="cx">                 if ( content.indexOf('&lt;pre') != -1 || content.indexOf('&lt;script') != -1 ) {
</span><ins>+                        preserve_linebreaks = true;
</ins><span class="cx">                         content = content.replace(/&lt;(pre|script)[^&gt;]*&gt;[\s\S]+?&lt;\/\1&gt;/g, function(a) {
</span><del>-                                a = a.replace(/&lt;br ?\/?&gt;(\r\n|\n)?/g, '&lt;wp_temp&gt;');
-                                return a.replace(/&lt;\/?p( [^&gt;]*)?&gt;(\r\n|\n)?/g, '&lt;wp_temp&gt;');
</del><ins>+                                a = a.replace(/&lt;br ?\/?&gt;(\r\n|\n)?/g, '&lt;wp-temp-lb&gt;');
+                                return a.replace(/&lt;\/?p( [^&gt;]*)?&gt;(\r\n|\n)?/g, '&lt;wp-temp-lb&gt;');
</ins><span class="cx">                         });
</span><span class="cx">                 }
</span><span class="cx"> 
</span><ins>+                // keep &lt;br&gt; tags inside captions
+                if ( content.indexOf('[caption') != -1 ) {
+                        preserve_br = true;
+                        content = content.replace(/\[caption[^\]]+\]/g, function(a) {
+                                return a.replace(/&lt;br([^&gt;]*)&gt;[\r\n]*/g, '&lt;wp-temp-br$1&gt;');
+                        });
+                }
+
</ins><span class="cx">                 // Pretty it up for the source editor
</span><span class="cx">                 blocklist1 = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset';
</span><span class="cx">                 content = content.replace(new RegExp('\\s*&lt;/('+blocklist1+')&gt;\\s*', 'g'), '&lt;/$1&gt;\n');
</span><span class="lines">@@ -119,8 +128,13 @@
</span><span class="cx">                 content = content.replace(/[\s\u00a0]+$/, '');
</span><span class="cx"> 
</span><span class="cx">                 // put back the line breaks in pre|script
</span><del>-                content = content.replace(/&lt;wp_temp&gt;/g, '\n');
</del><ins>+                if ( preserve_linebreaks )
+                        content = content.replace(/&lt;wp-temp-lb&gt;/g, '\n');
</ins><span class="cx"> 
</span><ins>+                // and the &lt;br&gt; tags in captions
+                if ( preserve_br )
+                        content = content.replace(/&lt;wp-temp-br([^&gt;]*)&gt;/g, '&lt;br$1&gt;');
+
</ins><span class="cx">                 return content;
</span><span class="cx">         },
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpincludesjstinymcepluginswpeditimageeditor_plugin_srcjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js (20173 => 20174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js        2012-03-14 13:37:49 UTC (rev 20173)
+++ trunk/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js        2012-03-14 21:53:11 UTC (rev 20174)
</span><span class="lines">@@ -186,14 +186,14 @@
</span><span class="cx">                                         cls = ( cls &amp;&amp; cls[1] ) ? cls[1] : '';
</span><span class="cx">                                         cls = cls.match(/align[a-z]+/) || 'alignnone';
</span><span class="cx"> 
</span><del>-                                        cap = cap.replace(/&lt;[a-zA-Z0-9]+ [^&lt;&gt;]+&gt;/g, function(a){ // look only for html tags with attributes
-                                                a = a.replace(/=&quot;[^&quot;]+&quot;/, function(b){
</del><ins>+                                        cap = cap.replace(/\r\n|\r/g, '\n').replace(/&lt;[a-zA-Z0-9]+( [^&lt;&gt;]+)?&gt;/g, function(a){
+                                                a = a.replace(/[\r\n\t]+/, ' ').replace(/=&quot;[^&quot;]+&quot;/, function(b){
</ins><span class="cx">                                                         return b.replace(/'/g, '&amp;#39;');
</span><span class="cx">                                                 });
</span><span class="cx">                                                 return a.replace(/&quot;/g, &quot;'&quot;);
</span><span class="cx">                                         });
</span><span class="cx"> 
</span><del>-                                        cap = cap.replace(/&quot;/g, '&amp;quot;');
</del><ins>+                                        cap = cap.replace(/\n+/g, '&lt;br /&gt;').replace(/&quot;/g, '&amp;quot;');
</ins><span class="cx"> 
</span><span class="cx">                                         return '[caption id=&quot;'+id+'&quot; align=&quot;'+cls+'&quot; width=&quot;'+w+'&quot; caption=&quot;'+cap+'&quot;]'+c+'[/caption]';
</span><span class="cx">                                 });
</span></span></pre></div>
<a id="trunkwpincludesjstinymcepluginswpeditimagejseditimagedevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js (20173 => 20174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js        2012-03-14 13:37:49 UTC (rev 20173)
+++ trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js        2012-03-14 21:53:11 UTC (rev 20174)
</span><span class="lines">@@ -352,7 +352,7 @@
</span><span class="cx">         update : function() {
</span><span class="cx">                 var t = this, f = document.forms[0], ed = tinyMCEPopup.editor, el, b, fixSafari = null,
</span><span class="cx">                         DL, P, A, DIV, do_caption = null, img_class = f.img_classes.value, html,
</span><del>-                        id, cap_id = '', cap, DT, DD, cap_width, div_cls, lnk = '', pa, aa;
</del><ins>+                        id, cap_id = '', cap, DT, DD, cap_width, div_cls, lnk = '', pa, aa, caption;
</ins><span class="cx"> 
</span><span class="cx">                 tinyMCEPopup.restoreSelection();
</span><span class="cx">                 el = ed.selection.getNode();
</span><span class="lines">@@ -430,7 +430,17 @@
</span><span class="cx">                 if ( do_caption ) {
</span><span class="cx">                         cap_width = 10 + parseInt(f.width.value);
</span><span class="cx">                         div_cls = (t.align == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
</span><ins>+                        caption = f.img_cap_text.value;
</ins><span class="cx"> 
</span><ins>+                        caption = caption.replace(/\r\n|\r/g, '\n').replace(/&lt;[a-zA-Z0-9]+( [^&lt;&gt;]+)?&gt;/g, function(a){
+                                a = a.replace(/[\r\n\t]+/, ' ').replace(/=&quot;[^&quot;]+&quot;/, function(b){
+                                        return b.replace(/'/g, '&amp;#39;');
+                                });
+                                return a.replace(/&quot;/g, &quot;'&quot;);
+                        });
+
+                        caption = caption.replace(/\n+/g, '&lt;br /&gt;').replace(/&quot;/g, '&amp;quot;');
+
</ins><span class="cx">                         if ( DL ) {
</span><span class="cx">                                 ed.dom.setAttribs(DL, {
</span><span class="cx">                                         'class' : 'wp-caption '+t.align,
</span><span class="lines">@@ -441,24 +451,26 @@
</span><span class="cx">                                         ed.dom.setAttrib(DIV, 'class', div_cls);
</span><span class="cx"> 
</span><span class="cx">                                 if ( (DT = ed.dom.getParent(el, 'dt')) &amp;&amp; (DD = DT.nextSibling) &amp;&amp; ed.dom.hasClass(DD, 'wp-caption-dd') )
</span><del>-                                        ed.dom.setHTML(DD, f.img_cap_text.value);
</del><ins>+                                        ed.dom.setHTML(DD, caption);
</ins><span class="cx"> 
</span><span class="cx">                         } else {
</span><span class="cx">                                 if ( (id = f.img_classes.value.match( /wp-image-([0-9]{1,6})/ )) &amp;&amp; id[1] )
</span><span class="cx">                                         cap_id = 'attachment_'+id[1];
</span><span class="cx"> 
</span><span class="cx">                                 if ( f.link_href.value &amp;&amp; (lnk = ed.dom.getParent(el, 'a')) ) {
</span><del>-                                        if ( lnk.childNodes.length == 1 )
</del><ins>+                                        if ( lnk.childNodes.length == 1 ) {
</ins><span class="cx">                                                 html = ed.dom.getOuterHTML(lnk);
</span><del>-                                        else {
</del><ins>+                                        } else {
</ins><span class="cx">                                                 html = ed.dom.getOuterHTML(lnk);
</span><del>-                                                html = html.match(/&lt;a[^&gt;]+&gt;/i);
</del><ins>+                                                html = html.match(/&lt;a [^&gt;]+&gt;/i);
</ins><span class="cx">                                                 html = html+ed.dom.getOuterHTML(el)+'&lt;/a&gt;';
</span><span class="cx">                                         }
</span><del>-                                } else html = ed.dom.getOuterHTML(el);
</del><ins>+                                } else {
+                                        html = ed.dom.getOuterHTML(el);
+                                }
</ins><span class="cx"> 
</span><span class="cx">                                 html = '&lt;dl id=&quot;'+cap_id+'&quot; class=&quot;wp-caption '+t.align+'&quot; style=&quot;width: '+cap_width+
</span><del>-                                'px&quot;&gt;&lt;dt class=&quot;wp-caption-dt&quot;&gt;'+html+'&lt;/dt&gt;&lt;dd class=&quot;wp-caption-dd&quot;&gt;'+f.img_cap_text.value+'&lt;/dd&gt;&lt;/dl&gt;';
</del><ins>+                                'px&quot;&gt;&lt;dt class=&quot;wp-caption-dt&quot;&gt;'+html+'&lt;/dt&gt;&lt;dd class=&quot;wp-caption-dd&quot;&gt;'+caption+'&lt;/dd&gt;&lt;/dl&gt;';
</ins><span class="cx"> 
</span><span class="cx">                                 cap = ed.dom.create('div', {'class': div_cls}, html);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpincludesjstinymcepluginswpeditimagejseditimagejs"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js (20173 => 20174)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js        2012-03-14 13:37:49 UTC (rev 20173)
+++ trunk/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js        2012-03-14 21:53:11 UTC (rev 20174)
</span><span class="lines">@@ -1 +1 @@
</span><del>-var tinymce=null,tinyMCEPopup,tinyMCE,wpImage;tinyMCEPopup={init:function(){var d=this,b,a,f,c,e;a=(&quot;&quot;+document.location.search).replace(/^\?/,&quot;&quot;).split(&quot;&amp;&quot;);f={};for(c=0;c&lt;a.length;c++){e=a[c].split(&quot;=&quot;);f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}b=d.getWin();tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.params=d.editor.windowManager.params;d.dom=d.editor.windowManager.createInstance(&quot;tinymce.dom.DOMUtils&quot;,document);d.editor.windowManager.onOpen.dispatch(d.editor.windowManager,window)},getWin:function(){return window.dialogArguments||opener||parent||top},getParam:function(b,a){return this.editor.getParam(b,a)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},execCommand:function(d,c,e,b){b=b||{
 };b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(&quot;simple&quot;)},restoreSelection:function(){var a=tinyMCEPopup;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}}};tinyMCEPopup.init();wpImage={preInit:function(){var a=tinyMCEPopup.editor,e=tinyMCEPopup.getWin(),d=e.document.styleSheets,b,c;for(c=0;c&lt;d.length;c++){b=d.item(c).href;if(b&amp;&amp;b.indexOf(&quot;colors&quot;)!=-1){document.getElementsByTagName(&quot;head&quot;)[0].appendChild(a.dom.create(&quot;link&quot;,{rel:&quot;stylesheet&quot;,href:b}));break}}},I:function(a){return document.getElementById(a)},current:&quot;&quot;,link:&quot;&quot;,link_rel:&quot;&quot;,target_value:&quot;&quot;,current_size_sel:&quot;s100&quot;,width:&quot;&quot;,height:&quot;&quot;,align:&quot;&quot;,img_alt:&quot;&quot;,setTabs:function(b){var a=this;if(&quot;
 current&quot;==b.className){return false}a.I(&quot;div_advanced&quot;).style.display=(&quot;tab_advanced&quot;==b.id)?&quot;block&quot;:&quot;none&quot;;a.I(&quot;div_basic&quot;).style.display=(&quot;tab_basic&quot;==b.id)?&quot;block&quot;:&quot;none&quot;;a.I(&quot;tab_basic&quot;).className=a.I(&quot;tab_advanced&quot;).className=&quot;&quot;;b.className=&quot;current&quot;;return false},img_seturl:function(b){var c=this,a=c.I(&quot;link_rel&quot;).value;if(&quot;current&quot;==b){c.I(&quot;link_href&quot;).value=c.current;c.I(&quot;link_rel&quot;).value=c.link_rel}else{c.I(&quot;link_href&quot;).value=c.link;if(a){a=a.replace(/attachment|wp-att-[0-9]+/gi,&quot;&quot;);c.I(&quot;link_rel&quot;).value=tinymce.trim(a)}}},imgAlignCls:function(b){var c=this,a=c.I(&quot;img_classes&quot;).value;c.I(&quot;img_demo&quot;).className=c.align=b;a=a.replace(/align[^ &quot;']+/gi,&quot;&quot;);a+=(&quot; &quot;+b);a=a.replace(/\s+/g,&quot; &quot;).replace(/^\s/,&quot;&quot;);if(&quo
 t;aligncenter&quot;==b){c.I(&quot;hspace&quot;).value=&quot;&quot;;c.updateStyle(&quot;hspace&quot;)}c.I(&quot;img_classes&quot;).value=a},showSize:function(e){var c=this,f=c.I(&quot;img_demo&quot;),a=c.width,d=c.height,g=e.id||&quot;s100&quot;,b;b=parseInt(g.substring(1))/200;f.width=Math.round(a*b);f.height=Math.round(d*b);c.showSizeClear();e.style.borderColor=&quot;#A3A3A3&quot;;e.style.backgroundColor=&quot;#E5E5E5&quot;},showSizeSet:function(){var b=this,d,c,a;if((b.width*1.3)&gt;parseInt(b.preloadImg.width)){d=b.I(&quot;s130&quot;),c=b.I(&quot;s120&quot;),a=b.I(&quot;s110&quot;);d.onclick=c.onclick=a.onclick=null;d.onmouseover=c.onmouseover=a.onmouseover=null;d.style.color=c.style.color=a.style.color=&quot;#aaa&quot;}},showSizeRem:function(){var a=this,c=a.I(&quot;img_demo&quot;),b=document.forms[0];c.width=Math.round(b.width.value*0.5);c.height=Math.round(b.height.value*0.5);a.showSizeClear();a.I(a.current_size_sel).style.borderColor=&quot;#A3A3A3&quot;;a.I(a.current_
 size_sel).style.backgroundColor=&quot;#E5E5E5&quot;;return false},showSizeClear:function(){var b=this.I(&quot;img_size&quot;).getElementsByTagName(&quot;div&quot;),a;for(a=0;a&lt;b.length;a++){b[a].style.borderColor=&quot;#f1f1f1&quot;;b[a].style.backgroundColor=&quot;#f1f1f1&quot;}},imgEditSize:function(g){var d=this,i=document.forms[0],a,c,b,e,j;if(!d.preloadImg||!d.preloadImg.width||!d.preloadImg.height){return}a=parseInt(d.preloadImg.width),c=parseInt(d.preloadImg.height),b=d.width||a,e=d.height||c,j=g.id||&quot;s100&quot;;size=parseInt(j.substring(1))/100;b=Math.round(b*size);e=Math.round(e*size);i.width.value=Math.min(a,b);i.height.value=Math.min(c,e);d.current_size_sel=j;d.demoSetSize()},demoSetSize:function(a){var c=this.I(&quot;img_demo&quot;),b=document.forms[0];c.width=b.width.value?Math.round(b.width.value*0.5):&quot;&quot;;c.height=b.height.value?Math.round(b.height.value*0.5):&quot;&quot;},demoSetStyle:function(){var b=document.forms[0],a=this.I(&quot;img_demo&
 quot;),c=tinyMCEPopup.editor.dom;if(a){c.setAttrib(a,&quot;style&quot;,b.img_style.value);c.setStyle(a,&quot;width&quot;,&quot;&quot;);c.setStyle(a,&quot;height&quot;,&quot;&quot;)}},origSize:function(){var a=this,c=document.forms[0],b=a.I(&quot;s100&quot;);c.width.value=a.width=a.preloadImg.width;c.height.value=a.height=a.preloadImg.height;a.showSizeSet();a.demoSetSize();a.showSize(b)},init:function(){var a=tinyMCEPopup.editor,b;b=document.body.innerHTML;document.body.innerHTML=a.translate(b);window.setTimeout(function(){wpImage.setup()},500)},setup:function(){var q=this,l,b,m,e,j=document.forms[0],i=tinyMCEPopup.editor,k=q.I(&quot;img_demo&quot;),h=tinyMCEPopup.dom,a,g,p=&quot;&quot;,o,n;document.dir=tinyMCEPopup.editor.getParam(&quot;directionality&quot;,&quot;&quot;);if(tinyMCEPopup.editor.getParam(&quot;wpeditimage_disable_captions&quot;,false)){q.I(&quot;cap_field&quot;).style.display=&quot;none&quot;}tinyMCEPopup.restoreSelection();b=i.selection.getNode();if(b.nodeNam
 e!=&quot;IMG&quot;){return}j.img_src.value=k.src=m=i.dom.getAttrib(b,&quot;src&quot;);i.dom.setStyle(b,&quot;float&quot;,&quot;&quot;);q.getImageData();l=i.dom.getAttrib(b,&quot;class&quot;);if(a=h.getParent(b,&quot;dl&quot;)){o=i.dom.getAttrib(a,&quot;class&quot;);o=o.match(/align[^ &quot;']+/i);if(o&amp;&amp;!h.hasClass(b,o)){l+=&quot; &quot;+o;tinymce.trim(l)}g=i.dom.select(&quot;dd.wp-caption-dd&quot;,a);if(g&amp;&amp;g[0]){p=i.serializer.serialize(g[0]).replace(/^&lt;p&gt;/,&quot;&quot;).replace(/&lt;\/p&gt;$/,&quot;&quot;)}}j.img_cap_text.value=p;j.img_title.value=i.dom.getAttrib(b,&quot;title&quot;);j.img_alt.value=i.dom.getAttrib(b,&quot;alt&quot;);j.border.value=i.dom.getAttrib(b,&quot;border&quot;);j.vspace.value=i.dom.getAttrib(b,&quot;vspace&quot;);j.hspace.value=i.dom.getAttrib(b,&quot;hspace&quot;);j.align.value=i.dom.getAttrib(b,&quot;align&quot;);j.width.value=q.width=i.dom.getAttrib(b,&quot;width&quot;);j.height.value=q.height=i.dom.getAttrib(b,&quot;height&
 quot;);j.img_classes.value=l;j.img_style.value=i.dom.getAttrib(b,&quot;style&quot;);if(h.getAttrib(b,&quot;hspace&quot;)){q.updateStyle(&quot;hspace&quot;)}if(h.getAttrib(b,&quot;border&quot;)){q.updateStyle(&quot;border&quot;)}if(h.getAttrib(b,&quot;vspace&quot;)){q.updateStyle(&quot;vspace&quot;)}if(n=i.dom.getParent(b,&quot;A&quot;)){j.link_href.value=q.current=i.dom.getAttrib(n,&quot;href&quot;);j.link_title.value=i.dom.getAttrib(n,&quot;title&quot;);j.link_rel.value=q.link_rel=i.dom.getAttrib(n,&quot;rel&quot;);j.link_style.value=i.dom.getAttrib(n,&quot;style&quot;);q.target_value=i.dom.getAttrib(n,&quot;target&quot;);j.link_classes.value=i.dom.getAttrib(n,&quot;class&quot;)}j.link_target.checked=(q.target_value&amp;&amp;q.target_value==&quot;_blank&quot;)?&quot;checked&quot;:&quot;&quot;;e=m.substring(m.lastIndexOf(&quot;/&quot;));e=e.replace(/-[0-9]{2,4}x[0-9]{2,4}/,&quot;&quot;);q.link=m.substring(0,m.lastIndexOf(&quot;/&quot;))+e;if(l.indexOf(&quot;alignleft&quot;)!
 =-1){q.I(&quot;alignleft&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignleft&quot;}else{if(l.indexOf(&quot;aligncenter&quot;)!=-1){q.I(&quot;aligncenter&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;aligncenter&quot;}else{if(l.indexOf(&quot;alignright&quot;)!=-1){q.I(&quot;alignright&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignright&quot;}else{if(l.indexOf(&quot;alignnone&quot;)!=-1){q.I(&quot;alignnone&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignnone&quot;}}}}if(q.width&amp;&amp;q.preloadImg.width){q.showSizeSet()}document.body.style.display=&quot;&quot;},remove:function(){var a=tinyMCEPopup.editor,c,b;tinyMCEPopup.restoreSelection();b=a.selection.getNode();if(b.nodeName!=&quot;IMG&quot;){return}if((c=a.dom.getParent(b,&quot;div&quot;))&amp;&amp;a.dom.hasClass(c,&quot;mceTemp&quot;)){a.dom.remove(c)}else{if((c=a.dom.getParent(b,&quot;A&quot;))&amp;&amp;c.childNodes.length==1){a.dom.remove(c)}else{
 a.dom.remove(b)}}a.execCommand(&quot;mceRepaint&quot;);tinyMCEPopup.close();return},update:function(){var m=this,v=document.forms[0],g=tinyMCEPopup.editor,e,x,d=null,n,h,p,r,o=null,k=v.img_classes.value,l,q,u=&quot;&quot;,j,i,s,a,z,w=&quot;&quot;,c,y;tinyMCEPopup.restoreSelection();e=g.selection.getNode();if(e.nodeName!=&quot;IMG&quot;){return}if(v.img_src.value===&quot;&quot;){m.remove();return}if(v.img_cap_text.value!=&quot;&quot;&amp;&amp;v.width.value!=&quot;&quot;){o=1;k=k.replace(/align[^ &quot;']+\s?/gi,&quot;&quot;)}p=g.dom.getParent(e,&quot;a&quot;);h=g.dom.getParent(e,&quot;p&quot;);n=g.dom.getParent(e,&quot;dl&quot;);r=g.dom.getParent(e,&quot;div&quot;);tinyMCEPopup.execCommand(&quot;mceBeginUndoLevel&quot;);if(v.width.value!=e.width||v.height.value!=e.height){k=k.replace(/size-[^ &quot;']+/,&quot;&quot;)}g.dom.setAttribs(e,{src:v.img_src.value,title:v.img_title.value,alt:v.img_alt.value,width:v.width.value,height:v.height.value,style:v.img_style.value,&quot;class
 &quot;:k});if(v.link_href.value){if(p==null){if(!v.link_href.value.match(/https?:\/\//i)){v.link_href.value=tinyMCEPopup.editor.documentBaseURI.toAbsolute(v.link_href.value)}if(tinymce.isWebKit&amp;&amp;g.dom.hasClass(e,&quot;aligncenter&quot;)){g.dom.removeClass(e,&quot;aligncenter&quot;);d=1}tinyMCEPopup.execCommand(&quot;CreateLink&quot;,false,&quot;#mce_temp_url#&quot;,{skip_undo:1});if(d){g.dom.addClass(e,&quot;aligncenter&quot;)}tinymce.each(g.dom.select(&quot;a&quot;),function(b){if(g.dom.getAttrib(b,&quot;href&quot;)==&quot;#mce_temp_url#&quot;){g.dom.setAttribs(b,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?&quot;_blank&quot;:&quot;&quot;,&quot;class&quot;:v.link_classes.value,style:v.link_style.value})}})}else{g.dom.setAttribs(p,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?&quot;_blank&quot;:&quot;&quot;,&quot;class&quot;:v.link_classes.value,
 style:v.link_style.value})}}if(o){a=10+parseInt(v.width.value);z=(m.align==&quot;aligncenter&quot;)?&quot;mceTemp mceIEcenter&quot;:&quot;mceTemp&quot;;if(n){g.dom.setAttribs(n,{&quot;class&quot;:&quot;wp-caption &quot;+m.align,style:&quot;width: &quot;+a+&quot;px;&quot;});if(r){g.dom.setAttrib(r,&quot;class&quot;,z)}if((i=g.dom.getParent(e,&quot;dt&quot;))&amp;&amp;(s=i.nextSibling)&amp;&amp;g.dom.hasClass(s,&quot;wp-caption-dd&quot;)){g.dom.setHTML(s,v.img_cap_text.value)}}else{if((q=v.img_classes.value.match(/wp-image-([0-9]{1,6})/))&amp;&amp;q[1]){u=&quot;attachment_&quot;+q[1]}if(v.link_href.value&amp;&amp;(w=g.dom.getParent(e,&quot;a&quot;))){if(w.childNodes.length==1){l=g.dom.getOuterHTML(w)}else{l=g.dom.getOuterHTML(w);l=l.match(/&lt;a[^&gt;]+&gt;/i);l=l+g.dom.getOuterHTML(e)+&quot;&lt;/a&gt;&quot;}}else{l=g.dom.getOuterHTML(e)}l='&lt;dl id=&quot;'+u+'&quot; class=&quot;wp-caption '+m.align+'&quot; style=&quot;width: '+a+'px&quot;&gt;&lt;dt class=&quot;wp-caption-dt&
 quot;&gt;'+l+'&lt;/dt&gt;&lt;dd class=&quot;wp-caption-dd&quot;&gt;'+v.img_cap_text.value+&quot;&lt;/dd&gt;&lt;/dl&gt;&quot;;j=g.dom.create(&quot;div&quot;,{&quot;class&quot;:z},l);if(h){h.parentNode.insertBefore(j,h);if(h.childNodes.length==1){g.dom.remove(h)}else{if(w&amp;&amp;w.childNodes.length==1){g.dom.remove(w)}else{g.dom.remove(e)}}}else{if(c=g.dom.getParent(e,&quot;TD,TH,LI&quot;)){c.appendChild(j);if(w&amp;&amp;w.childNodes.length==1){g.dom.remove(w)}else{g.dom.remove(e)}}}}}else{if(n&amp;&amp;r){if(v.link_href.value&amp;&amp;(y=g.dom.getParent(e,&quot;a&quot;))){l=g.dom.getOuterHTML(y)}else{l=g.dom.getOuterHTML(e)}h=g.dom.create(&quot;p&quot;,{},l);r.parentNode.insertBefore(h,r);g.dom.remove(r)}}if(v.img_classes.value.indexOf(&quot;aligncenter&quot;)!=-1){if(h&amp;&amp;(!h.style||h.style.textAlign!=&quot;center&quot;)){g.dom.setStyle(h,&quot;textAlign&quot;,&quot;center&quot;)}}else{if(h&amp;&amp;h.style&amp;&amp;h.style.textAlign==&quot;center&quot;){g.dom.setSty
 le(h,&quot;textAlign&quot;,&quot;&quot;)}}if(!v.link_href.value&amp;&amp;p){x=g.selection.getBookmark();g.dom.remove(p,1);g.selection.moveToBookmark(x)}tinyMCEPopup.execCommand(&quot;mceEndUndoLevel&quot;);g.execCommand(&quot;mceRepaint&quot;);tinyMCEPopup.close()},updateStyle:function(a){var e=tinyMCEPopup.dom,c,d=document.forms[0],b=e.create(&quot;img&quot;,{style:d.img_style.value});if(tinyMCEPopup.editor.settings.inline_styles){if(a==&quot;align&quot;){e.setStyle(b,&quot;float&quot;,&quot;&quot;);e.setStyle(b,&quot;vertical-align&quot;,&quot;&quot;);c=d.align.value;if(c){if(c==&quot;left&quot;||c==&quot;right&quot;){e.setStyle(b,&quot;float&quot;,c)}else{b.style.verticalAlign=c}}}if(a==&quot;border&quot;){e.setStyle(b,&quot;border&quot;,&quot;&quot;);c=d.border.value;if(c||c==&quot;0&quot;){if(c==&quot;0&quot;){b.style.border=&quot;0&quot;}else{b.style.border=c+&quot;px solid black&quot;}}}if(a==&quot;hspace&quot;){e.setStyle(b,&quot;marginLeft&quot;,&quot;&quot;);e.setS
 tyle(b,&quot;marginRight&quot;,&quot;&quot;);c=d.hspace.value;if(c){b.style.marginLeft=c+&quot;px&quot;;b.style.marginRight=c+&quot;px&quot;}}if(a==&quot;vspace&quot;){e.setStyle(b,&quot;marginTop&quot;,&quot;&quot;);e.setStyle(b,&quot;marginBottom&quot;,&quot;&quot;);c=d.vspace.value;if(c){b.style.marginTop=c+&quot;px&quot;;b.style.marginBottom=c+&quot;px&quot;}}d.img_style.value=e.serializeStyle(e.parseStyle(b.style.cssText));this.demoSetStyle()}},checkVal:function(a){if(a.value==&quot;&quot;){if(a.id==&quot;img_src&quot;){a.value=this.I(&quot;img_demo&quot;).src||this.preloadImg.src}}},resetImageData:function(){var a=document.forms[0];a.width.value=a.height.value=&quot;&quot;},updateImageData:function(){var d=document.forms[0],b=wpImage,a=d.width.value,c=d.height.value;if(!a&amp;&amp;c){a=d.width.value=b.width=Math.round(b.preloadImg.width/(b.preloadImg.height/c))}else{if(a&amp;&amp;!c){c=d.height.value=b.height=Math.round(b.preloadImg.height/(b.preloadImg.width/a))}}if(!
 a){d.width.value=b.width=b.preloadImg.width}if(!c){d.height.value=b.height=b.preloadImg.height}b.showSizeSet();b.demoSetSize();if(d.img_style.value){b.demoSetStyle()}},getImageData:function(){var a=wpImage,b=document.forms[0];a.preloadImg=new Image();a.preloadImg.onload=a.updateImageData;a.preloadImg.onerror=a.resetImageData;a.preloadImg.src=tinyMCEPopup.editor.documentBaseURI.toAbsolute(b.img_src.value)}};window.onload=function(){wpImage.init()};wpImage.preInit();
</del><span class="cx">\ No newline at end of file
</span><ins>+var tinymce=null,tinyMCEPopup,tinyMCE,wpImage;tinyMCEPopup={init:function(){var d=this,b,a,f,c,e;a=(&quot;&quot;+document.location.search).replace(/^\?/,&quot;&quot;).split(&quot;&amp;&quot;);f={};for(c=0;c&lt;a.length;c++){e=a[c].split(&quot;=&quot;);f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}b=d.getWin();tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.params=d.editor.windowManager.params;d.dom=d.editor.windowManager.createInstance(&quot;tinymce.dom.DOMUtils&quot;,document);d.editor.windowManager.onOpen.dispatch(d.editor.windowManager,window)},getWin:function(){return window.dialogArguments||opener||parent||top},getParam:function(b,a){return this.editor.getParam(b,a)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},execCommand:function(d,c,e,b){b=b||{
 };b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(&quot;simple&quot;)},restoreSelection:function(){var a=tinyMCEPopup;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}}};tinyMCEPopup.init();wpImage={preInit:function(){var a=tinyMCEPopup.editor,e=tinyMCEPopup.getWin(),d=e.document.styleSheets,b,c;for(c=0;c&lt;d.length;c++){b=d.item(c).href;if(b&amp;&amp;b.indexOf(&quot;colors&quot;)!=-1){document.getElementsByTagName(&quot;head&quot;)[0].appendChild(a.dom.create(&quot;link&quot;,{rel:&quot;stylesheet&quot;,href:b}));break}}},I:function(a){return document.getElementById(a)},current:&quot;&quot;,link:&quot;&quot;,link_rel:&quot;&quot;,target_value:&quot;&quot;,current_size_sel:&quot;s100&quot;,width:&quot;&quot;,height:&quot;&quot;,align:&quot;&quot;,img_alt:&quot;&quot;,setTabs:function(b){var a=this;if(&quot;
 current&quot;==b.className){return false}a.I(&quot;div_advanced&quot;).style.display=(&quot;tab_advanced&quot;==b.id)?&quot;block&quot;:&quot;none&quot;;a.I(&quot;div_basic&quot;).style.display=(&quot;tab_basic&quot;==b.id)?&quot;block&quot;:&quot;none&quot;;a.I(&quot;tab_basic&quot;).className=a.I(&quot;tab_advanced&quot;).className=&quot;&quot;;b.className=&quot;current&quot;;return false},img_seturl:function(b){var c=this,a=c.I(&quot;link_rel&quot;).value;if(&quot;current&quot;==b){c.I(&quot;link_href&quot;).value=c.current;c.I(&quot;link_rel&quot;).value=c.link_rel}else{c.I(&quot;link_href&quot;).value=c.link;if(a){a=a.replace(/attachment|wp-att-[0-9]+/gi,&quot;&quot;);c.I(&quot;link_rel&quot;).value=tinymce.trim(a)}}},imgAlignCls:function(b){var c=this,a=c.I(&quot;img_classes&quot;).value;c.I(&quot;img_demo&quot;).className=c.align=b;a=a.replace(/align[^ &quot;']+/gi,&quot;&quot;);a+=(&quot; &quot;+b);a=a.replace(/\s+/g,&quot; &quot;).replace(/^\s/,&quot;&quot;);if(&quo
 t;aligncenter&quot;==b){c.I(&quot;hspace&quot;).value=&quot;&quot;;c.updateStyle(&quot;hspace&quot;)}c.I(&quot;img_classes&quot;).value=a},showSize:function(e){var c=this,f=c.I(&quot;img_demo&quot;),a=c.width,d=c.height,g=e.id||&quot;s100&quot;,b;b=parseInt(g.substring(1))/200;f.width=Math.round(a*b);f.height=Math.round(d*b);c.showSizeClear();e.style.borderColor=&quot;#A3A3A3&quot;;e.style.backgroundColor=&quot;#E5E5E5&quot;},showSizeSet:function(){var b=this,d,c,a;if((b.width*1.3)&gt;parseInt(b.preloadImg.width)){d=b.I(&quot;s130&quot;),c=b.I(&quot;s120&quot;),a=b.I(&quot;s110&quot;);d.onclick=c.onclick=a.onclick=null;d.onmouseover=c.onmouseover=a.onmouseover=null;d.style.color=c.style.color=a.style.color=&quot;#aaa&quot;}},showSizeRem:function(){var a=this,c=a.I(&quot;img_demo&quot;),b=document.forms[0];c.width=Math.round(b.width.value*0.5);c.height=Math.round(b.height.value*0.5);a.showSizeClear();a.I(a.current_size_sel).style.borderColor=&quot;#A3A3A3&quot;;a.I(a.current_
 size_sel).style.backgroundColor=&quot;#E5E5E5&quot;;return false},showSizeClear:function(){var b=this.I(&quot;img_size&quot;).getElementsByTagName(&quot;div&quot;),a;for(a=0;a&lt;b.length;a++){b[a].style.borderColor=&quot;#f1f1f1&quot;;b[a].style.backgroundColor=&quot;#f1f1f1&quot;}},imgEditSize:function(g){var d=this,i=document.forms[0],a,c,b,e,j;if(!d.preloadImg||!d.preloadImg.width||!d.preloadImg.height){return}a=parseInt(d.preloadImg.width),c=parseInt(d.preloadImg.height),b=d.width||a,e=d.height||c,j=g.id||&quot;s100&quot;;size=parseInt(j.substring(1))/100;b=Math.round(b*size);e=Math.round(e*size);i.width.value=Math.min(a,b);i.height.value=Math.min(c,e);d.current_size_sel=j;d.demoSetSize()},demoSetSize:function(a){var c=this.I(&quot;img_demo&quot;),b=document.forms[0];c.width=b.width.value?Math.round(b.width.value*0.5):&quot;&quot;;c.height=b.height.value?Math.round(b.height.value*0.5):&quot;&quot;},demoSetStyle:function(){var b=document.forms[0],a=this.I(&quot;img_demo&
 quot;),c=tinyMCEPopup.editor.dom;if(a){c.setAttrib(a,&quot;style&quot;,b.img_style.value);c.setStyle(a,&quot;width&quot;,&quot;&quot;);c.setStyle(a,&quot;height&quot;,&quot;&quot;)}},origSize:function(){var a=this,c=document.forms[0],b=a.I(&quot;s100&quot;);c.width.value=a.width=a.preloadImg.width;c.height.value=a.height=a.preloadImg.height;a.showSizeSet();a.demoSetSize();a.showSize(b)},init:function(){var a=tinyMCEPopup.editor,b;b=document.body.innerHTML;document.body.innerHTML=a.translate(b);window.setTimeout(function(){wpImage.setup()},500)},setup:function(){var q=this,l,b,m,e,j=document.forms[0],i=tinyMCEPopup.editor,k=q.I(&quot;img_demo&quot;),h=tinyMCEPopup.dom,a,g,p=&quot;&quot;,o,n;document.dir=tinyMCEPopup.editor.getParam(&quot;directionality&quot;,&quot;&quot;);if(tinyMCEPopup.editor.getParam(&quot;wpeditimage_disable_captions&quot;,false)){q.I(&quot;cap_field&quot;).style.display=&quot;none&quot;}tinyMCEPopup.restoreSelection();b=i.selection.getNode();if(b.nodeNam
 e!=&quot;IMG&quot;){return}j.img_src.value=k.src=m=i.dom.getAttrib(b,&quot;src&quot;);i.dom.setStyle(b,&quot;float&quot;,&quot;&quot;);q.getImageData();l=i.dom.getAttrib(b,&quot;class&quot;);if(a=h.getParent(b,&quot;dl&quot;)){o=i.dom.getAttrib(a,&quot;class&quot;);o=o.match(/align[^ &quot;']+/i);if(o&amp;&amp;!h.hasClass(b,o)){l+=&quot; &quot;+o;tinymce.trim(l)}g=i.dom.select(&quot;dd.wp-caption-dd&quot;,a);if(g&amp;&amp;g[0]){p=i.serializer.serialize(g[0]).replace(/^&lt;p&gt;/,&quot;&quot;).replace(/&lt;\/p&gt;$/,&quot;&quot;)}}j.img_cap_text.value=p;j.img_title.value=i.dom.getAttrib(b,&quot;title&quot;);j.img_alt.value=i.dom.getAttrib(b,&quot;alt&quot;);j.border.value=i.dom.getAttrib(b,&quot;border&quot;);j.vspace.value=i.dom.getAttrib(b,&quot;vspace&quot;);j.hspace.value=i.dom.getAttrib(b,&quot;hspace&quot;);j.align.value=i.dom.getAttrib(b,&quot;align&quot;);j.width.value=q.width=i.dom.getAttrib(b,&quot;width&quot;);j.height.value=q.height=i.dom.getAttrib(b,&quot;height&
 quot;);j.img_classes.value=l;j.img_style.value=i.dom.getAttrib(b,&quot;style&quot;);if(h.getAttrib(b,&quot;hspace&quot;)){q.updateStyle(&quot;hspace&quot;)}if(h.getAttrib(b,&quot;border&quot;)){q.updateStyle(&quot;border&quot;)}if(h.getAttrib(b,&quot;vspace&quot;)){q.updateStyle(&quot;vspace&quot;)}if(n=i.dom.getParent(b,&quot;A&quot;)){j.link_href.value=q.current=i.dom.getAttrib(n,&quot;href&quot;);j.link_title.value=i.dom.getAttrib(n,&quot;title&quot;);j.link_rel.value=q.link_rel=i.dom.getAttrib(n,&quot;rel&quot;);j.link_style.value=i.dom.getAttrib(n,&quot;style&quot;);q.target_value=i.dom.getAttrib(n,&quot;target&quot;);j.link_classes.value=i.dom.getAttrib(n,&quot;class&quot;)}j.link_target.checked=(q.target_value&amp;&amp;q.target_value==&quot;_blank&quot;)?&quot;checked&quot;:&quot;&quot;;e=m.substring(m.lastIndexOf(&quot;/&quot;));e=e.replace(/-[0-9]{2,4}x[0-9]{2,4}/,&quot;&quot;);q.link=m.substring(0,m.lastIndexOf(&quot;/&quot;))+e;if(l.indexOf(&quot;alignleft&quot;)!
 =-1){q.I(&quot;alignleft&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignleft&quot;}else{if(l.indexOf(&quot;aligncenter&quot;)!=-1){q.I(&quot;aligncenter&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;aligncenter&quot;}else{if(l.indexOf(&quot;alignright&quot;)!=-1){q.I(&quot;alignright&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignright&quot;}else{if(l.indexOf(&quot;alignnone&quot;)!=-1){q.I(&quot;alignnone&quot;).checked=&quot;checked&quot;;k.className=q.align=&quot;alignnone&quot;}}}}if(q.width&amp;&amp;q.preloadImg.width){q.showSizeSet()}document.body.style.display=&quot;&quot;},remove:function(){var a=tinyMCEPopup.editor,c,b;tinyMCEPopup.restoreSelection();b=a.selection.getNode();if(b.nodeName!=&quot;IMG&quot;){return}if((c=a.dom.getParent(b,&quot;div&quot;))&amp;&amp;a.dom.hasClass(c,&quot;mceTemp&quot;)){a.dom.remove(c)}else{if((c=a.dom.getParent(b,&quot;A&quot;))&amp;&amp;c.childNodes.length==1){a.dom.remove(c)}else{
 a.dom.remove(b)}}a.execCommand(&quot;mceRepaint&quot;);tinyMCEPopup.close();return},update:function(){var m=this,v=document.forms[0],g=tinyMCEPopup.editor,e,y,d=null,n,h,p,r,o=null,k=v.img_classes.value,l,q,u=&quot;&quot;,j,i,s,a,B,x=&quot;&quot;,c,z,w;tinyMCEPopup.restoreSelection();e=g.selection.getNode();if(e.nodeName!=&quot;IMG&quot;){return}if(v.img_src.value===&quot;&quot;){m.remove();return}if(v.img_cap_text.value!=&quot;&quot;&amp;&amp;v.width.value!=&quot;&quot;){o=1;k=k.replace(/align[^ &quot;']+\s?/gi,&quot;&quot;)}p=g.dom.getParent(e,&quot;a&quot;);h=g.dom.getParent(e,&quot;p&quot;);n=g.dom.getParent(e,&quot;dl&quot;);r=g.dom.getParent(e,&quot;div&quot;);tinyMCEPopup.execCommand(&quot;mceBeginUndoLevel&quot;);if(v.width.value!=e.width||v.height.value!=e.height){k=k.replace(/size-[^ &quot;']+/,&quot;&quot;)}g.dom.setAttribs(e,{src:v.img_src.value,title:v.img_title.value,alt:v.img_alt.value,width:v.width.value,height:v.height.value,style:v.img_style.value,&quot;cla
 ss&quot;:k});if(v.link_href.value){if(p==null){if(!v.link_href.value.match(/https?:\/\//i)){v.link_href.value=tinyMCEPopup.editor.documentBaseURI.toAbsolute(v.link_href.value)}if(tinymce.isWebKit&amp;&amp;g.dom.hasClass(e,&quot;aligncenter&quot;)){g.dom.removeClass(e,&quot;aligncenter&quot;);d=1}tinyMCEPopup.execCommand(&quot;CreateLink&quot;,false,&quot;#mce_temp_url#&quot;,{skip_undo:1});if(d){g.dom.addClass(e,&quot;aligncenter&quot;)}tinymce.each(g.dom.select(&quot;a&quot;),function(b){if(g.dom.getAttrib(b,&quot;href&quot;)==&quot;#mce_temp_url#&quot;){g.dom.setAttribs(b,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?&quot;_blank&quot;:&quot;&quot;,&quot;class&quot;:v.link_classes.value,style:v.link_style.value})}})}else{g.dom.setAttribs(p,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?&quot;_blank&quot;:&quot;&quot;,&quot;class&quot;:v.link_classes.valu
 e,style:v.link_style.value})}}if(o){a=10+parseInt(v.width.value);B=(m.align==&quot;aligncenter&quot;)?&quot;mceTemp mceIEcenter&quot;:&quot;mceTemp&quot;;w=v.img_cap_text.value;w=w.replace(/\r\n|\r/g,&quot;\n&quot;).replace(/&lt;[a-zA-Z0-9]+( [^&lt;&gt;]+)?&gt;/g,function(b){b=b.replace(/[\r\n\t]+/,&quot; &quot;).replace(/=&quot;[^&quot;]+&quot;/,function(f){return f.replace(/'/g,&quot;&amp;#39;&quot;)});return b.replace(/&quot;/g,&quot;'&quot;)});w=w.replace(/\n+/g,&quot;&lt;br /&gt;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;);if(n){g.dom.setAttribs(n,{&quot;class&quot;:&quot;wp-caption &quot;+m.align,style:&quot;width: &quot;+a+&quot;px;&quot;});if(r){g.dom.setAttrib(r,&quot;class&quot;,B)}if((i=g.dom.getParent(e,&quot;dt&quot;))&amp;&amp;(s=i.nextSibling)&amp;&amp;g.dom.hasClass(s,&quot;wp-caption-dd&quot;)){g.dom.setHTML(s,w)}}else{if((q=v.img_classes.value.match(/wp-image-([0-9]{1,6})/))&amp;&amp;q[1]){u=&quot;attachment_&quot;+q[1]}if(v.link_href.value&amp;&amp;(x
 =g.dom.getParent(e,&quot;a&quot;))){if(x.childNodes.length==1){l=g.dom.getOuterHTML(x)}else{l=g.dom.getOuterHTML(x);l=l.match(/&lt;a [^&gt;]+&gt;/i);l=l+g.dom.getOuterHTML(e)+&quot;&lt;/a&gt;&quot;}}else{l=g.dom.getOuterHTML(e)}l='&lt;dl id=&quot;'+u+'&quot; class=&quot;wp-caption '+m.align+'&quot; style=&quot;width: '+a+'px&quot;&gt;&lt;dt class=&quot;wp-caption-dt&quot;&gt;'+l+'&lt;/dt&gt;&lt;dd class=&quot;wp-caption-dd&quot;&gt;'+w+&quot;&lt;/dd&gt;&lt;/dl&gt;&quot;;j=g.dom.create(&quot;div&quot;,{&quot;class&quot;:B},l);if(h){h.parentNode.insertBefore(j,h);if(h.childNodes.length==1){g.dom.remove(h)}else{if(x&amp;&amp;x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}else{if(c=g.dom.getParent(e,&quot;TD,TH,LI&quot;)){c.appendChild(j);if(x&amp;&amp;x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}}}else{if(n&amp;&amp;r){if(v.link_href.value&amp;&amp;(z=g.dom.getParent(e,&quot;a&quot;))){l=g.dom.getOuterHTML(z)}else{l=g.dom.getOuterHTML(e)}h=g.do
 m.create(&quot;p&quot;,{},l);r.parentNode.insertBefore(h,r);g.dom.remove(r)}}if(v.img_classes.value.indexOf(&quot;aligncenter&quot;)!=-1){if(h&amp;&amp;(!h.style||h.style.textAlign!=&quot;center&quot;)){g.dom.setStyle(h,&quot;textAlign&quot;,&quot;center&quot;)}}else{if(h&amp;&amp;h.style&amp;&amp;h.style.textAlign==&quot;center&quot;){g.dom.setStyle(h,&quot;textAlign&quot;,&quot;&quot;)}}if(!v.link_href.value&amp;&amp;p){y=g.selection.getBookmark();g.dom.remove(p,1);g.selection.moveToBookmark(y)}tinyMCEPopup.execCommand(&quot;mceEndUndoLevel&quot;);g.execCommand(&quot;mceRepaint&quot;);tinyMCEPopup.close()},updateStyle:function(a){var e=tinyMCEPopup.dom,c,d=document.forms[0],b=e.create(&quot;img&quot;,{style:d.img_style.value});if(tinyMCEPopup.editor.settings.inline_styles){if(a==&quot;align&quot;){e.setStyle(b,&quot;float&quot;,&quot;&quot;);e.setStyle(b,&quot;vertical-align&quot;,&quot;&quot;);c=d.align.value;if(c){if(c==&quot;left&quot;||c==&quot;right&quot;){e.setStyle(
 b,&quot;float&quot;,c)}else{b.style.verticalAlign=c}}}if(a==&quot;border&quot;){e.setStyle(b,&quot;border&quot;,&quot;&quot;);c=d.border.value;if(c||c==&quot;0&quot;){if(c==&quot;0&quot;){b.style.border=&quot;0&quot;}else{b.style.border=c+&quot;px solid black&quot;}}}if(a==&quot;hspace&quot;){e.setStyle(b,&quot;marginLeft&quot;,&quot;&quot;);e.setStyle(b,&quot;marginRight&quot;,&quot;&quot;);c=d.hspace.value;if(c){b.style.marginLeft=c+&quot;px&quot;;b.style.marginRight=c+&quot;px&quot;}}if(a==&quot;vspace&quot;){e.setStyle(b,&quot;marginTop&quot;,&quot;&quot;);e.setStyle(b,&quot;marginBottom&quot;,&quot;&quot;);c=d.vspace.value;if(c){b.style.marginTop=c+&quot;px&quot;;b.style.marginBottom=c+&quot;px&quot;}}d.img_style.value=e.serializeStyle(e.parseStyle(b.style.cssText));this.demoSetStyle()}},checkVal:function(a){if(a.value==&quot;&quot;){if(a.id==&quot;img_src&quot;){a.value=this.I(&quot;img_demo&quot;).src||this.preloadImg.src}}},resetImageData:function(){var a=document.fo
 rms[0];a.width.value=a.height.value=&quot;&quot;},updateImageData:function(){var d=document.forms[0],b=wpImage,a=d.width.value,c=d.height.value;if(!a&amp;&amp;c){a=d.width.value=b.width=Math.round(b.preloadImg.width/(b.preloadImg.height/c))}else{if(a&amp;&amp;!c){c=d.height.value=b.height=Math.round(b.preloadImg.height/(b.preloadImg.width/a))}}if(!a){d.width.value=b.width=b.preloadImg.width}if(!c){d.height.value=b.height=b.preloadImg.height}b.showSizeSet();b.demoSetSize();if(d.img_style.value){b.demoSetStyle()}},getImageData:function(){var a=wpImage,b=document.forms[0];a.preloadImg=new Image();a.preloadImg.onload=a.updateImageData;a.preloadImg.onerror=a.resetImageData;a.preloadImg.src=tinyMCEPopup.editor.documentBaseURI.toAbsolute(b.img_src.value)}};window.onload=function(){wpImage.init()};wpImage.preInit();
</ins><span class="cx">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>