window.addEventListener?window.addEventListener("load",getAlbumsList,false):window.attachEvent("onload",getAlbumsList);
window.addEventListener?window.addEventListener("load",getFirstAlbum,false):window.attachEvent("onload",getFirstAlbum);


/*
   Name: getFirstAlbum()
   Desc: This function retrieves the first album data. It also invokes feedAlbumData to write the album data.
	 Params: None.
*/
function getFirstAlbum()
{
	var uri = "http://picasaweb.google.com/data/feed/api/user/simposalsa/albumid/5339455478091292513?kind=photo&alt=json&thumbsize=144&callback=feedAlbum";
	getFeed(uri, 'jsonAlbumData');
}

/*
   Name: feedAlbumsList(data).
   Desc: This function inserts the albums list in the <select id='cbList'>.
	 Params:
	   - data: Json albums list.
*/
function feedAlbumsList(data)
{
	var cbList = document.getElementById("cbListaFotos");

	var totalResults = data.feed.openSearch$totalResults.$t;
	for(var i = 0; i < totalResults; i++)
	{
		if(data.feed.entry[i].summary.$t.substr(0,5).toLowerCase() == "fotos")
		{
		  var item = data.feed.entry[i];
			var title = item.title.$t;
			var uri   = item.id.$t.split("albumid/")[1];
			var option = document.createElement("option");
			option.setAttribute("value", uri);
			option.appendChild(document.createTextNode(title));
			cbList.appendChild(option);
		}
	}
}
/*
   Name: getAlbumsList().
   Desc: This function retrieves the albums list. It also invokes feedAlbumsList to write the albums list.
	 Params: None.
*/
function getAlbumsList()
{
  // Retrieve the JSON feed.
	var uri = 'http://picasaweb.google.com/data/feed/api/user/simposalsa?kind=album&alt=json&callback=feedAlbumsList';
	getFeed(uri, 'jsonAlbumsList');
}

/*
   Name: getAlbumData(uri)
   Desc: This function retrieves the albums data. It also invokes feedAlbum to write the album data.
	 Params: 
	   - uri: Uri where retrieve the json album data.
*/
function getAlbum(uri)
{	
	getFeed(uri, 'jsonAlbumData');
}

/*
   Name: feedAlbum(data).
   Desc: This function inserts the album data.
	 Params:
	   - data: Json albums list.
*/
function feedAlbum(data)
{
  // Clear previous album title.
  var titulo = document.getElementById('titulo');
	if (titulo.firstChild)
	{	
		titulo.removeChild(titulo.firstChild);
	}
	
  // Clear previous album data.
	var tbody = document.getElementById("tblFotosBody");

	while (tbody.childNodes.length > 0)
	{
		tbody.removeChild(tbody.childNodes[0]);
	}

	// Write album title
	titulo.appendChild(document.createTextNode(data.feed.title.$t));
		
	// Write album data.
	for (var i = 0;i < data.feed.entry.length; i += 4)
	{
		var tr = document.createElement("tr");
		tbody.appendChild(tr);
		for (var j= 0; j < 4; j++)
		{
			var td = document.createElement("td");	
			if (data.feed.entry.length > i + j)
			{
				var item = data.feed.entry[i+j];
				var title = item.title.$t;
				var imageUrl = item.media$group.media$thumbnail[0].url;
				var description = item.media$group.media$description.$t;
//				var link = item.link[2].href;

				var a = document.createElement("a");
				a.setAttribute("href", "#");
				
				var img = document.createElement("img");
				img.setAttribute("src", imageUrl);						
				a.appendChild(img);
				td.appendChild(a);
			}
			else
			{
				td.appendChild(document.createTextNode(" "));
			}
			
			tr.appendChild(td);
		}
	}

  // Hide loading bar
  document.getElementById('loading').style.display = 'none';

  // Show loaded data
  document.getElementById('fotos').style.display = '';
}
