private function isFirefoxMobile()
  {
    $is = false;
    $tablet = false;
    $phone = false;
    $android = false;
    $touch = true;
    if ( $this->browser == 'firefox' || $this->isFirefox() )
    {
      if ( preg_match( "/(Mobile|Tablet|TV)/", $this->ua, $matches ) )
      {
        $is = true;
        $tablet = ($matches[1] == 'Tablet' || $matches[1] == 'TV') ? true : false;
        $phone =  ($matches[1] == 'Mobile') ? true : false;
      }
      elseif ( stripos( $this->ua, 'Android' ) !== false )
      {
        // No way to determine phone/tablet
        $is = true;
        $android = true;
      }
      elseif ( stripos( $this->ua, 'Maemo' ) !== false )
      {
        $is = true;
        // It's horizontal, which is probably more like a tablet, but it's only 800x480.
        $phone = true;
        $android = false;
        // Yes, the Maemo units have a touch screen, but it's resistive, and doesn't really function like we think
        // of touch in a current web environment.
        $touch = false;
      }
      elseif ( stripos( $this->ua, 'Fennec' ) !== false )
      {
        // No way to determine phone/tablet OR OS
        $is = true;
      }
    }

    if ( $is )
    {
      $this->android = $android;
      // No Firefox for iOS
      $this->ios = false;
      $this->tablet = $tablet;
      $this->phone = $phone;
      $this->mobile = true;
      $this->touch = $touch;
    }

    return $is;
  }