Aleksander Machniak
2015-03-08 c13dd984e1bdd668c6b7b4c43c34081e8b1be6c2
program/js/common.js
@@ -31,7 +31,6 @@
var SHIFT_KEY = 2;
var CONTROL_SHIFT_KEY = 3;
/**
 * Default browser check class
 * @constructor
@@ -40,8 +39,6 @@
{
  var n = navigator;
  this.ver = parseFloat(n.appVersion);
  this.appver = n.appVersion;
  this.agent = n.userAgent;
  this.agent_lc = n.userAgent.toLowerCase();
  this.name = n.appName;
@@ -65,19 +62,20 @@
  this.ie = (document.all && !window.opera) || (this.win && this.agent_lc.indexOf('trident/') > 0);
  if (this.ie) {
    this.ie7 = this.appver.indexOf('MSIE 7') > 0;
    this.ie8 = this.appver.indexOf('MSIE 8') > 0;
    this.ie9 = this.appver.indexOf('MSIE 9') > 0;
    this.ie7 = n.appVersion.indexOf('MSIE 7') > 0;
    this.ie8 = n.appVersion.indexOf('MSIE 8') > 0;
    this.ie9 = n.appVersion.indexOf('MSIE 9') > 0;
  }
  else if (window.opera) {
    this.opera = true;
    this.opera = true; // Opera < 15
    this.vendver = opera.version();
  }
  else {
    this.chrome = this.agent_lc.indexOf('chrome') > 0;
    this.safari = !this.chrome && (this.webkit || this.agent_lc.indexOf('safari') > 0);
    this.opera = this.webkit && this.agent.indexOf(' OPR/') > 0; // Opera >= 15
    this.safari = !this.chrome && !this.opera && (this.webkit || this.agent_lc.indexOf('safari') > 0);
    this.konq = this.agent_lc.indexOf('konqueror') > 0;
    this.mz = this.dom && !this.chrome && !this.safari && !this.konq && this.agent.indexOf('Mozilla') >= 0;
    this.mz = this.dom && !this.chrome && !this.safari && !this.konq && !this.opera && this.agent.indexOf('Mozilla') >= 0;
    this.iphone = this.safari && (this.agent_lc.indexOf('iphone') > 0 || this.agent_lc.indexOf('ipod') > 0);
    this.ipad = this.safari && this.agent_lc.indexOf('ipad') > 0;
  }
@@ -104,7 +102,7 @@
  this.xmlhttp_test = function()
  {
    var activeX_test = new Function("try{var o=new ActiveXObject('Microsoft.XMLHTTP');return true;}catch(err){return false;}");
    this.xmlhttp = (window.XMLHttpRequest || (window.ActiveXObject && activeX_test()));
    this.xmlhttp = window.XMLHttpRequest || (('ActiveXObject' in window) && activeX_test());
    return this.xmlhttp;
  };
@@ -287,8 +285,11 @@
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)
      (e.pointerType !== undefined && e.pointerType !== 'mouse') ||       // IE 11+
      (e.mozInputSource && e.mozInputSource == e.MOZ_SOURCE_KEYBOARD) ||  // Firefox
      (e.offsetX === 0 && e.offsetY === 0) || // Opera
      (!e.pageX && (e.pageY || 0) <= 0 && !e.clientX && (e.clientY || 0) <= 0) ||  // others
      (bw.ie && rcube_event._last_keyboard_event && rcube_event._last_keyboard_event.target == e.target)  // hack for IE <= 10
    );
},