1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<!-- 3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 4 * Copyright (C) 2003-2009 Frederico Caldeira Knabben 5 * 6 * == BEGIN LICENSE == 7 * 8 * Licensed under the terms of any of the following licenses at your 9 * choice: 10 * 11 * - GNU General Public License Version 2 or later (the "GPL") 12 * http://www.gnu.org/licenses/gpl.html 13 * 14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 15 * http://www.gnu.org/licenses/lgpl.html 16 * 17 * - Mozilla Public License Version 1.1 or later (the "MPL") 18 * http://www.mozilla.org/MPL/MPL-1.1.html 19 * 20 * == END LICENSE == 21--> 22<html> 23<head> 24 <title></title> 25 <style> 26 #wsc_frames , #errorMessage{ 27 position:absolute; 28 top:0px; 29 left:0px; 30 width:500px; 31 height:395px; 32 margin:0px; 33 padding:0px; 34 border:0px; 35 display:block; 36 overflow: hidden; 37 } 38 #wsc_frames { z-index:10;} 39 #errorMessage { 40 color:red; 41 display:none; 42 font-size:16px; 43 font-weight:bold; 44 padding-top:160px; 45 text-align:center; 46 z-index:11; 47 } 48 #errorMessage p { 49 color:#000; 50 font-size:11px; 51 text-align:left; 52 font-weight: normal; 53 padding-left:80px; 54 } 55 56 </style> 57 <script type="text/javascript"> 58 59var oEditor = window.parent.InnerDialogLoaded() ; 60var FCKConfig = oEditor.FCKConfig; 61 62function doLoadScript(url) 63{ 64 if (!url) 65 return false ; 66 67 var s = document.createElement('script') ; 68 s.type = 'text/javascript' ; 69 s.src = url ; 70 71 document.getElementsByTagName('head')[0].appendChild(s) ; 72 73 return true ; 74} 75 76function Ok() 77{ 78 return window.parent.Cancel() ; 79} 80 81function _callOnCancel( dT ) 82{ 83 window.parent.Cancel() ; 84} 85 86function _callOnFinish( dT ) 87{ 88 oEditor.FCK.SetData( dT.value ) ; 89 window.parent.CloseDialog( true ) ; 90} 91 92function _cancelOnError(m) 93{ 94 var _conId = 'errorMessage' ; 95 var message = m || 'Sorry, but service is unavailable now.' ; 96 97 if ( typeof( WSC_Error ) == 'undefined' ) 98 { 99 var _con = document.createElement( 'div' ) ; 100 _con.setAttribute( 'id', _conId ) ; 101 document.body.appendChild( _con ) ; 102 dom_con = document.getElementById( _conId ) ; 103 dom_con.innerHTML = message ; 104 dom_con.style.display = 'block' ; 105 } 106 //return Ok() ; 107} 108 109function URL_abs2full( uri ) 110{ 111 return uri.match( 'http' ) 112 ? uri 113 : document.location.protocol + '//' + document.location.host + uri ; 114} 115 116function clearErrorUsermessage() 117{ 118 // empty error container 119 var _con = document.getElementById( 'errorMessage' ) ; 120 121 if ( !_con ) 122 return ; 123 124 _con.innerHTML = '' ; 125 _con.style.display = 'none' ; 126} 127 128var gInterval ; 129 130function onLoad() 131{ 132 clearErrorUsermessage() ; 133 var _errorMessage = 'The SpellChecker Service is currently unavailable.' ; 134 if ( 'undefined' != typeof( oEditor.FCK.Config.WSChLoaderScript ) ) 135 _errorMessage = '<div>The SpellChecker Service is currently unavailable.</div><p>Error loading application<br>service host: ' + oEditor.FCK.Config.WSChLoaderScript + '</p>'; 136 137 var burnSpelling = function( oName, _eMessage ) 138 { 139 var i = 0 ; 140 141 return function () 142 { 143 if ( typeof( window[oName] ) == 'function' ) 144 initAndSpell() ; 145 else if ( i++ == 180 ) 146 _cancelOnError( _eMessage ) ; 147 } 148 } 149 150 gInterval = window.setInterval( burnSpelling( 'doSpell', _errorMessage ), 250 ) ; 151 152 // WSC CORE init section 153 var protocol = document.location.protocol || 'http:' ; 154 var baseUrl = protocol + '//loader.spellchecker.net/sproxy_fck/sproxy.php' ; 155 var plugin = "fck2" ; 156 var customerid = oEditor.FCK.Config.WSCnCustomerId 157 || "1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk" ; 158 var wscCoreUrl = oEditor.FCK.Config.WSChLoaderScript 159 || ( baseUrl + '?' 160 + 'plugin=' + plugin + '&' 161 + 'customerid='+ customerid + '&' 162 + 'cmd=script&doc=wsc&schema=22' ) ; 163 164 // load WSC core 165 doLoadScript( wscCoreUrl ) ; 166} 167 168function initAndSpell() 169{ 170 //xall from window.setInteval expected at once 171 if ( typeof( gInterval ) == 'undefined' ) 172 return null ; 173 window.clearInterval( gInterval ) ; 174 175 // global var is used in FCK specific core 176 // change on equal var used in fckplugin.js 177 gFCKPluginName = 'wsc' ; 178 179 // get the data to be checked 180 var sData = oEditor.FCK.GetData() ; 181 182 // prepare content 183 var ctrlId = 'myEditor' ; 184 var dCurT = document.getElementById( ctrlId ) ; 185 dCurT.value = sData ; 186 187 // service paths corecting/preparing 188 var sPath2Scin = URL_abs2full( oEditor.FCK.Config.SkinDialogCSS ) ; 189 var sPathCiframe = FCKConfig.BasePath + 'wsc/ciframe.html' ; 190 var sPathFrameset = FCKConfig.BasePath + 'wsc/tmpFrameset.html' ; 191 192 // language abbr standarts comparer 193 var LangComparer = new _SP_FCK_LangCompare() ; 194 LangComparer.setDefaulLangCode( oEditor.FCK.Language.DefaultLanguage ) ; 195 196 // clear user message console (if application was loaded more then after 2 seconds) 197 clearErrorUsermessage() ; 198 199 doSpell( { 200 ctrl : ctrlId, 201 lang : LangComparer.getSPLangCode( oEditor.FCK.Language.GetActiveLanguage() ), 202 winType : 'wsc_frames',// if not defined app will run on winpopup 203 204 // callback binding section 205 onCancel :window._callOnCancel, 206 onFinish :window._callOnFinish, 207 208 // @TODO: basePath assingning 209 210 // some manipulations with client static pages 211 framesetPath : sPathFrameset, 212 iframePath : sPathCiframe, 213 214 // styles defining 215 schemaURI : sPath2Scin 216 } ) ; 217 218 return true ; 219} 220 221 </script> 222</head> 223<body onload="onLoad()" style="padding: 0px; overflow: hidden;"> 224 <textarea style="display: none;" id="myEditor" rows="10" cols="40"></textarea> 225 <iframe src="" name="wsc_frames" id="wsc_frames"></iframe> 226</body> 227</html> 228