// Reworks and improvements by Ivan Tcholakov, JUL-2009, FEB-2011. var dialog = window.parent ; var oEditor = dialog.InnerDialogLoaded() ; var FCK = oEditor.FCK ; var FCKLang = oEditor.FCKLang ; var FCKConfig = oEditor.FCKConfig ; var FCKTools = oEditor.FCKTools ; // Reading the Flash embedding method. if ( typeof FCKConfig[ 'FlashEmbeddingMethod' ] != 'string' ) { FCKConfig[ 'FlashEmbeddingMethod' ] = 'embed' ; } if ( FCKConfig[ 'FlashEmbeddingMethod' ] != 'embed' && FCKConfig[ 'FlashEmbeddingMethod' ] != 'object' && FCKConfig[ 'FlashEmbeddingMethod' ] != 'adobe' && FCKConfig[ 'FlashEmbeddingMethod' ] != 'swfobject' ) { FCKConfig[ 'FlashEmbeddingMethod' ] = 'embed' ; } // Set the language direction. window.document.dir = FCKLang.Dir ; // We have to avoid javascript errors if some language variables have not been defined. FCKLang['UploadSelectFileFirst'] = FCKLang['UploadSelectFileFirst'] ? FCKLang['UploadSelectFileFirst'] : 'Please, select a file before pressing the upload button.' ; FCKLang['FileSuccessfullyUploaded'] = FCKLang['FileSuccessfullyUploaded'] ? FCKLang['FileSuccessfullyUploaded'] : 'Your file has been successfully uploaded.' ; FCKLang['FileRenamed'] = FCKLang['FileRenamed'] ? FCKLang['FileRenamed'] : 'A file with the same name is already available. The uploaded file has been renamed to ' ; FCKLang['InvalidFileType'] = FCKLang['InvalidFileType'] ? FCKLang['InvalidFileType'] : 'Invalid file type.' ; FCKLang['SecurityError'] = FCKLang['SecurityError'] ? FCKLang['SecurityError'] : 'Security error. You probably don\'t have enough permissions to upload. Please check your server.' ; FCKLang['ConnectorDisabled'] = FCKLang['ConnectorDisabled'] ? FCKLang['ConnectorDisabled'] : 'The upload feature (connector) is disabled.' ; FCKLang['UploadError'] = FCKLang['UploadError'] ? FCKLang['UploadError'] : 'Error on file upload. Error number: ' ; // Dialog Tabs // Set the dialog tabs. dialog.AddTab( 'Info', FCKLang.DlgInfoTab ) ; dialog.AddTab( 'Preview', FCKLang.DlgImgPreview ) ; if ( FCKConfig.MediaUpload ) { dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; } // This function is called when a dialog tab has been selected. function OnDialogTabChange( tabCode ) { ShowE( 'divInfo', ( tabCode == 'Info' ) ) ; ShowE( 'divPreview', ( tabCode == 'Preview' ) ) ; ShowE( 'divUpload', ( tabCode == 'Upload' ) ) ; if ( tabCode == 'Preview' ) { UpdatePreview() ; } else { ClearPreview() ; } } function OnDialogModeChange( mode ) { if ( mode == 'single') { btnBrowse.disabled = false ; btnImgBrowse.disabled = false ; btnLnkBrowse.disabled = true ; txtURL.disabled = false ; txtImgURL.disabled = false ; txtPlaylist.disabled = true ; txtPlaylist.value = '' ; txtURL.style.background = '#ffffff' ; txtImgURL.style.background = '#ffffff' ; txtPlaylist.style.background = 'transparent' ; selDispPlaylist.disabled = true ; } else { btnBrowse.disabled = true ; btnImgBrowse.disabled = true ; btnLnkBrowse.disabled = false ; txtURL.disabled = true ; txtImgURL.disabled = true ; txtPlaylist.disabled = false ; txtURL.value = '' ; txtImgURL.value = '' ; txtURL.style.background = 'transparent' ; txtImgURL.style.background = 'transparent' ; txtPlaylist.style.background = '#ffffff' ; selDispPlaylist.disabled = false ; } } var oMedia = null ; var is_new_flvplayer = true ; window.onload = function() { // Translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage(document) ; // Load the selected element information (if any). LoadSelection() ; // Show/Hide the "Browse Server" button. GetE('tdBrowse').style.display = FCKConfig.MediaBrowser ? '' : 'none' ; // Set the actual uploader URL. if ( FCKConfig.MediaUpload ) GetE('frmUpload').action = FCKConfig.MediaUploadURL ; dialog.SetAutoSize( true ) ; // Activate the "OK" button. dialog.SetOkButton( true ) ; } function getSelectedMovie() { var oFakeImage = FCK.Selection.GetSelectedElement() ; var oSel = null ; oMedia = new Media() ; if ( oFakeImage ) { if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute( '_fckvideo' ) ) { oSel = FCK.GetRealElement( oFakeImage ) ; if ( oSel && oSel.id && oSel.id.match( /^player[0-9]*-parent$/ ) ) { for ( var i = 0 ; i < oSel.childNodes.length ; i++ ) { if ( oSel.childNodes.item(i).nodeName == "DIV" ) { for ( var k = 0 ; k < oSel.childNodes.item(i).childNodes.length ; k++ ) { if ( oSel.childNodes.item(i).childNodes.item(k).nodeName == "DIV" && oSel.childNodes.item(i).childNodes.item(k).id && oSel.childNodes.item(i).childNodes.item(k).id.match( /^player[0-9]*-config$/ ) ) { var oC = oSel.childNodes.item(i).childNodes.item(k).innerHTML.split(' ') ; for ( var o = 0 ; o < oC.length ; o++ ) { var tmp = oC[o].split( '=' ) ; oMedia.setAttribute( tmp[0], tmp[1] ) ; } is_new_flvplayer = false ; break ; } } } } } } } return oMedia ; } function updatePlaylistOption() { if ( GetE( 'selDispPlaylist' ).value == "right" || GetE( 'selDispPlaylist' ).value == "below" ) { GetE( 'chkPLThumbs' ).disabled = false ; GetE( 'chkPLThumbs' ).checked = true ; GetE( 'txtPLDim' ).disabled = false ; GetE( 'txtPLDim' ).style.background = '#ffffff' ; GetE( 'spanDimText' ).style.display = 'none' ; if ( GetE( 'selDispPlaylist' ).value == "right" ) { GetE( 'spanDimWText' ).style.display = '' ; GetE( 'spanDimHText' ).style.display = 'none' ; } else if ( GetE( 'selDispPlaylist' ).value == "below" ) { GetE( 'spanDimWText' ).style.display = 'none' ; GetE( 'spanDimHText' ).style.display = '' ; } } else { GetE( 'chkPLThumbs' ).disabled = true ; GetE( 'chkPLThumbs' ).checked = false ; GetE( 'txtPLDim' ).value = "" ; GetE( 'txtPLDim' ).disabled = true ; GetE( 'txtPLDim' ).style.background = 'transparent' ; GetE( 'spanDimText' ).style.display = '' ; GetE( 'spanDimWText' ).style.display = 'none' ; GetE( 'spanDimHText' ).style.display = 'none' ; } } function LoadSelection() { oMedia = new Media() ; oMedia = getSelectedMovie() ; GetE( 'rbFileType' ).value = oMedia.fileType ; GetE( 'txtURL' ).value = oMedia.url ; GetE( 'txtPlaylist' ).value = oMedia.purl ; GetE( 'txtImgURL' ).value = oMedia.iurl ; GetE( 'txtWMURL' ).value = oMedia.wmurl ; GetE( 'txtWidth' ).value = oMedia.width.toString().length > 0 ? oMedia.width : 320 ; GetE( 'txtHeight' ).value = oMedia.height.toString().length > 0 ? oMedia.height : 240 ; GetE( 'chkLoop' ).checked = oMedia.loop ; GetE( 'chkAutoplay' ).checked = oMedia.play ; GetE( 'chkDownload' ).checked = oMedia.downloadable ; GetE( 'chkFullscreen' ).checked = oMedia.fullscreen ; GetE( 'txtBgColor' ).value = oMedia.bgcolor ; GetE( 'txtToolbarColor' ).value = oMedia.toolcolor ; GetE( 'txtToolbarTxtColor' ).value = oMedia.tooltcolor ; GetE( 'txtToolbarTxtRColor' ).value = oMedia.tooltrcolor ; GetE( 'chkShowNavigation' ).checked = oMedia.displayNavigation ; GetE( 'chkShowDigits' ).checked = oMedia.displayDigits ; GetE( 'selAlign' ).value = oMedia.align ; GetE( 'selDispPlaylist' ).value = oMedia.dispPlaylist ; GetE('txtRURL' ).value = oMedia.rurl ; GetE( 'txtPLDim' ).value = oMedia.playlistDim ; GetE( 'chkPLThumbs' ).checked = oMedia.playlistThumbs ; UpdatePreview() ; } // The OK button was hit. function Ok() { var rbFileTypeVal = "single" ; if ( !GetE( 'rbFileType' ).checked ) { rbFileTypeVal = "list" ; } if ( rbFileTypeVal == "single" ) { if ( GetE( 'txtURL' ).value.length == 0 ) { GetE( 'txtURL' ).focus() ; alert( oEditor.FCKLang.DlgFLVPlayerAlertUrl ) ; return false ; } } if ( rbFileTypeVal == "list" ) { if ( GetE( 'txtPlaylist' ).value.length == 0 ) { GetE( 'txtPlaylist' ).focus() ; alert( oEditor.FCKLang.DlgFLVPlayerAlertPlaylist ) ; return false ; } } if ( GetE( 'txtWidth' ).value.length == 0 ) { GetE( 'txtWidth' ).focus() ; alert( oEditor.FCKLang.DlgFLVPlayerAlertWidth ) ; return false ; } if ( GetE( 'txtHeight' ).value.length == 0 ) { GetE( 'txtHeight' ).focus() ; alert( oEditor.FCKLang.DlgFLVPlayerAlertHeight ) ; return false ; } var e = ( oMedia || new Media() ) ; UpdateMovie( e ) ; // Replace or insert? if ( !is_new_flvplayer ) { var oFakeImage = FCK.Selection.GetSelectedElement() ; var oSel = null ; oMedia = new Media() ; if ( oFakeImage ) { if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute( '_fckvideo' ) ) { oSel = FCK.GetRealElement( oFakeImage ) ; if ( oSel ) { oSel = null ; FCK.InsertHtml( e.getInnerHTML() ) ; } } } } else { FCK.InsertHtml( e.getInnerHTML() ) ; } return true ; } function UpdateMovie( e ) { e.fileType = GetE( 'rbFileType' ).value ; e.url = GetE( 'txtURL' ).value ; e.purl = GetE( 'txtPlaylist' ).value ; e.iurl = GetE( 'txtImgURL' ).value ; e.wmurl = GetE( 'txtWMURL' ).value ; e.bgcolor = GetE( 'txtBgColor' ).value ; e.toolcolor = GetE( 'txtToolbarColor' ).value ; e.tooltcolor = GetE( 'txtToolbarTxtColor' ).value ; e.tooltrcolor = GetE( 'txtToolbarTxtRColor' ).value ; e.width = ( isNaN( GetE( 'txtWidth' ).value ) ) ? 0 : parseInt( GetE( 'txtWidth' ).value ) ; e.height = ( isNaN( GetE( 'txtHeight' ).value ) ) ? 0 : parseInt( GetE( 'txtHeight' ).value ) ; e.loop = ( GetE( 'chkLoop' ).checked ) ? 'true' : 'false' ; e.play = ( GetE( 'chkAutoplay' ).checked ) ? 'true' : 'false' ; e.downloadable = ( GetE( 'chkDownload' ).checked ) ? 'true' : 'false' ; e.fullscreen = ( GetE( 'chkFullscreen' ).checked ) ? 'true' : 'false' ; e.displayNavigation = ( GetE( 'chkShowNavigation' ).checked ) ? 'true' : 'false' ; e.displayDigits = ( GetE( 'chkShowDigits' ).checked) ? 'true' : 'false' ; e.align = GetE( 'selAlign' ).value ; e.dispPlaylist = GetE( 'selDispPlaylist' ).value ; e.rurl = GetE( 'txtRURL' ).value ; e.playlistDim = GetE( 'txtPLDim' ).value ; e.playlistThumbs = ( GetE( 'chkPLThumbs' ).checked ) ? 'true' : 'false' ; } function BrowseServer() { OpenServerBrowser( 'flv', FCKConfig.MediaBrowserURL, FCKConfig.MediaBrowserWindowWidth, FCKConfig.MediaBrowserWindowHeight ) ; } function LnkBrowseServer() { OpenServerBrowser( 'link', FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ; } function Lnk2BrowseServer() { OpenServerBrowser( 'link2', FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ; } function img1BrowseServer() { OpenServerBrowser( 'img1', FCKConfig.ImageBrowserURL, FCKConfig.ImageBrowserWindowWidth, FCKConfig.ImageBrowserWindowHeight ) ; } function img2BrowseServer() { OpenServerBrowser( 'img2', FCKConfig.ImageBrowserURL, FCKConfig.ImageBrowserWindowWidth, FCKConfig.ImageBrowserWindowHeight ) ; } function OpenServerBrowser( type, url, width, height ) { sActualBrowser = type ; OpenFileBrowser( url, width, height ) ; } var sActualBrowser ; function SetUrl( url ) { url = FCK.GetSelectedUrl( url ) ; if ( sActualBrowser == 'flv' ) { GetE('txtURL').value = url ; GetE('txtWidth').value = 320 ; GetE('txtHeight').value = 240 ; } else if ( sActualBrowser == 'link' ) { GetE('txtPlaylist').value = url ; } else if ( sActualBrowser == 'link2' ) { GetE('txtRURL').value = url ; } else if ( sActualBrowser == 'img1' ) { GetE('txtImgURL').value = url ; } else if ( sActualBrowser == 'img2' ) { GetE('txtWMURL').value = url ; } UpdatePreview() ; dialog.SetSelectedTab( 'Info' ) ; } var Media = function ( o ) { this.fileType = '' ; this.url = '' ; this.purl = '' ; this.iurl = '' ; this.wmurl = '' ; this.width = '' ; this.height = '' ; this.loop = '' ; this.play = '' ; this.downloadable = '' ; this.fullscreen = true ; this.bgcolor = '' ; this.toolcolor = '' ; this.tooltcolor = '' ; this.tooltrcolor = '' ; this.displayNavigation = true ; this.displayDigits = true ; this.align = '' ; this.dispPlaylist = '' ; this.rurl = '' ; this.playlistDim = '' ; this.playlistThumbs = '' ; if ( o ) { this.setObjectElement( o ) ; } } ; Media.prototype.setObjectElement = function ( e ) { if ( !e ) return ; this.width = GetAttribute( e, 'width', this.width ) ; this.height = GetAttribute( e, 'height', this.height ) ; } ; Media.prototype.setAttribute = function( attr, val ) { if ( val == 'true' ) { this[attr] = true ; } else if (val == 'false' ) { this[attr] = false ; } else { this[attr] = val ; } } ; Media.prototype.getInnerHTML = function ( objectId ) { var embeddingMethod = FCKConfig[ 'FlashEmbeddingMethod' ]; var randomnumber = Math.floor( Math.random() * 1000001 ) ; var thisWidth = this.width ; var thisHeight = this.height ; var thisMediaType = 'single' ; if ( !GetE( 'rbFileType' ).checked ) { thisMediaType = 'mpl' ; } // Alignment var cssalign = '' ; var cssfloat = '' ; if ( this.align == 'center' ) { cssalign = 'margin-left: auto;margin-right: auto;' ; } else if ( this.align == 'right' ) { cssfloat = 'float: right;' ; } else if ( this.align == 'left' ) { cssfloat = 'float: left;' ; } var s = '' ; s += '\n' ; s += '