--- /dev/null
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ * - GNU General Public License Version 2 or later (the "GPL")\r
+ * http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ * http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ * - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ * http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Scripts related to the Flash dialog window (see fck_flash.html).\r
+ */\r
+\r
+var dialog = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
+var FCK = oEditor.FCK ;\r
+var FCKLang = oEditor.FCKLang ;\r
+var FCKConfig = oEditor.FCKConfig ;\r
+var FCKTools = oEditor.FCKTools ;\r
+\r
+//#### Dialog Tabs\r
+\r
+// Set the dialog tabs.\r
+dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;\r
+\r
+if ( FCKConfig.FlashUpload )\r
+ dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+\r
+if ( !FCKConfig.FlashDlgHideAdvanced )\r
+ dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;\r
+\r
+// Function called when a dialog tag is selected.\r
+function OnDialogTabChange( tabCode )\r
+{\r
+ ShowE('divInfo' , ( tabCode == 'Info' ) ) ;\r
+ ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;\r
+ ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;\r
+}\r
+\r
+// Get the selected flash embed (if available).\r
+var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
+var oEmbed ;\r
+\r
+if ( oFakeImage )\r
+{\r
+ if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )\r
+ oEmbed = FCK.GetRealElement( oFakeImage ) ;\r
+ else\r
+ oFakeImage = null ;\r
+}\r
+\r
+window.onload = function()\r
+{\r
+ // Translate the dialog box texts.\r
+ oEditor.FCKLanguageManager.TranslatePage(document) ;\r
+\r
+ // Load the selected element information (if any).\r
+ LoadSelection() ;\r
+\r
+ // Show/Hide the "Browse Server" button.\r
+ GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ;\r
+\r
+ // Set the actual uploader URL.\r
+ if ( FCKConfig.FlashUpload )\r
+ GetE('frmUpload').action = FCKConfig.FlashUploadURL ;\r
+\r
+ dialog.SetAutoSize( true ) ;\r
+\r
+ // Activate the "OK" button.\r
+ dialog.SetOkButton( true ) ;\r
+\r
+ SelectField( 'txtUrl' ) ;\r
+}\r
+\r
+function LoadSelection()\r
+{\r
+ if ( ! oEmbed ) return ;\r
+\r
+ GetE('txtUrl').value = GetAttribute( oEmbed, 'src', '' ) ;\r
+ GetE('txtWidth').value = GetAttribute( oEmbed, 'width', '' ) ;\r
+ GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;\r
+\r
+ // Get Advances Attributes\r
+ GetE('txtAttId').value = oEmbed.id ;\r
+ GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;\r
+ GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;\r
+ GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;\r
+ GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;\r
+\r
+ GetE('txtAttTitle').value = oEmbed.title ;\r
+\r
+ if ( oEditor.FCKBrowserInfo.IsIE )\r
+ {\r
+ GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ;\r
+ GetE('txtAttStyle').value = oEmbed.style.cssText ;\r
+ }\r
+ else\r
+ {\r
+ GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;\r
+ GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) || '' ;\r
+ }\r
+\r
+ UpdatePreview() ;\r
+}\r
+\r
+//#### The OK button was hit.\r
+function Ok()\r
+{\r
+ if ( GetE('txtUrl').value.length == 0 )\r
+ {\r
+ dialog.SetSelectedTab( 'Info' ) ;\r
+ GetE('txtUrl').focus() ;\r
+\r
+ alert( oEditor.FCKLang.DlgAlertUrl ) ;\r
+\r
+ return false ;\r
+ }\r
+\r
+ oEditor.FCKUndo.SaveUndoStep() ;\r
+ if ( !oEmbed )\r
+ {\r
+ oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ;\r
+ oFakeImage = null ;\r
+ }\r
+ UpdateEmbed( oEmbed ) ;\r
+\r
+ if ( !oFakeImage )\r
+ {\r
+ oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;\r
+ oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;\r
+ oFakeImage = FCK.InsertElement( oFakeImage ) ;\r
+ }\r
+\r
+ oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ;\r
+\r
+ return true ;\r
+}\r
+\r
+function UpdateEmbed( e )\r
+{\r
+ SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;\r
+ SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;\r
+\r
+ SetAttribute( e, 'src', GetE('txtUrl').value ) ;\r
+ SetAttribute( e, "width" , GetE('txtWidth').value ) ;\r
+ SetAttribute( e, "height", GetE('txtHeight').value ) ;\r
+\r
+ // Advances Attributes\r
+\r
+ SetAttribute( e, 'id' , GetE('txtAttId').value ) ;\r
+ SetAttribute( e, 'scale', GetE('cmbScale').value ) ;\r
+\r
+ SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;\r
+ SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ;\r
+ SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ;\r
+\r
+ SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;\r
+\r
+ if ( oEditor.FCKBrowserInfo.IsIE )\r
+ {\r
+ SetAttribute( e, 'className', GetE('txtAttClasses').value ) ;\r
+ e.style.cssText = GetE('txtAttStyle').value ;\r
+ }\r
+ else\r
+ {\r
+ SetAttribute( e, 'class', GetE('txtAttClasses').value ) ;\r
+ SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;\r
+ }\r
+}\r
+\r
+var ePreview ;\r
+\r
+function SetPreviewElement( previewEl )\r
+{\r
+ ePreview = previewEl ;\r
+\r
+ if ( GetE('txtUrl').value.length > 0 )\r
+ UpdatePreview() ;\r
+}\r
+\r
+function UpdatePreview()\r
+{\r
+ if ( !ePreview )\r
+ return ;\r
+\r
+ while ( ePreview.firstChild )\r
+ ePreview.removeChild( ePreview.firstChild ) ;\r
+\r
+ if ( GetE('txtUrl').value.length == 0 )\r
+ ePreview.innerHTML = ' ' ;\r
+ else\r
+ {\r
+ var oDoc = ePreview.ownerDocument || ePreview.document ;\r
+ var e = oDoc.createElement( 'EMBED' ) ;\r
+\r
+ SetAttribute( e, 'src', GetE('txtUrl').value ) ;\r
+ SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;\r
+ SetAttribute( e, 'width', '100%' ) ;\r
+ SetAttribute( e, 'height', '100%' ) ;\r
+\r
+ ePreview.appendChild( e ) ;\r
+ }\r
+}\r
+\r
+// <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">\r
+\r
+function BrowseServer()\r
+{\r
+ OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ;\r
+}\r
+\r
+function SetUrl( url, width, height )\r
+{\r
+ GetE('txtUrl').value = url ;\r
+\r
+ if ( width )\r
+ GetE('txtWidth').value = width ;\r
+\r
+ if ( height )\r
+ GetE('txtHeight').value = height ;\r
+\r
+ UpdatePreview() ;\r
+\r
+ dialog.SetSelectedTab( 'Info' ) ;\r
+}\r
+\r
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
+{\r
+ // Remove animation\r
+ window.parent.Throbber.Hide() ;\r
+ GetE( 'divUpload' ).style.display = '' ;\r
+\r
+ switch ( errorNumber )\r
+ {\r
+ case 0 : // No errors\r
+ alert( 'Your file has been successfully uploaded' ) ;\r
+ break ;\r
+ case 1 : // Custom error\r
+ alert( customMsg ) ;\r
+ return ;\r
+ case 101 : // Custom warning\r
+ alert( customMsg ) ;\r
+ break ;\r
+ case 201 :\r
+ alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;\r
+ break ;\r
+ case 202 :\r
+ alert( 'Invalid file type' ) ;\r
+ return ;\r
+ case 203 :\r
+ alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
+ return ;\r
+ case 500 :\r
+ alert( 'The connector is disabled' ) ;\r
+ break ;\r
+ default :\r
+ alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
+ return ;\r
+ }\r
+\r
+ SetUrl( fileUrl ) ;\r
+ GetE('frmUpload').reset() ;\r
+}\r
+\r
+var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;\r
+var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;\r
+\r
+function CheckUpload()\r
+{\r
+ var sFile = GetE('txtUploadFile').value ;\r
+\r
+ if ( sFile.length == 0 )\r
+ {\r
+ alert( 'Please select a file to upload' ) ;\r
+ return false ;\r
+ }\r
+\r
+ if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||\r
+ ( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )\r
+ {\r
+ OnUploadCompleted( 202 ) ;\r
+ return false ;\r
+ }\r
+\r
+ // Show animation\r
+ window.parent.Throbber.Show( 100 ) ;\r
+ GetE( 'divUpload' ).style.display = 'none' ;\r
+\r
+ return true ;\r
+}\r