Removed fastinit.js and events.js
Monotone-Parent: 3a4ed372ee2495e9c893842ebe71384ea3ebcd65 Monotone-Revision: 59c4b0746cb2313cef5fff230f8824a9d48a2ee1 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-03-12T21:11:22 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
21ab040534
commit
74bc491e8e
|
@ -116,8 +116,6 @@
|
||||||
<var:string value="commonLocalizableStrings" const:escapeHTML="NO"/>
|
<var:string value="commonLocalizableStrings" const:escapeHTML="NO"/>
|
||||||
<var:string value="productLocalizableStrings" const:escapeHTML="NO"/>
|
<var:string value="productLocalizableStrings" const:escapeHTML="NO"/>
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" rsrc:src="events.js"><!-- space --></script>
|
|
||||||
<script type="text/javascript" rsrc:src="fastinit.js"><!-- space --></script>
|
|
||||||
<script type="text/javascript" rsrc:src="prototype.js"><!-- space --></script>
|
<script type="text/javascript" rsrc:src="prototype.js"><!-- space --></script>
|
||||||
<script type="text/javascript" rsrc:src="tablekit.js"><!-- space --></script>
|
<script type="text/javascript" rsrc:src="tablekit.js"><!-- space --></script>
|
||||||
<script type="text/javascript" rsrc:src="tablekit-trueresize.js"><!-- space --></script>
|
<script type="text/javascript" rsrc:src="tablekit-trueresize.js"><!-- space --></script>
|
||||||
|
|
|
@ -1,165 +0,0 @@
|
||||||
// written by Dean Edwards, 2005
|
|
||||||
// with input from Tino Zijdel, Matthias Miller, Diego Perini
|
|
||||||
// http://dean.edwards.name/weblog/2005/10/add-event/
|
|
||||||
function addEvent(element, type, handler) {
|
|
||||||
// Modification by Tanny O'Haley, http://tanny.ica.com to add the
|
|
||||||
// DOMContentLoaded for all browsers.
|
|
||||||
if (type == "DOMContentLoaded" || type == "domload") {
|
|
||||||
addDOMLoadEvent(handler);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (element.addEventListener) {
|
|
||||||
element.addEventListener(type, handler, false);
|
|
||||||
} else {
|
|
||||||
// assign each event handler a unique ID
|
|
||||||
if (!handler.$$guid) handler.$$guid = addEvent.guid++;
|
|
||||||
// create a hash table of event types for the element
|
|
||||||
if (!element.events) element.events = {};
|
|
||||||
// create a hash table of event handlers for each element/event pair
|
|
||||||
var handlers = element.events[type];
|
|
||||||
if (!handlers) {
|
|
||||||
handlers = element.events[type] = {};
|
|
||||||
// store the existing event handler (if there is one)
|
|
||||||
if (element["on" + type]) {
|
|
||||||
handlers[0] = element["on" + type];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// store the event handler in the hash table
|
|
||||||
handlers[handler.$$guid] = handler;
|
|
||||||
// assign a global event handler to do all the work
|
|
||||||
element["on" + type] = handleEvent;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// a counter used to create unique IDs
|
|
||||||
addEvent.guid = 1;
|
|
||||||
|
|
||||||
function removeEvent(element, type, handler) {
|
|
||||||
if (element.removeEventListener) {
|
|
||||||
element.removeEventListener(type, handler, false);
|
|
||||||
} else {
|
|
||||||
// delete the event handler from the hash table
|
|
||||||
if (element.events && element.events[type]) {
|
|
||||||
delete element.events[type][handler.$$guid];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function handleEvent(event) {
|
|
||||||
var returnValue = true;
|
|
||||||
// grab the event object (IE uses a global event object)
|
|
||||||
event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
|
|
||||||
// get a reference to the hash table of event handlers
|
|
||||||
var handlers = this.events[event.type];
|
|
||||||
// execute each event handler
|
|
||||||
for (var i in handlers) {
|
|
||||||
this.$$handleEvent = handlers[i];
|
|
||||||
if (this.$$handleEvent(event) === false) {
|
|
||||||
returnValue = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return returnValue;
|
|
||||||
};
|
|
||||||
|
|
||||||
function fixEvent(event) {
|
|
||||||
// add W3C standard event methods
|
|
||||||
event.preventDefault = fixEvent.preventDefault;
|
|
||||||
event.stopPropagation = fixEvent.stopPropagation;
|
|
||||||
return event;
|
|
||||||
};
|
|
||||||
fixEvent.preventDefault = function() {
|
|
||||||
this.returnValue = false;
|
|
||||||
};
|
|
||||||
fixEvent.stopPropagation = function() {
|
|
||||||
this.cancelBubble = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
// End Dean Edwards addEvent.
|
|
||||||
|
|
||||||
// Tino Zijdel - crisp@xs4all.nl This little snippet fixes the problem that the onload attribute on
|
|
||||||
// the body-element will overwrite previous attached events on the window object for the onload event.
|
|
||||||
if (!window.addEventListener) {
|
|
||||||
document.onreadystatechange = function(){
|
|
||||||
if (window.onload && window.onload != handleEvent) {
|
|
||||||
addEvent(window, 'load', window.onload);
|
|
||||||
window.onload = handleEvent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Here are my functions for adding the DOMContentLoaded event to browsers other
|
|
||||||
// than Mozilla.
|
|
||||||
|
|
||||||
// Array of DOMContentLoaded event handlers.
|
|
||||||
window.onDOMLoadEvents = new Array();
|
|
||||||
window.DOMContentLoadedInitDone = false;
|
|
||||||
|
|
||||||
// Function that adds DOMContentLoaded listeners to the array.
|
|
||||||
function addDOMLoadEvent(listener) {
|
|
||||||
window.onDOMLoadEvents[window.onDOMLoadEvents.length]=listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Function to process the DOMContentLoaded events array.
|
|
||||||
function DOMContentLoadedInit() {
|
|
||||||
// quit if this function has already been called
|
|
||||||
if (window.DOMContentLoadedInitDone) return;
|
|
||||||
|
|
||||||
// flag this function so we don't do the same thing twice
|
|
||||||
window.DOMContentLoadedInitDone = true;
|
|
||||||
|
|
||||||
// iterates through array of registered functions
|
|
||||||
for (var i=0; i<window.onDOMLoadEvents.length; i++) {
|
|
||||||
var func = window.onDOMLoadEvents[i];
|
|
||||||
func();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function DOMContentLoadedScheduler() {
|
|
||||||
// quit if the init function has already been called
|
|
||||||
if (window.DOMContentLoadedInitDone) return true;
|
|
||||||
|
|
||||||
// First, check for Safari or KHTML.
|
|
||||||
// Second, check for IE.
|
|
||||||
//if DOM methods are supported, and the body element exists
|
|
||||||
//(using a double-check including document.body, for the benefit of older moz builds [eg ns7.1]
|
|
||||||
//in which getElementsByTagName('body')[0] is undefined, unless this script is in the body section)
|
|
||||||
if(/KHTML|WebKit/i.test(navigator.userAgent)) {
|
|
||||||
if(/loaded|complete/.test(document.readyState)) {
|
|
||||||
DOMContentLoadedInit();
|
|
||||||
} else {
|
|
||||||
// Not ready yet, wait a little more.
|
|
||||||
setTimeout("DOMContentLoadedScheduler()", 250);
|
|
||||||
}
|
|
||||||
} else if(document.getElementById("__ie_onload")) {
|
|
||||||
return true;
|
|
||||||
} else if(typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null)) {
|
|
||||||
DOMContentLoadedInit();
|
|
||||||
} else {
|
|
||||||
// Not ready yet, wait a little more.
|
|
||||||
setTimeout("DOMContentLoadedScheduler()", 250);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Schedule to run the init function.
|
|
||||||
setTimeout("DOMContentLoadedScheduler()", 250);
|
|
||||||
|
|
||||||
// Just in case window.onload happens first, add it there too.
|
|
||||||
addEvent(window, "load", DOMContentLoadedInit);
|
|
||||||
|
|
||||||
// If addEventListener supports the DOMContentLoaded event.
|
|
||||||
if(document.addEventListener)
|
|
||||||
document.addEventListener("DOMContentLoaded", DOMContentLoadedInit, false);
|
|
||||||
|
|
||||||
/* for Internet Explorer */
|
|
||||||
/*@cc_on @*/
|
|
||||||
/*@if (@_win32)
|
|
||||||
document.write("<script id=__ie_onload defer src=\"//:\"><\/script>");
|
|
||||||
var script = document.getElementById("__ie_onload");
|
|
||||||
script.onreadystatechange = function() {
|
|
||||||
if (this.readyState == "complete") {
|
|
||||||
DOMContentLoadedInit(); // call the onload handler
|
|
||||||
}
|
|
||||||
};
|
|
||||||
/*@end @*/
|
|
|
@ -1,84 +0,0 @@
|
||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2007 Andrew Tetlaw
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person
|
|
||||||
* obtaining a copy of this software and associated documentation
|
|
||||||
* files (the "Software"), to deal in the Software without
|
|
||||||
* restriction, including without limitation the rights to use, copy,
|
|
||||||
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
* of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be
|
|
||||||
* included in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
||||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
* SOFTWARE.
|
|
||||||
* *
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* FastInit
|
|
||||||
* http://tetlaw.id.au/view/javascript/fastinit
|
|
||||||
* Andrew Tetlaw
|
|
||||||
* Version 1.4.1 (2007-03-15)
|
|
||||||
* Based on:
|
|
||||||
* http://dean.edwards.name/weblog/2006/03/faster
|
|
||||||
* http://dean.edwards.name/weblog/2006/06/again/
|
|
||||||
* Help from:
|
|
||||||
* http://www.cherny.com/webdev/26/domloaded-object-literal-updated
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
var FastInit = {
|
|
||||||
onload : function() {
|
|
||||||
if (FastInit.done) { return; }
|
|
||||||
FastInit.done = true;
|
|
||||||
for(var x = 0, al = FastInit.f.length; x < al; x++) {
|
|
||||||
FastInit.f[x]();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
addOnLoad : function() {
|
|
||||||
var a = arguments;
|
|
||||||
for(var x = 0, al = a.length; x < al; x++) {
|
|
||||||
if(typeof a[x] === 'function') {
|
|
||||||
if (FastInit.done ) {
|
|
||||||
a[x]();
|
|
||||||
} else {
|
|
||||||
FastInit.f.push(a[x]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
listen : function() {
|
|
||||||
if (/WebKit|khtml/i.test(navigator.userAgent)) {
|
|
||||||
FastInit.timer = setInterval(function() {
|
|
||||||
if (/loaded|complete/.test(document.readyState)) {
|
|
||||||
clearInterval(FastInit.timer);
|
|
||||||
delete FastInit.timer;
|
|
||||||
FastInit.onload();
|
|
||||||
}}, 10);
|
|
||||||
} else if (document.addEventListener) {
|
|
||||||
document.addEventListener('DOMContentLoaded', FastInit.onload, false);
|
|
||||||
} else if(!FastInit.iew32) {
|
|
||||||
if(window.addEventListener) {
|
|
||||||
window.addEventListener('load', FastInit.onload, false);
|
|
||||||
} else if (window.attachEvent) {
|
|
||||||
return window.attachEvent('onload', FastInit.onload);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
f:[],done:false,timer:null,iew32:false
|
|
||||||
};
|
|
||||||
/*@cc_on @*/
|
|
||||||
/*@if (@_win32)
|
|
||||||
FastInit.iew32 = true;
|
|
||||||
document.write('<script id="__ie_onload" defer src="' + ((location.protocol == 'https:') ? '//0' : 'javascript:void(0)') + '"><\/script>');
|
|
||||||
document.getElementById('__ie_onload').onreadystatechange = function(){if (this.readyState == 'complete') { FastInit.onload(); }};
|
|
||||||
/*@end @*/
|
|
||||||
FastInit.listen();
|
|
Loading…
Reference in a new issue