diff --git a/Repositories/otago_eprints3/otago_eprints/cfg/cfg.d/eprint_render.pl b/Repositories/otago_eprints3/otago_eprints/cfg/cfg.d/eprint_render.pl
index f418d58..60a5f6b 100755
--- a/Repositories/otago_eprints3/otago_eprints/cfg/cfg.d/eprint_render.pl
+++ b/Repositories/otago_eprints3/otago_eprints/cfg/cfg.d/eprint_render.pl
@@ -102,32 +102,55 @@
$doctd = $session->make_element( "td", valign=>"top", style=>"text-align:center" );
$doctr->appendChild( $doctd );
- $doctd->appendChild( $doc->render_icon_link( preview => 1 ) );
-
- $doctd = $session->make_element( "td", valign=>"top" );
- $doctr->appendChild( $doctd );
-
- # NJS 2007-07-30: Add Google Analytics tracking code to link.
- my $rendered_cite = $doc->render_citation_link();
+
+ ## NJS 2008-07-10: Add Google Analytics tracking code to icon link.
+ my $rendered_icon = $doc->render_icon_link( preview => 1 );
# Strip the front off the URL to get just the document path.
my $doc_url = $doc->get_url;
$doc_url =~ m|^http://[^/]+(/.+)$|;
my $docpath = $1;
- # Ugh, DOM sucks...
+ # NJS 2008-07-10
# Find the first element in the DocumentFragment and add the
- # onclick attribute to it.
- $rendered_cite->getFirstChild()->getElementsByTagName('a')->item(0)->setAttribute(
+ # onclick attribute to it. Note that the DOM documentation says
+ # the NodeList is indexed from 0, but item(0) gives the wrong
+ # element (?!?!).
+ $rendered_icon->getElementsByTagName( 'a' )->item( 1 )->setAttribute(
'onclick',
"javascript:urchinTracker( '" .
$docpath .
"' );"
);
+
+ $doctd->appendChild( $rendered_icon );
+ ## END NJS 2008-07-10
+# NJS 2008-07-10: !!! original code follows
+# $doctd->appendChild( $doc->render_icon_link( preview => 1 ) );
+
+ $doctd = $session->make_element( "td", valign=>"top" );
+ $doctr->appendChild( $doctd );
+ ## NJS 2007-07-30: Add Google Analytics tracking code to text link.
+ my $rendered_cite = $doc->render_citation_link();
+
+ # Ugh, DOM sucks...
+ # NJS 2008-07-10: Updated to work with EPrints 3.
+ # Find the first element in the DocumentFragment and add the
+ # onclick attribute to it. Note that the DOM documentation says
+ # the NodeList is indexed from 0, but item(0) gives the last
+ # element instead of the first one; item(1)->(4) give the results
+ # we want here.
+ $rendered_cite->getElementsByTagName( 'a' )->item( 1 )->setAttribute(
+ 'onclick',
+ "javascript:urchinTracker( '" .
+ $docpath .
+ "' );"
+ );
+
$doctd->appendChild( $rendered_cite );
- ##END
-# !!! original code follows
+ ## END NJS 2007-07-30
+# NJS 2007-07-30: !!! original code follows
# $doctd->appendChild( $doc->render_citation_link() );
my %files = $doc->files;
if( defined $files{$doc->get_main} )