var level=0.02; var curLast=0; var count=20; var stop=true; var gotoEnd=false; var CountAllComments; var SelectedTextIsInObj; function GotoComment(cid) { var comObj=$('.comment_box[cid="'+cid+'"]'); var gotoTop=comObj.offset().top-100; comObj.attr('style','background-color:#ffdddd;'); dur=100; $(window).scrollTo(gotoTop,{duration:dur} ); comObj.animate({ "background-color": "rgb(251, 251, 251)" }, 3000 ); } function OnTextSelect(e,obj){ if (window.getSelection){ $txt = window.getSelection(); } else if (document.getSelection){ $txt = document.getSelection(); } else if (document.selection){ $txt = document.selection.createRange().text; } else return; if ($txt!=''){ SelectedTextIsInObj=obj; // $('#quoteItBox').css({'display':'block', 'left':e.pageX-60+'px', 'top':e.pageY+5+'px'}); $('#quoteItBox').css({'left':e.pageX-60+'px', 'top':e.pageY+5+'px'}); $('#quoteItBox').fadeIn(200); } } function clearSelection() { if (window.getSelection){ window.getSelection().removeAllRanges(); } else if (document.getSelection){ $txt = document.getSelection.empty(); } else if (document.selection){ document.selection.empty(); } } function scrollToBottom() { //Куда либо переходить нужно только в том случае, если наша формочка в свободном плавании if ($('#commentForm').css('position')=='fixed') { var goTo=$('#commentFormWrapper').offset().top+$('#commentFormWrapper').height()-$(window).height(); var goFrom=$(window).scrollTop(); var dur=(goTo-goFrom)/50+100; $(window).scrollTo(goTo,{duration:dur} ); } } function GoToEnd() { //Показать все комментарии и спуститься вниз if (stop){//Все уже загружено scrollToBottom(); } else { gotoEnd=true; //Скажит загрузчику, что нужно спуститься вниз RequestComments("all"); } } function doRequestComments() //Принудительно запросить комментарии { stop=false; RequestComments(); } function MoveCommentForm() { //Форма комментариев должна перемещаться от верха списка комментариев до его низа. В противном случае она должна находиться на родном своем месте var lookBottom=$(window).scrollTop()+$(window).height(); var topLine=$("#postswrapper").offset().top+$('#commentForm').height(); var bottomLine=$("#postswrapper").offset().top+$("#postswrapper").height()+$('#commentForm').height(); if((lookBottom>topLine) & (lookBottom'+entry.a+''+' '+entry.dt+''; } else { sign='
'+'Posted by '+entry.a+' '+entry.dt+'
'; } if (parseFloat(entry.o.replace(",", "."))>=level) { html=''; } else { html=''; } $("#postswrapper").append(html); $("#cb"+curLast).bind("mouseup", function(e){OnTextSelect(e, $(this))}); //Нужно обработать цитаты $("#cb"+curLast+" .comment-quote").each(function(index){ goToAuthorHtml='
'+$(".comment_box[cid='"+$( this ).attr("commentof")+"'] .sign").text()+'
'; $( this ).append(goToAuthorHtml); }); $("#cb"+curLast).fadeIn(); }); // if (obj.comments.length==0) if ((obj.comments.lengthNo more posts to show.'); } } }); } } $(window).scroll(function() { // if(($(window).scrollTop() == $(document).height() - $(window).height()) |( $('#postswrapper').height()<$(window).height())) if($(window).scrollTop() + $(window).height() + $('#commentForm').height() + 200> $('#postswrapper').height()+$('#postswrapper').offset().top) { RequestComments(); } MoveCommentForm(); }); $(window).resize(function() { MoveCommentForm(); }); $(function(){ $('#commentFormWrapper').height($('#commentForm').height()); stop=false; RequestComments(); $( "#auth-tabs" ).tabs({ activate: function( event, ui ) { $("#AddCommentButton").removeAttr('disabled').removeClass('disabledButton'); if (ui.newPanel.selector=='#auth-corum') { if ($("#CorumUserId").val()==undefined) { $("#AddCommentButton").attr('disabled', 'disabled').addClass('disabledButton'); } } } }); $( "#auth-tabs" ).tabs().addClass( "ui-tabs-vertical ui-helper-clearfix" ); $( "#auth-tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" ); if($.cookie("authType")=='corum') { $( "#auth-tabs" ).tabs({ active: 0 }); } if ($.cookie("authType")=='anonymous') { $( "#auth-tabs" ).tabs({ active: 1 }); } $('#quoteItBox').bind("mousedown", function(){ $('#comment').val($('#comment').val()+'[quote '+SelectedTextIsInObj.attr('cid')+']'+$txt+'[/quote]'); clearSelection(); }); $(document).bind("mousedown", function(){ $('#quoteItBox').css({'display':'none'}); }); }) function AddComment() { var comment=encodeURIComponent($('#comment').val()); if(comment=="") { alert("Нет смысла отправлять пустые комментарии"); return ; } var authType='anonymous'; var corumUserName=''; var corumUserId=''; if ($("#auth-tabs li[aria-controls='auth-corum']").hasClass("ui-state-active")) { authType='corum'; corumUserName=encodeURIComponent($('#CorumUserName').val()); corumUserId=encodeURIComponent($('#CorumUserId').val()); } var author=encodeURIComponent($('#author').val()); var MathCaptchaUserAnswer=encodeURIComponent($('#MathCaptchaUserAnswer').val()); var MathCaptchaID=encodeURIComponent($('#MathCaptchaID').val()); var url='/mephist/news.nsf/comment_withMathCapcha?OpenAgent'; var dataToSend={ comment: comment, avtor: author, MathCaptchaID:MathCaptchaID, MathCaptchaUserAnswer:MathCaptchaUserAnswer, pid:newsId, authType:authType, corumUserName:corumUserName, corumUserId:corumUserId }; $("#SendButtonDiv").hide(); $("#SendProcess").show(); // Зафиксируем способ авторизации document.cookie="authType="+authType+"; path=/; expires=Mon, 01-Jan-2091 00:00:00 GMT"; $.ajax({ type: 'POST', url: url, data: dataToSend, success: AjaxSuccess }); } function AjaxSuccess(data) { //Обновляем капчу var s=document.createElement('SCRIPT'); s.type='text/javascript'; s.src='http://live.mephist.ru/mathcaptcha/mathcaptcha.php'; document.body.appendChild(s); void(0); $("#SendProcess").hide(); $("#SendButtonDiv").show(); if (data=='BADCODE\n') { alert('Вы ошиблись в контрольном числе'); return; } if (data=='SCRIPT\n') { alert('Использование "script" запрещено'); return; } var comment=$('#comment').val(); $('#comment').val(""); stop=false; GoToEnd(); } function rus_ending(count,e1,e2,e5) { var d2 = parseInt(count) % 100; if (!d2 || (d2>=11 && d2<=19)) return e5; d2 %= 10; return (d2>4 || d2==0) ? e5 : (d2>1 ? e2 : e1); } function ChangeAuthWay(way){ if(way=='corum') { $( "#auth-tabs" ).tabs({ active: 0 }); } else { $( "#auth-tabs" ).tabs({ active: 1 }); } }