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 )