--- loncom/homework/functionplotresponse.pm	2013/07/12 21:19:17	1.102
+++ loncom/homework/functionplotresponse.pm	2014/08/14 14:49:49	1.106
@@ -1,7 +1,7 @@
 # LearningOnline Network with CAPA
 # Functionplot responses
 #
-# $Id: functionplotresponse.pm,v 1.102 2013/07/12 21:19:17 raeburn Exp $
+# $Id: functionplotresponse.pm,v 1.106 2014/08/14 14:49:49 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -49,9 +49,34 @@ BEGIN {
 # Return a true value if HTML5 should be used.
 
 sub useHTML5 {
-    if  ($env{'browser.type'} eq 'chrome') { return 1; }
-    if (($env{'browser.type'} eq 'safari') &&
-        ($env{'browser.os'} eq 'mac')) { return 1; }
+    if ($env{'browser.type'} eq 'chrome') {
+        if ($env{'browser.version'} >= 14) {
+            return 1;
+        }
+    } elsif ($env{'browser.type'} eq 'safari') {
+        if ($env{'browser.os'} eq 'mac') {
+            my ($prefix,$version) = ($env{'browser.version'} =~ /^(\d*)(\d{3})\./); 
+            if ((!$env{'browser.mobile'}) || 
+                (($env{'browser.mobile'}) && length($prefix))) {
+                if ($version >= 536) {
+                    return 1;
+                }
+            }
+        }
+    } elsif ($env{'browser.type'} eq 'mozilla') {
+        if ($env{'browser.info'} =~ /^firefox\-(\d+)/) {
+            my $firefox = $1;
+            if ((($env{'browser.os'} eq 'mac') && ($firefox >= 20)) ||
+                (($env{'browser.os'} eq 'unix') && ($firefox >= 17)) ||
+                (($env{'browser.os'} eq 'win') && ($firefox >= 14))) {
+                return 1;
+            }
+        }
+    } elsif ($env{'browser.type'} eq 'explorer') { 
+        if (($env{'browser.os'} eq 'win') && ($env{'browser.version'} == 10)) {
+            return 1;
+        }
+    }
     return 0;
 }
 
@@ -158,7 +183,7 @@ sub java_geogebra_default_parameters {
         <param name="boxborder" value="false"  />
         <param name="centerimage" value="true"  />
 	<param name="cache_archive" value="geogebra.jar, geogebra_main.jar, geogebra_gui.jar, geogebra_cas.jar, geogebra_export.jar, geogebra_algos.jar, geogebra_javascript.jar, geogebra_properties.jar, jlatexmath.jar, jlm_cyrillic.jar, jlm_greek.jar" />
-	<param name="cache_version" value="4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0,4.0.1.0" />
+	<param name="cache_version" value="4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0,4.4.3.0" />
         <param name="framePossible" value="false" />
 
         <param name="showResetIcon" value="false" />
@@ -887,7 +912,7 @@ sub start_functionplotrule {
         $result=&Apache::edit::tag_start($target,$token,'Function Plot Graph Rule').
              &Apache::edit::text_arg('Index/Name:','index',
                                      $token,'10').'&nbsp;'.
-             &Apache::edit::select_arg(&mt('Function:'),'derivativeorder',
+             &Apache::edit::select_arg('Function:','derivativeorder',
                                   [['0','Function itself'],
                                    ['1','First derivative'],
                                    ['2','Second derivative'],