
function albumListRenderer (data)
{
	var NUM_COLUMNS = 4;

	var table = new Element( 'table',
	{
		id: 'albumstable'
		,cellpadding: "15"
	});

	var tr = new Element( 'tr' );

	var myHash = new Hash();

	for (var i = 1; i <= data.feed.entry.length; i++)
	{
		var entry = data.feed.entry[i-1];
		var title = entry.media$group.media$title.$t;
		myHash.set( title, entry );
	}

	var sortedKeys = myHash.keys().sort();

	for (var i = 1; i <= sortedKeys.length; i++)
	{
		if ( ((i-1) % NUM_COLUMNS) == 0 )
		{
			table.appendChild( tr );
			tr = new Element( 'tr' );
		}

		var album = myHash.get( sortedKeys[i-1] );

		var linkUrl = album.media$group.media$title.$t.toLowerCase().replace(/ /g, "");
		linkUrl = linkUrl.toLowerCase().replace(/\&/g, "");

		var a = new Element( 'a',
		{
			href:		"albums/" + linkUrl + ".html"
			,alt:		album.media$group.media$title.$t
			,title:	album.media$group.media$title.$t
		});

		var br = new Element( 'br' );
		var linkText = document.createTextNode( album.media$group.media$title.$t );

		var thumbUrl = album.media$group.media$thumbnail[0].url;
		var lastIndex = thumbUrl.lastIndexOf("/", thumbUrl.lastIndexOf("/") );
		var nextLastIndex = thumbUrl.lastIndexOf("/", lastIndex-1 );
		var pre = thumbUrl.substring( 0, nextLastIndex );
		var post = thumbUrl.substring( lastIndex );
		thumbUrl = pre + "/s64-c" + post;

		var img = new Element( 'img',
		{
			src:     thumbUrl
			,alt:    album.media$group.media$title.$t
			,title:  album.media$group.media$title.$t
			,width:  "64"
			,height: "64"
			,style:  "margin:1px 0 0 4px;"
		});

		a.appendChild( img );
		a.appendChild( br );
		a.appendChild( linkText );

		var td = new Element( 'td',
		{
			valign: "center"
			,align: "center"
		});

		td.appendChild( a );

		tr.appendChild( td );
	}

	table.appendChild( tr );

	$('albumstable').insert( table.innerHTML ); 
}
