--- loncom/interface/lonhtmlcommon.pm	2015/05/28 12:20:16	1.365
+++ loncom/interface/lonhtmlcommon.pm	2015/08/16 20:45:41	1.369
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.365 2015/05/28 12:20:16 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.369 2015/08/16 20:45:41 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -673,7 +673,7 @@ ENDJS
     my $minuteselector = qq{<input type="text" name="$dname\_minute" $special $state value="$min" size="3" />};
     my $secondselector= qq{<input type="text" name="$dname\_second" $special $state value="$sec" size="3" />};
     my $cal_link;
-    if (!$nolink) {
+    unless (($nolink) || ($state eq 'disabled')) {
         $cal_link = qq{<a href="javascript:$dname\_opencalendar()">};
     }
     #
@@ -700,7 +700,7 @@ ENDJS
                       $hourselector,$minuteselector,$secondselector).
                    $tzone;
     }
-    if (!$nolink) {
+    unless (($nolink) || ($state eq 'disabled')) {
         $result .= &mt('[_1]Select Date[_2]',$cal_link,'</a>');
     }
     $result .= "</span>\n<!-- end $dname date setting form -->\n";
@@ -1293,9 +1293,9 @@ sub htmlareaheaders {
 ENDEDITOR
 	}
     $s.=(<<ENDJQUERY);
-<script type="text/javascript" src="/adm/jQuery/js/jquery-1.6.2.min.js"></script>
-<script type="text/javascript" src="/adm/jQuery/js/jquery-ui-1.8.16.custom.min.js"></script>
-<link rel="stylesheet" type="text/css" href="/adm/jQuery/css/smoothness/jquery-ui-1.8.16.custom.css" />
+<script type="text/javascript" src="/adm/jQuery/js/jquery-1.11.3.min.js"></script>
+<script type="text/javascript" src="/adm/jQuery/js/jquery-ui-1.11.4.custom.min.js"></script>
+<link rel="stylesheet" type="text/css" href="/adm/jQuery/css/smoothness/jquery-ui-1.11.4.custom.css" />
 <script type="text/javascript" src="/adm/jpicker/js/jpicker-1.1.6.min.js" >
 </script>
 <link rel="stylesheet" type="text/css" href="/adm/jpicker/css/jPicker-1.1.6.min.css" />
@@ -2098,6 +2098,16 @@ returns: nothing
         undef(%tools);
     }
 
+=item &current_breadcrumb_tools()
+
+returns: a hash containing the current breadcrumb tools.
+
+=cut
+
+    sub current_breadcrumb_tools {
+        return %tools;
+    }
+
 =item &render_tools(\$breadcrumbs)
 
 Creates html for breadcrumb tools (categories navigation and tools) and inserts 
@@ -2478,7 +2488,7 @@ sub course_selection {
     if ($totcodes > 0) {
         my $numtitles = @$codetitles;
         if ($numtitles > 0) {
-            $output .= '<label><input type="radio" name="coursepick" value="category" onclick="coursePick(this.form);alert('."'".&mt('Choose categories, from left to right')."'".')" />'.&mt('Pick courses by category:').'</label><br />';
+            $output .= '<label><input type="radio" name="coursepick" value="category" onclick="coursePick(this.form);alert('."'".&html_escape(&mt('Choose categories, from left to right'))."'".')" />'.&mt('Pick courses by category:').'</label><br />';
             $output .= '<table><tr><td>'.$$codetitles[0].'<br />'."\n".
                '<select name="'.$standardnames->[0].
                '" onchange="setPick(this.form);courseSet('."'$$codetitles[0]'".')">'."\n".
@@ -2935,10 +2945,12 @@ sub set_form_elements {
 
 sub file_submissionchk_js {
     my ($turninpaths,$multiples) = @_;
-    my $overwritewarn = &mt('File(s) you uploaded for your submission will overwrite existing file(s) submitted for this item').'\\n'.
+    my $overwritewarn = &mt('File(s) you uploaded for your submission will overwrite existing file(s) submitted for this item')."\n".
                       &mt('Continue submission and overwrite the file(s)?');
-    my $delfilewarn = &mt('You have indicated you wish to remove some files previously included in your submission.').'\\n'.
+    &js_escape(\$overwritewarn);
+    my $delfilewarn = &mt('You have indicated you wish to remove some files previously included in your submission.')."\n".
                       &mt('Continue submission with these files removed?');
+    &js_escape(\$delfilewarn);
     my ($turninpathtext,$multtext,$arrayindexofjs);
     if (ref($turninpaths) eq 'HASH') {
         foreach my $key (sort(keys(%{$turninpaths}))) {
@@ -3443,8 +3455,9 @@ THIRD
 ##############################################
 
 sub javascript_jumpto_resource {
-    my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'.
+    my $confirm_switch = &mt("Editing requires switching to the resource's home server.")."\n".
                          &mt('Switch server?');
+    &js_escape(\$confirm_switch);
     return (<<ENDUTILITY)
 
 function go(url) {