<?php

/* phorum module info
hook:  before_footer|ajaxmarkread
title: AJAX Mark Read
desc:  This module replaces the Mark Read links with ajax calls without requiring a page refresh. It is built to work with the Emerald template.
category: viewlayout
*/

function ajaxmarkread() {

    ?>
    <!-- Combo-handled YUI JS files: -->
    <script type="text/javascript" src="http://yui.yahooapis.com/combo?2.8.0r4/build/yahoo-dom-event/yahoo-dom-event.js&2.8.0r4/build/connection/connection_core-min.js&2.8.0r4/build/selector/selector-min.js"></script>     <script type="text/javascript">

    Y = YAHOO.util;

    function phorumAjaxMarkRead(e) {

        Y.Event.preventDefault(e);

        href = this.getAttribute("href");

        if(href && (href.indexOf("markread") >= 0 || href.indexOf("markthreadread") >= 0)){

            Y.Connect.asyncRequest('GET', href, {success: function(o){}}, null);

            tableRow = Y.Dom.getAncestorByTagName(this, "tr");

            newFlags = Y.Dom.getElementsByClassName("new-flag", null, tableRow);

            if(newFlags.length){

                for(n in newFlags){

                    tableCell = Y.Dom.getAncestorByTagName(newFlags[n], "td");

                    if(tableCell) {

                        value = tableCell.innerHTML;

                        re = /^[ \n]*([0-9,]+)/;

                        match = re.exec(value);

                        if(match){

                            tableCell.innerHTML = match[1];
                        }

                    }

                }

            }

            newLinks = Y.Dom.getElementsByClassName("message-new", "a");

            if(newLinks.length){

                for(n in newLinks) {

                    Y.Dom.removeClass(newLinks[n], "message-new");

                }

            }

            redFlags = Y.Dom.getElementsByClassName("icon1616", "img");

            if(redFlags.length){

                for(n in redFlags) {

                    <?php if(phorum_page=="list") { ?>
                        redFlags[n].src = redFlags[n].src.replace("flag_red", "comment");
                    <?php } elseif(phorum_page=="read") { ?>
                        redFlags[n].src = redFlags[n].src.replace("flag_red", "bullet_black");
                    <?php } ?>

                }

            }

        }

    }

    mrLinks = Y.Selector.query("a");

    for(a in mrLinks) {
        href = mrLinks[a].getAttribute("href");
        if(href && (href.indexOf("markread") >= 0 || href.indexOf("markthreadread") >= 0)){
            Y.Event.addListener(mrLinks[a], "click", phorumAjaxMarkRead);
        }
    }

    </script>
    <?php
}
?>