123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337 |
- <script>
- 'use strict';
- window.Chat = window.Chat || {};
- var djb2Code = function(str) {
- var hash = 5381;
- for (var i = 0; i < str.length; i++) {
- var character = str.charCodeAt(i);
- hash = ((hash << 5) + hash) + character; /* hash * 33 + c */
- }
- return hash > 0 ? hash : -hash;
- };
- var animals = [
- 'Adelie',
- 'Penguin',
- 'Akita',
- 'Bulldog',
- 'Ant',
- 'Fox',
- 'Hare',
- 'Wolf',
- 'Terrier',
- 'Avocet',
- 'Baboon',
- 'Camel',
- 'Badger',
- 'Barb',
- 'Basenji',
- 'Basking',
- 'Bat',
- 'Beagle',
- 'Bear',
- 'Collie',
- 'Beaver',
- 'Beetle',
- 'Bichon',
- 'Bird',
- 'Birman',
- 'Bison',
- 'Bobcat',
- 'Bombay',
- 'Bongo',
- 'Bonobo',
- 'Booby',
- 'Boykin',
- 'Budgie',
- 'Buffalo',
- 'Burmese',
- 'Fish',
- 'Caiman',
- 'Lizard',
- 'Canaan',
- 'Caracal',
- 'Cat',
- 'Catfish',
- 'Cesky',
- 'Fousek',
- 'Chamois',
- 'Cheetah',
- 'Chicken',
- 'Chinook',
- 'Cichlid',
- 'Leopard',
- 'Clumber',
- 'Coati',
- 'Coral',
- 'Tamarin',
- 'Cougar',
- 'Cow',
- 'Coyote',
- 'Crab',
- 'Macaque',
- 'Crane',
- 'Cuscus',
- 'Frog',
- 'Deer',
- 'Bracke',
- 'Dhole',
- 'Dingo',
- 'Discus',
- 'Dodo',
- 'Dog',
- 'Dogo',
- 'Dolphin',
- 'Donkey',
- 'Drever',
- 'Duck',
- 'Dugong',
- 'Dunker',
- 'Dusky',
- 'Eagle',
- 'Earwig ',
- 'Gorilla',
- 'Echidna',
- 'Emu',
- 'Falcon',
- 'Fennec',
- 'Ferret',
- 'Spitz',
- 'Fly',
- 'Fossa',
- 'Gecko',
- 'Gerbil',
- 'Gharial',
- 'Gibbon',
- 'Giraffe',
- 'Goat',
- 'Oriole',
- 'Goose',
- 'Gopher',
- 'Grouse',
- 'Guppy',
- 'Shark',
- 'Hamster',
- 'Harrier',
- 'Heron',
- 'Horse',
- 'Human',
- 'Hyena',
- 'Ibis',
- 'Iguana',
- 'Impala',
- 'Indri',
- 'Insect',
- 'Setter',
- 'Jackal',
- 'Jaguar',
- 'Kakapo',
- 'Kiwi',
- 'Koala',
- 'Lemming',
- 'Lemur',
- 'Liger',
- 'Lion',
- 'Llama',
- 'Lobster',
- 'Owl',
- 'Lynx',
- 'Mayfly',
- 'Meerkat',
- 'Molly',
- 'Mongrel',
- 'Monkey',
- 'Moorhen',
- 'Moose',
- 'Mouse',
- 'Mule',
- 'Numbat',
- 'Ocelot',
- 'Octopus',
- 'Okapi',
- 'Opossum',
- 'Ostrich',
- 'Otter',
- 'Oyster',
- 'Panther',
- 'Parrot',
- 'Peacock',
- 'Pelican',
- 'Persian',
- 'Pig',
- 'Piranha',
- 'Pointer',
- 'Poodle',
- 'Possum',
- 'Prawn',
- 'Puffin',
- 'Pug',
- 'Puma',
- 'Pygmy',
- 'Quail',
- 'Quetzal',
- 'Quokka',
- 'Quoll',
- 'Rabbit',
- 'Raccoon',
- 'Ragdoll',
- 'Rat',
- 'Robin',
- 'Saola',
- 'Seal',
- 'Serval',
- 'Sheep',
- 'Shrimp',
- 'Siamese',
- 'Skunk',
- 'Sloth',
- 'Snail',
- 'Snake',
- 'Somali',
- 'Sparrow',
- 'Dogfish',
- 'Sponge',
- 'Squid',
- 'Stoat',
- 'Swan',
- 'Tang',
- 'Tapir',
- 'Tarsier',
- 'Termite',
- 'Tetra',
- 'Tiffany',
- 'Tiger',
- 'Toucan',
- 'Tuatara',
- 'Turkey',
- 'Uakari',
- 'Uguisu',
- 'Vulture',
- 'Wallaby',
- 'Walrus',
- 'Warthog',
- 'Wasp',
- 'Weasel',
- 'Whippet',
- 'Wombat',
- 'Wrasse',
- 'Yak',
- 'Yorkie',
- 'Zebra',
- 'Zebu',
- 'Zonkey',
- 'Zorse'
- ];
- var bb = [
- 'Walter White',
- 'Skyler White',
- 'Jesse Pinkman',
- 'Hank Schrader',
- 'Marie Schrader',
- 'Walter White, Jr.',
- 'Saul Goodman',
- 'Gustavo Fring',
- 'Mike Ehrmantraut',
- 'Lydia Rodarte-Quayle',
- 'Todd Alquist',
- 'Steven Gomez',
- 'Detectives Kalanchoe & Munn',
- 'George Merkert',
- 'Sac Ramey',
- 'Tim Roberts',
- 'Maximino Arciniega',
- 'Gale Boetticher',
- 'Duane Chow',
- 'Ron Forenall',
- 'Barry Goodman',
- 'Tyrus Kitt',
- 'Chris Mara',
- 'Dennis Markowski',
- 'Victor',
- 'Dan Wachsberger',
- 'Don Eladio Vuente',
- 'Juan Bolsa',
- 'Hector Salamanca',
- 'Tuco Salamanca',
- 'Leonel Salamanca',
- 'Marco Salamanca',
- 'Gonzo',
- 'Emilio Koyama',
- 'Krazy-8 Molina',
- 'Jack Welker',
- 'Andrea Cantillo',
- 'Brock Cantillo',
- 'Jane Margolis',
- 'Brandon Mayhew',
- 'Combo Ortega',
- 'Skinny Pete',
- 'Adam Pinkman',
- 'Mrs. Pinkman',
- 'Jake Pinkman',
- 'Wendy',
- 'Huell Babineaux',
- 'Ed',
- 'Francesca',
- 'Patrick Kuby',
- 'Hugo Archuleta',
- 'Ted Beneke',
- 'Clovis',
- 'Louis Corbett',
- 'Dr. Delcavoli',
- 'Lawson',
- 'Donald Margolis',
- 'Carmen Molina',
- 'Old Joe',
- 'Pamela',
- 'Gretchen Schwartz',
- 'Elliott Schwartz',
- 'Drew Sharp',
- 'Spooge',
- 'Holly White',
- 'Bogdan Wolynetz'
- ];
- Chat.AnonymousContactBehavior = {
- properties: {
- contact: {
- type: Object,
- notify: true
- },
- _displayName: {
- computed: '_computeDisplayName(contact)'
- }
- },
- _computeDisplayName: function(contact) {
- if (contact === undefined || contact === null) {
- return 'connecting...';
- }
- if (contact === 'error' || contact === 'invite') {
- return '';
- }
- if (!contact.name) {
- return this.anonymousAccount(contact).name;
- }
- return contact.name;
- },
- get names() {
- return bb;
- },
- anonymousAccount: function(contact) {
- if (contact && !contact.name) {
- var peer = contact.peer || contact;
- var hash = djb2Code(peer);
- var i = hash % this.names.length;
- var name = this.names[i];
- var marginTop = i % 2;
- var marginLeft = Math.floor(i / 2) % 5;
- return {
- name: name,
- peer: peer,
- avatar: {
- url: 'images/avatars.jpg',
- left: -14 + 80 * marginLeft,
- top: -19 + 95 * marginTop
- }
- };
- }
- }
- };
- </script>
|