/* -*- Mode:javascript; indent-tabs-mode: nil; -*- */
/* Jeremy English 10-March-2008 */

var browser = getBrowser();

function dateString(date){
    var d = new Date();
    var re = /^([0-9])$/;
    d.setTime(Date.parse(date));
    var mo  = (d.getMonth()+1).toString().replace(re, "0$1");
    var day = d.getDate().toString().replace(re, "0$1");
    var yr  = d.getFullYear().toString();
    return mo + '/' + day + '/' + yr;
}

function buildNodePicker(item){
    var f = function(name){
        return item.getElementsByTagName(name)[0].firstChild.nodeValue;
    }
    return f;
}

function ListItem(scon, postDiv, expand){
    this.scon = scon;
    this.postDiv = postDiv;
    this.on = true;
    this.expand = expand;
}

ListItem.prototype.onclick = function(){
    var obj = this;
    return (function(){
            if (obj.on){
                obj.scon.appendChild(obj.postDiv);
                  obj.expand.src = 'unfolded.png';
            }else{
                       obj.scon.removeChild(obj.postDiv);
                  obj.expand.src = 'folded.png';
            }
        obj.on = !obj.on;
    })
}


function showSummary(xmlData){
    var browser = getBrowser();
    var doc = browser.readXML(xmlData);
    var items = doc.getElementsByTagName("item");
    var container = document.getElementById("summary");
    var n = Math.min(5, items.length);

    for (var i = 0; i < n; i++){
        var nodePicker = buildNodePicker(items[i]);
        var title = nodePicker("title");
        var link = nodePicker("link");
        var date = nodePicker("pubDate");
        var scon   =  document.createElement('div');
        var anchor =  document.createElement('a');
        var idate =  document.createElement('i');
        var expand =  document.createElement('img');
        var brk =  document.createElement('br');
        var postDiv=  document.createElement('div');
        var id = i.toString();
        var post;
        //        alert(browser.type);
        if (browser.type == 'ie' || (browser.appName == 'firefox' && browser.appVersion >= 3)){
           post = nodePicker("content:encoded");
           }
        else {
           post = nodePicker("encoded");
        }
        postDiv.innerHTML = post;
        postDiv.id = 'postdiv' + id;
        scon.id = 'scon' + id;
        anchor.href = link;
        anchor.innerHTML = '&nbsp;' + title;
        idate.innerHTML = '&nbsp;' + dateString(date);
        idate.className = "blogSummaryDate";
        anchor.className = "blogSummaryTitle";
        postDiv.className = "blogSummaryPost";
        scon.appendChild(expand);
        scon.appendChild(anchor);
        scon.appendChild(idate);
        scon.appendChild(brk);
        container.appendChild(scon);
        expand.id = 'expand' + id;
        expand.src = 'folded.png';
        expand.alt = 'Folded/Unfolded image';
        var li = new ListItem(scon,postDiv,expand);
        expand.onclick = li.onclick();
    }
}

function getBlogRss(){
    browser.ajaxRequest("/blog/?feed=rss2",
                        "GET",
                        null,
                        showSummary,
                        false);
}

function getFoldRss(source){
    browser.ajaxRequest(source,
                        "GET",
                        null,
                        showSummary,
                        false);
}

/* Last update Jeremy English 09-May-2009 */