import torrus 1.0.9
[freeside.git] / httemplate / elements / fckeditor / editor / dialog / fck_template.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <!--\r
3  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
4  * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
5  *\r
6  * == BEGIN LICENSE ==\r
7  *\r
8  * Licensed under the terms of any of the following licenses at your\r
9  * choice:\r
10  *\r
11  *  - GNU General Public License Version 2 or later (the "GPL")\r
12  *    http://www.gnu.org/licenses/gpl.html\r
13  *\r
14  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
15  *    http://www.gnu.org/licenses/lgpl.html\r
16  *\r
17  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
18  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
19  *\r
20  * == END LICENSE ==\r
21  *\r
22  * Template selection dialog window.\r
23 -->\r
24 <html xmlns="http://www.w3.org/1999/xhtml">\r
25 <head>\r
26         <title></title>\r
27         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
28         <meta name="robots" content="noindex, nofollow" />\r
29         <style type="text/css">\r
30                         .TplList\r
31                         {\r
32                                 border: #dcdcdc 2px solid;\r
33                                 background-color: #ffffff;\r
34                                 overflow: auto;\r
35                                 width: 90%;\r
36                         }\r
37 \r
38                         .TplItem\r
39                         {\r
40                                 margin: 5px;\r
41                                 padding: 7px;\r
42                                 border: #eeeeee 1px solid;\r
43                         }\r
44 \r
45                         .TplItem TABLE\r
46                         {\r
47                                 display: inline;\r
48                         }\r
49 \r
50                         .TplTitle\r
51                         {\r
52                                 font-weight: bold;\r
53                         }\r
54                 </style>\r
55         <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
56         <script type="text/javascript">\r
57 \r
58 var oEditor             = window.parent.InnerDialogLoaded() ;\r
59 var FCK                 = oEditor.FCK ;\r
60 var FCKLang             = oEditor.FCKLang ;\r
61 var FCKConfig   = oEditor.FCKConfig ;\r
62 \r
63 window.onload = function()\r
64 {\r
65         // Set the right box height (browser dependent).\r
66         GetE('eList').style.height = document.all ? '100%' : '295px' ;\r
67 \r
68         // Translate the dialog box texts.\r
69         oEditor.FCKLanguageManager.TranslatePage(document) ;\r
70 \r
71         GetE('xChkReplaceAll').checked = ( FCKConfig.TemplateReplaceAll !== false ) ;\r
72 \r
73         if ( FCKConfig.TemplateReplaceCheckbox !== false )\r
74                 GetE('xReplaceBlock').style.display = '' ;\r
75 \r
76         window.parent.SetAutoSize( true ) ;\r
77 \r
78         LoadTemplatesXml() ;\r
79 }\r
80 \r
81 function LoadTemplatesXml()\r
82 {\r
83         var oTemplate ;\r
84 \r
85         if ( !FCK._Templates )\r
86         {\r
87                 GetE('eLoading').style.display = '' ;\r
88 \r
89                 // Create the Templates array.\r
90                 FCK._Templates = new Array() ;\r
91 \r
92                 // Load the XML file.\r
93                 var oXml = new oEditor.FCKXml() ;\r
94                 oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;\r
95 \r
96                 // Get the Images Base Path.\r
97                 var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;\r
98                 var sImagesBasePath = oAtt ? oAtt.value : '' ;\r
99 \r
100                 // Get the "Template" nodes defined in the XML file.\r
101                 var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;\r
102 \r
103                 for ( var i = 0 ; i < aTplNodes.length ; i++ )\r
104                 {\r
105                         var oNode = aTplNodes[i] ;\r
106 \r
107                         oTemplate = new Object() ;\r
108 \r
109                         var oPart ;\r
110 \r
111                         // Get the Template Title.\r
112                         if ( (oPart = oNode.attributes.getNamedItem('title')) )\r
113                                 oTemplate.Title = oPart.value ;\r
114                         else\r
115                                 oTemplate.Title = 'Template ' + ( i + 1 ) ;\r
116 \r
117                         // Get the Template Description.\r
118                         if ( (oPart = oXml.SelectSingleNode( 'Description', oNode )) )\r
119                                 oTemplate.Description = oPart.text ? oPart.text : oPart.textContent ;\r
120 \r
121                         // Get the Template Image.\r
122                         if ( (oPart = oNode.attributes.getNamedItem('image')) )\r
123                                 oTemplate.Image = sImagesBasePath + oPart.value ;\r
124 \r
125                         // Get the Template HTML.\r
126                         if ( (oPart = oXml.SelectSingleNode( 'Html', oNode )) )\r
127                                 oTemplate.Html = oPart.text ? oPart.text : oPart.textContent ;\r
128                         else\r
129                         {\r
130                                 alert( 'No HTML defined for template index ' + i + '. Please review the "' + FCKConfig.TemplatesXmlPath + '" file.' ) ;\r
131                                 continue ;\r
132                         }\r
133 \r
134                         FCK._Templates[ FCK._Templates.length ] = oTemplate ;\r
135                 }\r
136 \r
137                 GetE('eLoading').style.display = 'none' ;\r
138         }\r
139 \r
140         if ( FCK._Templates.length == 0 )\r
141                 GetE('eEmpty').style.display = '' ;\r
142         else\r
143         {\r
144                 for ( var j = 0 ; j < FCK._Templates.length ; j++ )\r
145                 {\r
146                         oTemplate = FCK._Templates[j] ;\r
147 \r
148                         var oItemDiv = GetE('eList').appendChild( document.createElement( 'DIV' ) ) ;\r
149                         oItemDiv.TplIndex = j ;\r
150                         oItemDiv.className = 'TplItem' ;\r
151 \r
152                         // Build the inner HTML of our new item DIV.\r
153                         var sInner = '<table><tr>' ;\r
154 \r
155                         if ( oTemplate.Image )\r
156                                 sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;\r
157 \r
158                         sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;\r
159 \r
160                         if ( oTemplate.Description )\r
161                                 sInner += '<div>' + oTemplate.Description + '<\/div>' ;\r
162 \r
163                         sInner += '<\/td><\/tr><\/table>' ;\r
164 \r
165                         oItemDiv.innerHTML = sInner ;\r
166 \r
167                         oItemDiv.onmouseover = ItemDiv_OnMouseOver ;\r
168                         oItemDiv.onmouseout = ItemDiv_OnMouseOut ;\r
169                         oItemDiv.onclick = ItemDiv_OnClick ;\r
170                 }\r
171         }\r
172 }\r
173 \r
174 function ItemDiv_OnMouseOver()\r
175 {\r
176         this.className += ' PopupSelectionBox' ;\r
177 }\r
178 \r
179 function ItemDiv_OnMouseOut()\r
180 {\r
181         this.className = this.className.replace( /\s*PopupSelectionBox\s*/, '' ) ;\r
182 }\r
183 \r
184 function ItemDiv_OnClick()\r
185 {\r
186         SelectTemplate( this.TplIndex ) ;\r
187 }\r
188 \r
189 function SelectTemplate( index )\r
190 {\r
191         oEditor.FCKUndo.SaveUndoStep() ;\r
192 \r
193         if ( GetE('xChkReplaceAll').checked )\r
194                 FCK.SetData( FCK._Templates[index].Html ) ;\r
195         else\r
196                 FCK.InsertHtml( FCK._Templates[index].Html ) ;\r
197 \r
198         window.parent.Cancel( true ) ;\r
199 }\r
200 \r
201         </script>\r
202 </head>\r
203 <body style="overflow: hidden">\r
204         <table width="100%" style="height: 100%">\r
205                 <tr>\r
206                         <td align="center">\r
207                                 <span fcklang="DlgTemplatesSelMsg">Please select the template to open in the editor<br />\r
208                                         (the actual contents will be lost):</span>\r
209                         </td>\r
210                 </tr>\r
211                 <tr>\r
212                         <td height="100%" align="center">\r
213                                 <div id="eList" align="left" class="TplList">\r
214                                         <div id="eLoading" align="center" style="display: none">\r
215                                                 <br />\r
216                                                 <span fcklang="DlgTemplatesLoading">Loading templates list. Please wait...</span>\r
217                                         </div>\r
218                                         <div id="eEmpty" align="center" style="display: none">\r
219                                                 <br />\r
220                                                 <span fcklang="DlgTemplatesNoTpl">(No templates defined)</span>\r
221                                         </div>\r
222                                 </div>\r
223                         </td>\r
224                 </tr>\r
225                 <tr id="xReplaceBlock" style="display: none">\r
226                         <td>\r
227                                 <table cellpadding="0" cellspacing="0">\r
228                                         <tr>\r
229                                                 <td>\r
230                                                         <input id="xChkReplaceAll" type="checkbox" /></td>\r
231                                                 <td>\r
232                                                         &nbsp;</td>\r
233                                                 <td>\r
234                                                         <label for="xChkReplaceAll" fcklang="DlgTemplatesReplace">\r
235                                                                 Replace actual contents</label></td>\r
236                                         </tr>\r
237                                 </table>\r
238                         </td>\r
239                 </tr>\r
240         </table>\r
241 </body>\r
242 </html>\r