| | |
| | | |
| | | this.show_spell_img = false; // roundcube mod. |
| | | this.decoration = true; |
| | | this.use_close_btn = true; |
| | | this.use_close_btn = false; |
| | | this.edit_layer_dbl_click = true; |
| | | this.report_ta_not_found = true; |
| | | |
| | |
| | | |
| | | // Set document's onclick to hide the language and error menu |
| | | $(document).bind('click', function(e) { |
| | | if($(e.target).attr('googie_action_btn') != '1' && ref.isLangWindowShown()) |
| | | var target = $(e.target); |
| | | if(target.attr('googie_action_btn') != '1' && ref.isLangWindowShown()) |
| | | ref.hideLangWindow(); |
| | | if($(e.target).attr('googie_action_btn') != '1' && ref.isErrorWindowShown()) |
| | | if(target.attr('googie_action_btn') != '1' && ref.isErrorWindowShown()) |
| | | ref.hideErrorWindow(); |
| | | }); |
| | | |
| | |
| | | |
| | | this.checkSpellingState(); |
| | | } |
| | | else |
| | | if (this.report_ta_not_found) |
| | | alert('Text area not found'); |
| | | else if (this.report_ta_not_found) |
| | | alert('Text area not found'); |
| | | }; |
| | | |
| | | ////// |
| | |
| | | ///// |
| | | this.createErrorWindow = function() { |
| | | this.error_window = document.createElement('div'); |
| | | $(this.error_window).addClass('googie_window').attr('googie_action_btn', '1'); |
| | | $(this.error_window).addClass('googie_window popupmenu').attr('googie_action_btn', '1'); |
| | | }; |
| | | |
| | | this.isErrorWindowShown = function() { |
| | |
| | | }; |
| | | |
| | | this.hideErrorWindow = function() { |
| | | $(this.error_window).css('visibility', 'hidden'); |
| | | $(this.error_window_iframe).css('visibility', 'hidden'); |
| | | $(this.error_window).hide(); |
| | | $(this.error_window_iframe).hide(); |
| | | }; |
| | | |
| | | this.updateOrginalText = function(offset, old_value, new_value, id) { |
| | |
| | | table = document.createElement('table'), |
| | | list = document.createElement('tbody'); |
| | | |
| | | pos.top -= this.edit_layer.scrollTop; |
| | | |
| | | $(this.error_window).css({'visibility': 'visible', |
| | | 'top': (pos.top+20)+'px', 'left': (pos.left)+'px'}).html(''); |
| | | |
| | | $(this.error_window).html(''); |
| | | $(table).addClass('googie_list').attr('googie_action_btn', '1'); |
| | | |
| | | // Check if we should use custom menu builder, if not we use the default |
| | |
| | | table.appendChild(list); |
| | | this.error_window.appendChild(table); |
| | | |
| | | // calculate and set position |
| | | var height = $(this.error_window).height(), |
| | | width = $(this.error_window).width(), |
| | | pageheight = $(document).height(), |
| | | pagewidth = $(document).width(), |
| | | top = pos.top + height + 20 < pageheight ? pos.top + 20 : pos.top - height, |
| | | left = pos.left + width < pagewidth ? pos.left : pos.left - width; |
| | | |
| | | $(this.error_window).css({'top': top+'px', 'left': left+'px'}).show(); |
| | | |
| | | // Dummy for IE - dropdown bug fix |
| | | if ($.browser.msie) { |
| | | if (!this.error_window_iframe) { |
| | |
| | | this.error_window_iframe = iframe; |
| | | } |
| | | |
| | | $(this.error_window_iframe).css({'visibility': 'visible', |
| | | 'top': this.error_window.offsetTop, 'left': this.error_window.offsetLeft, |
| | | 'width': this.error_window.offsetWidth, 'height': this.error_window.offsetHeight}); |
| | | $(this.error_window_iframe) |
| | | .css({'top': this.error_window.offsetTop, 'left': this.error_window.offsetLeft, |
| | | 'width': this.error_window.offsetWidth, 'height': this.error_window.offsetHeight}) |
| | | .show(); |
| | | } |
| | | }; |
| | | |
| | |
| | | ////// |
| | | this.createEditLayer = function(width, height) { |
| | | this.edit_layer = document.createElement('div'); |
| | | $(this.edit_layer).addClass('googie_edit_layer').width(width-10).height(height); |
| | | $(this.edit_layer).addClass('googie_edit_layer').attr('id', 'googie_edit_layer') |
| | | .width('auto').height(height); |
| | | |
| | | if (this.text_area.nodeName.toLowerCase() != 'input' || $(this.text_area).val() == '') { |
| | | $(this.edit_layer).css('overflow', 'auto').height(height-4); |
| | |
| | | } |
| | | |
| | | var ref = this; |
| | | |
| | | if (this.edit_layer_dbl_click) { |
| | | $(this.edit_layer).bind('click', function(e) { |
| | | $(this.edit_layer).dblclick(function(e) { |
| | | if (e.target.className != 'googie_link' && !ref.isErrorWindowShown()) { |
| | | ref.resumeEditing(); |
| | | var fn1 = function() { |
| | |
| | | }; |
| | | |
| | | $(elm).html(text).addClass('googie_link').bind('click', d) |
| | | .attr({'googie_action_btn' : '1', 'g_id' : id, 'is_corrected' : false}); |
| | | .attr({'googie_action_btn' : '1', 'g_id' : id, 'is_corrected' : false}); |
| | | |
| | | return elm; |
| | | }; |
| | |
| | | ////// |
| | | this.createLangWindow = function() { |
| | | this.language_window = document.createElement('div'); |
| | | $(this.language_window).addClass('googie_window') |
| | | .width(100).attr('googie_action_btn', '1'); |
| | | $(this.language_window).addClass('googie_window popupmenu') |
| | | .width(100).attr('googie_action_btn', '1'); |
| | | |
| | | // Build up the result list |
| | | var table = document.createElement('table'), |
| | |
| | | }; |
| | | |
| | | this.isLangWindowShown = function() { |
| | | return $(this.language_window).is(':hidden'); |
| | | return $(this.language_window).is(':visible'); |
| | | }; |
| | | |
| | | this.hideLangWindow = function() { |
| | | $(this.language_window).css('visibility', 'hidden'); |
| | | $(this.language_window).hide(); |
| | | $(this.switch_lan_pic).removeClass().addClass('googie_lang_3d_on'); |
| | | }; |
| | | |
| | | this.showLangWindow = function(elm) { |
| | | if (this.show_menu_observer) |
| | | this.show_menu_observer(this); |
| | | |
| | | this.createLangWindow(); |
| | | $('body').append(this.language_window); |
| | | |
| | | var pos = $(elm).offset(), |
| | | height = $(elm).height(), |
| | | width = $(elm).width(), |
| | | h = $(this.language_window).height(), |
| | | pageheight = $(document).height(), |
| | | left = this.change_lang_pic_placement == 'right' ? |
| | | pos.left - 100 + width : pos.left + width, |
| | | top = pos.top + h < pageheight ? pos.top + height : pos.top - h - 4; |
| | | |
| | | $(this.language_window).css({'top' : top+'px','left' : left+'px'}).show(); |
| | | |
| | | this.highlightCurSel(); |
| | | }; |
| | | |
| | | this.deHighlightCurSel = function() { |
| | |
| | | GOOGIE_CUR_LANG = GOOGIE_DEFAULT_LANG; |
| | | for (var i=0; i < this.lang_elms.length; i++) { |
| | | if ($(this.lang_elms[i]).attr('googieId') == GOOGIE_CUR_LANG) { |
| | | this.lang_elms[i].className = "googie_list_selected"; |
| | | this.lang_elms[i].className = 'googie_list_selected'; |
| | | this.lang_cur_elm = this.lang_elms[i]; |
| | | } |
| | | else { |
| | | this.lang_elms[i].className = "googie_list_onout"; |
| | | this.lang_elms[i].className = 'googie_list_onout'; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | this.showLangWindow = function(elm) { |
| | | if (this.show_menu_observer) |
| | | this.show_menu_observer(this); |
| | | |
| | | this.createLangWindow(); |
| | | $('body').append(this.language_window); |
| | | |
| | | var pos = $(elm).offset(), |
| | | top = pos.top + $(elm).height(), |
| | | left = this.change_lang_pic_placement == 'right' ? |
| | | pos.left - 100 + $(elm).width() : pos.left + $(elm).width(); |
| | | |
| | | $(this.language_window).css({'visibility': 'visible', 'top' : top+'px','left' : left+'px'}); |
| | | |
| | | this.highlightCurSel(); |
| | | }; |
| | | |
| | | this.createChangeLangPic = function() { |
| | |
| | | //$(this.indicator).remove(); |
| | | // roundcube mod. |
| | | if (window.rcmail) |
| | | rcmail.set_busy(false); |
| | | rcmail.set_busy(false, null, this.rc_msg_id); |
| | | }; |
| | | |
| | | this.appendIndicator = function(elm) { |
| | | // modified by roundcube |
| | | if (window.rcmail) |
| | | rcmail.set_busy(true, 'checking'); |
| | | this.rc_msg_id = rcmail.set_busy(true, 'checking'); |
| | | /* |
| | | this.indicator = document.createElement('img'); |
| | | $(this.indicator).attr('src', this.img_dir + 'indicator.gif') |