Files
phpbb_mchat_tlw/styles/prosilver/template/mchat_ajax_mini_top.js
2015-04-22 21:34:31 +02:00

33 lines
14 KiB
JavaScript

/**
*
* @package mChat JavaScript Code mini
* @version 1.4.4 of 2013-11-03
* @copyright (c) 2013 By Rich McGirr (RMcGirr83) http://rmcgirr83.org
* @copyright (c) 2009 By Shapoval Andrey Vladimirovich (AllCity) ~ http://allcity.net.ru/
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
Code uses the titlealert jQuery plugin, options are below
interva 500 The flashing interval in milliseconds.
originalTitleInterval null Time in milliseconds that the original title is diplayed for. If null the time is the same as interval.
duration 0 The total lenght of the flashing before it is automatically stopped. Zero means infinite.
stopOnFocus true If true, the flashing will stop when the window gets focus.
stopOnMouseMove false If true, the flashing will stop when the document recieves a mousemove event (i.e. when the user moves the mouse over the document area, regardless of what window is active).
To use find titlealert in the code and make as so
$jQ.titleAlert(mChatNewMessageAlert, {
requireBlur:false,
stopOnFocus:false,
duration:4000,
interval:700
});
**/
var $jQ=jQuery;var hasFocus=true;$jQ(function(){if(!mChatArchiveMode){if(mChatPause){$jQ("#mChatMessage").bind("keypress",function(){clearInterval(interval);$jQ("#mChatLoadIMG,#mChatOkIMG,#mChatErrorIMG").hide();$jQ("#mChatRefreshText").html(mChatRefreshNo).addClass("mchat-alert");$jQ("#mChatPauseIMG").show()})}$jQ([window,document]).blur(function(){hasFocus=false}).focus(function(){hasFocus=true});$jQ.fn.autoGrowInput=function(e){var t=$jQ(".mChatPanel").width();e=$jQ.extend({maxWidth:t-20,minWidth:0,comfortZone:20},e);this.filter("input:text").each(function(){var t=e.minWidth||$jQ(this).width(),n="",r=$jQ(this),i=$jQ("<div/>").css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:r.css("fontSize"),fontFamily:r.css("fontFamily"),fontWeight:r.css("fontWeight"),letterSpacing:r.css("letterSpacing"),whiteSpace:"nowrap"}),s=function(){if(n===(n=r.val())){return}var s=n.replace(/&/g,"&").replace(/\s/g," ").replace(/</g,"&lt;").replace(/>/g,"&gt;");i.html(s);var u=i.width(),a=u+e.comfortZone>=t?u+e.comfortZone:t,f=r.width(),l=a<f&&a>=t||a>t&&a<e.maxWidth;if(l){r.width(a)}};i.insertAfter(r);$jQ(this).bind("keypress blur change submit focus",s)});return this};$jQ("input.mChatText").autoGrowInput();if(mChatSound&&$jQ.cookie("mChatNoSound")!="yes"){$jQ.cookie("mChatNoSound",null);$jQ("#mChatUseSound").attr("checked","checked")}else{$jQ.cookie("mChatNoSound","yes");$jQ("#mChatUseSound").removeAttr("checked")}if($jQ("#mChatUserList").length&&($jQ.cookie("mChatShowUserList")=="yes"||mChatCustomPage)){$jQ("#mChatUserList").show()}}$jQ.browser={};$jQ.browser.msie=false;if(navigator.userAgent.match(/MSIE ([0-9]+)\./)||navigator.userAgent.match(/Trident\/7.0; rv 11.0/)){$jQ.browser.msie=true}});var mChat={countDown:function(){if($jQ("#mChatSessMess").hasClass("mchat-alert")){$jQ("#mChatSessMess").removeClass("mchat-alert")}session_time=session_time-1;var e=Math.floor(session_time);var t=Math.floor(e/60);var n=Math.floor(t/60);e=e%60;if(e<=9){e="0"+e}t=t%60;if(t<=9){t="0"+t}n=n%60;if(n<=9){n="0"+n}var r=n+":"+t+":"+e;$jQ("#mChatSessMess").html(mChatSessEnds+" "+r);if(session_time<=0){clearInterval(counter);$jQ("#mChatSessMess").html(mChatSessOut).addClass("mchat-alert")}},clear:function(){if($jQ("#mChatMessage").val()==""){return false}var e=confirm(mChatReset);if(e){if($jQ("#mChatRefreshText").hasClass("mchat-alert")){$jQ("#mChatRefreshText").removeClass("mchat-alert")}if(mChatPause){interval=setInterval(function(){mChat.refresh()},mChatRefresh)}$jQ("#mChatOkIMG").show();$jQ("#mChatLoadIMG, #mChatErrorIMG, #mChatPauseIMG").hide();$jQ("#mChatRefreshText").html(mChatRefreshYes);$jQ("#mChatMessage").val("").focus()}else{$jQ("#mChatMessage").focus()}},sound:function(e){if($jQ.cookie("mChatNoSound")=="yes"){return}if($jQ.browser.msie){$jQ("#mChatSound").html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="0" width="0" type="application/x-shockwave-flash"><param name="movie" value="'+e+'"></object>')}else{$jQ("#mChatSound").html('<embed src="'+e+'" width="0" height="0" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>')}},notice:function(){if(!hasFocus){$jQ.titleAlert(mChatNewMessageAlert,{interval:1e3})}},toggle:function(e){$jQ("#mChat"+e).slideToggle("normal",function(){if($jQ("#mChat"+e).is(":visible")){$jQ.cookie("mChatShow"+e,"yes")}if($jQ("#mChat"+e).is(":hidden")){$jQ.cookie("mChatShow"+e,null)}})},add:function(){if($jQ("#mChatMessage").val()==""){return false}var e=$jQ("#mChatMessage").val().replace(/ /g,"");if(e.length>mChatMssgLngth&&mChatMssgLngth){alert(mChatMssgLngthLong);return}$jQ.ajax({url:mChatFile,timeout:1e4,type:"POST",data:$jQ("#postform").serialize(),async:true,dataType:"text",beforeSend:function(){$jQ("#submit_button").attr("disabled","disabled");if(mChatUserTimeout){clearInterval(activeinterval);clearInterval(counter)}clearInterval(interval)},success:function(){mChat.refresh()},error:function(e){if(e.status==400){alert(mChatFlood)}else if(e.status==403){alert(mChatNoAccess)}else if(e.status==501){alert(mChatNoMessageInput)}},complete:function(){if($jQ("#mChatData").children("#mChatNoMessage :last")){$jQ("#mChatNoMessage").remove()}$jQ("#submit_button").removeAttr("disabled");interval=setInterval(function(){mChat.refresh()},mChatRefresh);if(mChatUserTimeout){session_time=mChatUserTimeout?mChatUserTimeout/1e3:false;counter=setInterval(function(){mChat.countDown()},1e3);activeinterval=setInterval(function(){mChat.active()},mChatUserTimeout)}$jQ("#mChatMessage").val("").focus()}})},edit:function(id){var message=$jQ('#edit'+id).val();apprise(mChatEditInfo,{'textarea':message,'animate':true,'position':200,'confirm':true}, function(r){if(r){$jQ.ajax({url:mChatFile,timeout:10000,type:'POST',data:{mode:'edit',message_id:id,message:r},dataType:'text',beforeSend:function(){clearInterval(interval);if(mChatUserTimeout){clearInterval(activeinterval);clearInterval(counter);$jQ('#mChatSessTimer').html(mChatRefreshing)}},success:function(html){$jQ('#mess'+id).fadeOut('slow',function(){$jQ(this).replaceWith(html);$jQ('#mess'+id).css('display','none').fadeIn('slow')})},error:function(XMLHttpRequest){if(XMLHttpRequest.status==403){alert(mChatNoAccess)}else if(XMLHttpRequest.status==501){alert(mChatNoMessageInput)}},complete:function(){interval=setInterval(function(){mChat.refresh()},mChatRefresh);if(mChatUserTimeout){session_time=mChatUserTimeout?mChatUserTimeout/1000:false;counter=setInterval(function(){mChat.countDown()},1000);activeinterval=setInterval(function(){mChat.active()},mChatUserTimeout)}if(!mChatArchiveMode){scrH=$jQ('#mChatmain')[0].scrollHeight;window.setTimeout(function(){$jQ('#mChatmain')},1500)}}})}})},del:function(e){apprise(mChatDelConfirm,{'position':200,'animate':true,'confirm':true},function(del){if(del){$jQ.ajax({url:mChatFile,timeout:1e4,type:"POST",data:{mode:"delete",message_id:e},beforeSend:function(){clearInterval(interval);if(mChatUserTimeout){clearInterval(activeinterval);clearInterval(counter);$jQ("#mChatSessTimer").html(mChatRefreshing)}},success:function(){$jQ("#mess"+e).fadeOut("slow",function(){$jQ(this).remove()});mChat.sound(mChatForumRoot+"ext/dmzx/mchat/sounds/del.swf")},error:function(){alert(mChatNoAccess)},complete:function(){interval=setInterval(function(){mChat.refresh()},mChatRefresh);if(mChatUserTimeout){session_time=mChatUserTimeout?mChatUserTimeout/1e3:false;counter=setInterval(function(){mChat.countDown()},1e3);activeinterval=setInterval(function(){mChat.active()},mChatUserTimeout)}}})}else{return false;}});},refresh:function(){if(mChatArchiveMode){return}var e=0;if($jQ("#mChatData").children().not("#mChatNoMessage").length){if($jQ("#mChatNoMessage")){$jQ("#mChatNoMessage").remove()}if($jQ("#mChatData").children(":first").not("#mChatNoMessage").attr("id")!=undefined){e=$jQ("#mChatData").children(":first").attr("id").replace("mess","")}}$jQ.ajax({url:mChatFile,timeout:1e4,type:"POST",data:{mode:"read",message_last_id:e},dataType:"html",beforeSend:function(){$jQ("#mChatOkIMG,#mChatErrorIMG,#mChatPauseIMG").hide();$jQ("#mChatLoadIMG").show()},success:function(e){if(e!=""&&e!=0){if($jQ("#mChatRefreshText").hasClass("mchat-alert")){$jQ("#mChatRefreshText").removeClass("mchat-alert")}$jQ("#mChatData").prepend(e).children(":first").not("#mChatNoMessage");$jQ("#mChatData div:first").not("#mChatNoMessage").fadeIn("slow");mChat.sound(mChatForumRoot+"ext/dmzx/mchat/sounds/add.swf");mChat.notice()}setTimeout(function(){$jQ("#mChatLoadIMG,#mChatErrorIMG,#mChatPauseIMG").hide();$jQ("#mChatOkIMG").show();$jQ("#mChatRefreshText").html(mChatRefreshYes)},500)},error:function(){$jQ("#mChatLoadIMG,#mChatOkIMG,#mChatPauseIMG,#mChatRefreshTextNo,#mChatPauseIMG,").hide();$jQ("#mChatErrorIMG").show();mChat.sound(mChatForumRoot+"ext/dmzx/mchat/sounds/error.swf")},complete:function(){if(!$jQ("#mChatData").children(":first").length){$jQ("#mChatData").append('<div id="mChatNoMessage">'+mChatNoMessage+"</div>").show("slow")}}})},stats:function(){if(!mChatWhois){return}$jQ.ajax({url:mChatFile,timeout:1e4,type:"POST",data:{mode:"stats"},dataType:"html",beforeSend:function(){if(mChatCustomPage){$jQ("#mChatRefreshN").show();$jQ("#mChatRefresh").hide()}},success:function(data){var json = $.parseJSON(data);$jQ("#mChatStats").replaceWith(json.message);if(mChatCustomPage){setTimeout(function(){$jQ("#mChatRefreshN").hide();$jQ("#mChatRefresh").show()},500)}},error:function(){mChat.sound(mChatForumRoot+"ext/dmzx/mchat/sounds/error.swf")},complete:function(){if($jQ("#mChatUserList").length&&($jQ.cookie("mChatShowUserList")=="yes"||mChatCustomPage)){$jQ("#mChatUserList").css("display","block")}}})},active:function(){if(mChatArchiveMode||!mChatUserTimeout){return}clearInterval(interval);$jQ("#mChatLoadIMG,#mChatOkIMG,#mChatErrorIMG").hide();$jQ("#mChatPauseIMG").show();$jQ("#mChatRefreshText").html(mChatRefreshNo).addClass("mchat-alert");$jQ("#mChatSessMess").html(mChatSessOut).addClass("mchat-alert")}};var interval=setInterval(function(){mChat.refresh()},mChatRefresh);var statsinterval=setInterval(function(){mChat.stats()},mChatWhoisRefresh);var activeinterval=setInterval(function(){mChat.active()},mChatUserTimeout);var session_time=mChatUserTimeout?mChatUserTimeout/1e3:false;if(mChatUserTimeout){var counter=setInterval(function(){mChat.countDown()},1e3)}if($jQ.cookie("mChatShowSmiles")=="yes"&&$jQ("#mChatSmiles").css("display","none")){$jQ("#mChatSmiles").slideToggle("slow")}if($jQ.cookie("mChatShowBBCodes")=="yes"&&$jQ("#mChatBBCodes").css("display","none")){$jQ("#mChatBBCodes").slideToggle("slow")}if($jQ.cookie("mChatShowUserList")=="yes"&&$jQ("#mChatUserList").length){$jQ("#mChatUserList").slideToggle("slow")}if($jQ.cookie("mChatShowColour")=="yes"&&$jQ("#mChatColour").css("display","none")){$jQ("#mChatColour").slideToggle("slow")}$jQ("#mChatUseSound").change(function(){if($jQ(this).is(":checked")){$jQ.cookie("mChatNoSound",null)}else{$jQ.cookie("mChatNoSound","yes")}})
function mChatTimeShow(id){var tid = parseInt(id);$(".mchatrow" + id).show();}function mChatTimeHide(id){var tid = parseInt(id);$(".mchatrow" + id).hide();}
// Apprise 1.5 by Daniel Raftery
// http://thrivingkings.com/apprise
//
// Button text added by Adam Bezulski
//
// Cached jQuery variables, position center added by Josiah Ruddell
function apprise(a,b,c){a='<span style="font-weight:bold; font-size:1.2em;">'+a+"</span>";var d={confirm:false,verify:false,input:false,textarea:false,animate:false,textOk:"Ok",textCancel:"Cancel",textYes:"Yes",textNo:"No",position:"center"};if(b){for(var e in d){if(typeof b[e]=="undefined")b[e]=d[e]}}var f=$(document).height(),g=$(document).width(),h=$('<div class="appriseOuter"></div>'),i=$('<div class="appriseOverlay" id="aOverlay"></div>'),j=$('<div class="appriseInner"></div>'),k=$('<div class="aButtons"></div>'),l=300;i.css({height:f,width:g}).appendTo("body").fadeIn(100,function(){$(this).css("filter","alpha(opacity=70)")});h.prependTo("body");j.append(a).appendTo(h);if(b){if(b["input"]){if(typeof b["input"]=="string"){j.append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" value="'+b["input"]+'" /></div>')}else{j.append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox" /></div>')}$(".aTextbox").focus()}if(typeof b["textarea"]=="string"){j.append('<div class="aInput"><textarea name="message" class="aEdit" style="height: 9em;" rows="5" cols="180">'+b["textarea"]+"</textarea></div>");$(".aEdit").focus()}}j.append(k);if(b){if(b["confirm"]||b["input"]){k.append('<button value="ok">'+b["textOk"]+"</button>");k.append('<button value="cancel">'+b["textCancel"]+"</button>")}else if(b["verify"]){k.append('<button value="ok">'+b["textYes"]+"</button>");k.append('<button value="cancel">'+b["textNo"]+"</button>")}else{k.append('<button value="ok">'+b["textOk"]+"</button>")}}else{k.append('<button value="ok">Ok</button>')}h.css("left",($(window).width()-$(".appriseOuter").width())/2+$(window).scrollLeft()+"px");if(b){if(b["position"]&&b["position"]==="center"){l=(f-h.height())/2}if(b["animate"]){var m=b["animate"];if(isNaN(m)){m=400}h.css("top","-200px").show().animate({top:l},m)}else{h.css("top",l).fadeIn(200)}}else{h.css("top",l).fadeIn(200)}$(document).keydown(function(a){if(i.is(":visible")){if(a.shiftKey&&a.keyCode==13){$(".aEdit").append("<br />")}else if(a.keyCode==13){$('.aButtons > button[value="ok"]').click()}else if(a.keyCode==27){$('.aButtons > button[value="cancel"]').click()}}});var n=$(".aTextbox").val();if(!n){n=false}$(".aTextbox").bind('keydown blur',function(){n=$(this).val()});var o=$(".aEdit").val();if(!o){o=false}$(".aEdit").bind('keydown blur',function(){o=$(this).val()});$(".aButtons > button").click(function(){i.remove();h.remove();if(c){$(this).text("");var a=$(this).attr("value");if(a=="ok"){if(b){if(b["input"]){c(n)}else if(b["textarea"]){c(o)}else{c(true)}}else{c(true)};$('#mChatMessage').focus();}else if(a=="cancel"){c(false);$('#mChatMessage').focus();}}})}