GIF89a;
Direktori : /home/serb/public_html/fckeditor/editor/dialog/fck_image/ |
Current File : /home/serb/public_html/fckeditor/editor/dialog/fck_image/fck_image.js |
/* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fck_image.js * Scripts related to the Link dialog window (see fck_link.html). * * Version: 2.0 RC3 * Modified: 2005-02-19 17:12:36 * * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) */ var oEditor = window.parent.InnerDialogLoaded() ; var FCK = oEditor.FCK ; //#### Dialog Tabs // Set the dialog tabs. window.parent.AddTab( 'Info', oEditor.FCKLang.DlgImgInfoTab ) ; // TODO : Enable File Upload (1/3). //window.parent.AddTab( 'Upload', 'Upload', true ) ; window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ; // Function called when a dialog tag is selected. function OnDialogTabChange( tabCode ) { ShowE('divInfo' , ( tabCode == 'Info' ) ) ; // TODO : Enable File Upload (2/3). // ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ; } var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ; // Get the selected image (if available). var oImage = FCK.Selection.GetSelectedElement() ; if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) ) oImage = null ; var oImageOriginal ; function UpdateOriginal( resetSize ) { oImageOriginal = document.createElement( 'IMG' ) ; // new Image() ; if ( resetSize ) { oImageOriginal.onload = function() { this.onload = null ; ResetSizes() ; } } oImageOriginal.src = GetE('imgPreview').src ; } window.onload = function() { // Translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage(document) ; GetE('btnLockSizes').title = oEditor.FCKLang.DlgImgLockRatio ; GetE('btnResetSize').title = oEditor.FCKLang.DlgBtnResetSize ; // Load the selected element information (if any). LoadSelection() ; // Show/Hide the "Browse Server" button. GetE('tdBrowse').style.display = oEditor.FCKConfig.ImageBrowser ? '' : 'none' ; UpdateOriginal() ; window.parent.SetAutoSize( true ) ; // Activate the "OK" button. window.parent.SetOkButton( true ) ; } function LoadSelection() { if ( ! oImage ) return ; var sUrl = GetAttribute( oImage, 'src', '' ) ; // TODO: Wait stable version and remove the following commented lines. // if ( sUrl.startsWith( FCK.BaseUrl ) ) // sUrl = sUrl.remove( 0, FCK.BaseUrl.length ) ; GetE('txtUrl').value = sUrl ; GetE('txtAlt').value = GetAttribute( oImage, 'alt', '' ) ; GetE('txtVSpace').value = GetAttribute( oImage, 'vspace', '' ) ; GetE('txtHSpace').value = GetAttribute( oImage, 'hspace', '' ) ; GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ; GetE('cmbAlign').value = GetAttribute( oImage, 'align', '' ) ; if ( oImage.style.pixelWidth > 0 ) GetE('txtWidth').value = oImage.style.pixelWidth ; else GetE('txtWidth').value = GetAttribute( oImage, "width", '' ) ; if ( oImage.style.pixelHeight > 0 ) GetE('txtHeight').value = oImage.style.pixelHeight ; else GetE('txtHeight').value = GetAttribute( oImage, "height", '' ) ; // Get Advances Attributes GetE('txtAttId').value = oImage.id ; GetE('cmbAttLangDir').value = oImage.dir ; GetE('txtAttLangCode').value = oImage.lang ; GetE('txtAttTitle').value = oImage.title ; GetE('txtAttClasses').value = oImage.getAttribute('class',2) || '' ; GetE('txtLongDesc').value = oImage.longDesc ; if ( oEditor.FCKBrowserInfo.IsIE ) GetE('txtAttStyle').value = oImage.style.cssText ; else GetE('txtAttStyle').value = oImage.getAttribute('style',2) ; UpdatePreview() ; } //#### The OK button was hit. function Ok() { if ( GetE('txtUrl').value.length == 0 ) { window.parent.SetSelectedTab( 'Info' ) ; GetE('txtUrl').focus() ; alert( oEditor.FCKLang.DlgImgAlertUrl ) ; return false ; } if ( oImage && bImageButton && oImage.tagName == 'IMG' ) { if ( confirm( 'Do you want to transform the selected image on a image button?' ) ) oImage = null ; } else if ( oImage && !bImageButton && oImage.tagName == 'INPUT' ) { if ( confirm( 'Do you want to transform the selected image button on a simple image?' ) ) oImage = null ; } if ( !oImage ) { if ( bImageButton ) { oImage = FCK.EditorDocument.createElement( 'INPUT' ) ; oImage.type = 'image' ; oImage = FCK.InsertElementAndGetIt( oImage ) ; } else oImage = FCK.CreateElement( 'IMG' ) ; } UpdateImage( oImage ) ; return true ; } function UpdateImage( e, skipId ) { e.src = GetE('txtUrl').value ; SetAttribute( e, "alt" , GetE('txtAlt').value ) ; SetAttribute( e, "width" , GetE('txtWidth').value ) ; SetAttribute( e, "height", GetE('txtHeight').value ) ; SetAttribute( e, "vspace", GetE('txtVSpace').value ) ; SetAttribute( e, "hspace", GetE('txtHSpace').value ) ; SetAttribute( e, "border", GetE('txtBorder').value ) ; SetAttribute( e, "align" , GetE('cmbAlign').value ) ; // Advances Attributes if ( ! skipId ) SetAttribute( e, 'id', GetE('txtAttId').value ) ; SetAttribute( e, 'dir' , GetE('cmbAttLangDir').value ) ; SetAttribute( e, 'lang' , GetE('txtAttLangCode').value ) ; SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ; SetAttribute( e, 'class' , GetE('txtAttClasses').value ) ; SetAttribute( e, 'longDesc' , GetE('txtLongDesc').value ) ; if ( oEditor.FCKBrowserInfo.IsIE ) e.style.cssText = GetE('txtAttStyle').value ; else SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; } function UpdatePreview() { if ( GetE('txtUrl').value.length == 0 ) GetE('imgPreview').style.display = 'none' ; else UpdateImage( GetE('imgPreview'), true ) ; } var bLockRatio = true ; function SwitchLock( lockButton ) { bLockRatio = !bLockRatio ; lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ; lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ; if ( bLockRatio ) { if ( GetE('txtWidth').value.length > 0 ) OnSizeChanged( 'Width', GetE('txtWidth').value ) ; else OnSizeChanged( 'Height', GetE('txtHeight').value ) ; } } // Fired when the width or height input texts change function OnSizeChanged( dimension, value ) { // Verifies if the aspect ration has to be mantained if ( oImageOriginal && bLockRatio ) { if ( value.length == 0 || isNaN( value ) ) { GetE('txtHeight').value = GetE('txtWidth').value = '' ; return ; } if ( dimension == 'Width' ) GetE('txtHeight').value = Math.round( oImageOriginal.height * ( value / oImageOriginal.width ) ) ; else GetE('txtWidth').value = Math.round( oImageOriginal.width * ( value / oImageOriginal.height ) ) ; } UpdatePreview() ; } // Fired when the Reset Size button is clicked function ResetSizes() { if ( ! oImageOriginal ) return ; GetE('txtWidth').value = oImageOriginal.width ; GetE('txtHeight').value = oImageOriginal.height ; UpdatePreview() ; } function BrowseServer() { // Set the browser window feature. var iWidth = oEditor.FCKConfig.ImageBrowserWindowWidth ; var iHeight = oEditor.FCKConfig.ImageBrowserWindowHeight ; var iLeft = (screen.width - iWidth) / 2 ; var iTop = (screen.height - iHeight) / 2 ; var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; sOptions += ",width=" + iWidth ; sOptions += ",height=" + iHeight ; sOptions += ",left=" + iLeft ; sOptions += ",top=" + iTop ; // Open the browser window. var oWindow = window.open( oEditor.FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ; } function SetUrl( url, width, height, alt ) { GetE('txtUrl').value = url ; GetE('txtWidth').value = width ? width : '' ; GetE('txtHeight').value = height ? height : '' ; if ( alt ) GetE('txtAlt').value = alt; UpdatePreview() ; UpdateOriginal( true ) ; }