1/*
2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3 * Copyright (C) 2003-2007 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 * FCKStyleCommand Class: represents the "Spell Check" command.
22 * (IE specific implementation)
23 */
24
25var FCKSpellCheckCommand = function()
26{
27	this.Name = 'SpellCheck' ;
28	this.IsEnabled = ( FCKConfig.SpellChecker == 'ieSpell' || FCKConfig.SpellChecker == 'SpellerPages' ) ;
29}
30
31FCKSpellCheckCommand.prototype.Execute = function()
32{
33	switch ( FCKConfig.SpellChecker )
34	{
35		case 'ieSpell' :
36			this._RunIeSpell() ;
37			break ;
38
39		case 'SpellerPages' :
40			FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
41			break ;
42	}
43}
44
45FCKSpellCheckCommand.prototype._RunIeSpell = function()
46{
47	try
48	{
49		var oIeSpell = new ActiveXObject( "ieSpell.ieSpellExtension" ) ;
50		oIeSpell.CheckAllLinkedDocuments( FCK.EditorDocument ) ;
51	}
52	catch( e )
53	{
54		if( e.number == -2146827859 )
55		{
56			if ( confirm( FCKLang.IeSpellDownload ) )
57				window.open( FCKConfig.IeSpellDownloadUrl , 'IeSpellDownload' ) ;
58		}
59		else
60			alert( 'Error Loading ieSpell: ' + e.message + ' (' + e.number + ')' ) ;
61	}
62}
63
64FCKSpellCheckCommand.prototype.GetState = function()
65{
66	return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
67}