/* Add events to objects --------------------------------------- */ var FTB_EventCache = []; function FTB_AddEvents(obj, evTypes, fn) { for (i=0; i 5.5) this.isRich = true; } else if (this.isGecko) { v = u.substring(u.indexOf("gecko/") + 6 ); v = v.substring(v, v.indexOf(" ")); if (parseFloat(v) > 20030624) this.isRich = true; } else if (this.isOpera) { v = u.substring(u.indexOf('opera/') + 6); if (parseFloat(v) >= 9.0) this.isRich = true; } else if (this.isSafari) { v = u.substring(u.indexOf("webkit/") + 7); if (parseFloat(v) >= 312 && !this.isiPhone) this.isRich = true; if (u.indexOf('version/3') != -1) { this.isSafari3 = true; this.isSafari2 = false; } else { this.isSafari2 = true; this.isSafari3 = false; } } }; FTB_Browser = new FTB_BrowserDetect(); /* OOP Timeout Manager 'FTB_Timeout' --------------------------------------- */ function FTB_TimeoutManager() { this.pendingCalls = {}; }; FTB_TimeoutManager.prototype.addMethod = function(name,obj,method,delay,arg1,arg2) { this.clearMethod(name); this.pendingCalls[name] = new FTB_TimeoutCall(obj,method,arg1,arg2); this.pendingCalls[name].timeout = setTimeout('FTB_Timeout.executeMethod("' + name + '");',delay); }; FTB_TimeoutManager.prototype.executeMethod = function(name) { call = this.pendingCalls[name]; if (call != null) { call.obj[call.method](call.arg1,call.arg2); this.clearMethod(name); } }; FTB_TimeoutManager.prototype.clearMethod = function(name) { if (this.pendingCalls[name]) delete this.pendingCalls[name]; }; //* Object to hold timeout reference function FTB_TimeoutCall(obj,method,arg1,arg2) { this.obj = obj; this.method = method; this.arg1 = arg1; this.arg2 = arg2; this.timeout = null; }; FTB_Timeout = new FTB_TimeoutManager(); /* Constants ----------------------------------------- */ FTB_MODE_HTML = 0; FTB_MODE_DESIGN = 1; FTB_MODE_PREVIEW = 2; // FTB_PASTE_DEFAULT = 0; FTB_PASTE_DISABLED = 1; FTB_PASTE_TEXT = 2; // FTB_TAB_DISABLED = 0; FTB_TAB_NEXTCONTROL = 1; FTB_TAB_INSERTSPACES = 2; // FTB_BUTTON_ON = 0; FTB_BUTTON_OFF = 1; // FTB_BREAK_P = 0; FTB_BREAK_BR = 1; // FTB_KEY_TAB = 9; FTB_KEY_ENTER = 13; FTB_KEY_QUOTE = 222; FTB_KEY_V = 86; FTB_KEY_P = 86; FTB_KEY_B = 66; FTB_KEY_I = 73; FTB_KEY_U = 85; FTB_KEY_Z = 90; FTB_KEY_Y = 89; // FTB_CODE_OPENCURLY = '“'; FTB_CODE_CLOSECURLY = '”'; // FTB_BUTTON_STYLEDBACKGROUNDS = 0; FTB_BUTTON_IMAGEBACKGROUNDS = 1; /* Misc Methods ------------------------------------------ */ function FTB_SetListValue(list, value, checkText) { checkText = checkText || false; value = String(value).toLowerCase(); for (var i=0; i \ \ POPUP_TITLE\ \ \ \ \
\

POPUP_TITLE

\ POPUP_HTML \
\ \ "); if (typeof(Sys) != "undefined") { if (typeof(Sys.Application) != "undefined") { Sys.Application.notifyScriptLoaded(); }}