// JavaScript Document

var exifUseJson = true;

function closeExifDlg() {
  YAHOO.ft.exifDlg.hide();
	try {slideshow.showMusicPlayer();	} catch(e) {};
}

var jsonToExifHtml = function(metadatastr) {
  var html = "";
  var metadata = metadatastr.parseJSON();
  if ((metadata.exif.length > 0) || (metadata.iptc.length > 0) || (metadata.albums.length > 0) || (metadata.xmp.length > 0)) {
	  html += '<table class="ftgrid rebar">';
		
		// exif
		if (metadata.exif.length > 0) html += "<tr><th colspan=2>Exif &amp; Other</th></tr>";
		for (i = 0; i < metadata.exif.length; i++ ) { var row = metadata.exif[i]; html += "<tr><td>" + row.name + "</td><td>" + row.value + "</td></tr>"; }
		
		// iptc
		if (metadata.iptc.length > 0) html += "<tr><th colspan=2>IPTC</th></tr>";
		for (i = 0; i < metadata.iptc.length; i++ ) { var row = metadata.iptc[i]; html += "<tr><td>" + row.name + "</td><td>" + row.value + "</td></tr>"; }		
		
		// comments
		if (metadata.comments.length > 0) html += "<tr><th colspan=2>Image Comment</th></tr>";
		for (i = 0; i < metadata.comments.length; i++ ) { var row = metadata.comments[i]; html += "<tr><td>" + row.name + "</td><td>" + row.value + "</td></tr>"; }				

		// xmp
		if (metadata.xmp.length > 0) html += "<tr><th colspan=2>XMP</th></tr>";
		for (i = 0; i < metadata.xmp.length; i++ ) { var row = metadata.xmp[i]; html += "<tr><td>" + row.name + "</td><td>" + row.value + "</td></tr>"; }		
    
    // movieData
    rbar = false;    
		if ((metadata.movieData) && (metadata.movieData.length > 0)) {
      var cg = "";
	  	for (i = 0; i < metadata.movieData.length; i++ ) { 
        var row = metadata.movieData[i]; 
        if (row.group != cg) {
          html += "<tr><th colspan=2>" + row.group + "</th></tr>";        
          cg = row.group;
        }
        html += "<tr><td>" + row.name + "</td><td>" + row.value + "</td></tr>";
      }		
    }      
   
		
		// album list
		if (metadata.albums.length > 0) html += "<tr><th colspan=2>Albums &amp; Groups photo is in</th></tr>";
		for (i = 0; i < metadata.albums.length; i++ ) { var row = metadata.albums[i]; html += "<tr><td colspan=2>" + row.album + "</td></tr>"; }					
		
		html += "</table>";
		return html;
	};
	return html;
}


var handleExifSuccess = function(o){
	if(o.responseText !== undefined){
	  if (!verifySessionOk(o.responseText,false)) return;
	  var tdiv =  document.getElementById("insertspot");
		var thtml = "";
		var firstchar = o.responseText.substring(0,1);
		if ((exifUseJson) && (firstchar == "{")) thtml = jsonToExifHtml(o.responseText); else {
		  try { thtml = o.responseText;	} catch(e) { thtml = ""; }
		}
	  tdiv.innerHTML = thtml;
		tdiv.scrollTop = 0;
		// ignore errors on rebar
		try { rebarTables(); } catch(e) {};
		try {slideshow.hideMusicPlayer();	} catch(e) {};
    YAHOO.ft.exifDlg.show();		
	}
}

var handleExifFailure = function(o){
  exifwindow(o.argument);
}


var callbackExif =
{
  success:handleExifSuccess,
  failure:handleExifFailure
};


function showExifDialog(pictid) {  
	var sUrl = '/ftweb/bin/ft.dll/exifinfo?pictid=' + pictid + '&justdata=1';
	if (exifUseJson) sUrl += '&fmt=json';
	callbackExif.argument = pictid; // put the pictid into the callback arguments
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callbackExif);
}
