FCKeditor 2.6.6
[freeside.git] / httemplate / elements / fckeditor / editor / dialog / fck_image / fck_image.js
index 89b0f95..c341faa 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Image dialog window (see fck_image.html).\r
  */\r
 \r
-var oEditor            = window.parent.InnerDialogLoaded() ;\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 FCKDebug   = oEditor.FCKDebug ;\r
+var FCKTools   = oEditor.FCKTools ;\r
 \r
 var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
+dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
 \r
 if ( !bImageButton && !FCKConfig.ImageDlgHideLink )\r
-       window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
+       dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
 \r
 if ( FCKConfig.ImageUpload )\r
-       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
 \r
 if ( !FCKConfig.ImageDlgHideAdvanced )\r
-       window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
+       dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -53,13 +55,13 @@ function OnDialogTabChange( tabCode )
 }\r
 \r
 // Get the selected image (if available).\r
-var oImage = FCK.Selection.GetSelectedElement() ;\r
+var oImage = dialog.Selection.GetSelectedElement() ;\r
 \r
 if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )\r
        oImage = null ;\r
 \r
 // Get the active link.\r
-var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;\r
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;\r
 \r
 var oImageOriginal ;\r
 \r
@@ -111,10 +113,12 @@ window.onload = function()
        if ( FCKConfig.ImageUpload )\r
                GetE('frmUpload').action = FCKConfig.ImageUploadURL ;\r
 \r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 \r
        // Activate the "OK" button.\r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+\r
+       SelectField( 'txtUrl' ) ;\r
 }\r
 \r
 function LoadSelection()\r
@@ -197,7 +201,7 @@ function Ok()
 {\r
        if ( GetE('txtUrl').value.length == 0 )\r
        {\r
-               window.parent.SetSelectedTab( 'Info' ) ;\r
+               dialog.SetSelectedTab( 'Info' ) ;\r
                GetE('txtUrl').focus() ;\r
 \r
                alert( FCKLang.DlgImgAlertUrl ) ;\r
@@ -218,19 +222,18 @@ function Ok()
                        oImage = null ;\r
        }\r
 \r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
        if ( !bHasImage )\r
        {\r
                if ( bImageButton )\r
                {\r
-                       oImage = FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+                       oImage = FCK.EditorDocument.createElement( 'input' ) ;\r
                        oImage.type = 'image' ;\r
-                       oImage = FCK.InsertElementAndGetIt( oImage ) ;\r
+                       oImage = FCK.InsertElement( oImage ) ;\r
                }\r
                else\r
-                       oImage = FCK.CreateElement( 'IMG' ) ;\r
+                       oImage = FCK.InsertElement( 'img' ) ;\r
        }\r
-       else\r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        UpdateImage( oImage ) ;\r
 \r
@@ -354,7 +357,7 @@ function SwitchLock( lockButton )
 // Fired when the width or height input texts change\r
 function OnSizeChanged( dimension, value )\r
 {\r
-       // Verifies if the aspect ration has to be mantained\r
+       // Verifies if the aspect ration has to be maintained\r
        if ( oImageOriginal && bLockRatio )\r
        {\r
                var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;\r
@@ -381,6 +384,11 @@ function OnSizeChanged( dimension, value )
 function ResetSizes()\r
 {\r
        if ( ! oImageOriginal ) return ;\r
+       if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )\r
+       {\r
+               setTimeout( ResetSizes, 50 ) ;\r
+               return ;\r
+       }\r
 \r
        GetE('txtWidth').value  = oImageOriginal.width ;\r
        GetE('txtHeight').value = oImageOriginal.height ;\r
@@ -434,11 +442,15 @@ function SetUrl( url, width, height, alt )
                UpdateOriginal( true ) ;\r
        }\r
 \r
-       window.parent.SetSelectedTab( 'Info' ) ;\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
@@ -459,6 +471,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                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
@@ -489,5 +504,9 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
+       // Show animation\r
+       window.parent.Throbber.Show( 100 ) ;\r
+       GetE( 'divUpload' ).style.display  = 'none' ;\r
+\r
        return true ;\r
-}
\ No newline at end of file
+}\r