2010-05-21 13:51:40 +02:00
/ *
2012-10-09 17:03:32 +02:00
Copyright ( c ) 2003 - 2012 , CKSource - Frederico Knabben . All rights reserved .
2010-05-21 13:51:40 +02:00
For licensing , see LICENSE . html or http : //ckeditor.com/license
* /
2012-10-09 17:03:32 +02:00
( function ( ) { var a = function ( b , c ) { var d = 1 , e = 2 , f = 4 , g = 8 , h = /^\s*(\d+)((px)|\%)?\s*$/i , i = /(^\s*(\d+)((px)|\%)?\s*$)|^$/i , j = /^\d+px$/ , k = function ( ) { var B = this . getValue ( ) , C = this . getDialog ( ) , D = B . match ( h ) ; if ( D ) { if ( D [ 2 ] == '%' ) p ( C , false ) ; B = D [ 1 ] ; } if ( C . lockRatio ) { var E = C . originalElement ; if ( E . getCustomData ( 'isReady' ) == 'true' ) if ( this . id == 'txtHeight' ) { if ( B && B != '0' ) B = Math . round ( E . $ . width * ( B / E . $ . height ) ) ; if ( ! isNaN ( B ) ) C . setValueOf ( 'info' , 'txtWidth' , B ) ; } else { if ( B && B != '0' ) B = Math . round ( E . $ . height * ( B / E . $ . width ) ) ; if ( ! isNaN ( B ) ) C . setValueOf ( 'info' , 'txtHeight' , B ) ; } } l ( C ) ; } , l = function ( B ) { if ( ! B . originalElement || ! B . preview ) return 1 ; B . commitContent ( f , B . preview ) ; return 0 ; } ; function m ( ) { var B = arguments , C = this . getContentElement ( 'advanced' , 'txtdlgGenStyle' ) ; C && C . commit . apply ( C , B ) ; this . foreach ( function ( D ) { if ( D . commit && D . id != 'txtdlgGenStyle' ) D . commit . apply ( D , B ) ; } ) ; } ; var n ; function o ( B ) { if ( n ) return ; n = 1 ; var C = this . getDialog ( ) , D = C . imageElement ; if ( D ) { this . commit ( d , D ) ; B = [ ] . concat ( B ) ; var E = B . length , F ; for ( var G = 0 ; G < E ; G ++ ) { F = C . getContentElement . apply ( C , B [ G ] . split ( ':' ) ) ; F && F . setup ( d , D ) ; } } n = 0 ; } ; var p = function ( B , C ) { if ( ! B . getContentElement ( 'info' , 'ratioLock' ) ) return null ; var D = B . originalElement ; if ( ! D ) return null ; if ( C == 'check' ) { if ( ! B . userlockRatio && D . getCustomData ( 'isReady' ) == 'true' ) { var E = B . getValueOf ( 'info' , 'txtWidth' ) , F = B . getValueOf ( 'info' , 'txtHeight' ) , G = D . $ . width * 1000 / D . $ . height , H = E * 1000 / F ; B . lockRatio = false ; if ( ! E && ! F ) B . lockRatio = true ; else if ( ! isNaN ( G ) && ! isNaN ( H ) ) if ( Math . round ( G ) == Math . round ( H ) ) B . lockRatio = true ; } } else if ( C != undefined ) B . lockRatio = C ; else { B . userlockRatio = 1 ; B . lockRatio = ! B . lockRatio ; } var I = CKEDITOR . document . getById ( w ) ; if ( B . lockRatio ) I . removeClass ( 'cke_btn_unlocked' ) ; else I . addClass ( 'cke_btn_unlocked' ) ; I . setAttribute ( 'aria-checked' , B . lockRatio ) ; if ( CKEDITOR . env . hc ) { var J = I . getChild ( 0 ) ; J . setHtml ( B . lockRatio ? CKEDITOR . env . ie ? '■' : '▣' : CKEDITOR . env . ie ? '□' : '▢' ) ; } return B . lockRatio ; } , q = function ( B ) { var C = B . originalElement ; if ( C . getCustomData ( 'isReady' ) == 'true' ) { var D = B . getContentElement ( 'info' , 'txtWidth' ) , E = B . getContentElement ( 'info' , 'txtHeight' ) ; D && D . setValue ( C . $ . width ) ; E && E . setValue ( C . $ . height ) ; } l ( B ) ; } , r = function ( B , C ) { if ( B != d ) return ; function D ( I , J ) { var K = I . match ( h ) ; if ( K ) { if ( K [ 2 ] == '%' ) { K [ 1 ] += '%' ; p ( E , false ) ; } return K [ 1 ] ; } return J ; } ; var E = this . getDialog ( ) , F = '' , G = this . id == 'txtWidth' ? 'width' : 'height' , H = C . getAttribute ( G ) ; if ( H ) F = D ( H , F ) ; F = D ( C . getStyle ( G ) , F ) ; this . setValue ( F ) ; } , s , t = function ( ) { var B = this . originalElement ; B . setCustomData ( 'isReady' , 'true' ) ; B . removeListener ( 'load' , t ) ; B . removeListener ( 'error' , u ) ; B . removeListener ( 'abort' , u ) ;
CKEDITOR . document . getById ( y ) . setStyle ( 'display' , 'none' ) ; if ( ! this . dontResetSize ) q ( this ) ; if ( this . firstLoad ) CKEDITOR . tools . setTimeout ( function ( ) { p ( this , 'check' ) ; } , 0 , this ) ; this . firstLoad = false ; this . dontResetSize = false ; } , u = function ( ) { var D = this ; var B = D . originalElement ; B . removeListener ( 'load' , t ) ; B . removeListener ( 'error' , u ) ; B . removeListener ( 'abort' , u ) ; var C = CKEDITOR . getUrl ( b . skinPath + 'images/noimage.png' ) ; if ( D . preview ) D . preview . setAttribute ( 'src' , C ) ; CKEDITOR . document . getById ( y ) . setStyle ( 'display' , 'none' ) ; p ( D , false ) ; } , v = function ( B ) { return CKEDITOR . tools . getNextId ( ) + '_' + B ; } , w = v ( 'btnLockSizes' ) , x = v ( 'btnResetSize' ) , y = v ( 'ImagePreviewLoader' ) , z = v ( 'previewLink' ) , A = v ( 'previewImage' ) ; return { title : b . lang . image [ c == 'image' ? 'title' : 'titleButton' ] , minWidth : 420 , minHeight : 360 , onShow : function ( ) { var H = this ; H . imageElement = false ; H . linkElement = false ; H . imageEditMode = false ; H . linkEditMode = false ; H . lockRatio = true ; H . userlockRatio = 0 ; H . dontResetSize = false ; H . firstLoad = true ; H . addLink = false ; var B = H . getParentEditor ( ) , C = B . getSelection ( ) , D = C && C . getSelectedElement ( ) , E = D && D . getAscendant ( 'a' ) ; CKEDITOR . document . getById ( y ) . setStyle ( 'display' , 'none' ) ; s = new CKEDITOR . dom . element ( 'img' , B . document ) ; H . preview = CKEDITOR . document . getById ( A ) ; H . originalElement = B . document . createElement ( 'img' ) ; H . originalElement . setAttribute ( 'alt' , '' ) ; H . originalElement . setCustomData ( 'isReady' , 'false' ) ; if ( E ) { H . linkElement = E ; H . linkEditMode = true ; var F = E . getChildren ( ) ; if ( F . count ( ) == 1 ) { var G = F . getItem ( 0 ) . getName ( ) ; if ( G == 'img' || G == 'input' ) { H . imageElement = F . getItem ( 0 ) ; if ( H . imageElement . getName ( ) == 'img' ) H . imageEditMode = 'img' ; else if ( H . imageElement . getName ( ) == 'input' ) H . imageEditMode = 'input' ; } } if ( c == 'image' ) H . setupContent ( e , E ) ; } if ( D && D . getName ( ) == 'img' && ! D . data ( 'cke-realelement' ) || D && D . getName ( ) == 'input' && D . getAttribute ( 'type' ) == 'image' ) { H . imageEditMode = D . getName ( ) ; H . imageElement = D ; } if ( H . imageEditMode ) { H . cleanImageElement = H . imageElement ; H . imageElement = H . cleanImageElement . clone ( true , true ) ; H . setupContent ( d , H . imageElement ) ; } else H . imageElement = B . document . createElement ( 'img' ) ; p ( H , true ) ; if ( ! CKEDITOR . tools . trim ( H . getValueOf ( 'info' , 'txtUrl' ) ) ) { H . preview . removeAttribute ( 'src' ) ; H . preview . setStyle ( 'display' , 'none' ) ; } } , onOk : function ( ) { var C = this ; if ( C . imageEditMode ) { var B = C . imageEditMode ; if ( c == 'image' && B == 'input' && confirm ( b . lang . image . button2Img ) ) { B = 'img' ; C . imageElement = b . document . createElement ( 'img' ) ; C . imageElement . setAttribute ( 'alt' , '' ) ; b . insertElement ( C . imageElement ) ; } else if ( c != 'image' && B == 'img' && confirm ( b . lang . image . img2Button ) ) { B = 'input' ; C . imageElement = b . document . createElement ( 'input' ) ;
C . imageElement . setAttributes ( { type : 'image' , alt : '' } ) ; b . insertElement ( C . imageElement ) ; } else { C . imageElement = C . cleanImageElement ; delete C . cleanImageElement ; } } else { if ( c == 'image' ) C . imageElement = b . document . createElement ( 'img' ) ; else { C . imageElement = b . document . createElement ( 'input' ) ; C . imageElement . setAttribute ( 'type' , 'image' ) ; } C . imageElement . setAttribute ( 'alt' , '' ) ; } if ( ! C . linkEditMode ) C . linkElement = b . document . createElement ( 'a' ) ; C . commitContent ( d , C . imageElement ) ; C . commitContent ( e , C . linkElement ) ; if ( ! C . imageElement . getAttribute ( 'style' ) ) C . imageElement . removeAttribute ( 'style' ) ; if ( ! C . imageEditMode ) { if ( C . addLink ) { if ( ! C . linkEditMode ) { b . insertElement ( C . linkElement ) ; C . linkElement . append ( C . imageElement , false ) ; } else b . insertElement ( C . imageElement ) ; } else b . insertElement ( C . imageElement ) ; } else if ( ! C . linkEditMode && C . addLink ) { b . insertElement ( C . linkElement ) ; C . imageElement . appendTo ( C . linkElement ) ; } else if ( C . linkEditMode && ! C . addLink ) { b . getSelection ( ) . selectElement ( C . linkElement ) ; b . insertElement ( C . imageElement ) ; } } , onLoad : function ( ) { var C = this ; if ( c != 'image' ) C . hidePage ( 'Link' ) ; var B = C . _ . element . getDocument ( ) ; if ( C . getContentElement ( 'info' , 'ratioLock' ) ) { C . addFocusable ( B . getById ( x ) , 5 ) ; C . addFocusable ( B . getById ( w ) , 5 ) ; } C . commitContent = m ; } , onHide : function ( ) { var B = this ; if ( B . preview ) B . commitContent ( g , B . preview ) ; if ( B . originalElement ) { B . originalElement . removeListener ( 'load' , t ) ; B . originalElement . removeListener ( 'error' , u ) ; B . originalElement . removeListener ( 'abort' , u ) ; B . originalElement . remove ( ) ; B . originalElement = false ; } delete B . imageElement ; } , contents : [ { id : 'info' , label : b . lang . image . infoTab , accessKey : 'I' , elements : [ { type : 'vbox' , padding : 0 , children : [ { type : 'hbox' , widths : [ '280px' , '110px' ] , align : 'right' , children : [ { id : 'txtUrl' , type : 'text' , label : b . lang . common . url , required : true , onChange : function ( ) { var B = this . getDialog ( ) , C = this . getValue ( ) ; if ( C . length > 0 ) { B = this . getDialog ( ) ; var D = B . originalElement ; B . preview . removeStyle ( 'display' ) ; D . setCustomData ( 'isReady' , 'false' ) ; var E = CKEDITOR . document . getById ( y ) ; if ( E ) E . setStyle ( 'display' , '' ) ; D . on ( 'load' , t , B ) ; D . on ( 'error' , u , B ) ; D . on ( 'abort' , u , B ) ; D . setAttribute ( 'src' , C ) ; s . setAttribute ( 'src' , C ) ; B . preview . setAttribute ( 'src' , s . $ . src ) ; l ( B ) ; } else if ( B . preview ) { B . preview . removeAttribute ( 'src' ) ; B . preview . setStyle ( 'display' , 'none' ) ; } } , setup : function ( B , C ) { if ( B == d ) { var D = C . data ( 'cke-saved-src' ) || C . getAttribute ( 'src' ) , E = this ; this . getDialog ( ) . dontResetSize = true ; E . setValue ( D ) ; E . setInitValue ( ) ; } } , commit : function ( B , C ) { var D = this ; if ( B == d && ( D . getValue ( ) || D . isChanged ( ) ) ) { C . data ( 'cke-saved-src' , D . getValue ( ) ) ;
C . setAttribute ( 'src' , D . getValue ( ) ) ; } else if ( B == g ) { C . setAttribute ( 'src' , '' ) ; C . removeAttribute ( 'src' ) ; } } , validate : CKEDITOR . dialog . validate . notEmpty ( b . lang . image . urlMissing ) } , { type : 'button' , id : 'browse' , style : 'display:inline-block;margin-top:10px;' , align : 'center' , label : b . lang . common . browseServer , hidden : true , filebrowser : 'info:txtUrl' } ] } ] } , { id : 'txtAlt' , type : 'text' , label : b . lang . image . alt , accessKey : 'T' , 'default' : '' , onChange : function ( ) { l ( this . getDialog ( ) ) ; } , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'alt' ) ) ; } , commit : function ( B , C ) { var D = this ; if ( B == d ) { if ( D . getValue ( ) || D . isChanged ( ) ) C . setAttribute ( 'alt' , D . getValue ( ) ) ; } else if ( B == f ) C . setAttribute ( 'alt' , D . getValue ( ) ) ; else if ( B == g ) C . removeAttribute ( 'alt' ) ; } } , { type : 'hbox' , children : [ { id : 'basic' , type : 'vbox' , children : [ { type : 'hbox' , widths : [ '50%' , '50%' ] , children : [ { type : 'vbox' , padding : 1 , children : [ { type : 'text' , width : '40px' , id : 'txtWidth' , label : b . lang . common . width , onKeyUp : k , onChange : function ( ) { o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , validate : function ( ) { var B = this . getValue ( ) . match ( i ) , C = ! ! ( B && parseInt ( B [ 1 ] , 10 ) !== 0 ) ; if ( ! C ) alert ( b . lang . common . invalidWidth ) ; return C ; } , setup : r , commit : function ( B , C , D ) { var E = this . getValue ( ) ; if ( B == d ) { if ( E ) C . setStyle ( 'width' , CKEDITOR . tools . cssLength ( E ) ) ; else C . removeStyle ( 'width' ) ; ! D && C . removeAttribute ( 'width' ) ; } else if ( B == f ) { var F = E . match ( h ) ; if ( ! F ) { var G = this . getDialog ( ) . originalElement ; if ( G . getCustomData ( 'isReady' ) == 'true' ) C . setStyle ( 'width' , G . $ . width + 'px' ) ; } else C . setStyle ( 'width' , CKEDITOR . tools . cssLength ( E ) ) ; } else if ( B == g ) { C . removeAttribute ( 'width' ) ; C . removeStyle ( 'width' ) ; } } } , { type : 'text' , id : 'txtHeight' , width : '40px' , label : b . lang . common . height , onKeyUp : k , onChange : function ( ) { o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , validate : function ( ) { var B = this . getValue ( ) . match ( i ) , C = ! ! ( B && parseInt ( B [ 1 ] , 10 ) !== 0 ) ; if ( ! C ) alert ( b . lang . common . invalidHeight ) ; return C ; } , setup : r , commit : function ( B , C , D ) { var E = this . getValue ( ) ; if ( B == d ) { if ( E ) C . setStyle ( 'height' , CKEDITOR . tools . cssLength ( E ) ) ; else C . removeStyle ( 'height' ) ; ! D && C . removeAttribute ( 'height' ) ; } else if ( B == f ) { var F = E . match ( h ) ; if ( ! F ) { var G = this . getDialog ( ) . originalElement ; if ( G . getCustomData ( 'isReady' ) == 'true' ) C . setStyle ( 'height' , G . $ . height + 'px' ) ; } else C . setStyle ( 'height' , CKEDITOR . tools . cssLength ( E ) ) ; } else if ( B == g ) { C . removeAttribute ( 'height' ) ; C . removeStyle ( 'height' ) ; } } } ] } , { id : 'ratioLock' , type : 'html' , style : 'margin-top:30px;width:40px;height:40px;' , onLoad : function ( ) { var B = CKEDITOR . document . getById ( x ) , C = CKEDITOR . document . getById ( w ) ; if ( B ) { B . on ( 'click' , function ( D ) { q ( this ) ; D . data && D . data . preventDefault ( ) ;
} , this . getDialog ( ) ) ; B . on ( 'mouseover' , function ( ) { this . addClass ( 'cke_btn_over' ) ; } , B ) ; B . on ( 'mouseout' , function ( ) { this . removeClass ( 'cke_btn_over' ) ; } , B ) ; } if ( C ) { C . on ( 'click' , function ( D ) { var I = this ; var E = p ( I ) , F = I . originalElement , G = I . getValueOf ( 'info' , 'txtWidth' ) ; if ( F . getCustomData ( 'isReady' ) == 'true' && G ) { var H = F . $ . height / F . $ . width * G ; if ( ! isNaN ( H ) ) { I . setValueOf ( 'info' , 'txtHeight' , Math . round ( H ) ) ; l ( I ) ; } } D . data && D . data . preventDefault ( ) ; } , this . getDialog ( ) ) ; C . on ( 'mouseover' , function ( ) { this . addClass ( 'cke_btn_over' ) ; } , C ) ; C . on ( 'mouseout' , function ( ) { this . removeClass ( 'cke_btn_over' ) ; } , C ) ; } } , html : '<div><a href="javascript:void(0)" tabindex="-1" title="' + b . lang . image . lockRatio + '" class="cke_btn_locked" id="' + w + '" role="checkbox"><span class="cke_icon"></span><span class="cke_label">' + b . lang . image . lockRatio + '</span></a>' + '<a href="javascript:void(0)" tabindex="-1" title="' + b . lang . image . resetSize + '" class="cke_btn_reset" id="' + x + '" role="button"><span class="cke_label">' + b . lang . image . resetSize + '</span></a>' + '</div>' } ] } , { type : 'vbox' , padding : 1 , children : [ { type : 'text' , id : 'txtBorder' , width : '60px' , label : b . lang . image . border , 'default' : '' , onKeyUp : function ( ) { l ( this . getDialog ( ) ) ; } , onChange : function ( ) { o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , validate : CKEDITOR . dialog . validate . integer ( b . lang . image . validateBorder ) , setup : function ( B , C ) { if ( B == d ) { var D , E = C . getStyle ( 'border-width' ) ; E = E && E . match ( /^(\d+px)(?: \1 \1 \1)?$/ ) ; D = E && parseInt ( E [ 1 ] , 10 ) ; isNaN ( parseInt ( D , 10 ) ) && ( D = C . getAttribute ( 'border' ) ) ; this . setValue ( D ) ; } } , commit : function ( B , C , D ) { var E = parseInt ( this . getValue ( ) , 10 ) ; if ( B == d || B == f ) { if ( ! isNaN ( E ) ) { C . setStyle ( 'border-width' , CKEDITOR . tools . cssLength ( E ) ) ; C . setStyle ( 'border-style' , 'solid' ) ; } else if ( ! E && this . isChanged ( ) ) { C . removeStyle ( 'border-width' ) ; C . removeStyle ( 'border-style' ) ; C . removeStyle ( 'border-color' ) ; } if ( ! D && B == d ) C . removeAttribute ( 'border' ) ; } else if ( B == g ) { C . removeAttribute ( 'border' ) ; C . removeStyle ( 'border-width' ) ; C . removeStyle ( 'border-style' ) ; C . removeStyle ( 'border-color' ) ; } } } , { type : 'text' , id : 'txtHSpace' , width : '60px' , label : b . lang . image . hSpace , 'default' : '' , onKeyUp : function ( ) { l ( this . getDialog ( ) ) ; } , onChange : function ( ) { o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , validate : CKEDITOR . dialog . validate . integer ( b . lang . image . validateHSpace ) , setup : function ( B , C ) { if ( B == d ) { var D , E , F , G = C . getStyle ( 'margin-left' ) , H = C . getStyle ( 'margin-right' ) ; G = G && G . match ( j ) ; H = H && H . match ( j ) ; E = parseInt ( G , 10 ) ; F = parseInt ( H , 10 ) ; D = E == F && E ; isNaN ( parseInt ( D , 10 ) ) && ( D = C . getAttribute ( 'hspace' ) ) ; this . setValue ( D ) ; } } , commit : function ( B , C , D ) { var E = parseInt ( this . getValue ( ) , 10 ) ;
if ( B == d || B == f ) { if ( ! isNaN ( E ) ) { C . setStyle ( 'margin-left' , CKEDITOR . tools . cssLength ( E ) ) ; C . setStyle ( 'margin-right' , CKEDITOR . tools . cssLength ( E ) ) ; } else if ( ! E && this . isChanged ( ) ) { C . removeStyle ( 'margin-left' ) ; C . removeStyle ( 'margin-right' ) ; } if ( ! D && B == d ) C . removeAttribute ( 'hspace' ) ; } else if ( B == g ) { C . removeAttribute ( 'hspace' ) ; C . removeStyle ( 'margin-left' ) ; C . removeStyle ( 'margin-right' ) ; } } } , { type : 'text' , id : 'txtVSpace' , width : '60px' , label : b . lang . image . vSpace , 'default' : '' , onKeyUp : function ( ) { l ( this . getDialog ( ) ) ; } , onChange : function ( ) { o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , validate : CKEDITOR . dialog . validate . integer ( b . lang . image . validateVSpace ) , setup : function ( B , C ) { if ( B == d ) { var D , E , F , G = C . getStyle ( 'margin-top' ) , H = C . getStyle ( 'margin-bottom' ) ; G = G && G . match ( j ) ; H = H && H . match ( j ) ; E = parseInt ( G , 10 ) ; F = parseInt ( H , 10 ) ; D = E == F && E ; isNaN ( parseInt ( D , 10 ) ) && ( D = C . getAttribute ( 'vspace' ) ) ; this . setValue ( D ) ; } } , commit : function ( B , C , D ) { var E = parseInt ( this . getValue ( ) , 10 ) ; if ( B == d || B == f ) { if ( ! isNaN ( E ) ) { C . setStyle ( 'margin-top' , CKEDITOR . tools . cssLength ( E ) ) ; C . setStyle ( 'margin-bottom' , CKEDITOR . tools . cssLength ( E ) ) ; } else if ( ! E && this . isChanged ( ) ) { C . removeStyle ( 'margin-top' ) ; C . removeStyle ( 'margin-bottom' ) ; } if ( ! D && B == d ) C . removeAttribute ( 'vspace' ) ; } else if ( B == g ) { C . removeAttribute ( 'vspace' ) ; C . removeStyle ( 'margin-top' ) ; C . removeStyle ( 'margin-bottom' ) ; } } } , { id : 'cmbAlign' , type : 'select' , widths : [ '35%' , '65%' ] , style : 'width:90px' , label : b . lang . common . align , 'default' : '' , items : [ [ b . lang . common . notSet , '' ] , [ b . lang . common . alignLeft , 'left' ] , [ b . lang . common . alignRight , 'right' ] ] , onChange : function ( ) { l ( this . getDialog ( ) ) ; o . call ( this , 'advanced:txtdlgGenStyle' ) ; } , setup : function ( B , C ) { if ( B == d ) { var D = C . getStyle ( 'float' ) ; switch ( D ) { case 'inherit' : case 'none' : D = '' ; } ! D && ( D = ( C . getAttribute ( 'align' ) || '' ) . toLowerCase ( ) ) ; this . setValue ( D ) ; } } , commit : function ( B , C , D ) { var E = this . getValue ( ) ; if ( B == d || B == f ) { if ( E ) C . setStyle ( 'float' , E ) ; else C . removeStyle ( 'float' ) ; if ( ! D && B == d ) { E = ( C . getAttribute ( 'align' ) || '' ) . toLowerCase ( ) ; switch ( E ) { case 'left' : case 'right' : C . removeAttribute ( 'align' ) ; } } } else if ( B == g ) C . removeStyle ( 'float' ) ; } } ] } ] } , { type : 'vbox' , height : '250px' , children : [ { type : 'html' , id : 'htmlPreview' , style : 'width:95%;' , html : '<div>' + CKEDITOR . tools . htmlEncode ( b . lang . common . preview ) + '<br>' + '<div id="' + y + '" class="ImagePreviewLoader" style="display:none"><div class="loading"> </div></div>' + '<div class="ImagePreviewBox"><table><tr><td>' + '<a href="javascript:void(0)" target="_blank" onclick="return false;" id="' + z + '">' + '<img id="' + A + '" alt="" /></a>' + ( b . config . image _previewText || 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.' ) + '</td></tr></table></div></div>' } ] } ] } ] } , { id : 'Link' , label : b . lang . link . title , padding : 0 , elements : [ { id : 'txtUrl' , type : 'text' , label : b . lang . common . url , style : 'width: 100%' , 'default' : '' , setup : function ( B , C ) { if ( B == e ) { var D = C . data ( 'cke-saved-href' ) ;
if ( ! D ) D = C . getAttribute ( 'href' ) ; this . setValue ( D ) ; } } , commit : function ( B , C ) { var E = this ; if ( B == e ) if ( E . getValue ( ) || E . isChanged ( ) ) { var D = decodeURI ( E . getValue ( ) ) ; C . data ( 'cke-saved-href' , D ) ; C . setAttribute ( 'href' , D ) ; if ( E . getValue ( ) || ! b . config . image _removeLinkByEmptyURL ) E . getDialog ( ) . addLink = true ; } } } , { type : 'button' , id : 'browse' , filebrowser : { action : 'Browse' , target : 'Link:txtUrl' , url : b . config . filebrowserImageBrowseLinkUrl } , style : 'float:right' , hidden : true , label : b . lang . common . browseServer } , { id : 'cmbTarget' , type : 'select' , label : b . lang . common . target , 'default' : '' , items : [ [ b . lang . common . notSet , '' ] , [ b . lang . common . targetNew , '_blank' ] , [ b . lang . common . targetTop , '_top' ] , [ b . lang . common . targetSelf , '_self' ] , [ b . lang . common . targetParent , '_parent' ] ] , setup : function ( B , C ) { if ( B == e ) this . setValue ( C . getAttribute ( 'target' ) || '' ) ; } , commit : function ( B , C ) { if ( B == e ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'target' , this . getValue ( ) ) ; } } ] } , { id : 'Upload' , hidden : true , filebrowser : 'uploadButton' , label : b . lang . image . upload , elements : [ { type : 'file' , id : 'upload' , label : b . lang . image . btnUpload , style : 'height:40px' , size : 38 } , { type : 'fileButton' , id : 'uploadButton' , filebrowser : 'info:txtUrl' , label : b . lang . image . btnUpload , 'for' : [ 'Upload' , 'upload' ] } ] } , { id : 'advanced' , label : b . lang . common . advancedTab , elements : [ { type : 'hbox' , widths : [ '50%' , '25%' , '25%' ] , children : [ { type : 'text' , id : 'linkId' , label : b . lang . common . id , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'id' ) ) ; } , commit : function ( B , C ) { if ( B == d ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'id' , this . getValue ( ) ) ; } } , { id : 'cmbLangDir' , type : 'select' , style : 'width : 100px;' , label : b . lang . common . langDir , 'default' : '' , items : [ [ b . lang . common . notSet , '' ] , [ b . lang . common . langDirLtr , 'ltr' ] , [ b . lang . common . langDirRtl , 'rtl' ] ] , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'dir' ) ) ; } , commit : function ( B , C ) { if ( B == d ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'dir' , this . getValue ( ) ) ; } } , { type : 'text' , id : 'txtLangCode' , label : b . lang . common . langCode , 'default' : '' , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'lang' ) ) ; } , commit : function ( B , C ) { if ( B == d ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'lang' , this . getValue ( ) ) ; } } ] } , { type : 'text' , id : 'txtGenLongDescr' , label : b . lang . common . longDescr , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'longDesc' ) ) ; } , commit : function ( B , C ) { if ( B == d ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'longDesc' , this . getValue ( ) ) ; } } , { type : 'hbox' , widths : [ '50%' , '50%' ] , children : [ { type : 'text' , id : 'txtGenClass' , label : b . lang . common . cssClass , 'default' : '' , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'class' ) ) ;
} , commit : function ( B , C ) { if ( B == d ) if ( this . getValue ( ) || this . isChanged ( ) ) C . setAttribute ( 'class' , this . getValue ( ) ) ; } } , { type : 'text' , id : 'txtGenTitle' , label : b . lang . common . advisoryTitle , 'default' : '' , onChange : function ( ) { l ( this . getDialog ( ) ) ; } , setup : function ( B , C ) { if ( B == d ) this . setValue ( C . getAttribute ( 'title' ) ) ; } , commit : function ( B , C ) { var D = this ; if ( B == d ) { if ( D . getValue ( ) || D . isChanged ( ) ) C . setAttribute ( 'title' , D . getValue ( ) ) ; } else if ( B == f ) C . setAttribute ( 'title' , D . getValue ( ) ) ; else if ( B == g ) C . removeAttribute ( 'title' ) ; } } ] } , { type : 'text' , id : 'txtdlgGenStyle' , label : b . lang . common . cssStyle , validate : CKEDITOR . dialog . validate . inlineStyle ( b . lang . common . invalidInlineStyle ) , 'default' : '' , setup : function ( B , C ) { if ( B == d ) { var D = C . getAttribute ( 'style' ) ; if ( ! D && C . $ . style . cssText ) D = C . $ . style . cssText ; this . setValue ( D ) ; var E = C . $ . style . height , F = C . $ . style . width , G = ( E ? E : '' ) . match ( h ) , H = ( F ? F : '' ) . match ( h ) ; this . attributesInStyle = { height : ! ! G , width : ! ! H } ; } } , onChange : function ( ) { o . call ( this , [ 'info:cmbFloat' , 'info:cmbAlign' , 'info:txtVSpace' , 'info:txtHSpace' , 'info:txtBorder' , 'info:txtWidth' , 'info:txtHeight' ] ) ; l ( this ) ; } , commit : function ( B , C ) { if ( B == d && ( this . getValue ( ) || this . isChanged ( ) ) ) C . setAttribute ( 'style' , this . getValue ( ) ) ; } } ] } ] } ; } ; CKEDITOR . dialog . add ( 'image' , function ( b ) { return a ( b , 'image' ) ; } ) ; CKEDITOR . dialog . add ( 'imagebutton' , function ( b ) { return a ( b , 'imagebutton' ) ; } ) ; } ) ( ) ;