var is = {
  init: function(navigator) {
    var platforms = this.platforms,
      l = platforms.length,
      i, 
      platform;

    navigator = navigator || window.navigator;

    for (i = 0; i < l; i++) {
      platform = platforms[i];
      this[platform.identity] = platform.regex.test(navigator[platform.property]);
    }

    this.desktop = this.mac || this.windows || (this.linux && !this.android);
    this.tablet = this.ipad;
    this.phone = !this.desktop && !this.tablet;
    this.ios = this.iphone || this.ipad || this.ipod;
    this.standalone = !!window.navigator.standalone;
  },
  platforms: [{
    property: 'platform',
    regex: /iPhone/i,
    identity: 'iphone'
  },
  {
    property: 'platform',
    regex: /iPod/i,
    identity: 'ipod'
  },
  {
    property: 'userAgent',
    regex: /iPad/i,
    identity: 'ipad'
  },
  {
    property: 'userAgent',
    regex: /Blackberry/i,
    identity: 'blackberry'
  },
  {
    property: 'userAgent',
    regex: /Android/i,
    identity: 'android'
  },
  {
    property: 'platform',
    regex: /Mac/i,
    identity: 'mac'
  },
  {
    property: 'platform',
    regex: /Win/i,
    identity: 'windows'
  },
  {
    property: 'platform',
    regex: /Linux/i,
    identity: 'linux'
  }]
};
is.init();
