JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.1
[ckeditor.git] / _source / plugins / scayt / dialogs / options.js
index 120adbc..feb3f0e 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
@@ -11,13 +11,40 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                tags = [],\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 = false,\r
+               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
+               optionsIds= [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];\r
+\r
+       // common operations\r
+\r
+       function getBOMAllOptions () {\r
+                return document.forms.optionsbar["options"];\r
+       }\r
+       function getBOMAllLangs () {\r
+                return document.forms.languagesbar["scayt_lang"];\r
+       }\r
+\r
+       function setCheckedValue(radioObj, newValue) {\r
+               if(!radioObj)\r
+                       return;\r
+               var radioLength = radioObj.length;\r
+               if(radioLength == undefined) {\r
+                       radioObj.checked = (radioObj.value == newValue.toString());\r
+                       return;\r
+               }\r
+               for(var i = 0; i < radioLength; i++) {\r
+                       radioObj[i].checked = false;\r
+                       if(radioObj[i].value == newValue.toString()) {\r
+                               radioObj[i].checked = true;\r
+                       }\r
+               }\r
+       }\r
+\r
        var tags_contents =  [\r
                                {\r
                                        id : 'options',\r
@@ -26,25 +53,25 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                {\r
                                                        type : 'html',\r
                                                        id : 'options',\r
-                                                       html :  '<div class="inner_options">' +\r
+                                                       html :  '<form name="optionsbar"><div class="inner_options">' +\r
                                                                        '       <div class="messagebox"></div>' +\r
                                                                        '       <div style="display:none;">' +\r
-                                                                       '               <input type="checkbox" value="0" id="allCaps" />' +\r
+                                                                       '               <input type="checkbox" name="options"  id="allCaps" />' +\r
                                                                        '               <label for="allCaps" id="label_allCaps"></label>' +\r
                                                                        '       </div>' +\r
                                                                        '       <div style="display:none;">' +\r
-                                                                       '               <input type="checkbox" value="0" id="ignoreDomainNames" />' +\r
+                                                                       '               <input name="options" type="checkbox"  id="ignoreDomainNames" />' +\r
                                                                        '               <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>' +\r
                                                                        '       </div>' +\r
                                                                        '       <div style="display:none;">' +\r
-                                                                       '       <input type="checkbox" value="0" id="mixedCase" />' +\r
+                                                                       '       <input name="options" type="checkbox"  id="mixedCase" />' +\r
                                                                        '               <label for="mixedCase" id="label_mixedCase"></label>' +\r
                                                                        '       </div>' +\r
                                                                        '       <div style="display:none;">' +\r
-                                                                       '               <input type="checkbox" value="0" id="mixedWithDigits" />' +\r
+                                                                       '               <input name="options" type="checkbox"  id="mixedWithDigits" />' +\r
                                                                        '               <label for="mixedWithDigits" id="label_mixedWithDigits"></label>' +\r
                                                                        '       </div>' +\r
-                                                                       '</div>'\r
+                                                                       '</div></form>'\r
                                                }\r
                                        ]\r
                                },\r
@@ -55,11 +82,11 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                {\r
                                                        type : 'html',\r
                                                        id : 'langs',\r
-                                                       html :  '<div class="inner_langs">' +\r
+                                                       html :  '<form name="languagesbar"><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" ></div>' +\r
+                                                                       '   <div style="float:left;width:45%;margin-left:15px;" id="scayt_rcol"></div>' +\r
+                                                                       '</div></form>'\r
                                                }\r
                                        ]\r
                                },\r
@@ -70,8 +97,8 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                {\r
                                                        type : 'html',\r
                                                        style: '',\r
-                                                       id : 'dic',\r
-                                                       html :  '<div class="inner_dictionary" style="text-align:left; white-space:normal;">' +\r
+                                                       id : 'dictionaries',\r
+                                                       html :  '<form name="dictionarybar"><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"> </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
@@ -90,7 +117,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                                        '                               </a>' +\r
                                                                        '               </div>' +\r
                                                                        '       <div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info"></div>' +\r
-                                                                       '</div>'\r
+                                                                       '</div></form>'\r
                                                }\r
                                        ]\r
                                },\r
@@ -101,16 +128,17 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                {\r
                                                        type : 'html',\r
                                                        id : 'about',\r
-                                                       style : 'margin: 10px 40px;',\r
+                                                       style : 'margin: 5px 5px;',\r
                                                        html : '<div id="scayt_about"></div>'\r
                                                }\r
                                        ]\r
                                }\r
                        ];\r
+\r
        var dialogDefiniton = {\r
                title : editor.lang.scayt.title,\r
-               minWidth : 340,\r
-               minHeight : 200,\r
+               minWidth : 360,\r
+               minHeight : 220,\r
                onShow : function()\r
                {\r
                        var dialog = this;\r
@@ -128,15 +156,15 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                        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
@@ -145,65 +173,43 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                },\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
+                       var scayt_control =  this.data.scayt_control;\r
+                       scayt_control.option( this.options );\r
                        // Setup languge 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 (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
+       tags = CKEDITOR.plugins.scayt.uiTabs;\r
+\r
+       for ( i in tags )\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
 \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
+                       labels = optionsIds,\r
                        i;\r
 \r
                // Add buttons titles\r
@@ -219,18 +225,21 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
 \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 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
+                               {\r
+                                       labelElement.setHtml( captions[ label ] );\r
+                                       var labelParent = labelElement.getParent();\r
+                                       labelParent.$.style.display = "block";\r
+                               }\r
                        }\r
                }\r
 \r
@@ -273,104 +282,97 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                };\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' ),\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
+                       }\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
+               {\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
                        {\r
@@ -381,28 +383,45 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
 \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
+                                       {\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
+                                       {\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').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 = id = ev.data.getTarget().getParent();\r
+                               var id = el.getId();\r
+                               dic[ id ].apply( null, [ el, dic_name, dic_buttons ] );\r
+                       }catch(err){\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
@@ -411,84 +430,104 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
        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 ] == 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
+                                               });\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' ).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' ).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
+       {\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
+               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
-                       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
+                       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
+       {\r
+               doc.getById('dic_name').$.value= dic_name;\r
+       }\r
 \r
        return dialogDefiniton;\r
 });\r