From d96a2db27dea5b846b1232cd575c694e29383295 Mon Sep 17 00:00:00 2001 From: Ivan Tcholakov Date: Sun, 2 Jan 2011 17:27:10 +0200 Subject: [PATCH] Feature #2132 - "asciisvg" plug-in: Supporting "fake images" has been implemented. --- .../plugins/customizations/fckplugin.js | 49 +++++++++++++++++++ .../customizations/fckplugin_compressed.js | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin.js b/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin.js index 4492234233..ad7b269b38 100755 --- a/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin.js +++ b/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin.js @@ -1181,6 +1181,25 @@ FCKDocumentProcessor_CreateFakeImage = function( fakeClass, realElement ) } } } + else if ( fakeClass == 'FCK__AsciiSvg' ) + { + var width = realElement.width ; + var height = realElement.height ; + if ( width ) + { + oImg.style.width = width.toString().indexOf('%') != -1 ? width : ( width + 'px' ) ; + } + if ( height ) + { + oImg.style.height = height.toString().indexOf('%') != -1 ? height : ( height + 'px' ) ; + } + if ( realElement.style.width ) { + oImg.style.width = realElement.style.width ; + } + if ( realElement.style.height ) { + oImg.style.height = realElement.style.height ; + } + } return oImg ; } @@ -1259,6 +1278,36 @@ FCKDocumentProcessor.AppendNew().ProcessDocument = function ( document ) } } ; + // A custom handler for AsciiSvg graphs when a new tag has been added. +FCKEmbedAndObjectProcessor.AddCustomHandler( function ( el, fakeImg ) + { + if ( !FCK.IsAsciiSvg( el ) ) + { + return ; + } + + fakeImg.className = 'FCK__AsciiSvg' ; + fakeImg.setAttribute( '_fckasciisvg', 'true', 0 ) ; + } ) ; + +// Fake images for AsciiSvg graphs when the document has been opened. +FCKDocumentProcessor.AppendNew().ProcessDocument = function ( document ) + { + var embeds = document.getElementsByTagName( 'embed' ) ; + var embed ; + var i = embeds.length - 1 ; + while ( i >= 0 && ( embed = embeds[i--] ) ) + { + if ( FCK.IsAsciiSvg( embed ) ) + { + var oImg = FCKDocumentProcessor_CreateFakeImage( 'FCK__AsciiSvg', embed.cloneNode(true) ) ; + oImg.setAttribute( '_fckasciisvg', 'true', 0 ) ; + embed.parentNode.insertBefore( oImg, embed ) ; + embed.parentNode.removeChild( embed ) ; + } + } + } ; + /* ************************************************************************************** diff --git a/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin_compressed.js b/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin_compressed.js index 86b37c6e31..f70e1a034b 100755 --- a/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin_compressed.js +++ b/main/inc/lib/fckeditor/editor/plugins/customizations/fckplugin_compressed.js @@ -1 +1 @@ -if (typeof FCKConfig.ToolbarSets=='string'||FCKConfig.ToolbarSets instanceof (String)){FCKConfig.ToolbarSets=eval('('+FCKConfig.ToolbarSets+')');};FCKConfig.AdvancedFileManager=null;if (FCKConfig.AdvancedFileManager){FCKConfig.AdvancedFileManager=FCKConfig.AdvancedFileManager.toString().toLowerCase()=='true'?true:false;}else{FCKConfig.AdvancedFileManager=false;if ((FCKConfig.ImageBrowserURL&&FCKConfig.ImageBrowserURL.toString().indexOf('ajaxfilemanager')!=-1)||(FCKConfig.FlashBrowserURL&&FCKConfig.FlashBrowserURL.toString().indexOf('ajaxfilemanager')!=-1)||(FCKConfig.MP3BrowserURL&&FCKConfig.MP3BrowserURL.toString().indexOf('ajaxfilemanager')!=-1)||(FCKConfig.VideoBrowserURL&&FCKConfig.VideoBrowserURL.toString().indexOf('ajaxfilemanager')!=-1)||(FCKConfig.LinkBrowserURL&&FCKConfig.LinkBrowserURL.toString().indexOf('ajaxfilemanager')!=-1)||(FCKConfig.MediaBrowserURL&&FCKConfig.MediaBrowserURL.toString().indexOf('ajaxfilemanager')!=-1)){FCKConfig.AdvancedFileManager=true;}};if (FCKConfig.InDocument){FCKConfig.InDocument=FCKConfig.InDocument.toString().toLowerCase()=='true'?true:false;}else{FCKConfig.InDocument=false;};if (!FCKConfig.CreateDocumentWebDir){FCKConfig.CreateDocumentWebDir='';};if (!FCKConfig.CreateDocumentDir){FCKConfig.CreateDocumentDir='';};if (!FCKConfig.BaseHref||FCKConfig.BaseHref.toString().length==0){if (FCKConfig.BaseHref.toString().length==0){FCKConfig.BaseHref=FCKConfig.CreateDocumentWebDir;}};if (!FCKConfig.BaseHref){if (typeof (FCKConfig.BaseHref)!='string'){FCKConfig.BaseHref=FCKConfig.CreateDocumentWebDir;}};FCKConfig.BaseHref=FCKConfig.BaseHref.toString();if (FCKConfig.BaseHref.length>0){if (FCKConfig.BaseHref.substr(FCKConfig.BaseHref.length-1)!='/'){FCKConfig.BaseHref=FCKConfig.BaseHref+'/';}};if (!FCKConfig.ImagesIcon){FCKConfig.ImagesIcon=FCKConfig.PluginsPath+'customizations/images/images_icon.gif';};FCK.Plugins.IsLoaded=function(A){if (A){for (var i=0;i0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var a=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(a.scrollWidth,a.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(a.scrollHeight,a.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(b,c,d,e,f,g,h){if (!A) this.DisplayMainCover();var H={Title:c,Page:d,Editor:window,CustomValue:g,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var I=FCKTools.GetViewPaneSize(D);var J={ 'X':0,'Y':0 };var K=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (K) J=FCKTools.GetScrollPosition(D);var L=Math.max(J.Y+(I.Height-f-20)/2,0);var M=Math.max(J.X+(I.Width-e-20)/2,0);var N=E.createElement('iframe');FCKTools.ResetStyles(N);N.src=FCKConfig.BasePath+'fckdialog.html';N.frameBorder=0;N.allowTransparency=true;FCKDomTools.SetElementStyles(N,{'position':(K)?'absolute':'fixed','top':L+'px','left':M+'px','width':e+'px','height':f+'px','zIndex':F()});N._DialogArguments=H;E.body.appendChild(N);N._ParentDialog=A;A=N;},OpenDialogFrame:function(i,j,k,l,m,n,o){var H={Title:j,Page:k,Editor:window,CustomValue:n,TopWindow:D};var I=FCKTools.GetViewPaneSize(D);var J={ 'X':0,'Y':0 };var K=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (K) J=FCKTools.GetScrollPosition(D);var L=Math.max(J.Y+(I.Height-m-20)/2,0);var M=Math.max(J.X+(I.Width-l-20)/2,0);var N=E.createElement('iframe');N.src=FCKConfig.BasePath+'fckdialogframe.html';N.frameBorder=0;N.allowTransparency=true;FCKDomTools.SetElementStyles(N,{'position':(K)?'absolute':'fixed','top':L+'px','left':M+'px','width':l+'px','height':m+'px','zIndex':F()});N._DialogArguments=H;return H;},OnDialogClose:function(p){var N=p.frameElement;FCKDomTools.RemoveNode(N);if (N._ParentDialog){A=N._ParentDialog;try{N._ParentDialog.contentWindow.SetEnabled(true);}catch (ex) { }}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var X=E.createElement('iframe');FCKTools.ResetStyles(X);X.hideFocus=true;X.frameBorder=0;X.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(X,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(X);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var Y=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');Y._fck_originalTabIndex=Y.tabIndex;Y.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var Y=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');Y.tabIndex=Y._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(Y,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();FCK.BlockCopyPasteKeystrokes=function(){var A=[];for (var i=0;iC){B=B*C/A;A=C;};if (B>D){A=A*D/B;B=D;};E[0]=parseInt (A,10);E[1]=parseInt (B,10);return E;};FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);if (A=='FCK__Video'){if (B.nodeName.IEquals('div')){for (var i=0;i=0&&(C=B[i--])){if (FCK.IsAudio(C)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__MP3',C.cloneNode(true));D.setAttribute('_fckmp3','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function (A,B){if (!FCK.IsVideo(A)){return;};B.className='FCK__Video';B.setAttribute('_fckvideo','true',0);});FCKDocumentProcessor.AppendNew().ProcessDocument=function (A){var B=A.getElementsByTagName('embed');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (FCK.IsVideo(C)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__Video',C.cloneNode(true));D.setAttribute('_fckvideo','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}};var E=A.getElementsByTagName('div');var F;var i=E.length-1;while (i>=0&&(F=E[i--])){if (FCK.IsVideo(F)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__Video',F.cloneNode(true));D.setAttribute('_fckvideo','true',0);F.parentNode.insertBefore(D,F);F.parentNode.removeChild(F);}}};for (var i in FCK.ContextMenu.Listeners){var listener='';if (FCK.ContextMenu.Listeners[i].AddItems){listener=FCK.ContextMenu.Listeners[i].AddItems.toString();};if (listener.indexOf('IMG')!=-1&&listener.indexOf('_fckfakelement')!=-1){FCK.ContextMenu.Listeners[i].AddItems=function (A,B,C){return;};};if (listener.indexOf('IMG')!=-1&&listener.indexOf('_fckflash')!=-1){FCK.ContextMenu.Listeners[i].AddItems=function (A,B,C){return;};}};FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (FCK.IsRealImage(B)){A.AddSeparator();A.AddItem('Image',FCKLang.ImageProperties,FCKConfig.ImagesIcon);}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (C=='IMG'&&B.getAttribute('_fckflash')&&!B.getAttribute('_fckmp3')&&!B.getAttribute('_fckvideo')){A.AddSeparator();A.AddItem('Flash',FCKLang.FlashProperties,38);}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){var D='Import MP3';var E=FCKConfig.PluginsPath+'MP3/mp3.gif';if (FCKLang.DlgAudioTitle){D=FCKLang.DlgAudioTitle;E=FCKConfig.PluginsPath+'audio/audio.gif';}else if (FCKLang.DlgMP3Title){D=FCKLang.DlgMP3Title;};if (C=='IMG'&&B.getAttribute('_fckmp3')){if (FCK.Plugins.IsLoaded('audio')||FCK.Plugins.IsLoaded('MP3')){A.AddSeparator();A.AddItem('MP3',D,E);}}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (C=='IMG'&&B.getAttribute('_fckvideo')){switch (FCK.GetVideoType(B)){case 'embedded_video':if (FCK.Plugins.IsLoaded('fckEmbedMovies')){A.AddSeparator();A.AddItem('EmbedMovies',FCKLang.DlgEmbedMoviesTitle,FCKConfig.PluginsPath+'fckEmbedMovies/embedmovies.gif');};break;case 'youtube':if (FCK.Plugins.IsLoaded('youtube')){A.AddSeparator();A.AddItem('YouTube',FCKLang.YouTubeTip,FCKConfig.PluginsPath+'youtube/youtube.gif');};break;case 'flv':if (FCK.Plugins.IsLoaded('flvPlayer')){A.AddSeparator();A.AddItem('flvPlayer',FCKLang.DlgFLVPlayerTitle,FCKConfig.PluginsPath+'flvPlayer/flvPlayer.gif');};break;default:break;}}} });FCK.RegisterDoubleClickHandler(function (A){if (FCK.IsRealImage(A)){var B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',600,455);B.Execute();}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckflash')&&!A.getAttribute('_fckmp3')&&!A.getAttribute('_fckvideo')){FCKCommands.GetCommand('Flash').Execute();}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckmp3')){if (FCK.Plugins.IsLoaded('audio')||FCK.Plugins.IsLoaded('MP3')){FCKCommands.GetCommand('MP3').Execute();}}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckvideo')){switch (FCK.GetVideoType(A)){case 'embedded_video':if (FCK.Plugins.IsLoaded('fckEmbedMovies')){FCKCommands.GetCommand('EmbedMovies').Execute();};break;case 'youtube':if (FCK.Plugins.IsLoaded('youtube')){FCKCommands.GetCommand('YouTube').Execute();};break;case 'flv':if (FCK.Plugins.IsLoaded('flvPlayer')){FCKCommands.GetCommand('flvPlayer').Execute();};break;default:break;}}},'IMG');FCK.IsRealImage=function (A){if (!A){return false;};if (A.nodeName.IEquals('img')){if (A.getAttribute('_fckfakelement')||A.getAttribute('_fckflash')||A.getAttribute('_fckmp3')||A.getAttribute('_fckvideo')||A.getAttribute('MapNumber')||FCK.IsAsciiSvg(A)){return false;};if (A.getAttribute('src')){var B=A.getAttribute('src').toString();return (B.indexOf('mimetex?')==-1&&B.indexOf('mimetex.cgi?')==-1&&B.indexOf('mimetex.exe?')==-1&&B.indexOf('mathtex?')==-1&&B.indexOf('mathtex.cgi?')==-1&&B.indexOf('mathtex.exe?')==-1&&B.indexOf('mathtran?')==-1&&B.indexOf('google.com/chart?')==-1&&B.indexOf('latex?')==-1)?true:false;}else{return true;}};return false;};FCK.IsAudio=function (A){if (!A){return false;};if (A.nodeName.IEquals('embed')){if (!A.src){return false;};if (A.type=='application/x-shockwave-flash'||/\.swf($|#|\?|&)?/i.test(A.src)){if (/\.mp3/i.test(A.src)){return true;};var B=FCKDomTools.GetAttributeValue(A,'flashvars');B=B?B.toLowerCase():'';if (/\.mp3/i.test(B)){return true;}}};return false;};FCK.IsVideo=function (A){if (!A){return false;};if (A.nodeName.IEquals('embed')){if (!A.src){return false;};if (/\.(mpg|mpeg|mp4|avi|wmv|mov|asf)/i.test(A.src)){return true;};if (A.type=='application/x-shockwave-flash'||/\.swf($|#|\?|&)?/i.test(A.src)){if (/\.youtube\.com/i.test(A.src)){return true;};if (/\.flv/i.test(A.src)){return true;};var B=FCKDomTools.GetAttributeValue(A,'flashvars');B=B?B.toLowerCase():'';if (/\.flv/i.test(B)){return true;}}};if (A.nodeName.IEquals('div')){if (A.id){if (A.id.match(/^player[0-9]*-parent$/)){return true;}}};return false;};FCK.GetVideoType=function (A){var B=FCK.GetRealElement(A);if (!B){return false;};if (B.nodeName.IEquals('div')){if (B.id){if (B.id.match(/^player[0-9]*-parent$/)){return 'flv';}}};if (!B.src){return false;};if (/\.(mpg|mpeg|mp4|avi|wmv|mov|asf)/i.test(B.src)){return 'embedded_video';};if (/\.youtube\.com/i.test(B.src)){return 'youtube';};if (/\.flv/i.test(B.src)){return 'flv';};var C=FCKDomTools.GetAttributeValue(B,'flashvars');C=C?C.toLowerCase():'';if (/\.flv/i.test(C)){return 'flv';};return false;};FCK.IsAsciiSvg=function (A){if (!A){return false;};if (A.nodeName.IEquals('img')||A.nodeName.IEquals('embed')){if (FCKDomTools.HasAttribute(A,'sscr')){return true;}};return false;};var RELATIVE_URL='relative';var ABSOLUTE_URL='absolute';var SEMI_ABSOLUTE_URL='semi-absolute';FCK.RELATIVE_URL=RELATIVE_URL;FCK.ABSOLUTE_URL=ABSOLUTE_URL;FCK.SEMI_ABSOLUTE_URL=SEMI_ABSOLUTE_URL;var REPOSITORY_RELATIVE_URL='repository-relative';var DOCUMENT_RELATIVE_URL='document-relative';FCK.REPOSITORY_RELATIVE_URL=REPOSITORY_RELATIVE_URL;FCK.DOCUMENT_RELATIVE_URL=DOCUMENT_RELATIVE_URL;FCK.GetSelectedFlashUrl=function (A){if (FCKConfig.CreateDocumentDir=='document/'||/\.\.\/.*\/document\/$/.test(FCKConfig.CreateDocumentDir)){return FCK.GetUrl(A,SEMI_ABSOLUTE_URL);}else{return FCK.GetSelectedUrl(A);}};FCK.GetSelectedUrl=function (A){A=FCK.GetUrl (A,DOCUMENT_RELATIVE_URL);if (FCK.GetUrlType (A)!=RELATIVE_URL){A=FCK.GetUrl (A,SEMI_ABSOLUTE_URL);};return A;};FCK.GetUrl=function (A,B){if (!A){return A;};if (!B){return A;};A=A.toString().Trim();if (A.indexOf('./')==0){A=A.substr(2);};switch (B){case RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:break;case ABSOLUTE_URL:case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);if (FCK.GetUrlType(A)==RELATIVE_URL){A=FCK.GetUrl(A,DOCUMENT_RELATIVE_URL);};break;default:break;};break;case REPOSITORY_RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:if (A.indexOf(FCKConfig.CreateDocumentDir)==0){A=A.substr(FCKConfig.CreateDocumentDir.length);};break;case ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);break;case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);break;default:break;};break;case DOCUMENT_RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:if (FCKConfig.CreateDocumentDir!='/'){A=FCKConfig.CreateDocumentDir+A;};break;case ABSOLUTE_URL:case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);if (FCK.GetUrlType(A)==RELATIVE_URL){A=FCK.GetUrl(A,DOCUMENT_RELATIVE_URL);};break;default:break;};break;case ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:A=FCK.GetUrl(A,REPOSITORY_RELATIVE_URL);A=FCK.ConvertUrl(A,ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case ABSOLUTE_URL:break;case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;default:break;};break;case SEMI_ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:A=FCK.GetUrl(A,REPOSITORY_RELATIVE_URL);A=FCK.ConvertUrl(A,SEMI_ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case ABSOLUTE_URL:A=FCK.ConvertUrl(A,SEMI_ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case SEMI_ABSOLUTE_URL:break;default:break;};break;default:break;};return A;};FCK.ConvertUrl=function (A,B,C){if (!A){return '';};if (!B){return '';};A=A.toString().Trim();if (A.indexOf('./')==0){A=A.substr(2);};B=B.toString().Trim();if (!C){C='';};C=C.toString().Trim();if (C=='/'){C='';};switch (B){case RELATIVE_URL:switch (FCK.GetUrlType(A)){case ABSOLUTE_URL:C=FCK.ConvertUrl(C,ABSOLUTE_URL);if (A.indexOf(C)==0){A=A.substr(C.length);};break;case SEMI_ABSOLUTE_URL:C=FCK.ConvertUrl(C,SEMI_ABSOLUTE_URL);if (A.indexOf(C)==0){A=A.substr(C.length);};break;default:break;};break;case ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:C=FCK.ConvertUrl(C,ABSOLUTE_URL);A=C+A;break;case SEMI_ABSOLUTE_URL:A=FCK.GetServerBase()+A.substr(1);break;default:break;};break;case SEMI_ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:C=FCK.ConvertUrl(C,SEMI_ABSOLUTE_URL);A=C+A;break;case ABSOLUTE_URL:var D=FCK.GetServerBase();if (D==FCK.GetServerBase(A)){A='/'+A.substr(D.length);};break;default:break;};break;default:break;};return A;};FCK.GetUrlType=function (A){if (!A){return '';};A=A.toString().Trim();if (A.indexOf('/')==0){return SEMI_ABSOLUTE_URL;};if (A.match(/^([^:]+\:)?\/\//)){return ABSOLUTE_URL;};return RELATIVE_URL;};FCK.GetServerBase=function (A){if (!A){if (FCKConfig.CreateDocumentWebDir){A=FCKConfig.CreateDocumentWebDir;}else{A=location.href;}};A=A.toString().replace(/(https?:\/\/[^\/]*)\/.*/,'$1')+'/';return A;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i0){if (FCKConfig.BaseHref.substr(FCKConfig.BaseHref.length-1)!='/'){FCKConfig.BaseHref=FCKConfig.BaseHref+'/';}};if (!FCKConfig.ImagesIcon){FCKConfig.ImagesIcon=FCKConfig.PluginsPath+'customizations/images/images_icon.gif';};FCK.Plugins.IsLoaded=function(A){if (A){for (var i=0;i0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var a=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(a.scrollWidth,a.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(a.scrollHeight,a.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(b,c,d,e,f,g,h){if (!A) this.DisplayMainCover();var H={Title:c,Page:d,Editor:window,CustomValue:g,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var I=FCKTools.GetViewPaneSize(D);var J={ 'X':0,'Y':0 };var K=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (K) J=FCKTools.GetScrollPosition(D);var L=Math.max(J.Y+(I.Height-f-20)/2,0);var M=Math.max(J.X+(I.Width-e-20)/2,0);var N=E.createElement('iframe');FCKTools.ResetStyles(N);N.src=FCKConfig.BasePath+'fckdialog.html';N.frameBorder=0;N.allowTransparency=true;FCKDomTools.SetElementStyles(N,{'position':(K)?'absolute':'fixed','top':L+'px','left':M+'px','width':e+'px','height':f+'px','zIndex':F()});N._DialogArguments=H;E.body.appendChild(N);N._ParentDialog=A;A=N;},OpenDialogFrame:function(i,j,k,l,m,n,o){var H={Title:j,Page:k,Editor:window,CustomValue:n,TopWindow:D};var I=FCKTools.GetViewPaneSize(D);var J={ 'X':0,'Y':0 };var K=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (K) J=FCKTools.GetScrollPosition(D);var L=Math.max(J.Y+(I.Height-m-20)/2,0);var M=Math.max(J.X+(I.Width-l-20)/2,0);var N=E.createElement('iframe');N.src=FCKConfig.BasePath+'fckdialogframe.html';N.frameBorder=0;N.allowTransparency=true;FCKDomTools.SetElementStyles(N,{'position':(K)?'absolute':'fixed','top':L+'px','left':M+'px','width':l+'px','height':m+'px','zIndex':F()});N._DialogArguments=H;return H;},OnDialogClose:function(p){var N=p.frameElement;FCKDomTools.RemoveNode(N);if (N._ParentDialog){A=N._ParentDialog;try{N._ParentDialog.contentWindow.SetEnabled(true);}catch (ex) { }}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var X=E.createElement('iframe');FCKTools.ResetStyles(X);X.hideFocus=true;X.frameBorder=0;X.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(X,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(X);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var Y=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');Y._fck_originalTabIndex=Y.tabIndex;Y.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var Y=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');Y.tabIndex=Y._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(Y,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();FCK.BlockCopyPasteKeystrokes=function(){var A=[];for (var i=0;iC){B=B*C/A;A=C;};if (B>D){A=A*D/B;B=D;};E[0]=parseInt (A,10);E[1]=parseInt (B,10);return E;};FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);if (A=='FCK__Video'){if (B.nodeName.IEquals('div')){for (var i=0;i=0&&(C=B[i--])){if (FCK.IsAudio(C)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__MP3',C.cloneNode(true));D.setAttribute('_fckmp3','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function (A,B){if (!FCK.IsVideo(A)){return;};B.className='FCK__Video';B.setAttribute('_fckvideo','true',0);});FCKDocumentProcessor.AppendNew().ProcessDocument=function (A){var B=A.getElementsByTagName('embed');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (FCK.IsVideo(C)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__Video',C.cloneNode(true));D.setAttribute('_fckvideo','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}};var E=A.getElementsByTagName('div');var F;var i=E.length-1;while (i>=0&&(F=E[i--])){if (FCK.IsVideo(F)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__Video',F.cloneNode(true));D.setAttribute('_fckvideo','true',0);F.parentNode.insertBefore(D,F);F.parentNode.removeChild(F);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function (A,B){if (!FCK.IsAsciiSvg(A)){return;};B.className='FCK__AsciiSvg';B.setAttribute('_fckasciisvg','true',0);});FCKDocumentProcessor.AppendNew().ProcessDocument=function (A){var B=A.getElementsByTagName('embed');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (FCK.IsAsciiSvg(C)){var D=FCKDocumentProcessor_CreateFakeImage('FCK__AsciiSvg',C.cloneNode(true));D.setAttribute('_fckasciisvg','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};for (var i in FCK.ContextMenu.Listeners){var listener='';if (FCK.ContextMenu.Listeners[i].AddItems){listener=FCK.ContextMenu.Listeners[i].AddItems.toString();};if (listener.indexOf('IMG')!=-1&&listener.indexOf('_fckfakelement')!=-1){FCK.ContextMenu.Listeners[i].AddItems=function (A,B,C){return;};};if (listener.indexOf('IMG')!=-1&&listener.indexOf('_fckflash')!=-1){FCK.ContextMenu.Listeners[i].AddItems=function (A,B,C){return;};}};FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (FCK.IsRealImage(B)){A.AddSeparator();A.AddItem('Image',FCKLang.ImageProperties,FCKConfig.ImagesIcon);}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (C=='IMG'&&B.getAttribute('_fckflash')&&!B.getAttribute('_fckmp3')&&!B.getAttribute('_fckvideo')){A.AddSeparator();A.AddItem('Flash',FCKLang.FlashProperties,38);}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){var D='Import MP3';var E=FCKConfig.PluginsPath+'MP3/mp3.gif';if (FCKLang.DlgAudioTitle){D=FCKLang.DlgAudioTitle;E=FCKConfig.PluginsPath+'audio/audio.gif';}else if (FCKLang.DlgMP3Title){D=FCKLang.DlgMP3Title;};if (C=='IMG'&&B.getAttribute('_fckmp3')){if (FCK.Plugins.IsLoaded('audio')||FCK.Plugins.IsLoaded('MP3')){A.AddSeparator();A.AddItem('MP3',D,E);}}} });FCK.ContextMenu.RegisterListener({AddItems:function (A,B,C){if (C=='IMG'&&B.getAttribute('_fckvideo')){switch (FCK.GetVideoType(B)){case 'embedded_video':if (FCK.Plugins.IsLoaded('fckEmbedMovies')){A.AddSeparator();A.AddItem('EmbedMovies',FCKLang.DlgEmbedMoviesTitle,FCKConfig.PluginsPath+'fckEmbedMovies/embedmovies.gif');};break;case 'youtube':if (FCK.Plugins.IsLoaded('youtube')){A.AddSeparator();A.AddItem('YouTube',FCKLang.YouTubeTip,FCKConfig.PluginsPath+'youtube/youtube.gif');};break;case 'flv':if (FCK.Plugins.IsLoaded('flvPlayer')){A.AddSeparator();A.AddItem('flvPlayer',FCKLang.DlgFLVPlayerTitle,FCKConfig.PluginsPath+'flvPlayer/flvPlayer.gif');};break;default:break;}}} });FCK.RegisterDoubleClickHandler(function (A){if (FCK.IsRealImage(A)){var B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',600,455);B.Execute();}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckflash')&&!A.getAttribute('_fckmp3')&&!A.getAttribute('_fckvideo')){FCKCommands.GetCommand('Flash').Execute();}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckmp3')){if (FCK.Plugins.IsLoaded('audio')||FCK.Plugins.IsLoaded('MP3')){FCKCommands.GetCommand('MP3').Execute();}}},'IMG');FCK.RegisterDoubleClickHandler(function (A){if (A.tagName=='IMG'&&A.getAttribute('_fckvideo')){switch (FCK.GetVideoType(A)){case 'embedded_video':if (FCK.Plugins.IsLoaded('fckEmbedMovies')){FCKCommands.GetCommand('EmbedMovies').Execute();};break;case 'youtube':if (FCK.Plugins.IsLoaded('youtube')){FCKCommands.GetCommand('YouTube').Execute();};break;case 'flv':if (FCK.Plugins.IsLoaded('flvPlayer')){FCKCommands.GetCommand('flvPlayer').Execute();};break;default:break;}}},'IMG');FCK.IsRealImage=function (A){if (!A){return false;};if (A.nodeName.IEquals('img')){if (A.getAttribute('_fckfakelement')||A.getAttribute('_fckflash')||A.getAttribute('_fckmp3')||A.getAttribute('_fckvideo')||A.getAttribute('MapNumber')||FCK.IsAsciiSvg(A)){return false;};if (A.getAttribute('src')){var B=A.getAttribute('src').toString();return (B.indexOf('mimetex?')==-1&&B.indexOf('mimetex.cgi?')==-1&&B.indexOf('mimetex.exe?')==-1&&B.indexOf('mathtex?')==-1&&B.indexOf('mathtex.cgi?')==-1&&B.indexOf('mathtex.exe?')==-1&&B.indexOf('mathtran?')==-1&&B.indexOf('google.com/chart?')==-1&&B.indexOf('latex?')==-1)?true:false;}else{return true;}};return false;};FCK.IsAudio=function (A){if (!A){return false;};if (A.nodeName.IEquals('embed')){if (!A.src){return false;};if (A.type=='application/x-shockwave-flash'||/\.swf($|#|\?|&)?/i.test(A.src)){if (/\.mp3/i.test(A.src)){return true;};var B=FCKDomTools.GetAttributeValue(A,'flashvars');B=B?B.toLowerCase():'';if (/\.mp3/i.test(B)){return true;}}};return false;};FCK.IsVideo=function (A){if (!A){return false;};if (A.nodeName.IEquals('embed')){if (!A.src){return false;};if (/\.(mpg|mpeg|mp4|avi|wmv|mov|asf)/i.test(A.src)){return true;};if (A.type=='application/x-shockwave-flash'||/\.swf($|#|\?|&)?/i.test(A.src)){if (/\.youtube\.com/i.test(A.src)){return true;};if (/\.flv/i.test(A.src)){return true;};var B=FCKDomTools.GetAttributeValue(A,'flashvars');B=B?B.toLowerCase():'';if (/\.flv/i.test(B)){return true;}}};if (A.nodeName.IEquals('div')){if (A.id){if (A.id.match(/^player[0-9]*-parent$/)){return true;}}};return false;};FCK.GetVideoType=function (A){var B=FCK.GetRealElement(A);if (!B){return false;};if (B.nodeName.IEquals('div')){if (B.id){if (B.id.match(/^player[0-9]*-parent$/)){return 'flv';}}};if (!B.src){return false;};if (/\.(mpg|mpeg|mp4|avi|wmv|mov|asf)/i.test(B.src)){return 'embedded_video';};if (/\.youtube\.com/i.test(B.src)){return 'youtube';};if (/\.flv/i.test(B.src)){return 'flv';};var C=FCKDomTools.GetAttributeValue(B,'flashvars');C=C?C.toLowerCase():'';if (/\.flv/i.test(C)){return 'flv';};return false;};FCK.IsAsciiSvg=function (A){if (!A){return false;};if (A.nodeName.IEquals('img')||A.nodeName.IEquals('embed')){if (FCKDomTools.HasAttribute(A,'sscr')){return true;}};return false;};var RELATIVE_URL='relative';var ABSOLUTE_URL='absolute';var SEMI_ABSOLUTE_URL='semi-absolute';FCK.RELATIVE_URL=RELATIVE_URL;FCK.ABSOLUTE_URL=ABSOLUTE_URL;FCK.SEMI_ABSOLUTE_URL=SEMI_ABSOLUTE_URL;var REPOSITORY_RELATIVE_URL='repository-relative';var DOCUMENT_RELATIVE_URL='document-relative';FCK.REPOSITORY_RELATIVE_URL=REPOSITORY_RELATIVE_URL;FCK.DOCUMENT_RELATIVE_URL=DOCUMENT_RELATIVE_URL;FCK.GetSelectedFlashUrl=function (A){if (FCKConfig.CreateDocumentDir=='document/'||/\.\.\/.*\/document\/$/.test(FCKConfig.CreateDocumentDir)){return FCK.GetUrl(A,SEMI_ABSOLUTE_URL);}else{return FCK.GetSelectedUrl(A);}};FCK.GetSelectedUrl=function (A){A=FCK.GetUrl (A,DOCUMENT_RELATIVE_URL);if (FCK.GetUrlType (A)!=RELATIVE_URL){A=FCK.GetUrl (A,SEMI_ABSOLUTE_URL);};return A;};FCK.GetUrl=function (A,B){if (!A){return A;};if (!B){return A;};A=A.toString().Trim();if (A.indexOf('./')==0){A=A.substr(2);};switch (B){case RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:break;case ABSOLUTE_URL:case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);if (FCK.GetUrlType(A)==RELATIVE_URL){A=FCK.GetUrl(A,DOCUMENT_RELATIVE_URL);};break;default:break;};break;case REPOSITORY_RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:if (A.indexOf(FCKConfig.CreateDocumentDir)==0){A=A.substr(FCKConfig.CreateDocumentDir.length);};break;case ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);break;case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);break;default:break;};break;case DOCUMENT_RELATIVE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:if (FCKConfig.CreateDocumentDir!='/'){A=FCKConfig.CreateDocumentDir+A;};break;case ABSOLUTE_URL:case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,RELATIVE_URL,FCKConfig.CreateDocumentWebDir);if (FCK.GetUrlType(A)==RELATIVE_URL){A=FCK.GetUrl(A,DOCUMENT_RELATIVE_URL);};break;default:break;};break;case ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:A=FCK.GetUrl(A,REPOSITORY_RELATIVE_URL);A=FCK.ConvertUrl(A,ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case ABSOLUTE_URL:break;case SEMI_ABSOLUTE_URL:A=FCK.ConvertUrl(A,ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;default:break;};break;case SEMI_ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:A=FCK.GetUrl(A,REPOSITORY_RELATIVE_URL);A=FCK.ConvertUrl(A,SEMI_ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case ABSOLUTE_URL:A=FCK.ConvertUrl(A,SEMI_ABSOLUTE_URL,FCKConfig.CreateDocumentWebDir);break;case SEMI_ABSOLUTE_URL:break;default:break;};break;default:break;};return A;};FCK.ConvertUrl=function (A,B,C){if (!A){return '';};if (!B){return '';};A=A.toString().Trim();if (A.indexOf('./')==0){A=A.substr(2);};B=B.toString().Trim();if (!C){C='';};C=C.toString().Trim();if (C=='/'){C='';};switch (B){case RELATIVE_URL:switch (FCK.GetUrlType(A)){case ABSOLUTE_URL:C=FCK.ConvertUrl(C,ABSOLUTE_URL);if (A.indexOf(C)==0){A=A.substr(C.length);};break;case SEMI_ABSOLUTE_URL:C=FCK.ConvertUrl(C,SEMI_ABSOLUTE_URL);if (A.indexOf(C)==0){A=A.substr(C.length);};break;default:break;};break;case ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:C=FCK.ConvertUrl(C,ABSOLUTE_URL);A=C+A;break;case SEMI_ABSOLUTE_URL:A=FCK.GetServerBase()+A.substr(1);break;default:break;};break;case SEMI_ABSOLUTE_URL:switch (FCK.GetUrlType(A)){case RELATIVE_URL:C=FCK.ConvertUrl(C,SEMI_ABSOLUTE_URL);A=C+A;break;case ABSOLUTE_URL:var D=FCK.GetServerBase();if (D==FCK.GetServerBase(A)){A='/'+A.substr(D.length);};break;default:break;};break;default:break;};return A;};FCK.GetUrlType=function (A){if (!A){return '';};A=A.toString().Trim();if (A.indexOf('/')==0){return SEMI_ABSOLUTE_URL;};if (A.match(/^([^:]+\:)?\/\//)){return ABSOLUTE_URL;};return RELATIVE_URL;};FCK.GetServerBase=function (A){if (!A){if (FCKConfig.CreateDocumentWebDir){A=FCKConfig.CreateDocumentWebDir;}else{A=location.href;}};A=A.toString().replace(/(https?:\/\/[^\/]*)\/.*/,'$1')+'/';return A;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i