function check_new_replies () { if (! live_replies) return; var i = Math.round(100000 * Math.random()); var url = '/item/new-replies/' + item_key + '/' + replies_count + '/' + i + '/' + 'newreplies'; load_xml_document('replies', url, check_new_replies_callback); } var current_timeout; var check_replies_delay = 4000; var global_page_views = -1; function check_new_replies_callback() { if (xml_reqs['replies'].readyState != 4) return; if (xml_reqs['replies'].status != 200) return; current_timeout = window.setTimeout("check_new_replies()", check_replies_delay); var new_replies = xml_reqs['replies'].responseText; i = new_replies.indexOf('|'); if (i < 1) return; var new_replies_count = 1 * new_replies.substring(0, i); new_replies = new_replies.substring(i + 1); j = new_replies.indexOf('|'); var total_viewers = 1 * new_replies.substring(0,j); new_replies = new_replies.substring(j + 1); if (global_page_views == -1) { global_page_views = total_viewers; } else if (global_page_views != total_viewers) { global_page_views = total_viewers; refresh_viewing_history(); } if (new_replies_count > replies_count) { replies_count = new_replies_count; check_replies_delay = 4000; window.clearTimeout(current_timeout); current_timeout = window.setTimeout("check_new_replies()", check_replies_delay); } else { if (check_replies_delay < 4060) check_replies_delay += 1; else if (check_replies_delay < 60000) check_replies_delay += 1000; else if (check_replies_delay < 120000) check_replies_delay += 10000; else check_replies_delay = 600000; // urchinTracker('/item/no-new-replies'); // Google analytics return; } var do_scroll; var vheight; if (window.innerHeight) vheight = window.innerHeight; else if (document.documentElement && document.documentElement.clientHeight) vheight = document.documentElement.clientHeight; else if (document.body) vheight = document.body.clientHeight; var html_element = getEl('html_tag'); var scroll_top; if (self.pageYOffset) { scroll_top = self.pageYOffset; } else if (document.documentElement && document.documentElement.scrollTop) { scroll_top = document.documentElement.scrollTop; } else if (document.body) { scroll_top = document.body.scrollTop; } if (html_element.scrollHeight - (scroll_top + vheight) < 4) do_scroll = 1; var new_reply_node = document.createElement("div"); new_reply_node.innerHTML = new_replies; var new_rep_div = getEl('new_replies_go_here'); if(replies_order != 'reverse') new_rep_div.appendChild(new_reply_node); else new_rep_div.insertBefore(new_reply_node, new_rep_div.firstChild); // if (getEl('body').focus) window.scrollByPages(10); if (do_scroll) window.scrollBy(0, 10000); //urchinTracker('/item/new-reply'); // Google analytics } function submitReply(button) { if (document.submit_normally) return true; var body = getEl('body').value; window.clearTimeout(current_timeout); var url = '/item/reply-to-message-ajax/' + item_key; var data = 'form::reply=1&_charset_=utf-8&reply::for=reply&no_redirect=1&reply::body=' + encodeURIComponent(body); if (window.XMLHttpRequest) { var req = new XMLHttpRequest(); if (req) { req.open("POST", url, false); req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); req.send(data); } // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.open("POST", url, false); req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.send(data); } } if (req.responseText) { getEl('body_errors').innerHTML = req.responseText; } else { getEl('body_errors').innerHTML = ''; getEl('body').value = ''; //getEl('donotcheck').value = '1'; //getEl('replyform').action = getEl('xurl'); } check_new_replies(); s.pageName = '(ajax reply)'; s.prop3 = 'Reply'; s.t(); return false; } if (live_replies) check_new_replies();