
// DWR assist functions

function ascendDOM(e, target) {
    while ((e.nodeName.toLowerCase() != target) &&
            e.nodeName.toLowerCase() != 'html') {
        e = e.parentNode;
    }
    return (e.nodeName.toLowerCase() == 'html') ? null : e;
}


function fix_fm() {
    var n = 1;
    if (document.all) { n = 0; }  // IE
    var pe = document.getElementById("fm").childNodes[n];
    var entry = Ext.query(".h3>.h3", "fm");
    for (i = 0; i < entry.length; i++) {
        var ch = Ext.query("*", entry[i]);
        titl = ch[0].innerHTML;
        entry[i].removeChild(ch[0]);
        for (j = 0; j < ch.length; j++) {
            var s = ch[j].innerHTML;
            var m = s.indexOf('<img ');
            if (m > -1)
               ch[j].innerHTML = s.substring(0,m) + '<img align="right" ' + s.substring(m + 4);
            if ((s.indexOf('20') == 0) &&
                (s.indexOf('T') == 10) &&
                (s.indexOf('Z') == 19)) {
               var dt = Date.parseDate(s, "Y-m-d\\TH:i:s\\Z");
               ch[j].innerHTML = dt.format("D, j F Y g:i A");
            }
        }
        cont = entry[i].innerHTML;
        entry[i].parentNode.removeChild(entry[i]);
        if (i <= 50) {
            new Ext.Panel({
                renderTo: pe,
                width: "auto",
                title: titl,
                contentEl: entry[i],
                style: "padding: 2px;",
                collapsible: true,
                collapsed: true
            });
        }
    }
}

function fix_entries(id) {
    var entry = Ext.query("#" + id + ">.h3");
    for (i = 0; i < entry.length; i++) {
        var pe = entry[i].parentNode;
        var ch = Ext.query("*", entry[i]);
        titl = ch[0].innerHTML;
        entry[i].removeChild(ch[0]);
        cont = entry[i].innerHTML;
        new Ext.Panel({
            renderTo: pe,
            width: "auto",
            title: titl,
            contentEl: entry[i],
            frame: true,
            style: "padding: 2px;",
            collapsible: true,
            collapsed: false
        });
    }
}


function initBoxify() {
    fix_fm();
    fix_entries("nf");
    fix_entries("blog");
}

