<% // Compiles EXIF data string
  first = true; String metadata;
  StringBuffer exifstr = new StringBuffer();

  if(meta != void && meta != null) {
    if(exifPhotographer && ((metadata = meta.get("Canon Makernote.Owner Name")) != null || (metadata = meta.get("Artist")) != null) && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.photographer:</b>&nbsp;" + metadata); }
    if(exifCamera && cameraMake != void && (metadata = cameraMake.toString()) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); 
        exifstr.append("<b>$text.camera:</b>&nbsp;");
        if(cameraModel != void) exifstr.append(cameraModel); else exifstr.append(metaData); }
    if(exifDate && originalDate != void && (metadata = originalDate.toString()) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.date:</b>&nbsp;" + metadata); }
    if(exifResolution && resolution != void && (metadata = resolution.toString()) != null && metadata.length() > 0 && metadata != " x ") 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.resolution:</b>&nbsp;" + metadata); }
    if(exifIsoSetting &&
        ((isoEquivalent != void && (metadata = isoEquivalent.toString()) != null && metadata.length() > 0) ||
        ((metadata = meta.get("ISO Speed Ratings")) != null && metadata.length() > 0) ||
        ((metadata = meta.get("Canon Makernote.Iso")) != null && metadata.length() > 0)))
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.isoSetting:</b>&nbsp;" + metadata); }
    if(exifExposureMode && (metadata = meta.get("Canon Makernote.Exposure Mode")) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.exposureMode:</b>&nbsp;" + metadata); }
    if(exifExposureTime && ((exposureTime != void && (metadata = exposureTime) != null) || (metadata = meta.get("Shutter Speed Value")) != null) && metadata.length() > 0)
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.exposureTime:</b>&nbsp;" + metadata); }
    if(exifAperture && aperture != void && (metadata = aperture.toString()) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.aperture:</b>&nbsp;" + metadata); }
    if(exifFocalLength && focalLength != void && (metadata = focalLength.toString()) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.focalLength:</b>&nbsp;" + metadata); }
    if(exifFlash && flash != void && flash != null && (metadata = flash.toString()) != null && metadata.length() > 0) 
      { if(first) first=false; else exifstr.append(" | "); exifstr.append("<b>$text.flash:</b>&nbsp;" + metadata); }
  }

  metadata = exifstr.toString();
%>