--- loncom/publisher/lonpubdir.pm	2007/01/19 02:36:04	1.100
+++ loncom/publisher/lonpubdir.pm	2008/08/08 10:08:48	1.110
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Construction Space Directory Lister
 #
-# $Id: lonpubdir.pm,v 1.100 2007/01/19 02:36:04 albertel Exp $
+# $Id: lonpubdir.pm,v 1.110 2008/08/08 10:08:48 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -105,7 +105,7 @@ sub handler {
   my $numres = 0;
   
   # Start off the directory table.
-  $r->print('<h3>Directory Contents:</h3>');
+  $r->print('<h3>'.&mt('Directory Contents:').'</h3>');
   $r->print('<table id="LC_browser"><tr>'.
             '<th>'.&mt('Type').'</th>'.
             '<th>'.&mt('Actions').'</th>'.
@@ -197,7 +197,7 @@ sub startpage {
     my $formaction='/priv/'.$uname.$thisdisfn.'/';
     $formaction=~s|/+|/|g;
     my $pagetitle .= &Apache::loncommon::help_open_menu('','',3,'Authoring').
-        '<font face="Arial, Helvetica, sans-serif" size="+1"><b>Construction Space</b>:</font>&nbsp;'.
+        '<font face="Arial, Helvetica, sans-serif" size="+1"><b>'.&mt('Construction Space').'</b>:</font>&nbsp;'.
         '<form name="dirs" method="post" action="'.$formaction.
         '" target="_parent"><tt><b>'.
         &Apache::lonhtmlcommon::crumbs($uname.$thisdisfn.'/','_top','/priv','','+1',1)."</b></tt><br />".
@@ -211,16 +211,20 @@ sub startpage {
 						 {'body_title' =>
 						      $pagetitle,}));
     } else {
-	$r->print(&Apache::loncommon::start_page('Construction Space',undef));
+	$r->print(&Apache::loncommon::start_page('Construction Space',undef,
+						 { 'only_body' => 1,}));
 	$r->print($pagetitle);
     }
 
+    my $esc_thisdisfn = &Apache::loncommon::escape_single($thisdisfn);
+    my $doctitle = 'LON-CAPA '.&mt('Construction Space');
+    my $newname = &mt('New Name');
     my $pubdirscript=(<<ENDPUBDIRSCRIPT);
 <script type="text/javascript">
-top.document.title = '$thisdisfn/ - LON-CAPA Construction Space';
+top.document.title = '$esc_thisdisfn/ - $doctitle';
 // Store directory location for menu bar to find
 
-parent.lastknownpriv='/~$uname$thisdisfn/';
+parent.lastknownpriv='/~$uname$esc_thisdisfn/';
 
 // Confirmation dialogues
 
@@ -311,7 +315,7 @@ parent.lastknownpriv='/~$uname$thisdisfn
     }
     function changename(theform,activity) {
         var oldname=theform.dispfilename.value;
-        var newname=prompt('New Name',oldname);
+        var newname=prompt('$newname',oldname);
         if (newname == "" || !newname || newname == oldname)  {
             return
         }
@@ -354,17 +358,20 @@ sub dircontrols {
                                        ncrf => 'New custom rights file',
                                        nsty => 'New style file',
                                        nlib => 'New library file',
+                                       nbt  => 'New bridgetask file',
                                        nsub => 'New subdirectory',
                                        renm => 'Rename current file to',
                                        move => 'Move current file to',
                                        copy => 'Copy current file to',
                                        type => 'Type Name Here',
-                                       go => 'Go',
+                                       go   => 'Go',
                                        prnt => 'Print contents of directory',
                                        crea => 'Create a new directory or LON-CAPA document',
 				       acti => 'Actions for current directory',
-				       updc => 'Upload a new document'
+				       updc => 'Upload a new document',
+				       pick => 'Please select an action to perform using the new filename',
                                       );
+    my $mytype = $lt{'type'}; # avoid conflict with " and ' in javascript
     $r->print(<<END);
         <table id="LC_cstr_controls">
          <tr>
@@ -403,18 +410,29 @@ sub dircontrols {
 	    <form name="fileaction" method="post" action="/adm/cfile" target="_parent">
 	      <span style="white-space: nowrap">
 		<input type="hidden" name="filename" value="/~$uname$thisdisfn/" />
-			  <select name="action">
-			    <option value="Select Action">$lt{'sela'}</option>
-			    <option value="newfile">$lt{'nfil'}:</option>
-			    <option value="newhtmlfile">$lt{'nhtm'}:</option>
-			    <option value="newproblemfile">$lt{'nprb'}:</option>
-                            <option value="newpagefile">$lt{'npag'}:</option>
-                            <option value="newsequencefile">$lt{'nseq'}:</option>
-                            <option value="newrightsfile">$lt{'ncrf'}:</option>
-                            <option value="newstyfile">$lt{'nsty'}:</option>
-                            <option value="newlibraryfile">$lt{'nlib'}:</option>
-			    <option value="newdir">$lt{'nsub'}:</option>
-		  </select>&nbsp;<input type="text" name="newfilename" value="Type Name Here" onfocus="if (this.value == 'Type Name Here') this.value=''" />&nbsp;<input type="button" value="Go" onclick="document.fileaction.submit()" />
+                  <script type="text/javascript">
+                    function validate_go() {
+                        var selected = document.fileaction.action.selectedIndex;
+                        if (selected == 0) {
+                            alert('$lt{'pick'}');
+                        } else {
+                            document.fileaction.submit();
+                        }
+                    }
+                  </script>
+		  <select name="action">
+		    <option value="none">$lt{'sela'}</option>
+		    <option value="newfile">$lt{'nfil'}:</option>
+		    <option value="newhtmlfile">$lt{'nhtm'}:</option>
+		    <option value="newproblemfile">$lt{'nprb'}:</option>
+                    <option value="newpagefile">$lt{'npag'}:</option>
+                    <option value="newsequencefile">$lt{'nseq'}:</option>
+                    <option value="newrightsfile">$lt{'ncrf'}:</option>
+                    <option value="newstyfile">$lt{'nsty'}:</option>
+                    <option value="newtaskfile">$lt{'nbt'}:</option>
+                    <option value="newlibraryfile">$lt{'nlib'}:</option>
+	            <option value="newdir">$lt{'nsub'}:</option>
+		  </select>&nbsp;<input type="text" name="newfilename" value="$lt{'type'}" onfocus="if (this.value == '$mytype') this.value=''" />&nbsp;<input type="button" value="Go" onclick="validate_go();" />
 		 </span>
 		</form>
 	  </td>
@@ -523,7 +541,7 @@ sub putdirectory {
 								 ));
         my $actionitem = '';
         if ($dirname eq '..') {
-            $actionitem = 'Go to ...';
+            $actionitem = &mt('Go to ...');
         } else {
             $actionitem = 
                     '<form name="dirselect_'.$$numdir.
@@ -638,7 +656,7 @@ sub putresource {
 	} 
 
 	$title.="\n".'<br /><a href="/~'.$uname.$thisdisfn.'/'.$filename.'.meta">'. 
-	    ($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" alt="bomb" />':'Edit Metadata').'</a>';
+	    ($$bombs{$targetdir.'/'.$filename}?'<img src="/adm/lonMisc/bomb.gif" border="0" alt="'.&mt('bomb').'" />':&mt('Edit Metadata')).'</a>';
 
 	if (!$meta_same) {
 	    $title = &mt('Metadata Modified').'<br />'.$title.
@@ -674,7 +692,7 @@ sub putresource {
 	      '<td>'.($filename=~/[\#\~]$/?'&nbsp;':
 		      '<img src="'.&Apache::loncommon::icon($filename).'" alt="" />').'</td>'.
               '<td>'.$pub_select.'</td>'.
-	      '<td><span class="LC_filename"> '.
+	      '<td><span class="LC_filename">'.
 	      '<a href="'.$linkdir.'/'.$filename.'" target="_parent">'.
                $filename.'</a></span>'.$editlink2.$editlink.
 	      '</td>'.