var supnotification = 0; if (navigator.userAgent.indexOf("MSIE ") > -1 || navigator.userAgent.indexOf("Trident/") > -1) { supnotification = 0; } else { supnotification = 1; } //POISTA KUN VALMIS var _gaq = new Array(); function linkify(inputText) { var replacedText, replacePattern1, replacePattern2, replacePattern3; replacedText = inputText; //URLs starting with http://, https://, or ftp:// replacePattern1 = /(https?:\/\/[^\s]+)/g; replacedText = replacedText.replace(replacePattern1, '$1'); //URLs starting with "www." (without // before it, or it'd re-link the ones done above). replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim; replacedText = replacedText.replace(replacePattern2, '$1$2'); //Change email addresses to mailto:: links. replacePattern3 = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim; replacedText = replacedText.replace(replacePattern3, '$1'); return replacedText; } function showfriendusers() { bootbox.alert('
' + $(".mobilefriends").html() + '
'); } function textarearesize(pal) { //console.log(pal); $('.chat[data-id="' + pal + '"] .chat-window').height(295 - $('.chat[data-id="' + pal + '"] textarea').height()); $('.chat[data-id="' + pal + '"] .chatinputs .btn').height($('.chat[data-id="' + pal + '"] textarea').height()); } function getMin(arr, prop) { var max; for (var i=0 ; i'); }); $(".giphyresults").append('Lataa lisää'); }); } function gifbtn() { $('.chat[data-id="' + openid + '"] .medias').popover('hide'); $('.chat[data-id="' + openid + '"] .gifupload').popover('show'); giphy.trending(function(data) { data = data.data; $.each(data,function(key,val) { $(".giphyresults").append(''); }); }); $(".giphysearch").on("keyup",function() { giphyval = $(this).val(); clearTimeout(giphyout); giphyout = setTimeout(function() { giphy.search({ q: giphyval, offset: 0, lang: 'fi', fmt: 'json', 'limit': 11 },function(data) { $(".giphyresults").html(""); data = data.data; $.each(data,function(key,val) { $(".giphyresults").append(''); }); $(".giphyresults").append('Lataa lisää'); }); },500); }); $(".giphysearch").focus(); } var lastgiphy; function sendgiphy(url) { if(url != lastgiphy) { socket.emit('message', { room: roomid[0], user: userid[0], message: url, meta: { gif: 1 } }); if(type == "group" || type == "chatroom") { if(gid[userid[0]] == undefined) { gid[userid[0]] = userid[0].substring(1, 4); } newmsg(url, roomid[0], 1,0,gid[userid[0]]); } else newmsg(url, roomid[0], 1,0); $('.chat[data-id="' + openid + '"] .gifupload').popover('hide'); lastgiphy = url; } } var audiorec; function audbtn() { $('.chat[data-id="' + openid + '"] .medias').popover('hide'); $('.chat[data-id="' + openid + '"] .audioupload').popover('show'); audiorec({wasmURL: "//nu.deittihuone.fi//js/mp3/vmsg.wasm"}).then(blob => { var url = URL.createObjectURL(blob); var fd = new FormData(); fd.append('fname', Math.floor((Math.random() * 1000000) + 1) + '.mp3'); fd.append('data', blob); $.ajax({ type: 'POST', url: 'https://omegle.fi/inc/audioupload.php', data: fd, processData: false, contentType: false }).done(function(data) { console.log(data); if(data != "false") { if(type == "group" || type == "chatroom") newmsg(data, roomid[openid], 1,0,gid[userid[openid]],9); else newmsg(data, roomid[openid], 1,0,0,9); socket.emit('message', { room: roomid[openid], user: userid[openid], message: data, meta: { type: 9 } }); $("#audioupload").popover("hide"); $(".audioupload").popover("hide"); } }); }); } (function () { window.flashTitle = function (newMsg, howManyTimes) { function step() { document.title = (document.title == original) ? newMsg : original; if (--howManyTimes > 0 && activewin == 0) { timeout = setTimeout(step, 1000); }; }; window.parent.postMessage(newMsg,"*"); howManyTimes = parseInt(howManyTimes); if (isNaN(howManyTimes)) { howManyTimes = 5; }; cancelFlashTitle(timeout); step(); }; window.cancelFlashTitle = function () { clearTimeout(timeout); document.title = original; //window.parent.postMessage("0","*"); }; }()); $(function() { $('#login').submit(function (event) { var $form = $(this), user = $form.find('input[name="username"]').val(), pass = $form.find('input[name="password"]').val(); emaili = $form.find('input[name="email"]').val(); if($('#create').prop('checked') && emaili == "") { $('#error').html(''); } else { if (user != '' && pass != '') { /* document.cookie = 'new_session=; expires=Thu, 01-Jan-70 00:00:01 GMT;'; */ $.post('//nu.deittihuone.fi/inc/login.php', { username : user, password : pass, email : emaili, login : true }, function (data) { if (data != 'false' && data != '') { location.reload(); } else { if(!$('#create').prop('checked') || emaili == "") $('#error').html(''); else $('#error').html(''); } }); } else { $('#error').html(''); } } event.preventDefault(); }); }); $(document).keydown(function (e) { if(localStorage.shortcuts == 1) { switch (e.keyCode) { case 27: $('.disconnect').trigger("click"); break; } } }); function loadScript(url, callback){ var script = document.createElement("script") script.type = "text/javascript"; if (script.readyState){ //IE script.onreadystatechange = function(){ if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; callback(); } }; } else { //Others script.onload = function(){ callback(); }; } script.src = url; document.getElementsByTagName("head")[0].appendChild(script); } var users = new Array(); function friendmenu(update) { if($("#chatmenu .menubutton").hasClass("open") && update != 1) { $("#chatmenu .menubutton").removeClass("open"); $("#chatmenu .friendlist").slideUp(); $("#chatmenu .friendsearch").slideUp(); } else { var unreadbtn = 0; if(update != 1) { $("#chatmenu .menubutton").addClass("open"); $("#chatmenu .friendlist").slideDown(); $("#chatmenu .friendsearch").slideDown(); $("#chatmenu .settings").slideUp(); $("#chatmenu .settingsmenu").removeClass("open"); } $.post("//nu.deittihuone.fi/handler.php", { friendlist : "true", active : document.hasFocus(), }) .done(function (data) { $(".friendlist.friends ul").html(""); var ocount = 0; if(data != "") { $.each($.parseJSON(data), function(k, v) { users[v["uid"]] = [v["askroom"],v["userid"],v["username"],v["status"]]; if(v["unread"] == 1) { var newmsg = "newmsg"; if(unreadbtn == 0) { $(".menubutton").removeClass("btn-default").addClass("btn-success"); $(".navbar-toggle").addClass("unreaded"); $(".friends-toggle").addClass("unreaded"); unreadbtn = unreadbtn+1; } } else var newmsg = ""; $("#chatmenu .friends ul").append('
  • ' + v["username"] + '
  • '); $(".mobilefriends.friends ul").append('
  • ' + v["username"] + '
  • '); $("#minichats .chat" + v["uid"] + " .minichatbtn").removeClass("online offline away").addClass(v["status"]); if(roomid.indexOf(v["askroom"]) == -1) socket.emit('join', { room: v["askroom"], user: v["userid"] }, function(err) { if(err) console.error(err); }); roomid[v["uid"]] = v["askroom"]; username[v["uid"]] = v["username"]; userid[v["uid"]] = v["userid"]; if(v["status"] != "offline") ocount = ocount + 1; }); } var val = $("#chatmenu .friendsearch input").val(); if(val !="") { $("#chatmenu .friends li").each(function() { if($(this).find(".username").html().toLowerCase().indexOf(val.toLowerCase()) == -1) $(this).hide(); else $(this).show(); }); } else { $("#chatmenu .friendlist li").show(); } $(".fonline").html("(" + ocount + ")"); }); if(unreadbtn == 0) { $(".menubutton").addClass("btn-default").removeClass("btn-success"); $(".navbar-toggle").removeClass("unreaded"); $(".friends-toggle").removeClass("unreaded"); } } } function friendsearch() { var val = $("#chatmenu .friendsearch input").val(); if(val !="") { $.post('//nu.deittihuone.fi/handler.php', { searchfriend: val }).done(function (data) { if (data != '' && data != "[]") { $('#chatmenu .addfriends ul').html(''); $.each($.parseJSON(data), function (k, v) { if(v.isfriend != 2) { if(v.isfriend == 1) { var friendbtn = 'Pyydetty'; } else { var friendbtn = ''; } $('#chatmenu .addfriends ul').append('
  • ' + v.username + ' ' + friendbtn + '
  • '); } }); } else { if($('#chatmenu .friends li:visible').length > 0) $('#chatmenu .addfriends ul').html(''); else $('#chatmenu .addfriends ul').html('
  • Ei käyttäjiä
  • '); } }); $("#chatmenu .friendlist li").each(function() { if($(this).find(".username").html().toLowerCase().indexOf(val.toLowerCase()) == -1) $(this).hide(); else $(this).show(); }); } else { $("#chatmenu .friendlist li").show(); } } function addtofriend(pal) { $.post( '//nu.deittihuone.fi/handler.php', { askfriend: pal }) .done(function( data ) { if(data == "true") { $(".addfriends li[data-id='" + pal + "'] .btn-success").removeClass("btn-success").addClass("btn-warning").html("Pyydetty"); } }); } function closechat(pal) { $(".chat" + pal).remove(); //socket.emit('left', { room: roomid[pal], user: userid[pal] }, function(err) { if(err) console.error(err); }); var idx2 = JSON.parse(localStorage.minitabs); idx2 = idx2.indexOf(pal); if (idx2 != -1) { var lol2 = JSON.parse(localStorage.minitabs); lol2.splice(idx2, 1); localStorage.minitabs = JSON.stringify(lol2); } var idx = JSON.parse(localStorage.chattabs); idx = idx.indexOf(pal); if (idx != -1) { var lol = JSON.parse(localStorage.chattabs); lol.splice(idx, 1); localStorage.chattabs = JSON.stringify(lol); } } function ignorechat(pal) { bootbox.confirm("Haluatko varmasti estää käyttäjän? Eston voit poistaa asetuksista.", function(result) { if(result == true) { $.post("//nu.deittihuone.fi/handler.php", { ignoreuser : pal, ignore : true }) .done(function (data) { if(data == "true") { closechat(pal); $(".user" + pal).slideUp(); friendmenu(1); socket.emit('part', { room: roomid[pal], user: userid[pal]}); } }); } }); minimizechat(pal); } function minimizechat(pal,forced) { if($('.chat[data-id="' + pal + '"]').length > 0) { if(forced == undefined) var forced = 0; if(($(".chat" + pal).hasClass("closed") || forced == 1) && forced != 2) { if($(".chat" + pal).hasClass("closed")) { $(".chat" + pal).removeClass("closed"); $(".chat" + pal + " .chat-window").scrollTop($(".chat" + pal + " .chat-window")[0].scrollHeight); } else { $(".chat" + pal).removeClass("closed"); } if(forced != 1) { $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); } $('.friends .newmsg[data-id="' + pal + '"]').removeClass("newmsgs"); if(localStorage.minitabs != "") var idx = JSON.parse(localStorage.minitabs); else var idx = []; idx = idx.indexOf(pal); if (idx != -1) { var lol = JSON.parse(localStorage.minitabs); lol.splice(idx, 1); // The second parameter is the number of elements to remove. localStorage.minitabs = JSON.stringify(lol); } } else { $(".chat" + pal).addClass("closed"); if(forced != 2) $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); var names = ""; if(localStorage.minitabs != "") names = JSON.parse(localStorage.minitabs); if(names == "") names = []; if(names.indexOf(pal) == -1 && pal != -1) names.push(pal); localStorage.minitabs = JSON.stringify(names); } } tabmiz(); } if (!Date.now) { Date.now = function() { return new Date().getTime(); }; } function openchat(pal,forced) { if(forced == undefined) var forced = 0; var names = ""; if(localStorage.chattabs != "") names = JSON.parse(localStorage.chattabs); if(names == "") names = []; if(names.indexOf(pal) == -1 && pal != -1) names.push(pal); localStorage.chattabs = JSON.stringify(names); var names = ""; if(localStorage.minitabs != "") names = JSON.parse(localStorage.minitabs); if(names == "") names = []; if(forced != 1 && names.indexOf(pal) != -1 && $('.chat[data-id="' + pal + '"]').length > 0) { minimizechat(pal,2); } else if($('.chat[data-id="' + pal + '"]').length > 0) { minimizechat(pal,1); } else if(users[pal] != undefined) { var useri = $('#chatmenu .user[data-id="' + pal + '"] .username').html(); var tpl = $("#chattemplate").html().replace(/repspoks/g,pal); tpl = tpl.replace(/useripoks/g,useri); tpl = tpl.replace(/statusnow/g,users[pal][3]); if(names.indexOf(pal) != -1) tpl = tpl.replace(/closedreps/g,"closed"); else tpl = tpl.replace(/closedreps/g,""); $("#minichats").append(tpl); $.post("//nu.deittihuone.fi/handler.php", { getmessages : "true", limit : 20, friend: pal }).done(function (data) { if(data != "") { var arr = JSON.parse(data); arr.reverse(); if(arr.length >= 20) $('.chat-window[data-id="' + pal + '"] .chatdata').append('
  • Näytä lisää
  • '); $.each(arr, function(idx, obj) { if(obj.user == userid[pal]) who = 1; else who = 2; if(obj.meta != undefined) { if(obj.meta.type == 6 || obj.meta.type == 3 || obj.meta.type == 4 || obj.meta.type == 5) obj.meta.type = 0; if(obj.meta.time != undefined) newmsg(obj.message,roomid[pal],who,obj.created,0,obj.meta.type,1,0,1); else newmsg(obj.message,roomid[pal],who,obj.created,0,obj.meta.type,1,0,1); } else newmsg(obj.message,roomid[pal],who,obj.created,0,0,1,0,1); $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); }); $(".chat" + pal + " .chat-window").scrollTop($(".chat" + pal + " .chat-window")[0].scrollHeight); $('.chat[data-id="' + pal + '"] textarea').autosize({append: ""}); $('.chat[data-id="' + pal + '"] .medias').popover({ html : true,content: function() { return $('#media').html(); }}); $('.chat[data-id="' + pal + '"] .medias').on('shown.bs.popover', function () { openid = pal; $('.chat:not([data-id="' + pal + '"]) .medias').popover('hide'); }); $('.chat[data-id="' + pal + '"] .picupload').popover({placement: 'top', html : true,content: function() { return $('#picup').html(); }}); $('.chat[data-id="' + pal + '"] .audioupload').popover({placement: 'top', html : true,content: function() { return $('#audioup').html(); }}); $('.chat[data-id="' + pal + '"] .gifupload').popover({placement: 'top', html : true,content: function() { return $('#gifup').html(); }}); $('.chat[data-id="' + pal + '"] .videoupload').popover({placement: 'top', html : true,content: function() { return $('#videoup').html(); }}); $('.chat[data-id="' + pal + '"] .smileybtn').popover({ template: '

    ', html : true,content: function() { return $('#smileys').html(); }}); $('.chat[data-id="' + pal + '"] .drawbtn').popover({ placement: 'top',template: '

    ', html : true,content: function() { return $('#draws').html(); }}); $('.chat[data-id="' + pal + '"] .drawbtn').on('shown.bs.popover', function () { if(drawns != 1) { var data = ""; data = '
    '; $.each([ "#f00", "#ff0", "#0f0", "#0ff", "#00f", "#f0f", "#fff", "#C0C0C0" , "#808080", "#000", "#800000", "#800080" , "#FF7F00", "#008000", "#808000" , "#000080", "#964B00","#C0DCC0","#A6CAF0","#FFFBF0"], function() { data = data + "x "; }); data = data + '
    '; data = data + " "; $.each([1, 3, 5, 10, 15], function() { data = data + "" + this + " "; }); $(".drawtools").append(data + '
    '); drawns = 1; } $("#colors_sketch").sketch(); }); } }); $( '.chat[data-id="' + pal + '"] .messageinput').focus(function() { $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); $('.friendlist .newmsg[data-id="' + pal + '"]').removeClass("newmsg"); $.ajax({type: 'POST',url: "//nu.deittihuone.fi/handler.php",data: 'readed=' + pal}); socket.emit('meta', { room: roomid[pal], user: userid[pal], data: { readed: true } }); if($('.friendlist .newmsg').length == 0) $('.menubutton').removeClass("btn-success").addClass("btn-default"); }); $( '.chat[data-id="' + pal + '"] .messageinput').bind("paste keydown",function( event ) { var typid = $(this).data("id"); if(!event.ctrlKey && event.keyCode == 13) { if($(this).val() != "") { sendmsg($(this).data("id")); } event.preventDefault(); $(this).val(""); $('.chat[data-id="' + typid + '"] textarea').trigger('autosize.resize'); } else { if(write == 0) { socket.emit('meta', { room: roomid[typid], user: userid[typid], data: { typing: true } }); write = 1; setTimeout(function() { write = 0; },1000); } } if($(this).height() != messageheight) { setTimeout(function() { messageheight = $(this).height(); textarearesize(typid); },50); } }); } } function seemore(pal,timing) { $.post("//nu.deittihuone.fi/handler.php", { getmessages : "true", limit : 20, from : timing-100, friend: pal }).done(function (data) { if(data != "") { var arr = JSON.parse(data); $('.chat-window[data-id="' + pal + '"] .chatdata .seemore').remove(); if(arr.length > 0) { $.each(arr, function(idx, obj) { if(obj.user == userid[pal]) who = 1; else who = 2; if(obj.meta != undefined) { if(obj.meta.type == 6 || obj.meta.type == 3 || obj.meta.type == 4 || obj.meta.type == 5) obj.meta.type = 0; if(obj.meta.time != undefined) newmsg(obj.message,roomid[pal],who,obj.created,0,obj.meta.type,1,1,1); else newmsg(obj.message,roomid[pal],who,obj.created,0,obj.meta.type,1,1,1); } else newmsg(obj.message,roomid[pal],who,obj.created,0,0,1,1,1); $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); }); if(arr.length >= 20) $('.chat-window[data-id="' + pal + '"] .chatdata').prepend('
  • Näytä lisää
  • '); } } }); } function updatetabs() { if(localStorage.chattabs != "" && localStorage.chattabs != "[]") { var arr = JSON.parse(localStorage.chattabs); $.each(arr, function(idx, obj) { openchat(obj); }); $("#minichats .chat").each(function( index ) { if(arr.indexOf($(this).data("id")) == -1) { closechat($(this).data("id")); } }); } else if(localStorage.chattabs != "") { var arr = JSON.parse(localStorage.chattabs); $("#minichats .chat").each(function( index ) { if(arr.indexOf($(this).data("id")) == -1) { closechat($(this).data("id")); } }); } } function settingsmenu() { $("#chatmenu .menubutton").removeClass("open"); $("#chatmenu .friendlist").slideUp(); $("#chatmenu .friendsearch").slideUp(); if($("#chatmenu .settingsmenu").hasClass("open")) { $("#chatmenu .settingsmenu").removeClass("open"); $("#chatmenu .settings").slideUp(); } else { $("#chatmenu .settingsmenu").addClass("open"); $("#chatmenu .settings").slideDown(); } } function enablechat() { $.post("//nu.deittihuone.fi/handler.php", { enablechat : $(".ena input:checked").length, }); if($(".ena input:checked").length == 0) { $(".menubutton, #minichats").hide(); $(".menubutton").addClass("chatdisabled"); var i; var that = this; for (i = 0; i < roomid.length; ++i) { if(i != 0 && roomid[i] != undefined) { that.socket.emit('part', { room: roomid[i], user: userid[i]}, function(err) {if(err) console.error(err);}); that.roomid.splice(i,1); that.userid.splice(i,1); } } } else { $(".menubutton, #minichats").show(); $(".menubutton").removeClass("chatdisabled"); setInterval(function() { updatetabs(); },2000); updatetabs(); setInterval(function() { friendmenu(1); },30000); friendmenu(1); } } function frequests() { if($(".frequests").hasClass("open")) { $(".frequests").hide().removeClass("open").html(""); } else { $.post("//nu.deittihuone.fi/handler.php", { getfrequests : true }).done(function (data) { if(data != "") { $(".frequests").append('
  • Lisää kaveriksi
  • '); var arr = JSON.parse(data); $.each(arr, function(idx, obj) { $(".frequests").append('
  • ' + obj.username + '
  • '); }); } }); $(".frequests").show().addClass("open"); } } function rmfriend(pal) { bootbox.confirm("Oletko varma tämän poistosta?", function(result) { if(result) { $.post( "//nu.deittihuone.fi/handler.php", { rmfriend: pal }) .done(function( data ) { if(data == "true") { $(".rmfriend").remove(); if(parseInt($(".fcount").html()) > 0) { $(".fre" + pal).remove(); $(".fcount").html(parseInt($(".fcount").html()) - 1); } else { $(".frequests").hide(); $(".fcount").html(parseInt($(".fcount").html()) - 1); } } }); } }); } function allowfriend(pal) { $.post( "//nu.deittihuone.fi/handler.php", { allowfriend: pal }) .done(function( data ) { if(data == "true") $(".rmfriend").remove(); $(".fre" + pal).remove(); $(".fcount").html($(".fcount").html()-1); }); } if(chatenabled == 1) { setInterval(function() { updatetabs(); },2000); setInterval(function() { friendmenu(1); },30000); friendmenu(1); $(function() { setTimeout(function() {updatetabs();},0); }); }