function listTags(root)
{
    var feed = root.feed;
	if (typeof(feed.entry) != 'undefined')
	{
	    var entries = feed.entry || [];
	    var html = ['<ul>'];
	    for (var i = 0; i < feed.entry.length; ++i) {
	      var entry = feed.entry[i];
	      var title = entry.title.$t;
		  var weight = 1;
		  if (typeof(entry.gphoto$weight) != 'undefined')
			  var weight = entry.gphoto$weight.$t;
	
	      html.push('<li><a href="?tag=' + encodeURIComponent(title) + '&album=' + (typeof(ig_albumid) != 'undefined' ? ig_albumid : 0) + '">' + title + '</a> (' + weight + ')</li>');
	    }
	
	    document.getElementById("ig_tags").innerHTML = html.join("");
	}
}

function listAlbums(root)
{
	var per_row = 4;
    var feed = root.feed;
    var entries = feed.entry || [];
    var html = ['<center><table cellspacing="2" class="ig_album">'];
  	var row1 = ['<tr valign="bottom">'];
  	var row2 = ['<tr valign="top">'];
    for (var i = 0; i < feed.entry.length; ++i)
	{
      var entry = feed.entry[i];
      var title = entry.title.$t;
	  var albumid = entry['gphoto$id'].$t;
	  var thumbnail = entry['media$group']['media$thumbnail'][0].url;
	  var thumb_h = entry['media$group']['media$thumbnail'][0].height;
	  var thumb_w = entry['media$group']['media$thumbnail'][0].width;
      row1.push('<td style="padding: 10px 10px 0px 10px"><a href="?album=', albumid, '"><img src="', thumbnail, '" height="', thumb_h, '" width="', thumb_w, '" alt="', title, '" /></a></td>');
      row2.push('<td>', title, '</td>');
	  if ((i+1) % per_row == 0)
	  {
		row1.push('</tr>');
		row2.push('</tr>');
		html.push(row1.join(""));
		html.push(row2.join(""));
	  	var row1 = ['<tr valign="bottom">'];
	  	var row2 = ['<tr valign="top">'];
	  }
    }
	row1.push('</tr>');
	row2.push('</tr>');
	html.push(row1.join(""));
	html.push(row2.join(""));
	html.push('</table></center>');
    document.getElementById("ig_content").innerHTML = html.join("");
}
/*
function listPhotos(root)
{
	var per_row = 4;
    var feed = root.feed;
	var album = feed.title.$t;
	if (typeof(document.getElementById("ig_path_album")) == 'Object')
	{
		document.getElementById("ig_path_album").innerHTML = album;
	}
    var entries = feed.entry || [];
    var html = ['<center><table cellspacing="2" class="ig_album">'];
  	var row1 = ['<tr valign="bottom">'];
  	var row2 = ['<tr valign="top">'];
    for (var i = 0; i < feed.entry.length; ++i)
	{
      var entry = feed.entry[i];
      var title = entry.summary.$t;
	  var image_url = entry['media$group']['media$content'][0].url;
	  var image_h = entry['media$group']['media$content'][0].height;
	  var image_w = entry['media$group']['media$content'][0].width;
	  var thumbnail = entry['media$group']['media$thumbnail'][0].url;
	  var thumb_h = entry['media$group']['media$thumbnail'][0].height;
	  var thumb_w = entry['media$group']['media$thumbnail'][0].width;
      row1.push('<td style="padding: 10px 10px 0px 10px"><a href="javascript:showImage(\'', image_url, '\', \'' + image_h + '\', \'' + image_w + '\')"><img src="', thumbnail, '" height="', thumb_h, '" width="', thumb_w, '" alt="', title, '" /></a></td>');
      row2.push('<td>', title, '</td>');
	  if ((i+1) % per_row == 0)
	  {
		row1.push('</tr>');
		row2.push('</tr>');
		html.push(row1.join(""));
		html.push(row2.join(""));
	  	var row1 = ['<tr valign="bottom">'];
	  	var row2 = ['<tr valign="top">'];
	  }
    }
	row1.push('</tr>');
	row2.push('</tr>');
	html.push(row1.join(""));
	html.push(row2.join(""));
	html.push('</table></center>');
    document.getElementById("ig_content").innerHTML = html.join("");
}
*/

function listPhotos(root)
{
    var feed = root.feed;
	var album = feed.title.$t;
	if (typeof(document.getElementById("ig_path_album")) == 'Object')
	{
		document.getElementById("ig_path_album").innerHTML = album;
	}
    var entries = feed.entry || [];
    var html = ['<center>'];
    for (var i = 0; i < feed.entry.length; ++i)
	{
      var entry = feed.entry[i];
      var title = entry.summary.$t;
	  var image_url = entry['media$group']['media$content'][0].url;
	  var image_h = entry['media$group']['media$content'][0].height;
	  var image_w = entry['media$group']['media$content'][0].width;
	  var thumbnail = entry['media$group']['media$thumbnail'][0].url;
	  var thumb_h = entry['media$group']['media$thumbnail'][0].height;
	  var thumb_w = entry['media$group']['media$thumbnail'][0].width;
	  html.push('<div class="ig_item"><div class="ig_thumb"><a href="javascript:showImage(\'', image_url, '\', \'' + image_h + '\', \'' + image_w + '\')"><img src="', thumbnail, '" height="', thumb_h, '" width="', thumb_w, '" alt="', title, '" /></a></div>');
	  html.push('<div class="ig_title"><span>&nbsp;', title, '</span></div></div>');
    }
	html.push('</center>');
	document.getElementById("ig_content").style.cssText = '';
    document.getElementById("ig_content").innerHTML = html.join("");
}

function showImage(url, height, width)
{
	var el = document.getElementById("ig_image");
	el.className = 'ig_image_visible';
	var size = getWindowInnerSize();
	var scrollXY = getScrollXY();
	var iDocHeight = size['h'];
	var pos_top = (iDocHeight - height - 8)/2;
	if (pos_top < 0)
	{
		pos_top = 0;
		//el.style.overflow = 'scroll';
	}
    var iDocWidth = size['w'];
	var pos_left = (iDocWidth - width - 8)/2;
	if (pos_left < 0)
	{
		pos_left = 0;
		//el.style.overflow = 'scroll';
	}
	pos_top += scrollXY['y'];
	pos_left += scrollXY['x'];
	el.style.top = pos_top + 'px';
	el.style.left = pos_left + 'px';
	el.innerHTML = '<a href="javascript:closeImage()"><img src="' + url + '" height="' + height + '" width="' + width + '" /></a>';
}

function closeImage()
{
	var el = document.getElementById("ig_image");
	el.innerHTML = 'Loading...';
	el.className = 'ig_image_invisible';
}

function getWindowInnerSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return {'w':myWidth, 'h':myHeight}
//  window.alert( 'Width = ' + myWidth );
//  window.alert( 'Height = ' + myHeight );
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return {'x':scrOfX,'y':scrOfY};
}
