CPAN-Testers-WWW-Admin
view release on metacpan or search on metacpan
vhost/html/js/email_handler.js view on Meta::CPAN
var select_open = false;
var last_keypress = undefined;
var timer_id = undefined;
var timer_arg = undefined;
function populate_emails( event ) {
var str = '';
var evt = (event) ? event : ((window.event) ? window.event : null);
if (! evt) {
if (timer_arg != undefined) {
str = timer_arg;
} else {
return;
}
} else {
var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if (! elem) { return; }
var char = isIE ? evt.keyCode : evt.which;
if (char == 13 || char == 40) {
// return or downarrow
var list = $("emaillist");
vhost/html/js/email_handler.js view on Meta::CPAN
|| (char == 46)
|| (char >= 48 && char <= 57)
|| (char >= 64 && char <= 90)
|| (char == 95)
|| (char >= 97 && char <= 122)
) {
str = elem.value + String.fromCharCode( char );
}
}
if (timer_id != undefined) {
clearTimeout( timer_id );
timer_id = undefined;
timer_arg = undefined;
}
if (last_keypress == undefined) {
last_keypress = new Date();
} else {
// if the last keypress was less than half a second ago,
// wait to see if we get any more input
var now = new Date();
if (now.getTime() - last_keypress.getTime() < 500) {
timer_arg = str;
timer_id = setTimeout( "populate_emails()", 501 );
return;
}
}
var list = $("emaillist");
if (list) {
$("email_list").removeChild( list );
}
var url = '';
if (str.length > 2) {
url = 'email_search.cgi?str=' + str;
}
if (url != '' && select_open == false) {
clearTimeout( timer_id );
last_keypress = undefined;
select_open = true;
new Ajax.Request( url, {
method: 'get',
onSuccess: add_emails_to_list
} );
}
}
function select_email( event )
vhost/html/js/prototype.js view on Meta::CPAN
var PeriodicalExecuter = Class.create({
initialize: function(callback, frequency) {
this.callback = callback;
this.frequency = frequency;
this.currentlyExecuting = false;
this.registerCallback();
},
registerCallback: function() {
this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
},
execute: function() {
this.callback(this);
},
stop: function() {
if (!this.timer) return;
clearInterval(this.timer);
this.timer = null;
},
onTimerEvent: function() {
if (!this.currentlyExecuting) {
try {
this.currentlyExecuting = true;
this.execute();
this.currentlyExecuting = false;
} catch(e) {
this.currentlyExecuting = false;
vhost/html/js/prototype.js view on Meta::CPAN
this.start();
},
start: function() {
this.options.onComplete = this.updateComplete.bind(this);
this.onTimerEvent();
},
stop: function() {
this.updater.options.onComplete = undefined;
clearTimeout(this.timer);
(this.onComplete || Prototype.emptyFunction).apply(this, arguments);
},
updateComplete: function(response) {
if (this.options.decay) {
this.decay = (response.responseText == this.lastText ?
this.decay * this.options.decay : 1);
this.lastText = response.responseText;
}
this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
},
onTimerEvent: function() {
this.updater = new Ajax.Updater(this.container, this.url, this.options);
}
});
(function(GLOBAL) {
var UNDEFINED;
vhost/html/js/sorttable.js view on Meta::CPAN
*/
var stIsIE = /*@cc_on!@*/false;
sorttable = {
init: function() {
// quit if this function has already been called
if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
arguments.callee.done = true;
// kill the timer
if (_timer) clearInterval(_timer);
if (!document.createElement || !document.getElementsByTagName) return;
sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
forEach(document.getElementsByTagName('table'), function(table) {
if (table.className.search(/\bsortable\b/) != -1) {
sorttable.makeSortable(table);
}
});
vhost/html/js/sorttable.js view on Meta::CPAN
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
sorttable.init(); // call the onload handler
}
};
/*@end @*/
/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
var _timer = setInterval(function() {
if (/loaded|complete/.test(document.readyState)) {
sorttable.init(); // call the onload handler
}
}, 10);
}
/* for other browsers */
window.onload = sorttable.init;
// written by Dean Edwards, 2005
( run in 0.684 second using v1.01-cache-2.11-cpan-49f99fa48dc )