Thomas Bruederli
2014-05-08 6789bf1f4dfd32cd54a0fbe520ff3e1a6f6afb8a
program/js/common.js
@@ -281,6 +281,25 @@
  return false;
},
/**
 * Determine whether the given event was trigered from keyboard
 */
is_keyboard: function(e)
{
  return e && (
      (e.mozInputSource && e.mozInputSource == e.MOZ_SOURCE_KEYBOARD) ||
      (!e.pageX && (e.pageY || 0) <= 0 && !e.clientX && (e.clientY || 0) <= 0)
    );
},
/**
 * Accept event if triggered from keyboard action (e.g. <Enter>)
 */
keyboard_only: function(e)
{
  return rcube_event.is_keyboard(e) ? true : rcube_event.cancel(e);
},
touchevent: function(e)
{
  return { pageX:e.pageX, pageY:e.pageY, offsetX:e.pageX - e.target.offsetLeft, offsetY:e.pageY - e.target.offsetTop, target:e.target, istouch:true };
@@ -587,6 +606,11 @@
  };
}
// array utility function
Array.prototype.last = function() {
  return this[this.length-1];
}
// jQuery plugin to emulate HTML5 placeholder attributes on input elements
jQuery.fn.placeholder = function(text) {
  return this.each(function() {