JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _source / skins / v2 / skin.js
1 /*\r
2 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license\r
4 */\r
5 \r
6 CKEDITOR.skins.add( 'v2', (function()\r
7 {\r
8         var preload = [];\r
9 \r
10         if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )\r
11         {\r
12                 // For IE6, we need to preload some images, otherwhise they will be\r
13                 // downloaded several times (CSS background bug).\r
14                 preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' );\r
15         }\r
16 \r
17         return {\r
18                 preload         : preload,\r
19                 editor          : { css : [ 'editor.css' ] },\r
20                 dialog          : { css : [ 'dialog.css' ] },\r
21                 templates       : { css : [ 'templates.css' ] },\r
22                 margins         : [ 0, 14, 18, 14 ]\r
23         };\r
24 })() );\r
25 \r
26 if ( CKEDITOR.dialog )\r
27 {\r
28         CKEDITOR.dialog.on( 'resize', function( evt )\r
29                 {\r
30                         var data = evt.data,\r
31                                 width = data.width,\r
32                                 height = data.height,\r
33                                 dialog = data.dialog,\r
34                                 standardsMode = !CKEDITOR.env.quirk;\r
35 \r
36                         if ( data.skin != 'v2' )\r
37                                 return;\r
38 \r
39                         dialog.parts.contents.setStyles(\r
40                                 {\r
41                                         width : width + 'px',\r
42                                         height : height + 'px'\r
43                                 });\r
44 \r
45                         if ( !CKEDITOR.env.ie )\r
46                                 return;\r
47 \r
48                         // Fix the size of the elements which have flexible lengths.\r
49                         setTimeout( function()\r
50                                 {\r
51                                         var content = dialog.parts.contents,\r
52                                                 body = content.getParent(),\r
53                                                 innerDialog = body.getParent();\r
54 \r
55                                         // tc\r
56                                         var el = innerDialog.getChild( 2 );\r
57                                         el.setStyle( 'width', ( body.$.offsetWidth ) + 'px' );\r
58 \r
59                                         // bc\r
60                                         el = innerDialog.getChild( 7 );\r
61                                         el.setStyle( 'width', ( body.$.offsetWidth - 28 ) + 'px' );\r
62 \r
63                                         // ml\r
64                                         el = innerDialog.getChild( 4 );\r
65                                         el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
66 \r
67                                         // mr\r
68                                         el = innerDialog.getChild( 5 );\r
69                                         el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
70                                 },\r
71                                 100 );\r
72                 });\r
73 }\r