1/* 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 * Copyright (C) 2003-2009 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 */ 21 22(function() 23{ 24 // IE6 doens't handle absolute positioning properly (it is always in quirks 25 // mode). This function fixes the sizes and positions of many elements that 26 // compose the skin (this is skin specific). 27 var fixSizes = window.DoResizeFixes = function() 28 { 29 var fckDlg = window.document.body ; 30 31 for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ ) 32 { 33 var child = fckDlg.childNodes[i] ; 34 switch ( child.className ) 35 { 36 case 'contents' : 37 child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ; // -left -right 38 child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ; // -bottom -top 39 break ; 40 41 case 'blocker' : 42 case 'cover' : 43 child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ; // -left -right + 4 44 child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ; // -bottom -top + 4 45 break ; 46 47 case 'tr' : 48 child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ; 49 break ; 50 51 case 'tc' : 52 child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ; 53 break ; 54 55 case 'ml' : 56 child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ; 57 break ; 58 59 case 'mr' : 60 child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ; 61 child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ; 62 break ; 63 64 case 'bl' : 65 child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ; 66 break ; 67 68 case 'br' : 69 child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ; 70 child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ; 71 break ; 72 73 case 'bc' : 74 child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ; 75 child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ; 76 break ; 77 } 78 } 79 } 80 81 var closeButtonOver = function() 82 { 83 this.style.backgroundPosition = '-16px -687px' ; 84 } ; 85 86 var closeButtonOut = function() 87 { 88 this.style.backgroundPosition = '-16px -651px' ; 89 } ; 90 91 var fixCloseButton = function() 92 { 93 var closeButton = document.getElementById ( 'closeButton' ) ; 94 95 closeButton.onmouseover = closeButtonOver ; 96 closeButton.onmouseout = closeButtonOut ; 97 } 98 99 var onLoad = function() 100 { 101 fixSizes() ; 102 fixCloseButton() ; 103 104 window.attachEvent( 'onresize', fixSizes ) ; 105 window.detachEvent( 'onload', onLoad ) ; 106 } 107 108 window.attachEvent( 'onload', onLoad ) ; 109 110})() ; 111