/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
var firstLoad = true,\r
captions,\r
doc = CKEDITOR.document,\r
- tags = [],\r
+ editorName = editor.name,\r
+ tags = CKEDITOR.plugins.scayt.getUiTabs( editor ),\r
i,\r
contents = [],\r
- userDicActive = false;\r
- var dic_buttons = [\r
- // [0] contains buttons for creating\r
- "dic_create,dic_restore",\r
- // [1] contains buton for manipulation\r
- "dic_rename,dic_delete"\r
- ];\r
+ userDicActive = 0,\r
+ dic_buttons = [\r
+ // [0] contains buttons for creating\r
+ "dic_create_" + editorName + ",dic_restore_" + editorName,\r
+ // [1] contains buton for manipulation\r
+ "dic_rename_" + editorName + ",dic_delete_" + editorName\r
+ ],\r
+ optionsIds = [ 'mixedCase', 'mixedWithDigits', 'allCaps', 'ignoreDomainNames' ];\r
+\r
+ // common operations\r
+\r
+ function getBOMAllOptions()\r
+ {\r
+ if (typeof document.forms["optionsbar_" + editorName] != "undefined")\r
+ return document.forms["optionsbar_" + editorName]["options"];\r
+ return [];\r
+ }\r
+ function getBOMAllLangs()\r
+ {\r
+ if (typeof document.forms["languagesbar_" + editorName] != "undefined")\r
+ return document.forms["languagesbar_" + editorName]["scayt_lang"];\r
+ return [];\r
+ }\r
+\r
+ function setCheckedValue( radioObj, newValue )\r
+ {\r
+ if ( !radioObj )\r
+ return;\r
+ var radioLength = radioObj.length;\r
+ if ( radioLength == undefined )\r
+ {\r
+ radioObj.checked = radioObj.value == newValue.toString();\r
+ return;\r
+ }\r
+ for ( var i = 0; i < radioLength; i++ )\r
+ {\r
+ radioObj[i].checked = false;\r
+ if ( radioObj[i].value == newValue.toString() )\r
+ radioObj[i].checked = true;\r
+ }\r
+ }\r
+\r
+ var lang = editor.lang.scayt;\r
var tags_contents = [\r
{\r
id : 'options',\r
- label : editor.lang.scayt.optionsTab,\r
+ label : lang.optionsTab,\r
elements : [\r
{\r
type : 'html',\r
id : 'options',\r
- html : '<div class="inner_options">' +\r
+ html : '<form name="optionsbar_' + editorName + '"><div class="inner_options">' +\r
' <div class="messagebox"></div>' +\r
' <div style="display:none;">' +\r
- ' <input type="checkbox" value="0" id="allCaps" />' +\r
- ' <label for="allCaps" id="label_allCaps"></label>' +\r
+ ' <input type="checkbox" name="options" id="allCaps_' + editorName + '" />' +\r
+ ' <label for="allCaps" id="label_allCaps_' + editorName + '"></label>' +\r
' </div>' +\r
' <div style="display:none;">' +\r
- ' <input type="checkbox" value="0" id="ignoreDomainNames" />' +\r
- ' <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>' +\r
+ ' <input name="options" type="checkbox" id="ignoreDomainNames_' + editorName + '" />' +\r
+ ' <label for="ignoreDomainNames" id="label_ignoreDomainNames_' + editorName + '"></label>' +\r
' </div>' +\r
' <div style="display:none;">' +\r
- ' <input type="checkbox" value="0" id="mixedCase" />' +\r
- ' <label for="mixedCase" id="label_mixedCase"></label>' +\r
+ ' <input name="options" type="checkbox" id="mixedCase_' + editorName + '" />' +\r
+ ' <label for="mixedCase" id="label_mixedCase_' + editorName + '"></label>' +\r
' </div>' +\r
' <div style="display:none;">' +\r
- ' <input type="checkbox" value="0" id="mixedWithDigits" />' +\r
- ' <label for="mixedWithDigits" id="label_mixedWithDigits"></label>' +\r
+ ' <input name="options" type="checkbox" id="mixedWithDigits_' + editorName + '" />' +\r
+ ' <label for="mixedWithDigits" id="label_mixedWithDigits_' + editorName + '"></label>' +\r
' </div>' +\r
- '</div>'\r
+ '</div></form>'\r
}\r
]\r
},\r
{\r
id : 'langs',\r
- label : editor.lang.scayt.languagesTab,\r
+ label : lang.languagesTab,\r
elements : [\r
{\r
type : 'html',\r
id : 'langs',\r
- html : '<div class="inner_langs">' +\r
+ html : '<form name="languagesbar_' + editorName + '"><div class="inner_langs">' +\r
' <div class="messagebox"></div> ' +\r
- ' <div style="float:left;width:47%;margin-left:5px;" id="scayt_lcol" ></div>' +\r
- ' <div style="float:left;width:47%;margin-left:15px;" id="scayt_rcol"></div>' +\r
- '</div>'\r
+ ' <div style="float:left;width:45%;margin-left:5px;" id="scayt_lcol_' + editorName + '" ></div>' +\r
+ ' <div style="float:left;width:45%;margin-left:15px;" id="scayt_rcol_' + editorName + '"></div>' +\r
+ '</div></form>'\r
}\r
]\r
},\r
{\r
id : 'dictionaries',\r
- label : editor.lang.scayt.dictionariesTab,\r
+ label : lang.dictionariesTab,\r
elements : [\r
{\r
type : 'html',\r
style: '',\r
- id : 'dic',\r
- html : '<div class="inner_dictionary" style="text-align:left; white-space:normal;">' +\r
- ' <div style="margin:5px auto; width:80%;white-space:normal; overflow:hidden;" id="dic_message"> </div>' +\r
+ id : 'dictionaries',\r
+ html : '<form name="dictionarybar_' + editorName + '"><div class="inner_dictionary" style="text-align:left; white-space:normal; width:320px; overflow: hidden;">' +\r
+ ' <div style="margin:5px auto; width:80%;white-space:normal; overflow:hidden;" id="dic_message_' + editorName + '"> </div>' +\r
' <div style="margin:5px auto; width:80%;white-space:normal;"> ' +\r
' <span class="cke_dialog_ui_labeled_label" >Dictionary name</span><br>'+\r
' <span class="cke_dialog_ui_labeled_content" >'+\r
' <div class="cke_dialog_ui_input_text">'+\r
- ' <input id="dic_name" type="text" class="cke_dialog_ui_input_text"/>'+\r
+ ' <input id="dic_name_' + editorName + '" type="text" class="cke_dialog_ui_input_text"/>'+\r
' </div></span></div>'+\r
' <div style="margin:5px auto; width:80%;white-space:normal;">'+\r
- ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_create">'+\r
+ ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_create_' + editorName + '">'+\r
' </a>' +\r
- ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_delete">'+\r
+ ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_delete_' + editorName + '">'+\r
' </a>' +\r
- ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_rename">'+\r
+ ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_rename_' + editorName + '">'+\r
' </a>' +\r
- ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_restore">'+\r
+ ' <a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_restore_' + editorName + '">'+\r
' </a>' +\r
' </div>' +\r
- ' <div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info"></div>' +\r
- '</div>'\r
+ ' <div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info_' + editorName + '"></div>' +\r
+ '</div></form>'\r
}\r
]\r
},\r
{\r
id : 'about',\r
- label : editor.lang.scayt.aboutTab,\r
+ label : lang.aboutTab,\r
elements : [\r
{\r
type : 'html',\r
id : 'about',\r
- style : 'margin: 10px 40px;',\r
- html : '<div id="scayt_about"></div>'\r
+ style : 'margin: 5px 5px;',\r
+ html : '<div id="scayt_about_' + editorName + '"></div>'\r
}\r
]\r
}\r
];\r
+\r
var dialogDefiniton = {\r
- title : editor.lang.scayt.title,\r
- minWidth : 340,\r
- minHeight : 200,\r
+ title : lang.title,\r
+ minWidth : 360,\r
+ minHeight : 220,\r
onShow : function()\r
{\r
var dialog = this;\r
dialog.data = editor.fire( 'scaytDialog', {} );\r
dialog.options = dialog.data.scayt_control.option();\r
- dialog.sLang = dialog.data.scayt_control.sLang;\r
+ dialog.chosed_lang = dialog.sLang = dialog.data.scayt_control.sLang;\r
\r
if ( !dialog.data || !dialog.data.scayt || !dialog.data.scayt_control )\r
{\r
var stop = 0;\r
if ( firstLoad )\r
{\r
- dialog.data.scayt.getCaption( 'en', function( caps )\r
- {\r
- if ( stop++ > 0 ) // Once only\r
- return;\r
- captions = caps;\r
- init_with_captions.apply( dialog );\r
- reload.apply( dialog );\r
- firstLoad = false;\r
- });\r
+ dialog.data.scayt.getCaption( editor.langCode || 'en', function( caps )\r
+ {\r
+ if ( stop++ > 0 ) // Once only\r
+ return;\r
+ captions = caps;\r
+ init_with_captions.apply( dialog );\r
+ reload.apply( dialog );\r
+ firstLoad = false;\r
+ });\r
}\r
else\r
reload.apply( dialog );\r
},\r
onOk : function()\r
{\r
- var scayt_control = this.data.scayt_control,\r
- o = scayt_control.option(),\r
- c = 0;\r
-\r
- // Set up options if any was set.\r
- for ( var i in this.options )\r
- {\r
- if (o[i] != this.options[ i ] && c === 0 )\r
- {\r
- scayt_control.option( this.options );\r
- c++;\r
- }\r
- }\r
-\r
- // Setup languge if it was changed.\r
+ var scayt_control = this.data.scayt_control;\r
+ scayt_control.option( this.options );\r
+ // Setup language if it was changed.\r
var csLang = this.chosed_lang;\r
- if ( csLang && this.data.sLang != csLang )\r
- {\r
- scayt_control.setLang( csLang );\r
- c++;\r
- }\r
- if ( c > 0 )\r
- scayt_control.refresh();\r
+ scayt_control.setLang( csLang );\r
+ scayt_control.refresh();\r
+ },\r
+ onCancel: function()\r
+ {\r
+ var o = getBOMAllOptions();\r
+ for ( var i in o )\r
+ o[i].checked = false;\r
+\r
+ setCheckedValue( getBOMAllLangs(), "" );\r
},\r
contents : contents\r
- };\r
+ };\r
\r
var scayt_control = CKEDITOR.plugins.scayt.getScayt( editor );\r
- if ( scayt_control )\r
- {\r
- tags = scayt_control.uiTags;\r
- }\r
\r
- for ( i in tags ) {\r
+ for ( i = 0; i < tags.length; i++ )\r
+ {\r
if ( tags[ i ] == 1 )\r
contents[ contents.length ] = tags_contents[ i ];\r
}\r
if ( tags[2] == 1 )\r
- userDicActive = true;\r
-\r
- function onDicButtonClick()\r
- {\r
- var dic_name = doc.getById('dic_name').getValue();\r
- if ( !dic_name )\r
- {\r
- dic_error_message(" Dictionary name should not be empty. ");\r
- return false;\r
- }\r
- //apply handler\r
- window.dic[ this.getId() ].apply( null, [ this, dic_name, dic_buttons ] );\r
+ userDicActive = 1;\r
\r
- return true;\r
- }\r
var init_with_captions = function()\r
{\r
var dialog = this,\r
lang_list = dialog.data.scayt.getLangList(),\r
- buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ],\r
- labels = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ],\r
+ buttonCaptions = [ 'dic_create', 'dic_delete', 'dic_rename', 'dic_restore' ],\r
+ buttonIds = [],\r
+ langList = [],\r
+ labels = optionsIds,\r
i;\r
\r
// Add buttons titles\r
- if (userDicActive)\r
+ if ( userDicActive )\r
{\r
- for ( i in buttons )\r
+ for ( i = 0; i < buttonCaptions.length; i++ )\r
{\r
- var button = buttons[ i ];\r
- doc.getById( button ).setHtml( '<span class="cke_dialog_ui_button">' + captions[ 'button_' + button] +'</span>' );\r
+ buttonIds[ i ] = buttonCaptions[ i ] + "_" + editorName;\r
+ doc.getById( buttonIds[ i ] ).setHtml( '<span class="cke_dialog_ui_button">' + captions[ 'button_' + buttonCaptions[ i ]] +'</span>' );\r
}\r
- doc.getById( 'dic_info' ).setHtml( captions[ 'dic_info' ] );\r
+ doc.getById( 'dic_info_' + editorName ).setHtml( captions[ 'dic_info' ] );\r
}\r
\r
-\r
// Fill options and dictionary labels.\r
- for ( i in labels )\r
+ if ( tags[0] == 1 )\r
{\r
- var label = 'label_' + labels[ i ],\r
- labelElement = doc.getById( label );\r
-\r
- if ( 'undefined' != typeof labelElement\r
- && 'undefined' != typeof captions[ label ]\r
- && 'undefined' != typeof dialog.options[labels[ i ]] )\r
+ for ( i in labels )\r
{\r
- labelElement.setHtml( captions[ label ] );\r
- var labelParent = labelElement.getParent();\r
- labelParent.$.style.display = "block";\r
+ var labelCaption = 'label_' + labels[ i ],\r
+ labelId = labelCaption + '_' + editorName,\r
+ labelElement = doc.getById( labelId );\r
+\r
+ if ( 'undefined' != typeof labelElement\r
+ && 'undefined' != typeof captions[ labelCaption ]\r
+ && 'undefined' != typeof dialog.options[labels[ i ]] )\r
+ {\r
+ labelElement.setHtml( captions[ labelCaption ] );\r
+ var labelParent = labelElement.getParent();\r
+ labelParent.$.style.display = "block";\r
+ }\r
}\r
}\r
\r
- var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+\r
- '<p>' + captions[ 'version' ] + dialog.data.scayt.version.toString() + '</p>' +\r
- '<p>' + captions[ 'about_throwt_copy' ] + '</p>';\r
+ var about = '<p><img src="' + window.scayt.getAboutInfo().logoURL + '" /></p>' +\r
+ '<p>' + captions[ 'version' ] + window.scayt.getAboutInfo().version.toString() + '</p>' +\r
+ '<p>' + captions[ 'about_throwt_copy' ] + '</p>';\r
\r
- doc.getById( 'scayt_about' ).setHtml( about );\r
+ doc.getById( 'scayt_about_' + editorName ).setHtml( about );\r
\r
// Create languages tab.\r
var createOption = function( option, list )\r
};\r
};\r
\r
- var langList = [];\r
- for ( i in lang_list.rtl )\r
- langList[ langList.length ] = createOption( i, lang_list.ltr );\r
+ if ( tags[1] ==1 )\r
+ {\r
+ for ( i in lang_list.rtl )\r
+ langList[ langList.length ] = createOption( i, lang_list.ltr );\r
\r
- for ( i in lang_list.ltr )\r
- langList[ langList.length ] = createOption( i, lang_list.ltr );\r
+ for ( i in lang_list.ltr )\r
+ langList[ langList.length ] = createOption( i, lang_list.ltr );\r
\r
- langList.sort( function( lang1, lang2 )\r
- {\r
- return ( lang2.lang > lang1.lang ) ? -1 : 1 ;\r
- });\r
+ langList.sort( function( lang1, lang2 )\r
+ {\r
+ return ( lang2.lang > lang1.lang ) ? -1 : 1 ;\r
+ });\r
\r
- var fieldL = doc.getById( 'scayt_lcol' ),\r
- fieldR = doc.getById( 'scayt_rcol' );\r
- for ( i=0; i < langList.length; i++ )\r
- {\r
- var field = ( i < langList.length / 2 ) ? fieldL : fieldR;\r
- field.append( langList[ i ].radio );\r
+ var fieldL = doc.getById( 'scayt_lcol_' + editorName ),\r
+ fieldR = doc.getById( 'scayt_rcol_' + editorName );\r
+ for ( i=0; i < langList.length; i++ )\r
+ {\r
+ var field = ( i < langList.length / 2 ) ? fieldL : fieldR;\r
+ field.append( langList[ i ].radio );\r
+ }\r
}\r
\r
// user dictionary handlers\r
var dic = {};\r
dic.dic_create = function( el, dic_name , dic_buttons )\r
- {\r
- // comma separated button's ids include repeats if exists\r
- var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
+ {\r
+ // comma separated button's ids include repeats if exists\r
+ var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
\r
- var err_massage = captions["err_dic_create"];\r
- var suc_massage = captions["succ_dic_create"];\r
- //console.info("--plugin ");\r
+ var err_massage = captions["err_dic_create"];\r
+ var suc_massage = captions["succ_dic_create"];\r
\r
- window.scayt.createUserDictionary(dic_name,\r
- function(arg)\r
- {\r
- //console.info( "dic_create callback called with args" , arg );\r
- hide_dic_buttons ( all_buttons );\r
- display_dic_buttons ( dic_buttons[1] );\r
- suc_massage = suc_massage.replace("%s" , arg.dname );\r
- dic_success_message (suc_massage);\r
- },\r
- function(arg)\r
- {\r
- //console.info( "dic_create errorback called with args" , arg )\r
- err_massage = err_massage.replace("%s" ,arg.dname );\r
- dic_error_message ( err_massage + "( "+ (arg.message || "") +")");\r
- });\r
+ window.scayt.createUserDictionary( dic_name,\r
+ function( arg )\r
+ {\r
+ hide_dic_buttons ( all_buttons );\r
+ display_dic_buttons ( dic_buttons[1] );\r
+ suc_massage = suc_massage.replace("%s" , arg.dname );\r
+ dic_success_message (suc_massage);\r
+ },\r
+ function( arg )\r
+ {\r
+ err_massage = err_massage.replace("%s" ,arg.dname );\r
+ dic_error_message ( err_massage + "( "+ (arg.message || "") +")");\r
+ });\r
\r
- };\r
+ };\r
\r
dic.dic_rename = function( el, dic_name )\r
- {\r
- //\r
- // try to rename dictionary\r
- // @TODO: rename dict\r
- //console.info ( captions["err_dic_rename"] )\r
- var err_massage = captions["err_dic_rename"] || "";\r
- var suc_massage = captions["succ_dic_rename"] || "";\r
- window.scayt.renameUserDictionary(dic_name,\r
- function(arg)\r
- {\r
- //console.info( "dic_rename callback called with args" , arg );\r
- suc_massage = suc_massage.replace("%s" , arg.dname );\r
- set_dic_name( dic_name );\r
- dic_success_message ( suc_massage );\r
- },\r
- function(arg)\r
- {\r
- //console.info( "dic_rename errorback called with args" , arg )\r
- err_massage = err_massage.replace("%s" , arg.dname );\r
- set_dic_name( dic_name );\r
- dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );\r
- });\r
- };\r
+ {\r
+ //\r
+ // try to rename dictionary\r
+ var err_massage = captions["err_dic_rename"] || "";\r
+ var suc_massage = captions["succ_dic_rename"] || "";\r
+ window.scayt.renameUserDictionary( dic_name,\r
+ function( arg )\r
+ {\r
+ suc_massage = suc_massage.replace("%s" , arg.dname );\r
+ set_dic_name( dic_name );\r
+ dic_success_message ( suc_massage );\r
+ },\r
+ function( arg )\r
+ {\r
+ err_massage = err_massage.replace("%s" , arg.dname );\r
+ set_dic_name( dic_name );\r
+ dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );\r
+ });\r
+ };\r
\r
- dic.dic_delete = function ( el, dic_name , dic_buttons )\r
- {\r
- var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
- var err_massage = captions["err_dic_delete"];\r
- var suc_massage = captions["succ_dic_delete"];\r
+ dic.dic_delete = function( el, dic_name , dic_buttons )\r
+ {\r
+ var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
+ var err_massage = captions["err_dic_delete"];\r
+ var suc_massage = captions["succ_dic_delete"];\r
\r
- // try to delete dictionary\r
- // @TODO: delete dict\r
- window.scayt.deleteUserDictionary(\r
- function(arg)\r
- {\r
- //console.info( "dic_delete callback " , dic_name ,arg );\r
- suc_massage = suc_massage.replace("%s" , arg.dname );\r
- hide_dic_buttons ( all_buttons );\r
- display_dic_buttons ( dic_buttons[0] );\r
- set_dic_name( "" ); // empty input field\r
- dic_success_message( suc_massage );\r
- },\r
- function(arg)\r
- {\r
- //console.info( " dic_delete errorback called with args" , arg )\r
- err_massage = err_massage.replace("%s" , arg.dname );\r
- dic_error_message(err_massage);\r
- });\r
- };\r
+ // try to delete dictionary\r
+ window.scayt.deleteUserDictionary(\r
+ function( arg )\r
+ {\r
+ suc_massage = suc_massage.replace("%s" , arg.dname );\r
+ hide_dic_buttons ( all_buttons );\r
+ display_dic_buttons ( dic_buttons[0] );\r
+ set_dic_name( "" ); // empty input field\r
+ dic_success_message( suc_massage );\r
+ },\r
+ function( arg )\r
+ {\r
+ err_massage = err_massage.replace("%s" , arg.dname );\r
+ dic_error_message(err_massage);\r
+ });\r
+ };\r
\r
- dic.dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )\r
+ dic.dic_restore = dialog.dic_restore || function( el, dic_name , dic_buttons )\r
{\r
// try to restore existing dictionary\r
var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
var suc_massage = captions["succ_dic_restore"];\r
\r
window.scayt.restoreUserDictionary(dic_name,\r
- function(arg)\r
- {\r
- //console.info( "dic_restore callback called with args" , arg );\r
- suc_massage = suc_massage.replace("%s" , arg.dname );\r
- hide_dic_buttons ( all_buttons );\r
- display_dic_buttons(dic_buttons[1]);\r
- dic_success_message( suc_massage );\r
- },\r
- function(arg)\r
- {\r
- //console.info( " dic_restore errorback called with args" , arg )\r
- err_massage = err_massage.replace("%s" , arg.dname );\r
- dic_error_message( err_massage );\r
- });\r
+ function( arg )\r
+ {\r
+ suc_massage = suc_massage.replace("%s" , arg.dname );\r
+ hide_dic_buttons ( all_buttons );\r
+ display_dic_buttons(dic_buttons[1]);\r
+ dic_success_message( suc_massage );\r
+ },\r
+ function( arg )\r
+ {\r
+ err_massage = err_massage.replace("%s" , arg.dname );\r
+ dic_error_message( err_massage );\r
+ });\r
};\r
\r
+ function onDicButtonClick( ev )\r
+ {\r
+ var dic_name = doc.getById('dic_name_' + editorName).getValue();\r
+ if ( !dic_name )\r
+ {\r
+ dic_error_message(" Dictionary name should not be empty. ");\r
+ return false;\r
+ }\r
+ try{\r
+ var el = ev.data.getTarget().getParent();\r
+ var id = /(dic_\w+)_[\w\d]+/.exec(el.getId())[1];\r
+ dic[ id ].apply( null, [ el, dic_name, dic_buttons ] );\r
+ }\r
+ catch(err)\r
+ {\r
+ dic_error_message(" Dictionary error. ");\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
// ** bind event listeners\r
var arr_buttons = ( dic_buttons[0] + ',' + dic_buttons[1] ).split( ',' ),\r
l;\r
\r
for ( i = 0, l = arr_buttons.length ; i < l ; i += 1 )\r
{\r
- var dic_button = doc.getById(arr_buttons[i]);\r
+ var dic_button = doc.getById(arr_buttons[i]);\r
if ( dic_button )\r
dic_button.on( 'click', onDicButtonClick, this );\r
}\r
var reload = function()\r
{\r
var dialog = this;\r
+ // for enabled options tab\r
+ if ( tags[0] == 1 ){\r
+ var opto = getBOMAllOptions();\r
\r
- // Animate options.\r
- for ( var i in dialog.options )\r
- {\r
- var checkbox = doc.getById( i );\r
- if ( checkbox )\r
+ // Animate options.\r
+ for ( var k=0,l = opto.length; k<l;k++ )\r
{\r
- checkbox.removeAttribute( 'checked' );\r
- if ( dialog.options[ i ] == 1 )\r
- checkbox.setAttribute( 'checked', 'checked' );\r
\r
- // Bind events. Do it only once.\r
- if ( firstLoad )\r
+ var i = opto[k].id;\r
+ var checkbox = doc.getById( i );\r
+\r
+ if ( checkbox )\r
{\r
- checkbox.on( 'click', function()\r
+ opto[k].checked = false;\r
+ //alert (opto[k].removeAttribute)\r
+ if ( dialog.options[ i.split("_")[0] ] == 1 )\r
+ {\r
+ opto[k].checked = true;\r
+ }\r
+\r
+\r
+ // Bind events. Do it only once.\r
+ if ( firstLoad )\r
+ {\r
+ checkbox.on( 'click', function()\r
{\r
- dialog.options[ this.getId() ] = this.$.checked ? 1 : 0 ;\r
- } );\r
+ dialog.options[ this.getId().split("_")[0] ] = this.$.checked ? 1 : 0 ;\r
+ });\r
+ }\r
}\r
}\r
}\r
\r
+ //for enabled languages tab\r
+ if ( tags[1] == 1 )\r
+ {\r
+ var domLang = doc.getById("cke_option" + dialog.sLang);\r
+ setCheckedValue( domLang.$,dialog.sLang );\r
+ }\r
+\r
// * user dictionary\r
- if ( userDicActive ){\r
+ if ( userDicActive )\r
+ {\r
window.scayt.getNameUserDictionary(\r
- function( o )\r
- {\r
- var dic_name = o.dname;\r
- if ( dic_name )\r
+ function( o )\r
{\r
- doc.getById( 'dic_name' ).setValue(dic_name);\r
- display_dic_buttons( dic_buttons[1] );\r
- }\r
- else\r
- display_dic_buttons( dic_buttons[0] );\r
+ var dic_name = o.dname;\r
+ hide_dic_buttons( dic_buttons[0] + ',' + dic_buttons[1] );\r
+ if ( dic_name )\r
+ {\r
+ doc.getById( 'dic_name_' + editorName ).setValue(dic_name);\r
+ display_dic_buttons( dic_buttons[1] );\r
+ }\r
+ else\r
+ display_dic_buttons( dic_buttons[0] );\r
\r
- },\r
- function ()\r
- {\r
- doc.getById( 'dic_name' ).setValue("");\r
- });\r
+ },\r
+ function()\r
+ {\r
+ doc.getById( 'dic_name_' + editorName ).setValue("");\r
+ });\r
dic_success_message("");\r
}\r
\r
};\r
\r
- function dic_error_message ( m )\r
- {\r
- doc.getById('dic_message').setHtml('<span style="color:red;">' + m + '</span>' );\r
- }\r
- function dic_success_message ( m )\r
- {\r
- doc.getById('dic_message').setHtml('<span style="color:blue;">' + m + '</span>') ;\r
- }\r
- function display_dic_buttons ( sIds )\r
- {\r
-\r
- sIds = String( sIds );\r
- var aIds = sIds.split(',');\r
- for ( var i=0, l = aIds.length; i < l ; i+=1)\r
- {\r
- doc.getById( aIds[i] ).$.style.display = "inline";\r
- }\r
-\r
- }\r
- function hide_dic_buttons ( sIds )\r
- {\r
- sIds = String( sIds );\r
- var aIds = sIds.split(',');\r
- for ( var i = 0, l = aIds.length; i < l ; i += 1 )\r
- {\r
- doc.getById( aIds[i] ).$.style.display = "none";\r
- }\r
- }\r
- function set_dic_name ( dic_name )\r
- {\r
- doc.getById('dic_name').$.value= dic_name;\r
- }\r
+ function dic_error_message( m )\r
+ {\r
+ doc.getById('dic_message_' + editorName).setHtml('<span style="color:red;">' + m + '</span>' );\r
+ }\r
+ function dic_success_message( m )\r
+ {\r
+ doc.getById('dic_message_' + editorName).setHtml('<span style="color:blue;">' + m + '</span>') ;\r
+ }\r
+ function display_dic_buttons( sIds )\r
+ {\r
+ sIds = String( sIds );\r
+ var aIds = sIds.split(',');\r
+ for ( var i=0, l = aIds.length; i < l ; i+=1)\r
+ doc.getById( aIds[i] ).$.style.display = "inline";\r
+ }\r
+ function hide_dic_buttons( sIds )\r
+ {\r
+ sIds = String( sIds );\r
+ var aIds = sIds.split(',');\r
+ for ( var i = 0, l = aIds.length; i < l ; i += 1 )\r
+ doc.getById( aIds[i] ).$.style.display = "none";\r
+ }\r
+ function set_dic_name( dic_name )\r
+ {\r
+ doc.getById('dic_name_' + editorName).$.value= dic_name;\r
+ }\r
\r
return dialogDefiniton;\r
});\r