// recent-ajaxcom.js

var MAX_AJAXCOM = 10;
var AJAXCOM_JSON = "http://www.kawa.net/service/com/ajaxcom-data/recent.json";

function ajaxcom_update ( data, area ) {
    if ( ! data ) return;

    var items = data.rss.channel.item;
    if ( ! items ) return;
    if ( items.title ) items = [ items ];
    if ( items.length > MAX_AJAXCOM ) items.length = MAX_AJAXCOM;

    var frag = document.createDocumentFragment();

    for( var i=0; i<items.length; i++ ) {
        var title = items[i].title;
        var link  = items[i].link;
        var author  = items[i].author;
        var atag = document.createElement( "a" );
        var txt1 = document.createTextNode( author+": "+title );
        var divtag = document.createElement( "div" );
        atag.href = link;
		atag.title = items[i].pubDate;
        atag.appendChild( txt1 );
        divtag.appendChild( atag );
        divtag.className = 'barlink';
        frag.appendChild( divtag );
    }

	ajaxcom_display( area, frag );
};

function get_ajaxcom ( area ) {
	ajaxcom_display( area, "Now loading..." );

    var http = new JKL.ParseXML.JSON( AJAXCOM_JSON );
	var func = function ( data ) {
		ajaxcom_update( data, area );
	};
    var err = function ( err ) {
        ajaxcom_display( area, "[error] "+err );
    };
//  http.onerror( err );
    http.async( func );
    http.parse();

};

function ajaxcom_display ( area, elem ) {
	if ( typeof(elem) == "string" ) {
		elem = document.createTextNode( elem );
	}
    var here = document.getElementById(area);
    if ( here.firstChild ) {
        here.replaceChild( elem, here.firstChild );
    } else {
        here.appendChild( elem );
    }
}

