Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Mar 30th, 2013 249 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. top.location != document.location && (top.location.href = document.location.href);
  2. var IE_URL_MAX_LENGTH = 2E3;
  3. "undefined" === typeof IS_MOBILE && (IS_MOBILE = !1);
  4. var splitDomain = document.domain.split(".");
  5. 1 < splitDomain.length && (document.domain = splitDomain[splitDomain.length - 2] + "." + splitDomain[splitDomain.length - 1]);
  6. var aurrp = Cookie.read("aurrp"),
  7.     aurrp = null === aurrp ? !0 : "1" === aurrp,
  8.     shouldUseLikes = Cookie.read("uselikes"),
  9.     shouldUseLikes = null === shouldUseLikes ? !0 : "1" === shouldUseLikes,
  10.     randID = Cookie.read("randid");
  11. if (!randID || 8 !== randID.length) randID = function () {
  12.         for (var a = "", b = 0; 8 > b; b++) var c = Math.floor(32 * Math.random()),
  13.         a = a + "23456789ABCDEFGHJKLMNPQRSTUVWXYZ".charAt(c);
  14.         return a
  15. }();
  16. Cookie.write("randid", randID, {
  17.     duration: 365,
  18.     domain: document.domain
  19. });
  20. var shouldUseFbLikes, firstChatTrackCode = null,
  21.     contentTop, logoElt, likeButtonElement = null,
  22.     newChatButton = new Element("img", {
  23.         width: 170,
  24.         height: 50,
  25.         alt: "New chat",
  26.         styles: {
  27.             cursor: "pointer",
  28.             "vertical-align": "middle"
  29.         }
  30.     });
  31. window.devicePixelRatio && 1 < window.devicePixelRatio ? newChatButton.set("src", "/static/newchatbtn@2x.png") : newChatButton.set("src", "/static/newchatbtn.png");
  32. var unmonSexyButton = null,
  33.     unmonGayButton = null,
  34.     COMETBackend = new Class({
  35.         Implements: [Options, Events],
  36.         initialize: function (a) {
  37.             this.setOptions(a);
  38.             this.clientID = null;
  39.             this.stopped = !1
  40.         },
  41.         connect: function (a, b, c, e, d, i, k, n, r, m) {
  42.             var j = this;
  43.             j.server = a;
  44.             j.stratusNearID = b;
  45.             j.askedQuestion = c;
  46.             j.wantsSpy = e;
  47.             j.canSaveQuestion = d;
  48.             j.fbAccessToken = i;
  49.             j.topics = k;
  50.             j.group = n;
  51.             j.lang = r;
  52.             j.camera = m;
  53.             subdomainManager.subdomainWindow(a, function (a) {
  54.                 j.reqWindow = a;
  55.                 j.gotReqWindow()
  56.             })
  57.         },
  58.         resume: function (a, b) {
  59.             var c = this;
  60.             c.server = a;
  61.             c.clientID = b;
  62.             subdomainManager.subdomainWindow(a, function (a) {
  63.                 c.reqWindow = a;
  64.                 c.getEvents()
  65.             })
  66.         },
  67.         gotReqWindow: function () {
  68.             var a = this,
  69.                 b = subdomainManager.fixUrl(a.server, "/start?rcs=1&firstevents=1&spid=" + (a.stratusNearID || "") + "&randid=" + randID + (IS_MOBILE ? "&m=1" : ""));
  70.             "string" === typeof a.askedQuestion && (b += "&ask=" + encodeURIComponent(a.askedQuestion));
  71.             "string" === typeof a.fbAccessToken && (b += "&fbaccesstoken=" + encodeURIComponent(a.fbAccessToken));
  72.             a.wantsSpy && (b += "&wantsspy=1");
  73.             a.canSaveQuestion && (b += "&cansavequestion=1");
  74.             a.topics && a.topics.length && (b += "&topics=" +
  75.                 encodeURIComponent(JSON.encode(a.topics)));
  76.             a.group && (b += "&group=" + encodeURIComponent(a.group));
  77.             a.lang && (b += "&lang=" + encodeURIComponent(a.lang));
  78.             a.camera && (b += "&camera=" + encodeURIComponent(a.camera));
  79.             killHeaders(new a.reqWindow.Request.JSON({
  80.                 url: b,
  81.                 onSuccess: function (b) {
  82.                     a.clientID = b.clientID ? b.clientID : b;
  83.                     a.fireEvent("connectedToServer");
  84.                     b.events && a.gotEvents(b.events);
  85.                     a.getEvents()
  86.                 },
  87.                 onFailure: function () {
  88.                     a.fireEvent("failedToConnect")
  89.                 }
  90.             })).post()
  91.         },
  92.         getEvents: function (a) {
  93.             void 0 === a && (a = 0);
  94.             if (!this.stopped) {
  95.                 2 <
  96.                     a && (this.fireEvent("connectionDied", "Lost contact with server, and couldn't reach it after 3 tries."), this.stopped = !0);
  97.                 var b = this;
  98.                 killHeaders(new b.reqWindow.Request.JSON({
  99.                     url: subdomainManager.fixUrl(b.server, "/events"),
  100.                     onSuccess: function (a) {
  101.                         b.stopped || (null === a ? (b.stopped = !0, b.fireEvent("connectionDied", "Server was unreachable for too long and your connection was lost.")) : (b.gotEvents(a), b.getEvents()))
  102.                     },
  103.                     onFailure: function () {
  104.                         setTimeout(function () {
  105.                             b.getEvents(a + 1)
  106.                         }, 2500)
  107.                     }
  108.                 })).post({
  109.                     id: this.clientID
  110.                 })
  111.             }
  112.         },
  113.         gotEvents: function (a) {
  114.             var b = this;
  115.             $each(a, function (a) {
  116.                 switch (a[0]) {
  117.                     case "waiting":
  118.                         b.fireEvent("waiting");
  119.                         break;
  120.                     case "connected":
  121.                         b.fireEvent("strangerConnected", a[1]);
  122.                         break;
  123.                     case "gotMessage":
  124.                         b.fireEvent("gotMessage", a[1]);
  125.                         break;
  126.                     case "strangerDisconnected":
  127.                         b.stopped = !0;
  128.                         b.fireEvent("strangerDisconnected");
  129.                         break;
  130.                     case "typing":
  131.                         b.fireEvent("typing");
  132.                         break;
  133.                     case "stoppedTyping":
  134.                         b.fireEvent("stoppedTyping");
  135.                         break;
  136.                     case "recaptchaRequired":
  137.                         b.fireEvent("recaptchaRequired", a[1]);
  138.                         break;
  139.                     case "recaptchaRejected":
  140.                         b.fireEvent("recaptchaRejected",
  141.                             a[1]);
  142.                         break;
  143.                     case "count":
  144.                         onlineCountUpdated(a[1]);
  145.                         break;
  146.                     case "spyMessage":
  147.                         b.fireEvent("spyMessage", [a[1], a[2]]);
  148.                         break;
  149.                     case "spyTyping":
  150.                         b.fireEvent("spyTyping", a[1]);
  151.                         break;
  152.                     case "spyStoppedTyping":
  153.                         b.fireEvent("spyStoppedTyping", a[1]);
  154.                         break;
  155.                     case "spyDisconnected":
  156.                         b.stopped = !0;
  157.                         b.fireEvent("spyDisconnected", a[1]);
  158.                         break;
  159.                     case "question":
  160.                         b.fireEvent("question", a[1]);
  161.                         break;
  162.                     case "serverMessage":
  163.                         b.fireEvent("serverMessage", a[1]);
  164.                         break;
  165.                     case "error":
  166.                         b.stopped = !0;
  167.                         b.fireEvent("error", a[1]);
  168.                         break;
  169.                     case "commonLikes":
  170.                         b.fireEvent("commonLikes", [a[1]]);
  171.                         break;
  172.                     case "antinudeBanned":
  173.                         b.stopped = !0, b.fireEvent("antinudeBanned", [a[1]])
  174.                 }
  175.             })
  176.         },
  177.         sendMessage: function (a) {
  178.             killHeaders(new this.reqWindow.Request({
  179.                 url: subdomainManager.fixUrl(this.server, "/send"),
  180.                 data: {
  181.                     msg: a,
  182.                     id: this.clientID
  183.                 }
  184.             })).send()
  185.         },
  186.         typing: function () {
  187.             killHeaders(new this.reqWindow.Request({
  188.                 url: subdomainManager.fixUrl(this.server, "/typing"),
  189.                 data: {
  190.                     id: this.clientID
  191.                 }
  192.             })).send()
  193.         },
  194.         stopTyping: function () {
  195.             killHeaders(new this.reqWindow.Request({
  196.                 url: subdomainManager.fixUrl(this.server, "/stoppedtyping"),
  197.                 data: {
  198.                     id: this.clientID
  199.                 }
  200.             })).send()
  201.         },
  202.         submitRecaptcha: function (a, b) {
  203.             killHeaders(new this.reqWindow.Request({
  204.                 url: subdomainManager.fixUrl(this.server, "/recaptcha"),
  205.                 data: {
  206.                     id: this.clientID,
  207.                     challenge: a,
  208.                     response: b
  209.                 }
  210.             })).send()
  211.         },
  212.         disconnect: function () {
  213.             killHeaders(new this.reqWindow.Request({
  214.                 url: subdomainManager.fixUrl(this.server, "/disconnect"),
  215.                 data: {
  216.                     id: this.clientID
  217.                 }
  218.             })).send();
  219.             this.stopped = !0
  220.         },
  221.         stopLookingForCommonLikes: function () {
  222.             killHeaders(new this.reqWindow.Request({
  223.                 url: subdomainManager.fixUrl(this.server,
  224.                     "/stoplookingforcommonlikes"),
  225.                 data: {
  226.                     id: this.clientID
  227.                 }
  228.             })).send()
  229.         }
  230.     }),
  231.     flashCb_socketConnected, flashCb_socketGotPacket, flashCb_socketClosed, flashCb_socketError;
  232.  
  233. function resetFlashSocketCallbacks() {
  234.     flashCb_socketConnected = function () {};
  235.     flashCb_socketGotPacket = function () {};
  236.     flashCb_socketClosed = function () {};
  237.     flashCb_socketError = function () {}
  238. }
  239.  
  240. function parseQueryString(a) {
  241.     for (var b = {}, a = a.split("&"), c = 0; c < a.length; c++) {
  242.         var e = a[c].split("="),
  243.             d = decodeURIComponent(e[0].replace(/\+/g, " ")),
  244.             e = decodeURIComponent(e[1].replace(/\+/g, " "));
  245.         b[d] = e
  246.     }
  247.     return b
  248. }
  249. function middotify(a) {
  250.     for (var b = new Element("span"), c = 0; c < a.length; c++) 0 < c && b.appendText(" \u2022\u00a0"), b.grab(a[c]);
  251.     return b
  252. }
  253. var FlashSocketBackend = new Class({
  254.     Implements: [Options, Events],
  255.     initialize: function (a) {
  256.         this.setOptions(a);
  257.         this.stopped = !1;
  258.         flashCb_socketConnected = this.socketConnected.bind(this);
  259.         flashCb_socketGotPacket = this.socketGotPacket.bind(this);
  260.         flashCb_socketClosed = this.socketClosedPreConnect.bind(this);
  261.         flashCb_socketError = this.socketErrorPreConnect.bind(this)
  262.     },
  263.     connect: function (a, b, c, e, d, i, k, n, r, m) {
  264.         this.stratusNearID = b || "";
  265.         this.askedQuestion = c;
  266.         this.wantsSpy = e || !1;
  267.         this.canSaveQuestion = d || !1;
  268.         this.fbAccessToken =
  269.             i;
  270.         this.topics = k;
  271.         this.group = n;
  272.         this.lang = r;
  273.         this.camera = m;
  274.         $("flash").socketConnect(a, 1365);
  275.         var j = this;
  276.         this.checkFlashIsAliveInterval = setInterval(function () {
  277.             if (!$("flash") || !$("flash").socketConnect) j.fireEvent("connectionDied", "Flash plugin crashed."), j.done()
  278.         }, 1E3)
  279.     },
  280.     socketClosedPreConnect: function () {
  281.         resetFlashSocketCallbacks();
  282.         this.fireEvent("failedToConnect")
  283.     },
  284.     socketErrorPreConnect: function () {
  285.         resetFlashSocketCallbacks();
  286.         this.fireEvent("failedToConnect")
  287.     },
  288.     socketConnected: function () {
  289.         flashCb_socketClosed =
  290.             this.socketClosedPostConnect.bind(this);
  291.         flashCb_socketError = this.socketErrorPostConnect.bind(this);
  292.         var a = {
  293.             caps: "recaptcha",
  294.             spid: this.stratusNearID,
  295.             randid: randID
  296.         };
  297.         "string" === typeof this.askedQuestion && (a.ask = this.askedQuestion);
  298.         "string" === typeof this.fbAccessToken && (a.fbaccesstoken = this.fbAccessToken);
  299.         this.wantsSpy && (a.wantsspy = "1");
  300.         this.canSaveQuestion && (a.cansavequestion = "1");
  301.         this.topics && this.topics.length && (a.topics = JSON.encode(this.topics));
  302.         this.group && (a.group = this.group);
  303.         var b = Cookie.read("abtest");
  304.         null !== b && (a.abtest = b);
  305.         this.lang && (a.lang = this.lang);
  306.         this.camera && (a.camera = this.camera);
  307.         $("flash").socketSendPacket("omegleStart", "web-flash?" + Hash.toQueryString(a));
  308.         this.fireEvent("connectedToServer")
  309.     },
  310.     socketGotPacket: function (a, b) {
  311.         b = decodeURIComponent(b);
  312.         switch (a) {
  313.             case "w":
  314.                 this.fireEvent("waiting");
  315.                 break;
  316.             case "c":
  317.                 setFlashSocketsWorkCookie();
  318.                 this.fireEvent("strangerConnected", b);
  319.                 break;
  320.             case "m":
  321.                 this.fireEvent("gotMessage", b);
  322.                 break;
  323.             case "d":
  324.                 this.done();
  325.                 this.fireEvent("strangerDisconnected");
  326.                 break;
  327.             case "t":
  328.                 this.fireEvent("typing");
  329.                 break;
  330.             case "st":
  331.                 this.fireEvent("stoppedTyping");
  332.                 break;
  333.             case "recaptchaRequired":
  334.                 b = parseQueryString(b);
  335.                 this.fireEvent("recaptchaRequired", b.publicKey);
  336.                 break;
  337.             case "recaptchaRejected":
  338.                 b = parseQueryString(b);
  339.                 this.fireEvent("recaptchaRejected", [b.publicKey, b.errorCode]);
  340.                 break;
  341.             case "count":
  342.                 onlineCountUpdated(parseInt(b, 10));
  343.                 break;
  344.             case "spyMessage":
  345.                 b = parseQueryString(b);
  346.                 this.fireEvent("spyMessage", [b.n, b.m]);
  347.                 break;
  348.             case "spyTyping":
  349.                 this.fireEvent("spyTyping", b);
  350.                 break;
  351.             case "spyStoppedTyping":
  352.                 this.fireEvent("spyStoppedTyping",
  353.                     b);
  354.                 break;
  355.             case "spyDisconnected":
  356.                 this.done();
  357.                 this.fireEvent("spyDisconnected", b);
  358.                 break;
  359.             case "question":
  360.                 this.fireEvent("question", b);
  361.                 break;
  362.             case "error":
  363.                 this.done();
  364.                 this.fireEvent("error", b);
  365.                 break;
  366.             case "serverMessage":
  367.                 this.fireEvent("serverMessage", b);
  368.                 break;
  369.             case "commonLikes":
  370.                 this.fireEvent("commonLikes", [JSON.decode(b)]);
  371.                 break;
  372.             case "client_id":
  373.                 this.clientID = b;
  374.                 break;
  375.             case "antinudeBanned":
  376.                 this.done(), this.fireEvent("antinudeBanned", [b])
  377.         }
  378.     },
  379.     socketClosedPostConnect: function () {
  380.         this.fireEvent("connectionDied",
  381.             "Lost connection with server.");
  382.         this.done()
  383.     },
  384.     socketErrorPostConnect: function (a) {
  385.         a ? "." !== a.charAt(a.length - 1) && (a += ".") : a = "internal error.";
  386.         this.fireEvent("connectionDied", a);
  387.         this.done()
  388.     },
  389.     sendMessage: function (a) {
  390.         $("flash").socketSendPacket("s", a)
  391.     },
  392.     typing: function () {
  393.         $("flash").socketSendPacket("t", "")
  394.     },
  395.     stopTyping: function () {
  396.         $("flash").socketSendPacket("st", "")
  397.     },
  398.     disconnect: function () {
  399.         $("flash").socketSendPacket("d", "");
  400.         this.done()
  401.     },
  402.     submitRecaptcha: function (a, b) {
  403.         $("flash").socketSendPacket("recaptcha",
  404.             Hash.toQueryString({
  405.             challenge: a,
  406.             response: b
  407.         }))
  408.     },
  409.     stopLookingForCommonLikes: function () {
  410.         $("flash").socketSendPacket("stoplookingforcommonlikes", "")
  411.     },
  412.     done: function () {
  413.         this.stopped = !0;
  414.         $("flash") && $("flash").socketClose && $("flash").socketClose();
  415.         resetFlashSocketCallbacks();
  416.         this.checkFlashIsAliveInterval && (clearInterval(this.checkFlashIsAliveInterval), this.checkFlashIsAliveInterval = null)
  417.     }
  418. }),
  419.     flashSocketsWillWork = "yes" === Cookie.read("flashsocketswork"),
  420.     flashSocketsWork = !1;
  421.  
  422. function setFlashSocketsWorkCookie() {
  423.     Cookie.write("flashsocketswork", "yes", {
  424.         duration: 1 / 12,
  425.         domain: document.domain
  426.     })
  427. }
  428. function flashCb_socketsWork() {
  429.     flashSocketsWork = !0;
  430.     setFlashSocketsWorkCookie()
  431. }
  432. var MetaBackend = new Class({
  433.     Implements: [Options, Events],
  434.     initialize: function (a) {
  435.         this.setOptions(a);
  436.         self.numResumes = 0;
  437.         self.stopped = !1
  438.     },
  439.     plugInBackend: function () {
  440.         var a = this;
  441.         $each("connectedToServer failedToConnect waiting strangerConnected gotMessage strangerDisconnected typing stoppedTyping recaptchaRequired gotMessageHTML recaptchaRejected spyMessage spyTyping spyStoppedTyping spyDisconnected question error commonLikes antinudeBanned serverMessage".split(" "), function (b) {
  442.             a.backend.addEvent(b, function () {
  443.                 a.stopped =
  444.                     a.backend.stopped;
  445.                 a.fireEvent(b, arguments)
  446.             })
  447.         });
  448.         a.backend.addEvent("connectionDied", function () {
  449.             serverManager.unsetKnownGood();
  450.             if (a.backend.clientID && 1 > numResumes && !a.stopped) {
  451.                 numResumes++;
  452.                 var b = a.backend.clientID;
  453.                 a.backend = new COMETBackend;
  454.                 a.plugInBackend();
  455.                 a.backend.resume(serverManager.pickServer(), b)
  456.             } else a.stopped = !0, a.fireEvent("connectionDied", arguments)
  457.         })
  458.     },
  459.     connect: function () {
  460.         this.backend = flashSocketsWork && $("flash") && $("flash").socketConnect ? new FlashSocketBackend : new COMETBackend;
  461.         this.plugInBackend();
  462.         for (var a = [serverManager.pickServer()], b = 0; b < arguments.length; b++) a.push(arguments[b]);
  463.         this.backend.connect.apply(this.backend, a)
  464.     },
  465.     sendMessage: function (a) {
  466.         this.backend.sendMessage(a)
  467.     },
  468.     typing: function () {
  469.         this.backend.typing()
  470.     },
  471.     stopTyping: function () {
  472.         this.backend.stopTyping()
  473.     },
  474.     disconnect: function () {
  475.         this.stopped = !0;
  476.         this.backend.disconnect()
  477.     },
  478.     submitRecaptcha: function (a, b) {
  479.         this.backend.submitRecaptcha(a, b)
  480.     },
  481.     stopLookingForCommonLikes: function () {
  482.         this.backend.stopLookingForCommonLikes()
  483.     }
  484. }),
  485.     savedIntro = null,
  486.     savedHeader = null;
  487.  
  488. function startFirstChat(a, b, c, e, d) {
  489.     IS_MOBILE ? (logoElt = $("logo"), savedHeader = $("header"), $("header").dispose(), contentTop = 0) : contentTop = $("intro").offsetTop;
  490.     firstChatTrackCode && ((new Image).src = "http://wawadmin.omegle.com/redir/hometest?track=" + (d ? "unmon-" + (shouldForceUnmonitored ? "" : "not") + "forced-" : "mon-") + (a ? "videoy-" : "videon-") + encodeURIComponent(firstChatTrackCode));
  491.     savedIntro = $("intro");
  492.     $("google_translate_upper_container") && $("google_translate_element") && $("google_translate_upper_container").grab($("google_translate_element"));
  493.     $("intro").dispose();
  494.     startNewChat.apply(null, arguments)
  495. }
  496.  
  497. function mobileHouseAd() {
  498.     var a = null,
  499.         b = null;
  500.     navigator.userAgent.match(/iPod|iPhone|iPad/) && (a = "/static/iosappad.png", b = "http://click.linksynergy.com/fs-bin/stat?id=Ih/d3nAE7gg&offerid=146261&type=3&subid=0&tmpid=1826&RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fomegle%252Fid318233700%253Fmt%253D8%2526uo%253D6%2526partnerId%253D30");
  501.     return a && b ? (b = new Element("a", {
  502.         href: b
  503.     }), a = new Element("img", {
  504.         src: a,
  505.         width: 300,
  506.         height: 50,
  507.         border: 0
  508.     }), b.grab(a), b) : null
  509. }
  510.  
  511. function showIntro() {
  512.     IS_MOBILE && (savedHeader && logoElt) && (savedHeader.grab(logoElt, "top"), $(document.body).grab(savedHeader));
  513.     savedIntro && $(document.body).grab(savedIntro);
  514.     if (IS_MOBILE) for (var a = 0; 300 >= a; a += 50) setTimeout(function () {
  515.                 scrollTo(0, 1)
  516.             }, a);
  517.     mobileAdWrapper && $("mobileadwrapper2") && mobileAdWrapper.setStyles({
  518.         display: "block",
  519.         top: $("mobileadwrapper2").getPosition().y + "px"
  520.     });
  521.     a = makeTopicSettings();
  522.     $("topicsettingscontainer") && ($("topicsettingscontainer").empty(), $("topicsettingscontainer").grab(a))
  523. }
  524.  
  525. function commify(a) {
  526.     var b = "",
  527.         c;
  528.     do {
  529.         c = (a % 1E3).toString();
  530.         for (a = Math.floor(a / 1E3); 0 != a && 3 > c.length;) c = "0" + c;
  531.         b = c + b;
  532.         a && (b = "," + b)
  533.     } while (0 != a);
  534.     return b
  535. }
  536. var statusTimeout = null;
  537.  
  538. function scheduleStatusUpdate() {
  539.     null !== statusTimeout && clearTimeout(statusTimeout);
  540.     statusTimeout = setTimeout(updateStatus, 6E4)
  541. }
  542. function onlineCountUpdated(a) {
  543.     var b = $("onlinecount");
  544.     if (b && !(void 0 === a || null === a || isNaN(a))) a = "<strong>" + commify(a) + "</strong> strangers online", b.set("html", a), scheduleStatusUpdate()
  545. }
  546.  
  547. function randomSpyMode() {
  548.     return 0.25 > Math.random() ? "spy" : "spyee"
  549. }
  550. var idealSpyMode = randomSpyMode(),
  551.     firstStatusUpdate = !0,
  552.     antinudeServers = [],
  553.     lastScreenshotTime = null,
  554.     screenshotPercent = 0,
  555.     shouldForceUnmonitored = !1;
  556.  
  557. function forceUnmon() {
  558.     if (!IS_MOBILE && !shouldForceUnmonitored) {
  559.         shouldForceUnmonitored = !0;
  560.         var a = $("intro") || savedIntro;
  561.         if (a) {
  562.             a.getElementById("monitoringnotice") && a.getElementById("monitoringnotice").dispose();
  563.             var b = new Element("div", {
  564.                 id: "monitoringnotice"
  565.             });
  566.             a.getElementById("chattypes").grab(b, "before");
  567.             b.addClass("banned");
  568.             var c = new Element("p", {
  569.                 html: "Your computer/network is <strong>banned</strong> for possible bad behavior."
  570.             }),
  571.                 e = new Element("p", {
  572.                     "class": "extrainfo",
  573.                     html: "<strong>You can still use Omegle</strong>, but only the unmonitored section. <strong>You must be 18 or older.</strong>"
  574.                 });
  575.             b.grab(c);
  576.             b.grab(e);
  577.             a.getElementById("tryspymode").dispose();
  578.             a.getElementById("intoheadercell").dispose();
  579.             a.getElementById("topicsettingscell").dispose();
  580.             b = "/static/sexybtnf2purple";
  581.             b = window.devicePixelRatio && 1 < window.devicePixelRatio ? b + "@2x.png" : b + ".png";
  582.             c = new Element("img", {
  583.                 src: b,
  584.                 width: 124,
  585.                 height: 50,
  586.                 id: "girlsbtn"
  587.             });
  588.             b = new Element("td");
  589.             b.grab(c);
  590.             c.addEvent("click", function () {
  591.                 window.open("http://wawadmin.omegle.com/redir/y?track=homepage-ban")
  592.             });
  593.             c = new Element("td", {
  594.                 "class": "chattypeorcell",
  595.                 text: "or"
  596.             });
  597.             a.getElementById("chattypevideocell").grab(c, "after");
  598.             c.grab(b, "after");
  599.             c = "/static/gaybtnorange";
  600.             c = window.devicePixelRatio && 1 < window.devicePixelRatio ? c + "@2x.png" : c + ".png";
  601.             e = new Element("img", {
  602.                 src: c,
  603.                 width: 124,
  604.                 height: 50,
  605.                 id: "gaybtn"
  606.             });
  607.             c = new Element("td");
  608.             c.grab(e);
  609.             e.addEvent("click", function () {
  610.                 window.open("http://wawadmin.omegle.com/redir/gay?track=homepage-ban")
  611.             });
  612.             e = new Element("td", {
  613.                 "class": "chattypeorcell",
  614.                 text: "or"
  615.             });
  616.             b.grab(e, "after");
  617.             e.grab(c, "after");
  618.             a.getElementById("startachatcell").set("colspan",
  619.                 7)
  620.         }
  621.     }
  622. }
  623.  
  624. function updateStatus() {
  625.     onlineCountTimeout = null;
  626.     var a = serverManager.pickServer();
  627.     subdomainManager.subdomainWindow(a, function () {
  628.         killHeaders(new Request.JSON({
  629.             url: subdomainManager.fixUrl(a, "/status"),
  630.             onSuccess: function (a) {
  631.                 onlineCountUpdated(a.count);
  632.                 idealSpyMode = 2 > a.spyQueueTime && 2 > a.spyeeQueueTime ? randomSpyMode() : a.spyQueueTime > a.spyeeQueueTime ? "spyee" : "spy";
  633.                 a.timestamp && timeManager.gotAccurateTime(new Date(1E3 * a.timestamp));
  634.                 a.servers && a.servers.length && serverManager.setServerList(a.servers);
  635.                 antinudeServers =
  636.                     a.antinudeservers || [];
  637.                 screenshotPercent = a.antinudepercent || 0;
  638.                 a.force_unmon && forceUnmon();
  639.                 firstStatusUpdate = !1
  640.             },
  641.             onFailure: function () {
  642.                 serverManager.unsetKnownGood();
  643.                 setTimeout(updateStatus, 500)
  644.             }
  645.         })).get({
  646.             nocache: Math.random()
  647.         })
  648.     })
  649. }
  650. function setShouldUseLikes(a) {
  651.     shouldUseLikes = a;
  652.     Cookie.write("uselikes", a ? "1" : "0", {
  653.         duration: 365,
  654.         domain: document.domain
  655.     })
  656. }
  657.  
  658. function makeShouldUseLikesCheckbox() {
  659.     var a = new Element("label"),
  660.         b = new Element("input", {
  661.             type: "checkbox",
  662.             checked: shouldUseLikes
  663.         });
  664.     b.addEvent("change", function () {
  665.         setShouldUseLikes(b.checked)
  666.     });
  667.     a.grab(b);
  668.     a.appendText(" Find strangers with common interests");
  669.     return a
  670. }
  671. var initOfFbCallbacks = [],
  672.     initOfFbComplete = !1;
  673. window.fbAsyncInit = function () {
  674.     FB.init({
  675.         appId: "372387627273",
  676.         cookie: !0,
  677.         status: !0,
  678.         xfbml: !0,
  679.         oauth: !0,
  680.         channelUrl: "http://" + document.domain + "/static/channel.html"
  681.     });
  682.     initOfFbComplete = !0;
  683.     for (var a = 0; a < initOfFbCallbacks.length; a++) initOfFbCallbacks[a]();
  684.     initOfFbCallbacks = null
  685. };
  686.  
  687. function unmonitoredConfirm() {
  688.     return confirm("Because this section is unmonitored, you are more likely to encounter sexual behavior. As with the rest of Omegle, users in this section are solely responsible for their own behavior.\n\nIF YOU ARE UNDER 18, or you would prefer not to use this section, PRESS CANCEL. By pressing OK, you affirm that you are at least 18 years old.")
  689. }
  690. function startUnmonitoredVideo() {
  691.     unmonitoredConfirm() && startFirstChat(!0, void 0, void 0, void 0, !0)
  692. }
  693.  
  694. function onReady() {
  695.     function a() {
  696.         $("tryspymodetext").empty();
  697.         var a = makeSpyOptionsForm(startFirstChat);
  698.         a.form.setStyle("marginTop", "0.5em");
  699.         a.form.setStyle("marginBottom", "0.5em");
  700.         $("tryspymodetext").appendText("Spy mode lets you ask a question and watch two strangers discuss it. (The strangers volunteer to be watched.)");
  701.         $("tryspymodetext").grab(new Element("br"));
  702.         $("tryspymodetext").appendText("Ask anything you like, but try to keep questions open-ended and thought-provoking.");
  703.         $("tryspymodetext").grab(a.form);
  704.         var b = new Element("div"),
  705.             d = new Element("button", {
  706.                 text: "Ask strangers"
  707.             });
  708.         d.addEvent("click", a.go);
  709.         b.grab(d);
  710.         $("tryspymodetext").grab(b);
  711.         b = new Element("div");
  712.         b.setStyle("font-size", "0.9em");
  713.         b.set("text", "Or you can try ");
  714.         d = new Element("a");
  715.         d.set("text", "discussing questions");
  716.         d.set("href", "javascript:");
  717.         d.addEvent("click", function (a) {
  718.             a.preventDefault();
  719.             startFirstChat(!1, null, !0, !1)
  720.         });
  721.         b.grab(d);
  722.         b.appendText(" instead.");
  723.         $("tryspymodetext").grab(b);
  724.         a.focus()
  725.     }
  726.     updateStatus();
  727.     if (null === $("textbtn") && null ===
  728.         $("chatbtn")) window.addEvent("load", onReady);
  729.     else {
  730.         "undefined" !== typeof FastClick && new FastClick(document.body);
  731.         ($("textbtn") || $("chatbtn")).addEvent("click", function () {
  732.             startFirstChat(!1)
  733.         });
  734.         if ($("feedback")) {
  735.             var b = $$("#feedback h2");
  736.             "#feedback" == location.hash ? ($("feedback").addClass("expanded"), $("feedbackmessage").focus()) : $("feedback").addClass("collapsed");
  737.             b.addEvent("needsclick");
  738.             b.addEvent("click", function () {
  739.                 $("feedback").hasClass("expanded") ? ($("feedback").removeClass("expanded"), $("feedback").addClass("collapsed")) :
  740.                     ($("feedback").removeClass("collapsed"), $("feedback").addClass("expanded"), $("feedbackmessage").focus())
  741.             })
  742.         }
  743.         $("mobileadwrapper") && (mobileAdWrapper = $("mobileadwrapper"), mobileAdWrapperSize = mobileAdWrapper.getSize(), "body" !== mobileAdWrapper.getParent().get("tag") && ($(document.body).grab(mobileAdWrapper), mobileAdWrapper.setStyle("display", "none")), $("mobileadwrapper2") && ($("mobileadwrapper2").setStyles({
  744.             width: mobileAdWrapperSize.x + "px",
  745.             height: mobileAdWrapperSize.y + "px",
  746.             margin: "auto",
  747.             "text-align": "center"
  748.         }),
  749.             b = $("mobileadwrapper2").getPosition(), mobileAdWrapper.setStyles({
  750.             display: "block",
  751.             position: "absolute",
  752.             top: b.y + "px",
  753.             left: b.x + "px"
  754.         })));
  755.         $("flashwrapper") && ($("flashwrapper").addEvent("mouseleave", function () {
  756.             $("flash").mouseOut && $("flash").mouseOut()
  757.         }), $("flashwrapper").addEvent("mouseenter", function () {
  758.             $("flash").mouseOver && $("flash").mouseOver()
  759.         }), swfobject.embedSWF("/static/omegle.swf?25", "flash", 320, 520, "10.0.0", null, null, null, null, function (a) {
  760.             a.success || $("videobtnstatus").set("html", 'Requires <a href="http://get.adobe.com/flashplayer/">Flash 10</a>.')
  761.         }));
  762.         $("tryspymode") && ($("tryspymode").addClass("needsclick"), $("tryspymode").addEvent("click", function e() {
  763.             $("tryspymode").removeEvent("click", e);
  764.             $("tryspymode").removeClass("collapsed");
  765.             if ("spy" == idealSpyMode) a();
  766.             else {
  767.                 $("tryspymodetext").empty();
  768.                 $("tryspymodetext").set("html", "Spy mode gives you and a stranger a <strong>random question</strong> to discuss. The question is submitted by a third stranger who can watch the conversation, but can't join in.");
  769.                 var b = new Element("button", {
  770.                     text: "Check it out!"
  771.                 });
  772.                 b.addEvent("click", function (a) {
  773.                     a.preventDefault();
  774.                     startFirstChat(!1, null, !0, !1)
  775.                 });
  776.                 $("tryspymodetext").grab(new Element("br"));
  777.                 $("tryspymodetext").grab(b);
  778.                 b = new Element("div");
  779.                 b.setStyle("font-size", "0.9em");
  780.                 b.set("text", "Or you can try ");
  781.                 var i = new Element("a");
  782.                 i.set("text", "asking a question");
  783.                 i.set("href", "javascript:");
  784.                 i.addEvent("click", function (b) {
  785.                     b.preventDefault();
  786.                     a()
  787.                 });
  788.                 b.grab(i);
  789.                 b.appendText(" instead.");
  790.                 $("tryspymodetext").grab(b)
  791.             }
  792.         }));
  793.         b = makeTopicSettings();
  794.         $("topicsettingscontainer") && $("topicsettingscontainer").grab(b)
  795.     }
  796. }
  797. window.addEvent("domready", onReady);
  798.  
  799. function googleTranslateElementFullyLoaded() {
  800.     if ("undefined" !== typeof googTr && ("en" !== googTr.c || "en" !== googTr.e) && $("google_translate_element") && $("google_translate_lower_container")) {
  801.         $("google_translate_lower_container").grab($("google_translate_element"));
  802.         $("google_translate_lower_container").grab(new Element("br"));
  803.         var a = "English";
  804.         googTr.M && (googTr.M.sl && "string" == typeof googTr.M.sl.en) && (a = googTr.M.sl.en);
  805.         $("google_translate_lower_container").appendText('(Select "' + a + '" to chat in English)')
  806.     }
  807. }
  808.  
  809. function onLoad() {
  810.     IS_MOBILE && setTimeout(function () {
  811.         window.scrollTo(0, 1)
  812.     }, 0)
  813. }
  814. window.addEvent("load", onLoad);
  815. var topicManager = function () {
  816.     function a() {
  817.         Cookie.write("topiclist", JSON.encode(e), {
  818.             duration: 365,
  819.             domain: document.domain
  820.         })
  821.     }
  822.     function b(a) {
  823.         return a.toLowerCase().replace(/[^a-zA-Z0-9]/g, "")
  824.     }
  825.     function c(a) {
  826.         for (var a = b(a), c = 0; c < e.length; c++) if (b(e[c]) === a) return !0;
  827.         return !1
  828.     }
  829.     var e = [],
  830.         d = Cookie.read("topiclist");
  831.     d && (e = JSON.decode(d));
  832.     a();
  833.     return {
  834.         list: function () {
  835.             return e
  836.         },
  837.         add: function (d) {
  838.             if (!b(d) || c(d)) return !1;
  839.             e.push(d);
  840.             a();
  841.             return !0
  842.         },
  843.         remove: function (c) {
  844.             for (var c = b(c), d = 0; d < e.length; d++) if (b(e[d]) === c) return e.splice(d,
  845.                         1), a(), !0;
  846.             return !1
  847.         },
  848.         normalize: b,
  849.         check: c
  850.     }
  851. }();
  852.  
  853. function makeTopicSettings() {
  854.     function a(a) {
  855.         var b = new Element("span", {
  856.             "class": "topictag"
  857.         }),
  858.             c = new Element("span", {
  859.                 "class": "topictagtext",
  860.                 text: a
  861.             });
  862.         b.grab(c);
  863.         c = new Element("span", {
  864.             "class": "topictagdelete",
  865.             html: "&times;"
  866.         });
  867.         c.addEvent("click", function () {
  868.             b.destroy();
  869.             topicManager.remove(a);
  870.             e()
  871.         });
  872.         b.grab(c);
  873.         n.grab(b);
  874.         c = new Element("span");
  875.         c.setStyle("font-size", 0);
  876.         c.appendText(" ");
  877.         n.grab(c)
  878.     }
  879.     function b() {
  880.         e();
  881.         setTimeout(e, 0)
  882.     }
  883.     function c() {
  884.         var b = m.get("value");
  885.         m.set("value", "");
  886.         for (var b = b.split(","), b = b.map(function (a) {
  887.                 return a.trim()
  888.             }),
  889.                 c = 0; c < b.length; c++) {
  890.             var d = b[c];
  891.             topicManager.add(d) && (a(d), setShouldUseLikes(!0), C.set("checked", !0))
  892.         }
  893.         e()
  894.     }
  895.     function e() {
  896.         m.value || topicManager.list().length ? r.setStyle("display", "none") : r.setStyle("display", "inline");
  897.         s.checked || topicManager.list().length ? z.setStyle("display", "block") : z.setStyle("display", "none")
  898.     }
  899.     function d(a) {
  900.         Cookie.write("fblikes", a ? "1" : "0", {
  901.             duration: 365,
  902.             domain: document.domain
  903.         })
  904.     }
  905.     function i() {
  906.         O.setStyle("display", "block");
  907.         shouldUseFbLikes && (s.set("checked", !0), e());
  908.         "0" !== Cookie.read("fblikes") &&
  909.             FB.getLoginStatus(function (a) {
  910.             a.authResponse ? (s.set("checked", !0), d(!0), shouldUseFbLikes = !0) : d(!1);
  911.             e()
  912.         })
  913.     }
  914.     var k = new Element("div", {
  915.         "class": "topictageditor"
  916.     }),
  917.         n = new Element("span", {
  918.             "class": "topictagwrapper"
  919.         });
  920.     k.grab(n);
  921.     $each(topicManager.list(), a);
  922.     var r = new Element("span", {
  923.         "class": "topicplaceholder"
  924.     });
  925.     "undefined" === typeof intoTest && (intoTest = 0.5 > Math.random());
  926.     IS_MOBILE ? r.appendText("Type your interests here.") : r.appendText("What are you into? (Type your interests here.)");
  927.     k.grab(r);
  928.     var m = new Element("input", {
  929.         type: "text",
  930.         "class": "newtopicinput"
  931.     });
  932.     m.addEvent("keydown", b);
  933.     m.addEvent("keypress", b);
  934.     m.addEvent("keyup", b);
  935.     m.addEvent("keydown", function (a) {
  936.         32 === a.code && !m.get("value") && a.preventDefault();
  937.         if (13 === a.code || 188 === a.code) a.preventDefault(), c()
  938.     });
  939.     m.addEvent("blur", c);
  940.     k.grab(m);
  941.     k.addClass("needsclick");
  942.     k.addEvent("click", function () {
  943.         m.focus()
  944.     });
  945.     var j = new Element("div");
  946.     j.grab(k);
  947.     var O = new Element("div");
  948.     O.setStyle("display", "none");
  949.     var k = new Element("label"),
  950.         s = new Element("input", {
  951.             type: "checkbox"
  952.         });
  953.     s.addEvent("click", function (a) {
  954.         s.checked ? (a.preventDefault(), FB.login(function (a) {
  955.             a.authResponse && (shouldUseFbLikes = !0, d(!0), s.set("checked", !0), setShouldUseLikes(!0), C.set("checked", !0), e())
  956.         }, {
  957.             scope: "user_likes"
  958.         })) : (shouldUseFbLikes = !1, d(!1));
  959.         setTimeout(e, 0)
  960.     });
  961.     k.grab(s);
  962.     k.appendText(" Use my Facebook likes as interests");
  963.     O.grab(k);
  964.     j.grab(O);
  965.     var z = new Element("div"),
  966.         k = makeShouldUseLikesCheckbox(),
  967.         C = k.getElement("input");
  968.     z.grab(k);
  969.     j.grab(z);
  970.     e();
  971.     initOfFbComplete ? i() : initOfFbCallbacks.push(i);
  972.     return j
  973. }
  974. var subdomainManager = function () {
  975.     var a = {}, b = {};
  976.     return {
  977.         subdomainWindow: function (c, e) {
  978.             if (void 0 !== Browser.Request().withCredentials) e(window);
  979.             else if (a[c]) e(a[c]);
  980.             else {
  981.                 b[c] ? b[c].push(e) : b[c] = [e];
  982.                 var d = new Element("iframe", {
  983.                     src: "http://" + c + "/static/xhrframe.html",
  984.                     width: 0,
  985.                     height: 0,
  986.                     frameBorder: 0
  987.                 });
  988.                 d.setStyle("display", "none");
  989.                 $(document.body).grab(d)
  990.             }
  991.         },
  992.         fixUrl: function (a, b) {
  993.             return void 0 !== Browser.Request().withCredentials ? "http://" + a + b : b
  994.         },
  995.         iframeLoaded: function (c, e) {
  996.             if (!a[c] && (a[c] = e, b[c])) {
  997.                 for (var d = 0; d <
  998.                     b[c].length; d++)(0, b[c][d])(e);
  999.                 delete b[c]
  1000.             }
  1001.         }
  1002.     }
  1003. }(),
  1004.     serverManager = function () {
  1005.         var a = [],
  1006.             b = null,
  1007.             c = null,
  1008.             e = {
  1009.                 setKnownGood: function () {
  1010.                     b = c
  1011.                 },
  1012.                 unsetKnownGood: function () {
  1013.                     b = null
  1014.                 },
  1015.                 pickServer: function () {
  1016.                     if (null !== b && -1 !== a.indexOf(b)) return b;
  1017.                     var d = a.shift();
  1018.                     a.push(d);
  1019.                     return c = d
  1020.                 },
  1021.                 setServerList: function (b) {
  1022.                     var c, e, n;
  1023.                     for (c = 1; c < b.length; c++) e = Math.floor(Math.random() * (1 + c)), e != c && (n = b[c], b[c] = b[e], b[e] = n);
  1024.                     for (c = 0; c < b.length; c++) e = b[c], -1 === a.indexOf(e) && a.unshift(e);
  1025.                     for (c = 0; c < a.length; c++) e = a[c], -1 === b.indexOf(e) && a.splice(c,
  1026.                             1)
  1027.                 }
  1028.             };
  1029.         e.setServerList("front1.omegle.com front2.omegle.com front3.omegle.com front4.omegle.com front5.omegle.com front6.omegle.com front7.omegle.com".split(" "));
  1030.         return e
  1031.     }(),
  1032.     timeManager = function () {
  1033.         var a = 0;
  1034.         return {
  1035.             now: function () {
  1036.                 var b = new Date;
  1037.                 b.setTime(b.getTime() + a);
  1038.                 return b
  1039.             },
  1040.             gotAccurateTime: function (b) {
  1041.                 a = b - new Date
  1042.             }
  1043.         }
  1044.     }(),
  1045.     flashCb_gotNearID, flashCb_errorConnectingToStratus, flashCb_camAvailable;
  1046.  
  1047. function resetStratusCallbacks() {
  1048.     flashCb_gotNearID = function () {};
  1049.     flashCb_errorConnectingToStratus = function () {}
  1050. }
  1051. function resetCameraCallbacks() {
  1052.     flashCb_camAvailable = function () {}
  1053. }
  1054. function resetFlashCallbacks() {
  1055.     resetStratusCallbacks();
  1056.     resetCameraCallbacks()
  1057. }
  1058. resetFlashCallbacks();
  1059. var videoChatEnabled = !1;
  1060.  
  1061. function flashCb_init(a) {
  1062.     -1 === navigator.userAgent.indexOf("AppleWebKit") && $("flashwrapper").addClass("inited");
  1063.     a ? (videoChatEnabled = !0, $("videobtn").set("src", $("videobtn").get("src").replace("-disabled", "-enabled")), $("videobtn").removeClass("disabled"), $("videobtn").addEvent("click", function () {
  1064.         startFirstChat(!0)
  1065.     }), $("videobtnstatus").empty(), a = new Elements([(new Element("a", {
  1066.             text: "Unmonitored section",
  1067.             href: "javascript:"
  1068.         })).inject("videobtnstatus")]), a[0].setStyles({
  1069.         "border-radius": "0.5em",
  1070.         "-moz-border-radius": "0.5em",
  1071.         "-webkit-border-radius": "0.5em",
  1072.         background: "#EEE",
  1073.         border: "1px solid #CCC",
  1074.         "font-weight": "normal",
  1075.         padding: "0.25em",
  1076.         display: "block",
  1077.         "margin-left": "auto",
  1078.         "margin-right": "auto",
  1079.         "margin-top": "0.25em"
  1080.     }), $("unmonitoredvideobtn") && a.push((new Element("a", {
  1081.         id: "unmonitoredvideobtn",
  1082.         text: $("unmonitoredvideobtn").get("text"),
  1083.         href: "javascript:"
  1084.     })).replaces("unmonitoredvideobtn")), a.addEvent("click", function (a) {
  1085.         a.preventDefault();
  1086.         startUnmonitoredVideo()
  1087.     }), shouldForceUnmonitored && $("videobtnstatus").set("html",
  1088.         "&nbsp;")) : $("videobtnstatus").set("html", "Requires a webcam.");
  1089.     flashSocketsWillWork && $("flash") && $("flash").socketConnect ? flashSocketsWork = !0 : $("flash") && $("flash").testSockets && $("flash").testSockets(serverManager.pickServer(), 1365)
  1090. }
  1091. function killHeaders(a) {
  1092.     delete a.headers["X-Requested-With"];
  1093.     delete a.headers["X-Request"];
  1094.     return a
  1095. }
  1096.  
  1097. function makeSpyOptionsForm(a, b, c) {
  1098.     function e() {
  1099.         a(!1, n.value, !1, r.checked)
  1100.     }
  1101.     void 0 === b && (b = "");
  1102.     void 0 === c && (c = !0);
  1103.     var d = new Element("form");
  1104.     d.addEvent("submit", function (a) {
  1105.         a.preventDefault();
  1106.         e()
  1107.     });
  1108.     var i = new Element("div"),
  1109.         k = new Element("label");
  1110.     k.grab(new Element("strong", {
  1111.         text: "Enter a question:"
  1112.     }));
  1113.     k.grab(new Element("br"));
  1114.     var n = new Element("input", {
  1115.         "class": "questionInput",
  1116.         value: b,
  1117.         maxlength: 200
  1118.     });
  1119.     k.grab(n);
  1120.     i.grab(k);
  1121.     d.grab(i);
  1122.     b = new Element("div");
  1123.     b.setStyle("marginTop", "0.5em");
  1124.     var i = new Element("label"),
  1125.         r = new Element("input", {
  1126.             type: "checkbox",
  1127.             checked: c
  1128.         });
  1129.     i.grab(r);
  1130.     i.appendText(" I want Omegle to reuse this question if it's good enough.");
  1131.     b.grab(i);
  1132.     d.grab(b);
  1133.     return {
  1134.         form: d,
  1135.         focus: function () {
  1136.             n.focus()
  1137.         },
  1138.         go: e
  1139.     }
  1140. }
  1141. var flashingInterval = null;
  1142.  
  1143. function isFlashing() {
  1144.     return null !== flashingInterval
  1145. }
  1146.  
  1147. function startFlashing() {
  1148.     function a() {
  1149.         var a = b.pop();
  1150.         document.title = a[0];
  1151.         setFavicon(a[1]);
  1152.         b.unshift(a)
  1153.     }
  1154.     if (!IS_MOBILE && !isFlashing()) {
  1155.         var b = [
  1156.             ["___Omegle___", "/static/favicon.png"],
  1157.             ["\u00af\u00af\u00afOmegle\u00af\u00af\u00af", "/static/altfavicon.png"]
  1158.         ];
  1159.         flashingInterval = setInterval(a, 500);
  1160.         a();
  1161.         $(document).addEvent("mousemove", mouseMove);
  1162.         $(document).addEvent("keydown", stopFlashing);
  1163.         $(document).addEvent("focus", stopFlashing);
  1164.         $(window).addEvent("mousemove", mouseMove);
  1165.         $(window).addEvent("keydown", stopFlashing);
  1166.         $(window).addEvent("focus", stopFlashing)
  1167.     }
  1168. }
  1169. var lastCoords = null;
  1170.  
  1171. function mouseMove(a) {
  1172.     a = a.page;
  1173.     null !== lastCoords && (a.x != lastCoords.x || a.y != lastCoords.y) && stopFlashing();
  1174.     lastCoords = a
  1175. }
  1176.  
  1177. function stopFlashing() {
  1178.     isFlashing() && (clearInterval(flashingInterval), flashingInterval = null, document.title = "Omegle", setFavicon("/static/favicon.png"), $(document).removeEvent("mousemove", mouseMove), $(document).removeEvent("keydown", stopFlashing), $(document).removeEvent("focus", stopFlashing), $(window).removeEvent("mousemove", mouseMove), $(window).removeEvent("keydown", stopFlashing), $(window).removeEvent("focus", stopFlashing))
  1179. }
  1180.  
  1181. function setFavicon(a) {
  1182.     for (var b = $$("link"), c = 0; c < b.length; c++) if ("icon" === b[c].rel) {
  1183.             b[c].href = a;
  1184.             return
  1185.         }
  1186.     a = new Element("link", {
  1187.         rel: "icon",
  1188.         type: "image/png",
  1189.         href: a
  1190.     });
  1191.     $$("head")[0].grab(a)
  1192. }
  1193. var mobileAdWrapper = null,
  1194.     mobileAdWrapperSize = null,
  1195.     currentAffiliate = null,
  1196.     isFirstChat = !0,
  1197.     chatOddEven = !0,
  1198.     chatPervTrack = [];
  1199.  
  1200. function startNewChat(a, b, c, e, d) {
  1201.     function i() {
  1202.         var a = document.activeElement;
  1203.         if (!a) return l.get("disabled");
  1204.         a = a.nodeName.toLowerCase();
  1205.         return "input" !== a && "textarea" !== a
  1206.     }
  1207.     function k(a) {
  1208.         27 === a.code && a.preventDefault();
  1209.         !IS_MOBILE && !l.get("disabled") && (8 === a.code || 37 == a.code || 39 == a.code || 46 <= a.code && 90 >= a.code || 96 <= a.code && 111 >= a.code) ? l.focus() : 8 === a.code && i() && a.preventDefault()
  1210.     }
  1211.     function n(a) {
  1212.         27 === a.code && (a.preventDefault(), Da());
  1213.         8 === a.code && i() && a.preventDefault()
  1214.     }
  1215.     function r() {
  1216.         scrollElt.scrollTop = scrollElt.scrollHeight
  1217.     }
  1218.  
  1219.     function m(a, b) {
  1220.         var c = new Element("form");
  1221.         c.setStyle("display", "none");
  1222.         c.set("target", "_blank");
  1223.         c.set("action", "http://logs.omegle.com/generate");
  1224.         c.set(b);
  1225.         var a = a || {
  1226.             host: 1
  1227.         }, d = {
  1228.                 log: JSON.encode(S),
  1229.                 randid: randID
  1230.             };
  1231.         A && (d.topics = JSON.encode(A));
  1232.         d = $extend(d, a);
  1233.         $each(d, function (a, b) {
  1234.             var w = new Element("input", {
  1235.                 type: "hidden",
  1236.                 name: b,
  1237.                 value: a
  1238.             });
  1239.             c.grab(w)
  1240.         });
  1241.         $(document.body).grab(c);
  1242.         c.submit();
  1243.         setTimeout(function () {
  1244.             c.dispose()
  1245.         }, 0)
  1246.     }
  1247.     function j(a) {
  1248.         if (a) {
  1249.             for (var b = 0, c = 0, d = 0; d < a.length; d++) a[d].percentage ? c += a[d].percentage :
  1250.                     b++;
  1251.             if (b) for (d = 0; d < a.length; d++) a[d].percentage || (a[d].percentage = (100 - c) / (b + 1))
  1252.         }
  1253.     }
  1254.     function O(a, b) {
  1255.         if (!a) return b;
  1256.         for (var c = 100 * Math.random(), d = 0; d < a.length; d++) {
  1257.             var e = a[d];
  1258.             if (c < e.percentage) return $merge(b, e);
  1259.             c -= e.percentage
  1260.         }
  1261.         return b
  1262.     }
  1263.     function s(a) {
  1264.         j(a.tests);
  1265.         j(a.variants);
  1266.         if (a.tests) for (var b = 0; b < a.tests.length; b++) j(a.tests[b].variants)
  1267.     }
  1268.     function z(a) {
  1269.         if (!IS_MOBILE || !a.noMobile) if (null === currentAffiliate || currentAffiliate.priority < a.priority) currentAffiliate = O(a.tests, a)
  1270.     }
  1271.     function C(a, b) {
  1272.         var c = new Element("div", {
  1273.             "class": "logitem"
  1274.         });
  1275.         c.grab(a);
  1276.         var d;
  1277.         d = IS_MOBILE ? !0 : scrollElt.scrollTop >= scrollElt.scrollHeight - scrollElt.clientHeight;
  1278.         0 === F.length || b ? T.grab(c) : c.inject(F[0].element, "before");
  1279.         d && (IS_MOBILE ? setTimeout(r, 10) : r());
  1280.         return c
  1281.     }
  1282.     function q(a, b, c, d) {
  1283.         (void 0 === b || b) && startFlashing();
  1284.         var e;
  1285.         void 0 === d || d && "string" !== typeof d ? (b = !0, e = null) : "string" === typeof d ? (b = !0, e = d) : b = !1;
  1286.         "string" === typeof a ? (d = new Element("p", {
  1287.             "class": "statuslog"
  1288.         }), d.appendText(a), null === e && (e = a)) : (d = new Element("div", {
  1289.             "class": "statuslog"
  1290.         }),
  1291.             d.grab(a));
  1292.         b && (!aa && null !== e) && S.push([e]);
  1293.         return C(d, c)
  1294.     }
  1295.     function na(a) {
  1296.         "undefined" !== typeof Recaptcha && Recaptcha.destroy();
  1297.         null !== M && M.dispose();
  1298.         M = C(a);
  1299.         initialLogIsRecaptcha = !1
  1300.     }
  1301.     function y(a, b) {
  1302.         "undefined" !== typeof Recaptcha && Recaptcha.destroy();
  1303.         null !== M && M.dispose();
  1304.         M = q(a, !1, !1, "undefined" === typeof b ? !1 : b);
  1305.         initialLogIsRecaptcha = !1
  1306.     }
  1307.     function Ca(a, b, c) {
  1308.         var b = new Element("p", {
  1309.             "class": b
  1310.         }),
  1311.             d = new Element("strong", {
  1312.                 "class": "msgsource"
  1313.             });
  1314.         d.appendText(a + ":");
  1315.         b.grab(d);
  1316.         b.appendText(" ");
  1317.         var e = new Element("span");
  1318.         Ea && e.addClass("notranslate");
  1319.         var p = !0;
  1320.         $each(c.split("\n"), function (a) {
  1321.             p || e.grab(new Element("br"));
  1322.             p = !1;
  1323.             e.appendText(a)
  1324.         });
  1325.         b.grab(e);
  1326.         C(b);
  1327.         aa || S.push([a + ":", c])
  1328.     }
  1329.     function Fa(a, b) {
  1330.         if ("you" == a) {
  1331.             var c = "youmsg",
  1332.                 d = "You";
  1333.             oa = !0
  1334.         } else c = "strangermsg", d = "Stranger", startFlashing(), Ga = !0;
  1335.         b = b.trim();
  1336.         "stranger" === a && -1 !== b.toLowerCase().indexOf("videobam") || (Ca(d, c, b), "stranger" === a && (-1 !== b.indexOf("FBI") || -1 !== b.toLowerCase().indexOf("federal bureau")) && q("If the above message says you have been reported to the FBI, it is not legitimate. Please ignore it."),
  1337.             "stranger" === a && (-1 !== b.toLowerCase().indexOf("facebook.com/profile.php?") && -1 === b.toLowerCase().indexOf("id=")) && q("THE STRANGER DOES NOT KNOW YOUR FACEBOOK INFO. The above link directs anyone to their own profile; it is not really a link to your profile specifically."))
  1338.     }
  1339.     function U(a) {
  1340.         for (var b = 0; b < F.length; b++) if (!a || F[b].name === a) {
  1341.                 F[b].element.dispose();
  1342.                 F.splice(b, 1);
  1343.                 break
  1344.             }
  1345.     }
  1346.     function pa() {
  1347.         U("Stranger")
  1348.     }
  1349.     function Ha(a) {
  1350.         U(a);
  1351.         var b = q(a + " is typing...", !1, !0, !1);
  1352.         F.push({
  1353.             name: a,
  1354.             element: b
  1355.         })
  1356.     }
  1357.     function Ia() {
  1358.         $("logo").removeEvent("click",
  1359.             Ja);
  1360.         null !== K && (clearInterval(K), K = null);
  1361.         V && $(window).removeEvent("resize", V);
  1362.         IS_MOBILE || ($(document).removeEvent("keydown", k), $(document).removeEvent("keyup", n));
  1363.         ba.dispose()
  1364.     }
  1365.     function G(w, f, J, g, P) {
  1366.         if (void 0 === w) {
  1367.             if (null !== W) {
  1368.                 W.go();
  1369.                 return
  1370.             }
  1371.             w = a
  1372.         }
  1373.         w && (f = null, g = J = !1);
  1374.         void 0 === f && (f = b);
  1375.         void 0 === J && (J = c);
  1376.         void 0 === g && (g = e);
  1377.         void 0 === P && (P = d);
  1378.         null !== N && (clearTimeout(N), N = null);
  1379.         w || Ka();
  1380.         Ia();
  1381.         startNewChat(w, f, J, g, P)
  1382.     }
  1383.     function Ja() {
  1384.         if (!stopped) {
  1385.             if (!confirm("Are you sure you want to end your chat?")) return;
  1386.             ca()
  1387.         }
  1388.         $(document.body).removeClass("inconversation");
  1389.         $(document.body).removeClass("videochat");
  1390.         $("logo").setStyle("cursor", "default");
  1391.         Ia();
  1392.         showIntro()
  1393.     }
  1394.     function Ka() {
  1395.         null !== N && (clearTimeout(N), N = null);
  1396.         $("flash") && $("flash").turnOffCamera && $("flash").turnOffCamera()
  1397.     }
  1398.     function D() {
  1399.         function w(b) {
  1400.             if ("video" !== b || videoChatEnabled) {
  1401.                 if (P) {
  1402.                     P = !1;
  1403.                     var c = "switch to " + b
  1404.                 } else c = b;
  1405.                 g.appendText(" or ");
  1406.                 g.grab(new Element("a", {
  1407.                     href: "javascript:",
  1408.                     text: c,
  1409.                     events: {
  1410.                         click: function (c) {
  1411.                             c.preventDefault();
  1412.                             switch (b) {
  1413.                                 case "text":
  1414.                                     G(!1);
  1415.                                     break;
  1416.                                 case "video":
  1417.                                     G(!0);
  1418.                                     break;
  1419.                                 case "monitored section":
  1420.                                     G(a,
  1421.                                         null, !1, !1, !1);
  1422.                                     break;
  1423.                                 case "unmonitored section":
  1424.                                     unmonitoredConfirm() && G(a, null, !1, !1, !0)
  1425.                             }
  1426.                         }
  1427.                     }
  1428.                 }))
  1429.             }
  1430.         }
  1431.         if (!La) {
  1432.             La = !0;
  1433.             db && 3E3 < new Date - eb && (chatUpUsed = !0);
  1434.             chatOddEven = !chatOddEven;
  1435.             da();
  1436.             newChatButton.removeEvents();
  1437.             null !== unmonSexyButton && unmonSexyButton.removeEvents();
  1438.             null !== unmonGayButton && unmonGayButton.removeEvents();
  1439.             resetFlashCallbacks();
  1440.             U();
  1441.             aa = !0;
  1442.             initialLogIsRecaptcha && ("undefined" !== typeof Recaptcha && Recaptcha.destroy(), M.dispose(), M = null, initialLogIsRecaptcha = !1);
  1443.             H && (H.destroy(), H = null);
  1444.             for (var f =
  1445.                 0; f < Ma.length; f++) Ma[f].dispose();
  1446.             mots = [];
  1447.             a && ($("flash").stopChat && $("flash").stopChat(), N = setTimeout(function () {
  1448.                 N = null;
  1449.                 Ka()
  1450.             }, 12E4));
  1451.             ea && clearTimeout(ea);
  1452.             !a && !IS_MOBILE && (fa.setStyle("margin-right", 0), X.setStyle("margin-right", 0), (new Fx.Tween(fa, {
  1453.                 duration: "short"
  1454.             })).start("margin-right", 0, "168px"), (new Fx.Tween(X, {
  1455.                 duration: "short"
  1456.             })).start("margin-right", 0, "168px"), $("adwrapper2") && ($("adwrapper2").setStyle("margin-left", "160px"), (new Fx.Tween($("adwrapper2"), {
  1457.                 duration: "short"
  1458.             })).start("margin-left",
  1459.                 "160px", 0)), setTimeout(r, 300));
  1460.             $(document.body).removeClass("inconversation");
  1461.             l.set("disabled", !0);
  1462.             l.addClass("disabled");
  1463.             Q.set("disabled", !0);
  1464.             l.blur();
  1465.             Q.blur();
  1466.             R("new");
  1467.             window.onbeforeunload = null;
  1468.             $(window).removeEvent("unload", ca);
  1469.             stopped = !0;
  1470.             T.get("html");
  1471.             var J = null;
  1472.             if (document.createRange && (window.getSelection || document.getSelection)) J = document.createRange(), J.selectNodeContents(T);
  1473.             ga && (W = makeSpyOptionsForm(G, b, e), C(W.form), IS_MOBILE || W.focus());
  1474.             var g = new Element("div", {
  1475.                 "class": "newchatbtnwrapper"
  1476.             });
  1477.             newChatButton.addEvent("click", function () {
  1478.                 G()
  1479.             });
  1480.             g.grab(newChatButton);
  1481.             var P = !0;
  1482.             d && !shouldForceUnmonitored && w("monitored section");
  1483.             if (c || b) w("text"), w("video");
  1484.             a ? (w("text"), d || w("unmonitored section")) : w("video");
  1485.             q(g, !1, !1);
  1486.             if (ha || IS_MOBILE && Na()) {
  1487.                 null === unmonSexyButton && (unmonSexyButton = new Element("img", {
  1488.                     width: 124,
  1489.                     height: 50,
  1490.                     alt: "Sexy",
  1491.                     styles: {
  1492.                         cursor: "pointer",
  1493.                         "vertical-align": "middle",
  1494.                         "margin-right": "0.5em"
  1495.                     }
  1496.                 }), unmonSexyTrack = "", window.devicePixelRatio && 1 < window.devicePixelRatio ? unmonSexyButton.set("src",
  1497.                     "/static/sexybtnf2purple@2x.png") : unmonSexyButton.set("src", "/static/sexybtnf2purple.png"));
  1498.                 unmonSexyButton.addEvent("click", function () {
  1499.                     null !== t && t();
  1500.                     var b = d ? "unmon-upper-" + (shouldForceUnmonitored ? "" : "not") + "forced-" : "msgscan-upper-",
  1501.                         b = b + (a ? "video" : "text");
  1502.                     window.open("http://wawadmin.omegle.com/redir/" + (IS_MOBILE ? "mob" : "y") + "?track=" + b + unmonSexyTrack)
  1503.                 });
  1504.                 null === unmonGayButton && (unmonGayButton = new Element("img", {
  1505.                     width: 124,
  1506.                     height: 50,
  1507.                     alt: "Gay",
  1508.                     styles: {
  1509.                         cursor: "pointer",
  1510.                         "vertical-align": "middle"
  1511.                     }
  1512.                 }), unmonGayTrack =
  1513.                     "", window.devicePixelRatio && 1 < window.devicePixelRatio ? unmonGayButton.set("src", "/static/gaybtnorange@2x.png") : unmonGayButton.set("src", "/static/gaybtnorange.png"));
  1514.                 unmonGayButton.addEvent("click", function () {
  1515.                     null !== t && t();
  1516.                     var b = d ? "unmon-upper-" + (shouldForceUnmonitored ? "" : "not") + "forced-" : "msgscan-upper-",
  1517.                         b = b + (a ? "video" : "text");
  1518.                     window.open("http://wawadmin.omegle.com/redir/gay?track=" + b + unmonGayTrack)
  1519.                 });
  1520.                 f = new Element("div");
  1521.                 f.grab(unmonSexyButton);
  1522.                 IS_MOBILE || f.grab(unmonGayButton);
  1523.                 var p = new Element("span", {
  1524.                     html: "&times;",
  1525.                     styles: {
  1526.                         "font-weight": "bold",
  1527.                         color: "#555",
  1528.                         "font-size": "1.5em",
  1529.                         cursor: "pointer"
  1530.                     },
  1531.                     events: {
  1532.                         click: function () {
  1533.                             k.dispose();
  1534.                             chatPervTrack = [];
  1535.                             Y.dispose();
  1536.                             ia.dispose()
  1537.                         }
  1538.                     }
  1539.                 });
  1540.                 d || (f.appendText(" "), f.grab(p));
  1541.                 var k = C(f, !1)
  1542.             }
  1543.             if (!c && !b) {
  1544.                 var j = new Element("div"),
  1545.                     f = makeShouldUseLikesCheckbox();
  1546.                 !shouldUseFbLikes && !topicManager.list().length && (f.getElement("input").set("checked", !1), f.getElement("input").set("disabled", !0));
  1547.                 j.grab(f);
  1548.                 f = new Element("a", {
  1549.                     href: "javascript:",
  1550.                     text: "(Settings)"
  1551.                 });
  1552.                 f.addEvent("click", function (a) {
  1553.                     a.preventDefault();
  1554.                     null !== t && t();
  1555.                     j.empty();
  1556.                     a = makeTopicSettings();
  1557.                     j.grab(a);
  1558.                     a.getElement("input").focus()
  1559.                 });
  1560.                 j.appendText(" ");
  1561.                 j.grab(f);
  1562.                 C(j)
  1563.             }
  1564.             f = new Element("div", {
  1565.                 "class": "logsavelinks"
  1566.             });
  1567.             p = new Element("span", {
  1568.                 "class": "conversationgreat"
  1569.             });
  1570.             IS_MOBILE ? p.set("text", "Great chat? Save the log!") : p.set("text", "Great chat?");
  1571.             p.addEvent("click", function () {
  1572.                 m()
  1573.             });
  1574.             f.grab(p);
  1575.             var p = [],
  1576.                 h = new Element("a");
  1577.             h.set("text", "Get a link");
  1578.             h.set("href", "javascript:");
  1579.             h.addEvent("click", function (a) {
  1580.                 a.preventDefault();
  1581.                 m()
  1582.             });
  1583.             p.push(h);
  1584.             null !== J && !IS_MOBILE && (h = new Element("a", {
  1585.                 href: "javascript:",
  1586.                 text: "Select all"
  1587.             }), h.addEvent("click", function (a) {
  1588.                 a.preventDefault();
  1589.                 a = window.getSelection ? window.getSelection() : document.getSelection();
  1590.                 a.removeAllRanges();
  1591.                 a.addRange(J)
  1592.             }), p.push(h));
  1593.             var h = [],
  1594.                 i = new Element("a", {
  1595.                     href: "javascript:",
  1596.                     text: "Facebook"
  1597.                 });
  1598.             i.addEvent("click", function (a) {
  1599.                 a.preventDefault();
  1600.                 m({
  1601.                     facebook: 1
  1602.                 })
  1603.             });
  1604.             h.push(i);
  1605.             i = new Element("a", {
  1606.                 href: "javascript:",
  1607.                 text: "Tumblr"
  1608.             });
  1609.             i.addEvent("click", function (a) {
  1610.                 a.preventDefault();
  1611.                 m({
  1612.                     tumblr: 1
  1613.                 })
  1614.             });
  1615.             h.push(i);
  1616.             i = new Element("a", {
  1617.                 href: "javascript:",
  1618.                 text: "Twitter"
  1619.             });
  1620.             i.addEvent("click", function (a) {
  1621.                 a.preventDefault();
  1622.                 var a = screen.height,
  1623.                     b = Math.round(screen.width / 2 - 275),
  1624.                     c = 0;
  1625.                 420 < a && (c = Math.round(a / 2 - 210));
  1626.                 window.open("", "intent", "scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,left=" + b + ",top=" + c);
  1627.                 m({
  1628.                     tweet: 1
  1629.                 }, {
  1630.                     target: "intent"
  1631.                 })
  1632.             });
  1633.             h.push(i);
  1634.             i = new Element("a", {
  1635.                 href: "javascript:",
  1636.                 text: "reddit"
  1637.             });
  1638.             i.addEvent("click", function (a) {
  1639.                 a.preventDefault();
  1640.                 m({
  1641.                     reddit: 1
  1642.                 })
  1643.             });
  1644.             h.push(i);
  1645.             IS_MOBILE || (f.appendText(" Save the log: "), f.grab(middotify(p)), f.appendText(" \u2022\u00a0Or post log to: "), f.grab(middotify(h)));
  1646.             p = aurrp;
  1647.             if (ga || oa && Ga) q(f, !1, !1);
  1648.             else if (a) {
  1649.                 var n = function () {
  1650.                     if (y) D || (D = !0, E.set("text", "Not automatically rerolling."), x.dispose(), u.grab(z), R("new"));
  1651.                     else {
  1652.                         var a = "Automatically rerolling in: " + s + " second";
  1653.                         1 != s && (a += "s");
  1654.                         E.set("text", a);
  1655.                         R("new", s)
  1656.                     }
  1657.                 }, s = 2,
  1658.                     y = !p,
  1659.                     D = !1,
  1660.                     u = new Element("div"),
  1661.                     E = new Element("span");
  1662.                 u.grab(E);
  1663.                 u.appendText(" ");
  1664.                 var x = new Element("input");
  1665.                 x.set("type", "button");
  1666.                 x.set("value", "Stop");
  1667.                 t = function () {
  1668.                     null !== K && (clearInterval(K), K = null, y = !0, n())
  1669.                 };
  1670.                 x.addEvent("click", function () {
  1671.                     t()
  1672.                 });
  1673.                 u.grab(x);
  1674.                 var z = new Element("label");
  1675.                 z.setStyle("color", "black");
  1676.                 z.setStyle("font-weight", "normal");
  1677.                 var A = new Element("input");
  1678.                 A.set("type", "checkbox");
  1679.                 A.set("checked", p);
  1680.                 A.addEvent("change", function () {
  1681.                     var a = A.checked;
  1682.                     aurrp = a;
  1683.                     Cookie.write("aurrp", a ? "1" : "0", {
  1684.                         duration: 365,
  1685.                         domain: document.domain
  1686.                     })
  1687.                 });
  1688.                 z.grab(A);
  1689.                 z.appendText(" Auto-reroll next time");
  1690.                 n();
  1691.                 q(u, !1, !1);
  1692.                 y || (K = setInterval(function () {
  1693.                     s--;
  1694.                     1 > s ? (clearInterval(K), K = null, G()) : n()
  1695.                 }, 1E3))
  1696.             }
  1697.             c && !oa && q("Please try to discuss the question, not just disconnect!");
  1698.             if (f = d ? qa : currentAffiliate) {
  1699.                 f = O(f.variants, f);
  1700.                 a && f.videoMode ? f = $merge(f, f.videoMode) : !a && f.textMode && (f = $merge(f, f.textMode));
  1701.                 h = a ? "video" : "text";
  1702.                 f.trackCode && (h = f.trackCode);
  1703.                 f.baseTrackCode && (h = f.baseTrackCode + "-" + h);
  1704.                 var F, p = new Element("span"),
  1705.                     I = f.url.replace(/\$/g, h),
  1706.                     v = new Element("a", {
  1707.                         href: I,
  1708.                         target: "_blank",
  1709.                         events: {
  1710.                             click: function () {
  1711.                                 null !== t && t()
  1712.                             }
  1713.                         }
  1714.                     });
  1715.                 v.setStyles({
  1716.                     "text-decoration": "none"
  1717.                 });
  1718.                 f.image && (h = new Element("img", {
  1719.                     src: f.image,
  1720.                     alt: ""
  1721.                 }), h.setStyles({
  1722.                     border: "0 none",
  1723.                     "vertical-align": "middle"
  1724.                 }), v.grab(h), v.appendText(" "));
  1725.                 f.text && (h = new Element("span"), h.setStyles({
  1726.                     color: "black",
  1727.                     "text-decoration": "none",
  1728.                     "font-weight": "normal",
  1729.                     background: "#EEE",
  1730.                     padding: "0.25em 0.5em",
  1731.                     "vertical-align": "middle",
  1732.                     "border-radius": "0.5em",
  1733.                     "-moz-border-radius": "0.5em",
  1734.                     "-webkit-border-radius": " 0.5em",
  1735.                     border: "1px solid #CCC"
  1736.                 }), h.style.lineHeight = "1.5", f.style && h.setStyles(f.style),
  1737.                     h.set("text", f.text), v.grab(h));
  1738.                 p.grab(v);
  1739.                 var B = new Element("span");
  1740.                 B.set("html", "&times;");
  1741.                 B.setStyles({
  1742.                     cursor: "default",
  1743.                     color: "black",
  1744.                     "font-weight": "bold"
  1745.                 });
  1746.                 B.addEvent("click", function () {
  1747.                     currentAffiliate = null;
  1748.                     F.destroy()
  1749.                 });
  1750.                 f.noCloseButton || (p.appendText(" "), p.grab(B));
  1751.                 h = new Element("div");
  1752.                 h.setStyle("cursor", "pointer");
  1753.                 h.addEvent("click", function (a) {
  1754.                     a = $(a.target);
  1755.                     !v.hasChild(a) && !(v === a || B === a || B.hasChild(a)) && window.open(I, "_blank")
  1756.                 });
  1757.                 h.grab(p);
  1758.                 F = C(h);
  1759.                 if (f.bottomPositioning || void 0 === f.bottomPositioning) F.setStyle("height",
  1760.                         h.getSize().y + "px"), h.setStyles({
  1761.                         position: "absolute",
  1762.                         bottom: "0.5em"
  1763.                     })
  1764.             }
  1765.             if (mobileAdWrapper) {
  1766.                 var L = new Element("div", {
  1767.                     styles: {
  1768.                         width: mobileAdWrapperSize.x + "px",
  1769.                         height: mobileAdWrapperSize.y + "px"
  1770.                     }
  1771.                 });
  1772.                 q(L);
  1773.                 V = function () {
  1774.                     mobileAdWrapper.setStyles({
  1775.                         display: "block",
  1776.                         position: "absolute"
  1777.                     });
  1778.                     mobileAdWrapper.setPosition(L.getPosition())
  1779.                 };
  1780.                 V();
  1781.                 $(window).addEvent("resize", V)
  1782.             }
  1783.             if (IS_MOBILE) for (f = 50; 300 >= f; f += 50) setTimeout(r, f)
  1784.         }
  1785.     }
  1786.     function Oa(a) {
  1787.         if ("undefined" !== typeof Recaptcha) {
  1788.             var b = new Element("form");
  1789.             b.setStyle("margin",
  1790.                 "0");
  1791.             b.setStyle("padding", "0");
  1792.             b.addEvent("submit", function (a) {
  1793.                 a.preventDefault();
  1794.                 g.submitRecaptcha(Recaptcha.get_challenge(), Recaptcha.get_response());
  1795.                 y("Verifying...")
  1796.             });
  1797.             var c = new Element("div");
  1798.             c.setStyle("padding-left", "1px");
  1799.             c.setStyle("padding-top", "1px");
  1800.             b.grab(c);
  1801.             na(b);
  1802.             initialLogIsRecaptcha = !0;
  1803.             Recaptcha.create(a, c, {
  1804.                 callback: function () {
  1805.                     Recaptcha.focus_response_field();
  1806.                     var a = new Element("div");
  1807.                     a.setStyle("padding-top", "0.5em");
  1808.                     var c = new Element("input");
  1809.                     c.set("type", "submit");
  1810.                     c.set("value",
  1811.                         "Submit");
  1812.                     a.grab(c);
  1813.                     b.grab(a)
  1814.                 },
  1815.                 theme: "white"
  1816.             })
  1817.         } else {
  1818.             var d = new Element("iframe");
  1819.             d.setStyle("border", "0 none");
  1820.             d.setStyle("padding", 0);
  1821.             d.set("width", 318);
  1822.             na(d);
  1823.             initialLogIsRecaptcha = !0;
  1824.             var e = d.contentWindow ? d.contentWindow.document : d.contentDocument;
  1825.             d.addEvent("load", function () {
  1826.                 var a = e.getElementById("theform");
  1827.                 a && (d.height = a.offsetHeight);
  1828.                 (a = e.getElementById("recaptcha_response_field")) && a.focus()
  1829.             });
  1830.             e.open();
  1831.             e.write('<script type="application/javascript">var RecaptchaOptions = {theme: "white"};<\/script>');
  1832.             e.write('<style type="text/css">html, body, form { margin: 0; padding: 0; }</style>');
  1833.             e.write('<form id="theform">');
  1834.             e.write('<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=' + encodeURIComponent(a) + '"><\/script>');
  1835.             e.write('<div style="padding-top: 0.5em"><input type="submit" value="Submit"></div>');
  1836.             e.write("</form>");
  1837.             e.close();
  1838.             d.height = e.getElementById("theform").offsetHeight;
  1839.             $(e.getElementById("theform")).addEvent("submit", function (a) {
  1840.                 a.preventDefault();
  1841.                 var a =
  1842.                     e.getElementById("recaptcha_challenge_field").value,
  1843.                     b = e.getElementById("recaptcha_response_field").value;
  1844.                 g.submitRecaptcha(a, b);
  1845.                 setTimeout(function () {
  1846.                     y("Verifying...")
  1847.                 }, 0)
  1848.             })
  1849.         }
  1850.     }
  1851.     function ca() {
  1852.         g.stopped || (g.disconnect(), q("You have disconnected.", !1), D())
  1853.     }
  1854.     function fb() {
  1855.         return "Leaving this page will end your conversation."
  1856.     }
  1857.     function Da() {
  1858.         if (!I.get("disabled")) switch (Pa) {
  1859.                 case "disconnect":
  1860.                     R("really");
  1861.                     !l.get("disabled") && !IS_MOBILE && l.focus();
  1862.                     break;
  1863.                 case "really":
  1864.                     ca();
  1865.                     break;
  1866.                 case "new":
  1867.                     G()
  1868.         }
  1869.     }
  1870.     function R(a, b) {
  1871.         var c;
  1872.         switch (a) {
  1873.             case "disconnect":
  1874.                 c = "Disconnect";
  1875.                 break;
  1876.             case "really":
  1877.                 c = "Really?";
  1878.                 break;
  1879.             case "new":
  1880.                 c = "New"
  1881.         }
  1882.         void 0 !== b && (c += " (" + b + ")");
  1883.         I.set("text", c);
  1884.         I.grab(new Element("div", {
  1885.             "class": "btnkbshortcut",
  1886.             text: "Esc"
  1887.         }));
  1888.         Pa = a
  1889.     }
  1890.     function da() {}
  1891.     function Na() {
  1892.         for (var a = 0, b = chatPervTrack.length - 1; 0 <= b && b >= chatPervTrack.length - gb; b--) chatPervTrack[b] && a++;
  1893.         return a >= hb
  1894.     }
  1895.     function Qa() {
  1896.         if (ha) return !0;
  1897.         if (IS_MOBILE || !d && !Na()) return !1;
  1898.         ha = !0;
  1899.         Y = new Element("td", {
  1900.             "class": "lowersexybtncell"
  1901.         });
  1902.         var b = new Element("div", {
  1903.             "class": "lowersexybtnwrapper"
  1904.         }),
  1905.             c = d ? "unmon-lower-" + (shouldForceUnmonitored ? "" : "not") + "forced-" : "msgscan-lower-",
  1906.             c = c + (a ? "video" : "text");
  1907.         "undefined" === typeof doPervBtnTest && (doPervBtnTest = 0.5 > Math.random());
  1908.         var e = new Element("button", {
  1909.             "class": "lowersexybtn",
  1910.             text: "Pervy Girls (Free, 18+)",
  1911.             events: {
  1912.                 click: function (a) {
  1913.                     a.preventDefault();
  1914.                     t && t();
  1915.                     window.open("http://wawadmin.omegle.com/redir/y?track=" + c)
  1916.                 }
  1917.             }
  1918.         });
  1919.         b.grab(e);
  1920.         Y.grab(b);
  1921.         ra.grab(Y, "after");
  1922.         ia = new Element("td", {
  1923.             "class": "lowergaybtncell"
  1924.         });
  1925.         var b = new Element("div", {
  1926.             "class": "lowergaybtnwrapper"
  1927.         }),
  1928.             g = new Element("button", {
  1929.                 "class": "lowergaybtn",
  1930.                 text: "\u00a0gay cams\u00a0 (free, 18+)",
  1931.                 events: {
  1932.                     click: function (a) {
  1933.                         a.preventDefault();
  1934.                         t && t();
  1935.                         window.open("http://wawadmin.omegle.com/redir/gay?track=" + c)
  1936.                     }
  1937.                 }
  1938.             });
  1939.         b.grab(g);
  1940.         ia.grab(b);
  1941.         Y.grab(ia, "after");
  1942.         da = function () {
  1943.             var a = ["\u00a0she's pervy\u00a0 (free, 18+)", "\u00a0tits\u2014no bra\u00a0 (legit, 18+)"],
  1944.                 b = Math.floor(Math.random() * a.length);
  1945.             e.set("text", a[b]);
  1946.             chatOddEven ? (a = g, b = e) : (a = e, b = g);
  1947.             a.setStyles({
  1948.                 "box-shadow": "0 0 40px 10px #F0F inset",
  1949.                 "-webkit-box-shadow": "0 0 40px 10px #F0F inset",
  1950.                 "-moz-box-shadow": "0 0 40px 10px #F0F inset",
  1951.                 background: "red",
  1952.                 "font-weight": "bold",
  1953.                 background: "#FF7F00"
  1954.             });
  1955.             b.setStyles({
  1956.                 "box-shadow": "none",
  1957.                 "-webkit-box-shadow": "none",
  1958.                 "-moz-box-shadow": "none",
  1959.                 "font-weight": "normal",
  1960.                 background: "white"
  1961.             })
  1962.         };
  1963.         da();
  1964.         return !0
  1965.     }
  1966.     function sa() {
  1967.         null !== u && (clearTimeout(u), u = null);
  1968.         IS_MOBILE || l.focus();
  1969.         var a = l.value;
  1970.         if (a) {
  1971.             l.value = "";
  1972.             if (IS_MOBILE) {
  1973.                 var b = l.clone();
  1974.                 b.replaces(l);
  1975.                 l = b
  1976.             } else l.focus();
  1977.             ta = "";
  1978.             Fa("you", a);
  1979.             g.sendMessage(a);
  1980.             R("disconnect");
  1981.             for (b = 0; b < B.length; b++) {
  1982.                 var c = B[b];
  1983.                 (!IS_MOBILE || !c.noMobile) && c.regex.test(a) && z(c)
  1984.             }!d && !ha && /^\s*f\s*\?\s*$|horny|slut|(?:rub|touch|lick|suck|finger)\s+(?:my|your|ur)|boner|(am|i'm|so|im|my|your?)\s+(hard|wet|tight)|\bcum|sexy|boob|\btits\b|nipple|penis(?:[^e]|$)|cock(?:[^s]|$)|dick(?:[^s]|$)|\bvag(?:\b|ina)|pussy|\bclit|spank|(?:jack|jerk)\s+off|\bfap/i.test(a) && (chatPervTrack[chatPervTrack.length - 1] = !0, Qa() && (chatOddEven = !1, da()))
  1985.         }
  1986.     }
  1987.     function ib() {
  1988.         u = null;
  1989.         g.stopTyping()
  1990.     }
  1991.     $("appstore") && $("appstore").destroy();
  1992.     $("footer") && $("footer").destroy();
  1993.     isFirstChat && shouldForceUnmonitored && (d = !0);
  1994.     mobileAdWrapper && mobileAdWrapper.setStyle("display", "none");
  1995.     stopFlashing();
  1996.     a && $("adwrapper") && $("adwrapper").empty();
  1997.     var eb = new Date,
  1998.         ga = "string" === typeof b,
  1999.         oa = !1,
  2000.         Ga = !1;
  2001.     $(document.body).addClass("inconversation");
  2002.     a ? $(document.body).addClass("videochat") : $(document.body).removeClass("videochat");
  2003.     var ba = new Element("div", {
  2004.         "class": "chatbox3"
  2005.     }),
  2006.         Ra = new Element("div", {
  2007.             "class": "chatbox2"
  2008.         }),
  2009.         ua = new Element("div", {
  2010.             "class": "chatbox"
  2011.         });
  2012.     IS_MOBILE && ba.grab(logoElt);
  2013.     var X =
  2014.         new Element("div", {
  2015.         "class": "logwrapper",
  2016.         styles: {
  2017.             top: contentTop + "px"
  2018.         }
  2019.     }),
  2020.         va = new Element("div", {
  2021.             "class": "logbox"
  2022.         }),
  2023.         T = new Element("div");
  2024.     IS_MOBILE || T.setStyles({
  2025.         position: "relative",
  2026.         "min-height": "100%"
  2027.     });
  2028.     va.grab(T);
  2029.     X.grab(va);
  2030.     var jb = new Element("div", {
  2031.         "class": "logwrapperpush"
  2032.     });
  2033.     X.grab(jb);
  2034.     ua.grab(X);
  2035.     var fa = new Element("div", {
  2036.         "class": "controlwrapper"
  2037.     }),
  2038.         Sa = new Element("table", {
  2039.             "class": "controltable",
  2040.             cellpadding: "0",
  2041.             cellspacing: "0",
  2042.             border: "0"
  2043.         }),
  2044.         Ta = new Element("tbody"),
  2045.         ja = new Element("tr"),
  2046.         ra = new Element("td", {
  2047.             "class": "disconnectbtncell"
  2048.         }),
  2049.         Ua = new Element("div", {
  2050.             "class": "disconnectbtnwrapper"
  2051.         }),
  2052.         I = new Element("button", {
  2053.             "class": "disconnectbtn"
  2054.         });
  2055.     Ua.grab(I);
  2056.     ra.grab(Ua);
  2057.     ja.grab(ra);
  2058.     var Va = new Element("td", {
  2059.         "class": "chatmsgcell"
  2060.     }),
  2061.         wa = new Element("div", {
  2062.             "class": "chatmsgwrapper"
  2063.         });
  2064.     if (IS_MOBILE) {
  2065.         var ka = new Element("form");
  2066.         ka.setStyles({
  2067.             margin: 0,
  2068.             padding: 0
  2069.         });
  2070.         ka.addEvent("submit", function (a) {
  2071.             a.preventDefault();
  2072.             sa()
  2073.         });
  2074.         var l = new Element("input", {
  2075.             "class": "chatmsg disabled",
  2076.             disabled: !0,
  2077.             placeholder: "Type your message..."
  2078.         });
  2079.         ka.grab(l);
  2080.         wa.grab(ka)
  2081.     } else l = new Element("textarea", {
  2082.             "class": "chatmsg disabled",
  2083.             cols: "80",
  2084.             rows: "3",
  2085.             disabled: !0
  2086.         }), wa.grab(l);
  2087.     Va.grab(wa);
  2088.     ja.grab(Va);
  2089.     var Wa = new Element("td", {
  2090.         "class": "sendbthcell"
  2091.     }),
  2092.         Xa = new Element("div", {
  2093.             "class": "sendbtnwrapper"
  2094.         }),
  2095.         Q = new Element("button", {
  2096.             "class": "sendbtn",
  2097.             disabled: !0,
  2098.             text: "Send"
  2099.         });
  2100.     Q.grab(new Element("div", {
  2101.         "class": "btnkbshortcut",
  2102.         text: "Enter"
  2103.     }));
  2104.     Xa.grab(Q);
  2105.     Wa.grab(Xa);
  2106.     IS_MOBILE || ja.grab(Wa);
  2107.     Ta.grab(ja);
  2108.     Sa.grab(Ta);
  2109.     fa.grab(Sa);
  2110.     ua.grab(fa);
  2111.     Ra.grab(ua);
  2112.     ba.grab(Ra);
  2113.     $(document.body).grab(ba);
  2114.     $(document.body).scrollTop = $(document.body).scrollHeight;
  2115.     var V = null;
  2116.     IS_MOBILE || ($(document).addEvent("keydown", k), $(document).addEvent("keyup", n));
  2117.     var g = new MetaBackend,
  2118.         db = !1;
  2119.     scrollElt = IS_MOBILE ? document.body : va;
  2120.     for (var S = [], aa = !1, B = [{
  2121.                 topics: ["reddit"],
  2122.                 regex: /reddit/,
  2123.                 url: "http://wawadmin.omegle.com/redir/reddit",
  2124.                 text: "Psst... did you know Omegle has its own subreddit?",
  2125.                 image: "/static/redditalien.png"
  2126.             }
  2127.         ], qa = null, E = 0; E < B.length; E++) {
  2128.         var x = B[E];
  2129.         x.priority || (x.priority = E);
  2130.         s(x)
  2131.     }
  2132.     qa && s(qa);
  2133.     if (isFirstChat) {
  2134.         for (E =
  2135.             0; E < B.length; E++) if (x = B[E], x.topics) for (var xa = 0; xa < x.topics.length; xa++) if (topicManager.check(x.topics[xa])) {
  2136.                         z(x);
  2137.                         break
  2138.                     }
  2139.         isFirstChat = !1
  2140.     }
  2141.     var F = [],
  2142.         M = null,
  2143.         Ma = [];
  2144.     if ($("logo") || logoElt)($("logo") || logoElt).addEvent("click", Ja), ($("logo") || logoElt).setStyle("cursor", "pointer");
  2145.     var N = null,
  2146.         K = null,
  2147.         W = null,
  2148.         t = null,
  2149.         La = !1;
  2150.     g.addEvent("connectedToServer", function () {
  2151.         I.set("disabled", !1);
  2152.         window.onbeforeunload = fb;
  2153.         $(window).addEvent("unload", ca)
  2154.     });
  2155.     g.addEvent("failedToConnect", function () {
  2156.         y("Error connecting to server. Please try again.");
  2157.         D()
  2158.     });
  2159.     var H = null,
  2160.         v = null,
  2161.         Ya = !1;
  2162.     g.addEvent("waiting", function () {
  2163.         serverManager.setKnownGood();
  2164.         if (ga) y("Looking for two strangers. Hang on.");
  2165.         else {
  2166.             var a = new Element("div"),
  2167.                 b = new Element("div", {
  2168.                     text: "Looking for someone you can chat with. Hang on."
  2169.                 });
  2170.             a.grab(b);
  2171.             if (ya) {
  2172.                 H = new Element("div", {
  2173.                     "class": "commonlikescancel",
  2174.                     text: "It may take a little while to find someone with common interests. If you get tired of waiting, you can "
  2175.                 });
  2176.                 var b = new Element("a", {
  2177.                     href: "javascript:",
  2178.                     text: "connect to a completely random stranger"
  2179.                 }),
  2180.                     c = function () {
  2181.                         v && (clearTimeout(v), v = null);
  2182.                         H && (g.stopLookingForCommonLikes(), H.destroy(), H = null)
  2183.                     };
  2184.                 b.addEvent("click", c);
  2185.                 H.grab(b);
  2186.                 H.appendText(" instead.");
  2187.                 a.grab(H);
  2188.                 v = setTimeout(function () {
  2189.                     Ya = !0;
  2190.                     c()
  2191.                 }, 1E4)
  2192.             }
  2193.             y(a)
  2194.         }
  2195.     });
  2196.     g.addEvent("strangerConnected", function (b) {
  2197.         serverManager.setKnownGood();
  2198.         a && $("flash").gotStrangerPeerID(b);
  2199.         v && (clearTimeout(v), v = null);
  2200.         ga ? y("You're now watching two strangers discuss your question!", "You're watching two strangers discuss your question on Omegle!") : (b = new Date, b = 11 === b.getMonth() &&
  2201.             25 === b.getDate() ? "merry Christmas" : "hi", y("You're now chatting with a random stranger. Say " + b + "!", "You're chatting with a random stranger on Omegle!"), Ya && q("Omegle couldn't find anyone who shares interests with you, so this stranger is completely random. Try adding more interests!", !1, !1, !1), l.set("disabled", !1), l.removeClass("disabled"), Q.set("disabled", !1), IS_MOBILE || l.focus())
  2202.     });
  2203.     g.addEvent("gotMessage", function (a) {
  2204.         pa();
  2205.         a = a.replace(/^[\r\n]+/g, "");
  2206.         navigator.notification && navigator.notification.beep &&
  2207.             navigator.notification.beep(1);
  2208.         Fa("stranger", a)
  2209.     });
  2210.     g.addEvent("gotMessageHTML", function (a) {
  2211.         pa();
  2212.         var b = new Element("p", {
  2213.             "class": "strangermsg"
  2214.         }),
  2215.             c = new Element("strong", {
  2216.                 "class": "msgsource"
  2217.             });
  2218.         c.appendText("Stranger: ");
  2219.         b.grab(c);
  2220.         b.appendText(" ");
  2221.         a = new Element("span", {
  2222.             html: a
  2223.         });
  2224.         b.grab(a);
  2225.         C(b);
  2226.         aa || S.push(["Stranger:", a.get("text")])
  2227.     });
  2228.     g.addEvent("strangerDisconnected", function () {
  2229.         IS_MOBILE ? q("Stranger has disconnected.") : q("Your conversational partner has disconnected.");
  2230.         D()
  2231.     });
  2232.     g.addEvent("typing", function () {
  2233.         Ha("Stranger")
  2234.     });
  2235.     g.addEvent("stoppedTyping", pa);
  2236.     g.addEvent("recaptchaRequired", Oa);
  2237.     g.addEvent("recaptchaRejected", Oa);
  2238.     g.addEvent("connectionDied", function (a) {
  2239.         var b = "Technical error";
  2240.         a && (b += ": " + a + " Sorry. :( Omegle understands if you hate it now, but Omegle still loves you.");
  2241.         q(b);
  2242.         serverManager.unsetKnownGood();
  2243.         D()
  2244.     });
  2245.     g.addEvent("question", function (a) {
  2246.         var b = new Element("div", {
  2247.             "class": "question"
  2248.         }),
  2249.             c = new Element("div", {
  2250.                 "class": "questionHeading",
  2251.                 text: "Question to discuss:"
  2252.             });
  2253.         b.grab(c);
  2254.         c = new Element("div", {
  2255.             "class": "questionText"
  2256.         });
  2257.         c.appendText(a);
  2258.         b.grab(c);
  2259.         S.push(["Question to discuss:", a]);
  2260.         C(b)
  2261.     });
  2262.     g.addEvent("spyMessage", function (a, b) {
  2263.         var c = "Stranger 1" === a ? "youmsg" : "strangermsg";
  2264.         U(a);
  2265.         startFlashing();
  2266.         Ca(a, c, b)
  2267.     });
  2268.     g.addEvent("spyDisconnected", function (a) {
  2269.         q(a + " has disconnected");
  2270.         D()
  2271.     });
  2272.     g.addEvent("spyTyping", Ha);
  2273.     g.addEvent("spyStoppedTyping", U);
  2274.     g.addEvent("error", function (a) {
  2275.         q(a);
  2276.         D()
  2277.     });
  2278.     var Ea = !1;
  2279.     g.addEvent("serverMessage", function (a) {
  2280.         -1 !== a.indexOf("language") && (Ea = !0);
  2281.         q(a, !1)
  2282.     });
  2283.     g.addEvent("antinudeBanned", function (a) {
  2284.         q("Banned.");
  2285.         D();
  2286.         null !== t && t();
  2287.         top.location.href = a
  2288.     });
  2289.     var za = null,
  2290.         A = null;
  2291.     g.addEvent("commonLikes", function (a) {
  2292.         if (a.length) {
  2293.             A = a;
  2294.             for (var a = "You and the stranger both like ", b = 0; b < A.length; b++) a += A[b], b < A.length - 1 && (a += ", "), b == A.length - 2 && (a += "and ");
  2295.             a += ".";
  2296.             za && za.destroy();
  2297.             za = q(a)
  2298.         }
  2299.     });
  2300.     var Pa = "disconnect";
  2301.     Q.addEvent("click", sa);
  2302.     R("disconnect");
  2303.     I.addEvent("click", Da);
  2304.     var ha = !1,
  2305.         hb = 2,
  2306.         gb = 10,
  2307.         Y, ia;
  2308.     !Qa() && !d && chatPervTrack.push(!1);
  2309.     var ta = l.value,
  2310.         u = null;
  2311.     l.addEvent("keydown", function (a) {
  2312.         13 == a.code && (!a.shift && !a.alt && !a.meta) &&
  2313.             (sa(), a.preventDefault())
  2314.     });
  2315.     l.addEvent("keypress", function () {
  2316.         setTimeout(function () {
  2317.             l.value !== ta && (ta = l.value, null === u && g.typing(), null !== u && (clearTimeout(u), u = null), u = setTimeout(ib, 5E3))
  2318.         }, 0)
  2319.     });
  2320.     y("Connecting to server...");
  2321.     var Z = null,
  2322.         ya = !1,
  2323.         la = [],
  2324.         ea = null;
  2325.     if (!c && !b && shouldUseLikes && !d) {
  2326.         if (shouldUseFbLikes) var Za = FB.getAuthResponse(),
  2327.         Z = Za ? Za.accessToken : null;
  2328.         la = topicManager.list();
  2329.         ya = la.length || null !== Z
  2330.     }
  2331.     "undefined" !== typeof _gaq && _gaq.push(["_trackEvent", "Omegle chat", function () {
  2332.             var e = [];
  2333.             IS_MOBILE && e.push("mobile");
  2334.             b ? e.push("spy") : c ? e.push("spyee") : a ? e.push("video") : e.push("text");
  2335.             d && (e.push("unmonitored"), shouldForceUnmonitored && e.push("(forced)"));
  2336.             ya && (e.push("topical"), Z && e.push("(FB)"));
  2337.             e[0] = e[0][0].toUpperCase() + e[0].substr(1);
  2338.             return e.join(" ")
  2339.         }()
  2340.     ]);
  2341.     if (d) {
  2342.         "undefined" === typeof unmonChatCount && (unmonAdCount = unmonChatCount = 0);
  2343.         if (1 > unmonAdCount && 4 <= unmonChatCount) {
  2344.             unmonAdCount++;
  2345.             var Aa = new Element("div", {
  2346.                 styles: {
  2347.                     width: "40em",
  2348.                     border: "1px solid #3F9FFF",
  2349.                     "border-top-left-radius": "0.5em",
  2350.                     "border-top-right-radius": "0.5em",
  2351.                     overflow: "hidden"
  2352.                 }
  2353.             }),
  2354.                 $a = function () {
  2355.                     Ba("accept");
  2356.                     window.open("http://wawadmin.omegle.com/redir/y?track=interchat-notest")
  2357.                 }, Ba = function (a) {
  2358.                     (new Image).src = "http://wawadmin.omegle.com/redir/interchatexit?track=" + a + "-notest"
  2359.                 }, kb = new Element("div", {
  2360.                     styles: {
  2361.                         background: "#3F9FFF",
  2362.                         color: "white",
  2363.                         "font-size": "1.5em",
  2364.                         padding: "0.3333em",
  2365.                         "font-weight": "bold",
  2366.                         "text-align": "center",
  2367.                         "text-shadow": "0 0 15px #3F3F3F",
  2368.                         "-webkit-text-shadow": "0 0 15px #3F3F3F",
  2369.                         "-moz-text-shadow": "0 0 15px #3F3F3F",
  2370.                         cursor: "pointer"
  2371.                     },
  2372.                     events: {
  2373.                         click: $a
  2374.                     },
  2375.                     text: "You could be camming with hot girls (for free)..."
  2376.                 });
  2377.             Aa.grab(kb);
  2378.             var L = new Element("div", {
  2379.                 styles: {
  2380.                     padding: "0.5em",
  2381.                     position: "relative",
  2382.                     overflow: "hidden"
  2383.                 }
  2384.             });
  2385.             L.setStyle("padding-bottom", "3.5em");
  2386.             var lb = new Element("div", {
  2387.                 html: "You're in the unmonitored section, so chances are, <strong>you want to cam with a hot horny girl</strong>. But let's face it: there aren't a lot of girls here. Just guys like you.<br><br>You deserve incredibly sexy girls, live and naked on cam, for free. Anything less is unacceptable.<br><br>Let's get you all the free cam sex you want. No joke. No bullshit."
  2388.             });
  2389.             L.grab(lb);
  2390.             var ab = new Element("div", {
  2391.                 styles: {
  2392.                     position: "absolute",
  2393.                     right: 0,
  2394.                     bottom: 0,
  2395.                     "border-top": "1px solid #3F9FFF",
  2396.                     "border-left": "1px solid #3F9FFF",
  2397.                     padding: "0.5em",
  2398.                     "text-align": "center",
  2399.                     cursor: "pointer",
  2400.                     height: "1em",
  2401.                     position: "absolute",
  2402.                     background: "white",
  2403.                     color: "black"
  2404.                 },
  2405.                 events: {
  2406.                     click: function () {
  2407.                         Ba("refuse");
  2408.                         G()
  2409.                     }
  2410.                 }
  2411.             }),
  2412.                 mb = new Element("span", {
  2413.                     text: "No",
  2414.                     styles: {
  2415.                         "vertical-align": "middle"
  2416.                     }
  2417.                 });
  2418.             ab.grab(mb);
  2419.             var bb = new Element("div", {
  2420.                 styles: {
  2421.                     position: "absolute",
  2422.                     bottom: 0,
  2423.                     left: 0,
  2424.                     background: "#3F9FFF",
  2425.                     padding: "0.5em",
  2426.                     "text-align": "center",
  2427.                     color: "white",
  2428.                     cursor: "pointer",
  2429.                     height: "1.5em",
  2430.                     "border-top": "1px solid #3F9FFF",
  2431.                     "border-right": "1px solid #3F9FFF",
  2432.                     width: "15.25em",
  2433.                     "z-index": "1",
  2434.                     "border-top-right-radius": "0.5em"
  2435.                 },
  2436.                 events: {
  2437.                     click: $a
  2438.                 }
  2439.             }),
  2440.                 nb = new Element("span", {
  2441.                     text: "Give me girls",
  2442.                     styles: {
  2443.                         "font-size": "1.5em",
  2444.                         "vertical-align": "middle",
  2445.                         "text-shadow": "0 0 15px #3F3F3F",
  2446.                         "-webkit-text-shadow": "0 0 15px #3F3F3F",
  2447.                         "-moz-text-shadow": "0 0 15px #3F3F3F"
  2448.                     }
  2449.                 });
  2450.             bb.grab(nb);
  2451.             L.grab(ab);
  2452.             L.grab(bb);
  2453.             var cb = new Element("div", {
  2454.                 styles: {
  2455.                     position: "absolute",
  2456.                     bottom: 0,
  2457.                     left: "15.75em",
  2458.                     background: "#FF7F00",
  2459.                     padding: "0.5em 0.5em 0.5em 1em",
  2460.                     "text-align": "center",
  2461.                     color: "white",
  2462.                     cursor: "pointer",
  2463.                     height: "1.5em",
  2464.                     "border-top": "1px solid #FF7F00",
  2465.                     "border-right": "1px solid #FF7F00",
  2466.                     width: "15.25em",
  2467.                     "border-top-right-radius": "0.5em",
  2468.                     "z-index": "0"
  2469.                 },
  2470.                 events: {
  2471.                     click: function () {
  2472.                         Ba("gayaccept");
  2473.                         window.open("http://wawadmin.omegle.com/redir/gay?track=interchat-notest")
  2474.                     }
  2475.                 }
  2476.             }),
  2477.                 ob = new Element("span", {
  2478.                     text: "Free gay cams",
  2479.                     styles: {
  2480.                         "font-size": "1.5em",
  2481.                         "vertical-align": "middle",
  2482.                         "text-shadow": "0 0 15px #7F7F7F",
  2483.                         "-webkit-text-shadow": "0 0 15px #7F7F7F",
  2484.                         "-moz-text-shadow": "0 0 15px #7F7F7F"
  2485.                     }
  2486.                 });
  2487.             cb.grab(ob);
  2488.             L.grab(cb);
  2489.             Aa.grab(L);
  2490.             na(Aa);
  2491.             I.set("disabled", !0);
  2492.             (new Image).src = "http://wawadmin.omegle.com/redir/interchatenter?track=notest";
  2493.             return
  2494.         }
  2495.         unmonChatCount++
  2496.     }
  2497.     var ma = null;
  2498.     "undefined" !== typeof googTr && googTr.c && "string" === typeof googTr.c && 2 <= googTr.c.length ? ma = googTr.c.substr(0, 2) : "undefined" !== typeof navigator && "string" === typeof navigator.language && (ma = navigator.language.substr(0, 2));
  2499.     a ? (flashCb_gotNearID = function (a,
  2500.         b) {
  2501.         resetStratusCallbacks();
  2502.         g.connect(a, null, !1, !1, Z, la, d ? "unmon" : null, ma, b)
  2503.     }, flashCb_errorConnectingToStratus = function () {
  2504.         resetStratusCallbacks();
  2505.         y("Error connecting to Adobe Stratus. Please try again.");
  2506.         D()
  2507.     }, $("flash").startChat ? $("flash").startChat() : (D(), G(!1)), d || (ea = setTimeout(function () {
  2508.         ea = null;
  2509.         var a = new Date;
  2510.         lastScreenshotTime && 6E4 > a - lastScreenshotTime || (lastScreenshotTime = a, Math.random() > screenshotPercent || $("flash").postScreenshot && antinudeServers.length && $("flash").postScreenshot(antinudeServers[$random(0,
  2511.             antinudeServers.length - 1)]))
  2512.     }, $random(1500, 3E3)))) : g.connect(null, b, c, e, Z, la, d ? "unmon" : null, ma);
  2513.     serverManager.unsetKnownGood()
  2514. };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top