--- loncom/homework/chemresponse.pm	2014/08/20 18:02:08	1.94
+++ loncom/homework/chemresponse.pm	2015/03/09 16:30:46	1.97
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # chemical equation style response
 #
-# $Id: chemresponse.pm,v 1.94 2014/08/20 18:02:08 raeburn Exp $
+# $Id: chemresponse.pm,v 1.97 2015/03/09 16:30:46 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -69,6 +69,53 @@ sub chem_standard_order {
 sub separate_jme_window {
     my ($smile_input,$jme_input,$molecule,$options,$shown_text)=@_;
     my $usejsme = 1;
+    if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) {
+        if (exists($env{'course.'.$env{'request.course.id'}.'.usejsme'})) {
+            if ($env{'course.'.$env{'request.course.id'}.'.usejsme'} eq '0') {
+                $usejsme = 0;
+            }
+        } else {
+            my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
+            if ($domdefs{'usejsme'} eq '0') {
+                $usejsme = 0;
+            }
+        }
+    } else {
+        my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
+        if ($domdefs{'usejsme'} eq '0') {
+            $usejsme = 0;
+        }
+    }
+    if ($usejsme) {
+        if ($env{'browser.type'} eq 'safari') {
+            unless ($env{'browser.mobile'}) {
+                if ($env{'browser.version'} < 534) {
+                    $usejsme = 0;
+                }
+            }
+        } elsif ($env{'browser.type'} eq 'mozilla') {
+            if ($env{'browser.version'} < 5) {
+                $usejsme = 0;
+            } elsif ($env{'browser.info'} =~ /^firefox\-([\d\.]+)/) {
+                my $firefox = $1;
+                if ($firefox < 12) {
+                    $usejsme = 0;
+                }
+            }
+        } elsif ($env{'browser.type'} eq 'explorer') {
+            if ($env{'browser.version'} < 7) {
+                $usejsme = 0;
+            }
+        } elsif ($env{'browser.type'} eq 'opera') {
+            if ($env{'browser.version'} < 15) {
+                $usejsme = 0;
+            }
+        }
+    } else {
+        if ($env{'browser.mobile'}) {
+            $usejsme = 1;
+        }
+    }
     my $linkstyle = 'display:none';
     my $creditstyle = 'display:inline';
     if ($env{'browser.type'} eq 'explorer') {