--- loncom/interface/lonhtmlcommon.pm	2010/05/30 18:30:52	1.273
+++ loncom/interface/lonhtmlcommon.pm	2010/06/09 14:55:22	1.275
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.273 2010/05/30 18:30:52 droeschl Exp $
+# $Id: lonhtmlcommon.pm,v 1.275 2010/06/09 14:55:22 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1049,11 +1049,22 @@ sub Update_PrgWin {
 
 # increment progress state
 sub Increment_PrgWin {
-    my ($r,$prog_state,$extraInfo)=@_;
-    $$prog_state{'done'}++;
+    my ($r,$prog_state,$extraInfo,$step)=@_;
+    if ($step !~ /^\d+$/) {
+        $step = 1; # default
+    }
+    $$prog_state{'done'} += $step;
+
+    # Catch (max modulo step) <> 0
+    my $current = $$prog_state{'done'};
+    my $last = ($$prog_state{'max'} - $current);
+    if ($last <= 0) {
+        $last = 1;
+        $current = $$prog_state{'max'};
+    }
+
     my $time_est= (&Time::HiRes::time() - $$prog_state{'firststart'})/
-        $$prog_state{'done'} *
-	($$prog_state{'max'}-$$prog_state{'done'});
+        $current * $last;
     $time_est = int($time_est);
     #
     my $min = int($time_est/60);
@@ -1100,7 +1111,7 @@ sub Increment_PrgWin {
         $$prog_state{'window'}.'.document.'.
         $$prog_state{'formname'}.'.'.
         $$prog_state{'inputname'}.'.value="'.
-        $$prog_state{'done'}.'/'.$$prog_state{'max'}.
+        $current.'/'.$$prog_state{'max'}.
         ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'
     ));
     $$prog_state{'laststart'}=&Time::HiRes::time();
@@ -1481,7 +1492,10 @@ returns: nothing
         my $lasttext = $last->{'no_mt'} ? $last->{'text'} 
                      : mt( $last->{'text'} );
 
-        $links .= htmltag( 'li', htmltag('h1', $lasttext), {title => $lasttext});
+        # last breadcrumb is the first order heading of a page
+        # for course breadcrumbs it's just bold
+        $links .= htmltag( 'li', htmltag($CourseBreadcrumbs ? 'b' : 'h1',
+                $lasttext), {title => $lasttext});
 
         my $icons = '';
         $faq  = $last->{'faq'}  if (exists($last->{'faq'}));