function watch(videoid) { bootbox.dialog({ message: '', title: $(".title" + videoid).html(), buttons: { success: { label: "Sulje", className: "btn-success", callback: function() { } } } }); } function watchi(videoid) { bootbox.dialog({ message: '', title: $(".title" + videoid).html(), buttons: { success: { label: "Sulje", className: "btn-success", callback: function() { } } } }); } function linkify(inputText) { var replacedText, replacePattern1, replacePattern2, replacePattern3; //URLs starting with http://, https://, or ftp:// replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim; replacedText = inputText.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 textarearesize(pal) { console.log(pal); $('.chat[data-id="' + pal + '"] .chat-window').height(294 - $('.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 0 && activewin == 0) { timeout = setTimeout(step, 1000); }; }; howManyTimes = parseInt(howManyTimes); if (isNaN(howManyTimes)) { howManyTimes = 5; }; cancelFlashTitle(timeout); step(); }; window.cancelFlashTitle = function () { clearTimeout(timeout); document.title = original; }; }()); $(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('//kuuraketti.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; $.post("//kuuraketti.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"); unreadbtn = unreadbtn+1; } } else var newmsg = ""; $("#chatmenu .friends ul").append('
  • ' + v["username"] + '
  • '); $(".dropdown.friendlist.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(update != 1) { $("#chatmenu .menubutton").addClass("open"); $("#chatmenu .friendlist").slideDown(); $("#chatmenu .friendsearch").slideDown(); $("#chatmenu .settings").slideUp(); $("#chatmenu .settingsmenu").removeClass("open"); } }); if(unreadbtn == 0) $(".menubutton").addClass("btn-default").removeClass("btn-success"); } } function friendsearch() { var val = $("#chatmenu .friendsearch input").val(); if(val !="") { $.post('//kuuraketti.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( '//kuuraketti.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("//kuuraketti.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) { $(".chat" + pal).removeClass("closed"); if(forced != 1) { $(".chat" + pal + " .minichatbtn").addClass("btn-default").removeClass("btn-success"); $(".chat" + pal + " .chat-window").scrollTop($(".chat" + pal + " .chat-window")[0].scrollHeight); } $('.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("//kuuraketti.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[data-id="' + pal + '"] .picupload').popover({placement: 'top', html : true,content: function() { return $('#picup').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", "#000", "#fff"], function() { data = data + "x "; }); $.each([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: "//kuuraketti.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').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) { messageheight = $(this).height(); textarearesize(typid); } }); } } function seemore(pal,timing) { $.post("//kuuraketti.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="' + iud + '"] .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"); }); $('.chat-window[data-id="' + iud + '"] .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); }); } } 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("//kuuraketti.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("//kuuraketti.fi/handler.php", { getfrequests : true }).done(function (data) { if(data != "") { 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( "//kuuraketti.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( "//kuuraketti.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); }); }