#2867 - Upgrading from FCKEditor 2.6.4.1 to FCKEditor 2.6.5, Build 23959, 21-SEP-2009.
parent
965f0ad605
commit
7deb5a929d
@ -0,0 +1,751 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > |
||||
<!-- |
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net |
||||
* Copyright (C) 2003-2009 Frederico Caldeira Knabben |
||||
* |
||||
* == BEGIN LICENSE == |
||||
* |
||||
* Licensed under the terms of any of the following licenses at your |
||||
* choice: |
||||
* |
||||
* - GNU General Public License Version 2 or later (the "GPL") |
||||
* http://www.gnu.org/licenses/gpl.html |
||||
* |
||||
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
||||
* http://www.gnu.org/licenses/lgpl.html |
||||
* |
||||
* - Mozilla Public License Version 1.1 or later (the "MPL") |
||||
* http://www.mozilla.org/MPL/MPL-1.1.html |
||||
* |
||||
* == END LICENSE == |
||||
--> |
||||
<html> |
||||
<head> |
||||
<title>SCAYT Properties</title> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
<meta content="noindex, nofollow" name="robots"> |
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script> |
||||
<link type="text/css" href="fck_scayt/scayt_dialog.css" rel="stylesheet" /> |
||||
<script type="text/javascript"> |
||||
|
||||
var dialog = window.parent ; |
||||
var oEditor = dialog.InnerDialogLoaded() ; |
||||
var FCKLang = oEditor.FCKLang; |
||||
var scayt = oEditor.scayt; |
||||
var scayt_control = oEditor.scayt_control; |
||||
var lang_list = {}; |
||||
var sLang; |
||||
var fckLang; |
||||
var chosed_lang; |
||||
var options; |
||||
var tabs = scayt_control.uiTags || [1,1,0,1]; |
||||
var userDicActive = tabs[2] == 1; |
||||
var captions; |
||||
var dic_buttons = [ |
||||
// [0] contains buttons for creating |
||||
"dic_create,dic_restore", |
||||
// [1] contains buton for manipulation |
||||
"dic_rename,dic_delete" |
||||
]; |
||||
|
||||
var get = |
||||
new function(){ |
||||
|
||||
var mergeObjs = function(obj1, obj2) |
||||
{ |
||||
for (var k in obj1) |
||||
obj2[k] = obj1[k]; |
||||
|
||||
return obj2; |
||||
}; |
||||
|
||||
var removeWhitespaces = function( s ) |
||||
{ |
||||
s = s.replace( new RegExp("^ +| +$"), '' ) ; |
||||
return s ; |
||||
}; |
||||
|
||||
var addEvent = function( el ,sEventName, fTodo ) |
||||
{ |
||||
if (el.addEventListener) { |
||||
el.addEventListener (sEventName,fTodo,false); |
||||
|
||||
} else if (el.attachEvent) { |
||||
el.attachEvent ("on"+sEventName,fTodo); |
||||
|
||||
} else { |
||||
el["on"+sEventName] = fTodo; |
||||
} |
||||
}; |
||||
|
||||
var getElementsByClassName = function (node,classname ,strTag) { |
||||
strTag = strTag || "*"; |
||||
node = node || document; |
||||
if (node.getElementsByClassName) |
||||
return node.getElementsByClassName(classname); |
||||
else { |
||||
var objColl = node.getElementsByTagName(strTag); |
||||
if (!objColl.length && strTag == "*" && node.all) objColl = node.all; |
||||
var arr = new Array(); |
||||
var delim = classname.indexOf('|') != -1 ? '|' : ' '; |
||||
var arrClass = classname.split(delim); |
||||
for (var i = 0, j = objColl.length; i < j; i++) { |
||||
var arrObjClass = objColl[i].className.split(' '); |
||||
if (delim == ' ' && arrClass.length > arrObjClass.length) continue; |
||||
var c = 0; |
||||
comparisonLoop: |
||||
for ( var k = 0, l = arrObjClass.length ; k < l ; k++ ) |
||||
{ |
||||
for ( var m = 0, n = arrClass.length ; m < n ; m++ ) |
||||
{ |
||||
if ( arrClass[m] == arrObjClass[k] ) |
||||
c++ ; |
||||
|
||||
if ( ( delim == '|' && c == 1 ) || ( delim == ' ' && c == arrClass.length ) ) |
||||
{ |
||||
arr.push( objColl[i] ) ; |
||||
break comparisonLoop ; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
return arr; |
||||
} |
||||
}; |
||||
|
||||
var hasClassName = function ( sClassName, elem ) { |
||||
//.split(/\s+/); |
||||
var aCnames = elem.className.split(/\s+/) || []; |
||||
for (var i=0, l=aCnames.length; i<l ; i++){ |
||||
if (sClassName == aCnames[i]) |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
var single = { |
||||
addClass : function ( sClassName ) { |
||||
//console.info( sClassName, this.className, ); |
||||
if ( hasClassName(sClassName , this) ) |
||||
return this; |
||||
var s = removeWhitespaces(this.className + " " +sClassName); |
||||
this.className = s; |
||||
return this; |
||||
|
||||
}, |
||||
removeClass : function ( sClassName ) { |
||||
var s = removeWhitespaces(this.className.replace(sClassName,"")); |
||||
this.className = s; |
||||
return this; |
||||
}, |
||||
setStyle : function( oStyles ) |
||||
{ |
||||
for ( var style in oStyles ) |
||||
{ |
||||
this.style[style] = oStyles[style] ; |
||||
} |
||||
return this ; |
||||
}, |
||||
bindOnclick : function ( handler ) { |
||||
//addEvent( this, "click" , handler); |
||||
this.onclick = handler; |
||||
return this; |
||||
}, |
||||
bindOnchange : function ( handler ) { |
||||
//addEvent( this, "change" , handler); |
||||
this.onchange = handler; |
||||
return this; |
||||
}, |
||||
getAttr : function ( sAttrName ) |
||||
{ |
||||
if ( !sAttrName ) |
||||
return null; |
||||
|
||||
return this[sAttrName]; |
||||
}, |
||||
setAttr : function ( sAttrName , attrVal ) |
||||
{ |
||||
if ( !sAttrName || !attrVal ) |
||||
return null; |
||||
|
||||
this[sAttrName] = attrVal; |
||||
|
||||
return this; |
||||
}, |
||||
remAttr : function ( sAttrName ) |
||||
{ |
||||
if ( !sAttrName ) |
||||
return null; |
||||
} |
||||
}; |
||||
|
||||
var singleCaller = function ( sMethod,args ) { |
||||
for ( var i=0, l=this.length; i<l ; i++ ){ |
||||
var oItem = mergeObjs( single, this[i] ); |
||||
oItem[sMethod].apply(this[i],args); |
||||
} |
||||
}; |
||||
|
||||
|
||||
var collection = { |
||||
|
||||
addClass : function ( sClassName ){ |
||||
singleCaller.call(this, "addClass", [sClassName]) |
||||
return this; |
||||
}, |
||||
removeClass : function ( sClassName ) { |
||||
singleCaller.call(this, "removeClass", [sClassName]) |
||||
return this; |
||||
}, |
||||
setStyle : function ( oStyles ) { |
||||
singleCaller.call(this, "setStyle", [oStyles]) |
||||
return this; |
||||
}, |
||||
bindOnclick : function ( f ) { |
||||
singleCaller.call(this, "bindOnclick", [f]) |
||||
return this; |
||||
}, |
||||
bindOnchange : function ( f ) { |
||||
singleCaller.call(this, "bindOnchange", [f]) |
||||
return this; |
||||
}, |
||||
|
||||
forEach : function ( fTodo ) { |
||||
//el,i |
||||
for (var i=0, l=this.length; i<l ; i++){ |
||||
fTodo.apply(this[i], [this[i],i ]); |
||||
} |
||||
return this; |
||||
} |
||||
|
||||
}; |
||||
|
||||
|
||||
|
||||
this.byClass = function( sClassName ){ |
||||
var o = getElementsByClassName(document, sClassName ); |
||||
return o ? mergeObjs( collection, o ) : o; |
||||
}; |
||||
|
||||
this.byId = function( sId ){ |
||||
var o = document.getElementById( sId ); |
||||
return o ? mergeObjs( single, o ) : o; |
||||
}; |
||||
|
||||
this.gup = function ( name ){ |
||||
name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ; |
||||
var regexS = '[\\?&]' + name + '=([^&#]*)' ; |
||||
var regex = new RegExp( regexS ) ; |
||||
var results = regex.exec( window.location.href ) ; |
||||
|
||||
if( results == null ) |
||||
return '' ; |
||||
else |
||||
return results[ 1 ] ; |
||||
}; |
||||
this.wrap = function ( o ) { |
||||
return o ? mergeObjs( single, o ) : o; |
||||
}; |
||||
this.forEach = function ( oScope, fTodo ){ |
||||
collection.forEach.apply( oScope,[fTodo] ); |
||||
}; |
||||
|
||||
}; |
||||
|
||||
|
||||
|
||||
// Add the dialog tabs. |
||||
tabs[0] == 1 && dialog.AddTab( 'options', 'Options' ) ; |
||||
tabs[1] == 1 && dialog.AddTab( 'langs', 'Languages' ) ; |
||||
tabs[2] == 1 && dialog.AddTab( 'dictionary', 'Dictionary' ) ; |
||||
tabs[3] == 1 && dialog.AddTab( 'about', 'About' ) ; |
||||
|
||||
// Function called when a dialog tab is selected. |
||||
function OnDialogTabChange( tabCode ) |
||||
{ |
||||
ShowE('inner_options' , ( tabCode == 'options' ) ) ; |
||||
ShowE('inner_langs' , ( tabCode == 'langs' ) ) ; |
||||
ShowE('inner_dictionary' , ( tabCode == 'dictionary' ) ) ; |
||||
ShowE('inner_about' , ( tabCode == 'about' ) ) ; |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
window.onload = function() |
||||
{ |
||||
// Things to do when the page is loaded. |
||||
|
||||
if ( document.location.search.length ) |
||||
dialog.SetSelectedTab( document.location.search.substr(1) ) ; |
||||
|
||||
dialog.SetOkButton( true ) ; |
||||
|
||||
|
||||
if (!scayt) throw "SCAYT is undefined"; |
||||
if (!scayt_control) throw "SCAYT_CONTROL is undefined"; |
||||
|
||||
// show alowed tabs |
||||
tabs = scayt_control.uiTags || [1,1,1,0]; |
||||
|
||||
|
||||
sLang = scayt_control.getLang(); |
||||
fckLang = "en"; |
||||
options = scayt_control.option(); |
||||
// apply captions |
||||
scayt.getCaption( fckLang, function( caps ) |
||||
{ |
||||
//console.info( "scayt.getCaption runned" ) |
||||
captions = caps; |
||||
apllyCaptions(); |
||||
//lang_list = scayt.getLangList(); |
||||
lang_list = scayt.getLangList() ;//|| {ltr: {"en_US" : "English","en_GB" : "British English","pt_BR" : "Brazilian Portuguese","da_DK" : "Danish","nl_NL" : "Dutch","en_CA" : "English Canadian","fi_FI" : "Finnish","fr_FR" : "French","fr_CA" : "French Canadian","de_DE" : "German","el_GR" : "Greek","hu_HU" : "Hungarian","it_IT" : "Italian","nb_NO" : "Norwegian","pl_PL" : "Polish","pt_PT" : "Portuguese","ru_RU" : "Russian","es_ES" : "Spanish","sv_SE" : "Swedish","tr_TR" : "Turkish","uk_UA" : "Ukrainian","cy_GB" : "Welsh"},rtl: {"ar_EG" : "Arabic"}}; |
||||
|
||||
|
||||
|
||||
|
||||
// ** animate options |
||||
get.byClass("_scayt_option").forEach(function(el,i){ |
||||
|
||||
if ('undefined' != typeof(options[el.name])) { |
||||
// *** set default values |
||||
|
||||
if ( 1 == options[ el.name ] ){ |
||||
//el.setAttribute("checked","true"); |
||||
get.wrap(el).setAttr("checked" ,true) |
||||
//document.all_options[el.name].checked = "true"; |
||||
//el.checked = true; |
||||
//alert( options[ dojo.attr(el ,'name') ] + " el " ) |
||||
} |
||||
//console.info(options) |
||||
// *** bind events |
||||
get.wrap(el).bindOnclick( function(ev){ |
||||
|
||||
var that = get.wrap(this); |
||||
var isCheck = that.getAttr("checked"); |
||||
//console.info(isCheck) |
||||
if ( isCheck == false ) { |
||||
|
||||
//that.setAttr("checked",false); |
||||
options[ this.name ] = 0; |
||||
}else{ |
||||
//that.setAttr("checked",true); |
||||
options[ this.name ] = 1; |
||||
} |
||||
//console.info(options) |
||||
}); |
||||
} |
||||
}); |
||||
|
||||
|
||||
// * Create languages tab |
||||
// ** convert langs obj to array |
||||
var lang_arr = []; |
||||
|
||||
for (var k in lang_list.rtl){ |
||||
// find curent lang |
||||
if ( k == sLang) |
||||
chosed_lang = lang_list.rtl[k] + "::" + k; |
||||
lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k; |
||||
|
||||
} |
||||
for (var k in lang_list.ltr){ |
||||
// find curent lang |
||||
if ( k == sLang) |
||||
chosed_lang = lang_list.ltr[k] + "::" + k; |
||||
lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k; |
||||
} |
||||
lang_arr.sort(); |
||||
|
||||
// ** find lang containers |
||||
|
||||
var lcol = get.byId("lcolid"); |
||||
var rcol = get.byId("rcolid"); |
||||
// ** place langs in DOM |
||||
|
||||
get.forEach(lang_arr , function( l , i ){ |
||||
|
||||
//console.info( l,i ); |
||||
|
||||
var l_arr = l.split('::'); |
||||
var l_name = l_arr[0]; |
||||
var l_code = l_arr[1]; |
||||
var row = document.createElement('div'); |
||||
row.id = l_code; |
||||
row.className = "li"; |
||||
// split langs on half |
||||
var col = ( i < lang_arr.length/2 ) ? lcol:rcol ; |
||||
|
||||
// append row |
||||
//console.dir( col ) |
||||
col.appendChild(row); |
||||
var row_dom = get.byId( l_code ) |
||||
row_dom.innerHTML = l_name; |
||||
|
||||
var checkActiveLang = function( id ){ |
||||
return chosed_lang.split("::")[1] == id; |
||||
}; |
||||
// bind click |
||||
row_dom.bindOnclick(function(ev){ |
||||
|
||||
if ( checkActiveLang(this.id) ) return false; |
||||
var elId = this.id; |
||||
get.byId(this.id) |
||||
.addClass("Button") |
||||
.removeClass("DarkBackground"); |
||||
|
||||
window.setTimeout( function (){ get.byId(elId).setStyle({opacity:"0.5",cursor:"no-drop"}); } ,300 ); |
||||
|
||||
get.byId(chosed_lang.split("::")[1]) |
||||
.addClass("DarkBackground") |
||||
.removeClass("Button") |
||||
.setStyle({opacity:"1",cursor:"pointer"}); |
||||
|
||||
chosed_lang = this.innerHTML + "::" + this.id; |
||||
return true; |
||||
}) |
||||
.setStyle({ |
||||
cursor:"pointer" |
||||
}); |
||||
// select current lang |
||||
if (l == chosed_lang) |
||||
row_dom.addClass("Button").setStyle({opacity:"0.5",cursor:"no-drop"}); |
||||
else |
||||
row_dom.addClass("DarkBackground").setStyle({opacity:"1"}); |
||||
|
||||
}); |
||||
// * user dictionary |
||||
if ( userDicActive ){ |
||||
initUserDictionary() |
||||
|
||||
} |
||||
}); |
||||
|
||||
|
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
var buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ]; |
||||
var labels = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ]; |
||||
|
||||
|
||||
function apllyCaptions ( ) |
||||
{ |
||||
|
||||
// fill tabs headers |
||||
// add missing captions |
||||
|
||||
get.byClass("PopupTab").forEach(function(el,i){ |
||||
|
||||
if ( tabs[i] == 1 ){ |
||||
el.style.display = "block"; |
||||
} |
||||
el.innerHTML = captions['tab_'+el.id]; |
||||
|
||||
}); |
||||
|
||||
// Fill options labels. |
||||
for ( i in labels ) |
||||
{ |
||||
var label = 'label_' + labels[ i ], |
||||
labelElement = document.getElementById( label ); |
||||
|
||||
if ( 'undefined' != typeof labelElement |
||||
&& 'undefined' != typeof captions[ label ] && captions[ label ] !== "" |
||||
&& 'undefined' != typeof options[labels[ i ]] ) |
||||
{ |
||||
labelElement.innerHTML = captions[ label ]; |
||||
var labelParent = labelElement.parentNode; |
||||
labelParent.style.display = "block"; |
||||
} |
||||
} |
||||
// fill dictionary section |
||||
for ( var i in buttons ) |
||||
{ |
||||
var button = buttons[ i ]; |
||||
get.byId( button ).innerHTML = '<span>' + captions[ 'button_' + button] +'</span>' ; |
||||
} |
||||
get.byId("dname").innerHTML = captions['label_dname']; |
||||
get.byId( 'dic_info' ).innerHTML = captions[ 'dic_info' ]; |
||||
|
||||
// fill about tab |
||||
var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+ |
||||
'<p>' + captions[ 'version' ] + scayt.version.toString() + '</p>' + |
||||
'<p>' + captions[ 'about_throwt_copy' ] + '</p>'; |
||||
|
||||
get.byId( 'scayt_about' ).innerHTML = about; |
||||
|
||||
} |
||||
|
||||
|
||||
function initUserDictionary () { |
||||
|
||||
scayt.getNameUserDictionary( |
||||
function( o ) |
||||
{ |
||||
var dic_name = o.dname; |
||||
if ( dic_name ) |
||||
{ |
||||
get.byId( 'dic_name' ).value = dic_name; |
||||
display_dic_buttons( dic_buttons[1] ); |
||||
} |
||||
else |
||||
display_dic_buttons( dic_buttons[0] ); |
||||
|
||||
}, |
||||
function () |
||||
{ |
||||
get.byId( 'dic_name' ).value(""); |
||||
dic_error_message(captions["err_dic_enable"] || "Used dictionary are unaveilable now.") |
||||
} |
||||
); |
||||
|
||||
dic_success_message(""); |
||||
|
||||
// ** bind event listeners |
||||
get.byClass("button").bindOnclick(function( ){ |
||||
|
||||
// get dic name |
||||
var dic_name = get.byId('dic_name').value ; |
||||
// check common dictionary rules |
||||
if (!dic_name) { |
||||
dic_error_message(" Dictionary name should not be empty. "); |
||||
return false; |
||||
} |
||||
//apply handler |
||||
window[this.id].apply( window, [this, dic_name, dic_buttons ] ); |
||||
|
||||
//console.info( typeof window[this.id], window[this.id].calle ) |
||||
return false; |
||||
}); |
||||
|
||||
} |
||||
|
||||
dic_create = function( el, dic_name , dic_buttons ) |
||||
{ |
||||
// comma separated button's ids include repeats if exists |
||||
var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; |
||||
|
||||
var err_massage = captions["err_dic_create"]; |
||||
var suc_massage = captions["succ_dic_create"]; |
||||
//console.info("--plugin "); |
||||
|
||||
scayt.createUserDictionary(dic_name, |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_create callback called with args" , arg ); |
||||
hide_dic_buttons ( all_buttons ); |
||||
display_dic_buttons ( dic_buttons[1] ); |
||||
suc_massage = suc_massage.replace("%s" , arg.dname ); |
||||
dic_success_message (suc_massage); |
||||
}, |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_create errorback called with args" , arg ) |
||||
err_massage = err_massage.replace("%s" ,arg.dname ); |
||||
dic_error_message ( err_massage + "( "+ (arg.message || "") +")"); |
||||
}); |
||||
|
||||
}; |
||||
|
||||
dic_rename = function( el, dic_name , dic_buttons ) |
||||
{ |
||||
// |
||||
// try to rename dictionary |
||||
// @TODO: rename dict |
||||
//console.info ( captions["err_dic_rename"] ) |
||||
var err_massage = captions["err_dic_rename"] || ""; |
||||
var suc_massage = captions["succ_dic_rename"] || ""; |
||||
scayt.renameUserDictionary(dic_name, |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_rename callback called with args" , arg ); |
||||
suc_massage = suc_massage.replace("%s" , arg.dname ); |
||||
set_dic_name( dic_name ); |
||||
dic_success_message ( suc_massage ); |
||||
}, |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_rename errorback called with args" , arg ) |
||||
err_massage = err_massage.replace("%s" , arg.dname ); |
||||
set_dic_name( dic_name ); |
||||
dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" ); |
||||
}); |
||||
}; |
||||
|
||||
dic_delete = function ( el, dic_name , dic_buttons ) |
||||
{ |
||||
var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; |
||||
var err_massage = captions["err_dic_delete"]; |
||||
var suc_massage = captions["succ_dic_delete"]; |
||||
|
||||
// try to delete dictionary |
||||
// @TODO: delete dict |
||||
scayt.deleteUserDictionary( |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_delete callback " , dic_name ,arg ); |
||||
suc_massage = suc_massage.replace("%s" , arg.dname ); |
||||
hide_dic_buttons ( all_buttons ); |
||||
display_dic_buttons ( dic_buttons[0] ); |
||||
set_dic_name( "" ); // empty input field |
||||
dic_success_message( suc_massage ); |
||||
}, |
||||
function(arg) |
||||
{ |
||||
//console.info( " dic_delete errorback called with args" , arg ) |
||||
err_massage = err_massage.replace("%s" , arg.dname ); |
||||
dic_error_message(err_massage); |
||||
}); |
||||
}; |
||||
|
||||
dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons ) |
||||
{ |
||||
// try to restore existing dictionary |
||||
var all_buttons = dic_buttons[0] + ',' + dic_buttons[1]; |
||||
var err_massage = captions["err_dic_restore"]; |
||||
var suc_massage = captions["succ_dic_restore"]; |
||||
|
||||
scayt.restoreUserDictionary(dic_name, |
||||
function(arg) |
||||
{ |
||||
//console.info( "dic_restore callback called with args" , arg ); |
||||
suc_massage = suc_massage.replace("%s" , arg.dname ); |
||||
hide_dic_buttons ( all_buttons ); |
||||
display_dic_buttons(dic_buttons[1]); |
||||
dic_success_message( suc_massage ); |
||||
}, |
||||
function(arg) |
||||
{ |
||||
//console.info( " dic_restore errorback called with args" , arg ) |
||||
err_massage = err_massage.replace("%s" , arg.dname ); |
||||
dic_error_message( err_massage ); |
||||
}); |
||||
}; |
||||
|
||||
function dic_error_message( m ) |
||||
{ |
||||
if ( !m ) |
||||
return ; |
||||
|
||||
get.byId('dic_message').innerHTML = '<span class="error">' + m + '</span>' ; |
||||
} |
||||
|
||||
function dic_success_message( m ) |
||||
{ |
||||
if ( !m ) |
||||
return ; |
||||
|
||||
get.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ; |
||||
} |
||||
|
||||
function display_dic_buttons ( sIds ){ |
||||
sIds = new String( sIds ); |
||||
get.forEach( sIds.split(','), function ( id,i) { |
||||
get.byId(id).setStyle({display:"inline"}); |
||||
}); |
||||
} |
||||
function hide_dic_buttons ( sIds ){ |
||||
sIds = new String( sIds ); |
||||
get.forEach( sIds.split(','), function ( id,i) { |
||||
get.byId(id).setStyle({display:"none"}); |
||||
}); |
||||
} |
||||
function set_dic_name ( dic_name ) { |
||||
get.byId('dic_name').value = dic_name; |
||||
} |
||||
function display_dic_tab () { |
||||
get.byId("dic_tab").style.display = "block"; |
||||
} |
||||
|
||||
function Ok() |
||||
{ |
||||
// Things to do when the Ok button is clicked. |
||||
var c = 0; |
||||
// set upp options if any was set |
||||
var o = scayt_control.option(); |
||||
//console.info(options) |
||||
for ( var oN in options ) { |
||||
|
||||
if ( o[oN] != options[oN] && c == 0){ |
||||
//console.info( "set option " ) |
||||
scayt_control.option( options ); |
||||
c++; |
||||
} |
||||
} |
||||
//setup languge if it was change |
||||
var csLang = chosed_lang.split("::")[1]; |
||||
if ( csLang && sLang != csLang ){ |
||||
scayt_control.setLang( csLang ); |
||||
//console.info(sLang+" -> "+csLang , scayt_control) |
||||
c++; |
||||
} |
||||
|
||||
if ( c > 0 ) scayt_control.refresh(); |
||||
|
||||
return dialog.Cancel(); |
||||
|
||||
} |
||||
|
||||
</script> |
||||
|
||||
<style type="text/css"> |
||||
body, td, input, textarea, select, label { font-family: Arial, Verdana, Geneva, helvetica, sans-serif; font-size: 11px; } |
||||
</style> |
||||
|
||||
</head> |
||||
<body style="OVERFLOW: hidden" scroll="no"> |
||||
<div class="tab_container" id="inner_options"> |
||||
|
||||
<ul id="scayt_options"> |
||||
<li class="_scayt_options"> |
||||
<input class="_scayt_option" type="checkbox" value="0" name="allCaps" /> |
||||
<label for="allCaps" id="label_allCaps"></label> |
||||
</li> |
||||
<li> |
||||
<input class="_scayt_option" type="checkbox" value="0" name="ignoreDomainNames" /> |
||||
<label for="ignoreDomainNames" id="label_ignoreDomainNames"></label> |
||||
</li> |
||||
<li> |
||||
<input class="_scayt_option" type="checkbox" value="0" name="mixedCase" /> |
||||
<label for="mixedCase" id="label_mixedCase"></label> |
||||
</li> |
||||
<li> |
||||
<input class="_scayt_option" type="checkbox" value="0" name="mixedWithDigits" /> |
||||
<label for="mixedWithDigits" id="label_mixedWithDigits"></label> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
<div class="tab_container" id="inner_langs"> |
||||
|
||||
<div class="lcol" id="lcolid"></div> |
||||
<div class="rcol" id="rcolid"></div> |
||||
</div> |
||||
<div class="tab_container" id="inner_dictionary"> |
||||
|
||||
<div id="dic_message"></div> |
||||
<div id="_off_dic_tab" class="dictionary" > |
||||
<div style="padding-left:10px;"> |
||||
<label id="dname" for="dname"></label> |
||||
<input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/> |
||||
</div> |
||||
<div class="dic_buttons"> |
||||
<a href="#" id="dic_create" class="button"> </a> |
||||
<a href="#" id="dic_delete" class="button"> </a> |
||||
<a href="#" id="dic_rename" class="button"> </a> |
||||
<a href="#" id="dic_restore" class="button"> </a> |
||||
</div> |
||||
|
||||
<div id="dic_info"></div> |
||||
|
||||
</div> |
||||
</div> |
||||
<div id="inner_about" class="tab_container"> |
||||
<div id="scayt_about"></div> |
||||
</div> |
||||
</body> |
||||
</html> |
@ -0,0 +1,169 @@ |
||||
html, body |
||||
{ |
||||
background-color: transparent; |
||||
margin: 0px; |
||||
padding: 0px; |
||||
} |
||||
|
||||
body |
||||
{ |
||||
padding: 10px; |
||||
} |
||||
|
||||
body, td, input, select, textarea |
||||
{ |
||||
font-size: 11px; |
||||
font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; |
||||
} |
||||
|
||||
.midtext |
||||
{ |
||||
padding:0px; |
||||
margin:10px; |
||||
} |
||||
|
||||
.midtext p |
||||
{ |
||||
padding:0px; |
||||
margin:10px; |
||||
} |
||||
|
||||
.Button |
||||
{ |
||||
border: #737357 1px solid; |
||||
color: #3b3b1f; |
||||
background-color: #c7c78f; |
||||
} |
||||
|
||||
.PopupTabArea , .button |
||||
{ |
||||
color: #737357; |
||||
background-color: #e3e3c7; |
||||
} |
||||
|
||||
.PopupTitleBorder |
||||
{ |
||||
border-bottom: #d5d59d 1px solid; |
||||
} |
||||
.PopupTabEmptyArea |
||||
{ |
||||
padding-left: 10px; |
||||
border-bottom: #d5d59d 1px solid; |
||||
} |
||||
|
||||
.PopupTab, .PopupTabSelected |
||||
{ |
||||
border-right: #d5d59d 1px solid; |
||||
border-top: #d5d59d 1px solid; |
||||
border-left: #d5d59d 1px solid; |
||||
padding: 3px 5px 3px 5px; |
||||
color: #737357; |
||||
} |
||||
|
||||
.PopupTab |
||||
{ |
||||
margin-top: 1px; |
||||
border-bottom: #d5d59d 1px solid; |
||||
cursor: pointer; |
||||
cursor: hand; |
||||
} |
||||
|
||||
.PopupTabSelected |
||||
{ |
||||
font-weight: bold; |
||||
cursor: default; |
||||
padding-top: 4px; |
||||
border-bottom: #f1f1e3 1px solid; |
||||
background-color: #f1f1e3; |
||||
} |
||||
|
||||
ul { |
||||
padding:0; |
||||
margin:0px 0px 12px 0px; |
||||
list-style-type:none; |
||||
} |
||||
ul.tabs { |
||||
height:20px; |
||||
margin:10px 0px; |
||||
} |
||||
ul.tabs li { |
||||
float: left; |
||||
display:none; |
||||
} |
||||
div.tab_container { |
||||
/*display:none;*/ |
||||
padding: 0px 5px ; |
||||
} |
||||
.lcol { |
||||
float:left; |
||||
width:47%; |
||||
margin-left:5px; |
||||
} |
||||
.rcol { |
||||
float:right; |
||||
width:47%; |
||||
margin-right:5px; |
||||
} |
||||
div.tabs-container{ |
||||
height:220px; |
||||
overflow-x:hidden; |
||||
overflow-y:auto; |
||||
} |
||||
|
||||
div.tabs-container h3{ |
||||
margin:5px 15px 7px 15px; |
||||
background-color:transparent; |
||||
font-size: 14px ; |
||||
} |
||||
|
||||
.li { |
||||
border: 1px solid transparent; |
||||
} |
||||
|
||||
#dic_message{ |
||||
height: 24px; |
||||
} |
||||
#dic_message .error{ |
||||
color: red ; |
||||
} |
||||
#dic_message .success{ |
||||
color: blue ; |
||||
} |
||||
|
||||
.dic_buttons { |
||||
margin-top: 5px; |
||||
padding-left:10px; |
||||
} |
||||
.dic_buttons a { |
||||
display: none; |
||||
} |
||||
a.button { |
||||
border: #d5d59d 1px solid; |
||||
padding: 2px 4px; |
||||
margin-right: 4px; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
a.button:hover, |
||||
a.button:active, |
||||
a.button:visited{ |
||||
padding: 2px 4px; |
||||
margin-right: 4px; |
||||
text-decoration: none; |
||||
} |
||||
a.button:hover { |
||||
border: #d5d59d 1px solid; |
||||
color: #e3e3c7; |
||||
background-color: #737357; |
||||
} |
||||
|
||||
#scayt_options li { |
||||
display: none; |
||||
} |
||||
|
||||
#dic_info { |
||||
margin:10px; |
||||
} |
||||
#dic_tab { |
||||
display:none; |
||||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue