--- loncom/interface/loncommon.pm	2008/11/28 18:18:39	1.697
+++ loncom/interface/loncommon.pm	2008/12/19 17:19:48	1.726
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.697 2008/11/28 18:18:39 bisitz Exp $
+# $Id: loncommon.pm,v 1.726 2008/12/19 17:19:48 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -271,7 +271,7 @@ BEGIN {
         }
     }
     &Apache::lonnet::logthis(
-              "<font color=yellow>INFO: Read file types</font>");
+             "<span style='color:yellow;'>INFO: Read file types</span>");
     $readit=1;
     }  # end of unless($readit) 
     
@@ -926,7 +926,7 @@ sub help_open_topic {
     if ($text ne "") {
 	$template .= 
             "<table bgcolor='#3333AA' cellspacing='1' cellpadding='1' border='0'><tr>".
-            "<td bgcolor='#5555FF'><span class=\"LC_nobreak\"><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>";
+            "<td bgcolor='#5555FF'><a target=\"_top\" href=\"$link\"><span style=\"color:#FFFFFF;font-size:10pt;\">$text</span></a>";
     }
 
     # Add the graphic
@@ -935,7 +935,7 @@ sub help_open_topic {
     $template .= <<"ENDTEMPLATE";
  <a target="_top" href="$link" title="$title"><img src="$helpicon" border="0" alt="(Help: $topic)" /></a>
 ENDTEMPLATE
-    if ($text ne '') { $template.='</span></td></tr></table>' };
+    if ($text ne '') { $template.='</td></tr></table>' };
     return $template;
 
 }
@@ -1128,7 +1128,7 @@ sub help_open_bug {
     {
 	$template .= 
   "<table bgcolor='#AA3333' cellspacing='1' cellpadding='1' border='0'><tr>".
-  "<td bgcolor='#FF5555'><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>";
+  "<td bgcolor='#FF5555'><a target=\"_top\" href=\"$link\"><span style=\"color:#FFFFFF;font-size:10pt;\">$text</span></a>";
     }
 
     # Add the graphic
@@ -1173,7 +1173,7 @@ sub help_open_faq {
     {
 	$template .= 
   "<table bgcolor='#337733' cellspacing='1' cellpadding='1' border='0'><tr>".
-  "<td bgcolor='#448844'><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>";
+  "<td bgcolor='#448844'><a target=\"_top\" href=\"$link\"><span style=\"color:#FFFFFF; font-size:10pt;\">$text</span></a>";
     }
 
     # Add the graphic
@@ -1686,17 +1686,17 @@ sub select_form {
 sub display_filter {
     if (!$env{'form.show'}) { $env{'form.show'}=10; }
     if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; }
-    return '<nobr><label>'.&mt('Records [_1]',
+    return '<span class="LC_nobreak"><label>'.&mt('Records [_1]',
 			       &Apache::lonmeta::selectbox('show',$env{'form.show'},undef,
 							   (&mt('all'),10,20,50,100,1000,10000))).
-	   '</label></nobr> <nobr>'.
+	   '</label></span> <span class="LC_nobreak">'.
            &mt('Filter [_1]',
 	   &select_form($env{'form.displayfilter'},
 			'displayfilter',
 			('currentfolder' => 'Current folder/page',
 			 'containing' => 'Containing phrase',
 			 'none' => 'None'))).
-			 '<input type="text" name="containingphrase" size="30" value="'.&HTML::Entities::encode($env{'form.containingphrase'}).'" /></nobr>';
+			 '<input type="text" name="containingphrase" size="30" value="'.&HTML::Entities::encode($env{'form.containingphrase'}).'" /></span>';
 }
 
 sub gradeleveldescription {
@@ -2768,10 +2768,7 @@ sub aboutmewrapper {
 
 
 sub syllabuswrapper {
-    my ($linktext,$coursedir,$domain,$fontcolor)=@_;
-    if ($fontcolor) { 
-        $linktext='<font color="'.$fontcolor.'">'.$linktext.'</font>'; 
-    }
+    my ($linktext,$coursedir,$domain)=@_;
     return qq{<a href="/public/$domain/$coursedir/syllabus">$linktext</a>};
 }
 
@@ -3171,7 +3168,7 @@ sub relative_to_absolute {
     }
     $thisdir=~s-/[^/]*$--;
     foreach my $link (@rlinks) {
-	unless (($link=~/^http:\/\//i) ||
+	unless (($link=~/^https?\:\/\//i) ||
 		($link=~/^\//) ||
 		($link=~/^javascript:/i) ||
 		($link=~/^mailto:/i) ||
@@ -3880,7 +3877,14 @@ sub get_domainconf {
         if (ref($domconfig{'login'}) eq 'HASH') {
             if (keys(%{$domconfig{'login'}})) {
                 foreach my $key (keys(%{$domconfig{'login'}})) {
-                    $designhash{$udom.'.login.'.$key}=$domconfig{'login'}{$key};
+                    if (ref($domconfig{'login'}{$key}) eq 'HASH') {
+                        foreach my $img (keys(%{$domconfig{'login'}{$key}})) {
+                            $designhash{$udom.'.login.'.$key.'_'.$img} = 
+                                $domconfig{'login'}{$key}{$img};
+                        }
+                    } else {
+                        $designhash{$udom.'.login.'.$key}=$domconfig{'login'}{$key};
+                    }
                 }
             } else {
                 $legacy{'login'} = 1;
@@ -4213,7 +4217,7 @@ ENDROLE
 		.'<b>'.&mt('Construction Space').'</b>:&nbsp;'
 		.'<form name="dirs" method="post" action="'.$formaction
 		.'" target="_top"><tt><b>'
-		.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<font size=\"+1\">$lastitem</font></b></tt><br />"
+		.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<span class=\"LC_fontsize_big\">$lastitem</span></b></tt><br />"
 		.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()')
 		.'</form>'
 		.&Apache::lonmenu::constspaceform();
@@ -4387,6 +4391,10 @@ sub standard_css {
     my $vlink  = &designparm($function.'.vlink', $domain);
     my $link   = &designparm($function.'.link',  $domain);
 
+    my $loginbg = &designparm('login.sidebg',$domain);
+    my $bgcol = &designparm('login.bgcol',$domain);
+    my $textcol = &designparm('login.textcol',$domain);
+
     my $sans                 = 'Verdana,Arial,Helvetica,sans-serif';
     my $mono                 = 'monospace';
     my $data_table_head      = $tabbg;
@@ -4404,6 +4412,7 @@ sub standard_css {
     my $mail_other_hover     = '#669999';
     my $table_header         = '#DDDDDD';
     my $feedback_link_bg     = '#BBBBBB';
+    my $lg_border_color	     = '#C8C8C8';
 
     my $border = ($env{'browser.type'} eq 'explorer' ||
 		  $env{'browser.type'} eq 'safari'     ) ? '0px 2px 0px 2px'
@@ -4411,22 +4420,44 @@ sub standard_css {
 
 
     return <<END;
-h1, h2, h3, th { font-family: $sans }
+body{
+     font-family: $sans;
+     line-height:130%;
+     font-size:0.83em;
+     color:$font;
+  }
+a:link, a:visited { font-size:100%; }
+
 a:focus { color: red; background: yellow } 
 table.thinborder,
-
 table.thinborder tr th {
   border-style: solid;
   border-width: 1px;
+  border-color: $lg_border_color;
   background: $tabbg;
 }
 table.thinborder tr td {
   border-style: solid;
-  border-width: 1px
+  border-width: 1px;
+  border-color: $lg_border_color;
 }
 
 form, .inline { display: inline; }
-.center { text-align: center; }
+
+.LC_center { text-align: center; }
+.LC_left { text-align:left; }
+.LC_right {text-align:right;}
+.LC_middle {vertical-align:middle;}
+.LC_top {vertical-align:top;}
+.LC_bottom {vertical-align:bottom;}
+
+/* just for tests */
+.LC_300Box { width:300px; }
+.LC_200Box {width:200px; }
+.LC_500Box {width:500px; }
+.LC_600Box {width:600px; }
+/* end */
+
 .LC_filename {font-family: $mono; white-space:pre;}
 .LC_error {
   color: red;
@@ -4434,7 +4465,7 @@ form, .inline { display: inline; }
 }
 .LC_warning,
 .LC_diff_removed {
-  color: red;
+  
 }
 
 .LC_info,
@@ -4488,7 +4519,6 @@ table#LC_title_bar.LC_with_remote {
   border-collapse: collapse;
   padding: 0px;
 }
-
 table.LC_docs_path {
   width: 100%;
   border: 0;
@@ -4523,21 +4553,15 @@ table#LC_title_bar td.LC_title_bar_role_
   padding: 0px;
 }
 
-table#LC_menubuttons_mainmenu {
-  width: 100%;
-  border: 0px;
-  border-spacing: 1px;
-  padding: 0px 1px;
-  margin: 0px;
-  border-collapse: separate;
-}
-table#LC_menubuttons img, table#LC_menubuttons_mainmenu img {
+table#LC_menubuttons img{
   border: 0px;
 }
 table#LC_top_nav td {
   background: $tabbg;
   border: 0px;
   font-size: small;
+  vertical-align:top;
+  padding:2px 5px 2px 5px;
 }
 table#LC_top_nav td a, div#LC_top_nav a {
   color: $font;
@@ -4582,16 +4606,37 @@ table#LC_mainmenu td.LC_mainmenu_column
     vertical-align: top;
 }
 
+.LC_fontsize_small
+{
+ font-size: 70%;
+}
+
+.LC_fontsize_medium
+{
+ font-size: 85%;
+}
+
+.LC_fontsize_large
+{
+ font-size: 120%;
+}
+
+.LC_fontcolor_red
+{
+ color: #FF0000;
+}
+
 .LC_menubuttons_inline_text {
   color: $font;
   font-family: $sans;
-  font-size: smaller;
+  font-size: 90%;
+  padding-left:3px;
 }
 
 .LC_menubuttons_link {
   text-decoration: none;
 }
-#2008--9-5: new menu style sheet.Changed category
+/*2008--9-5: new menu style sheet.Changed category*/
 .LC_menubuttons_category {
   color: $font;
   background: $pgbg;
@@ -4601,13 +4646,10 @@ table#LC_mainmenu td.LC_mainmenu_column
 }
 
 td.LC_menubuttons_text {
-  width: 90%;
-  color: $font;
-  font-family: $sans;
+ 	color: $font; 	
 }
 
-td.LC_menubuttons_img {
-}
+
 
 .LC_current_location {
   font-family: $sans;
@@ -4619,34 +4661,6 @@ td.LC_menubuttons_img {
   font-weight: bold;
 }
 
-.LC_rolesmenu_is {
-  font-family: $sans;
-}
-
-.LC_rolesmenu_selected {
-  font-family: $sans;
-}
-
-.LC_rolesmenu_future {
-  font-family: $sans;
-}
-
-
-.LC_rolesmenu_will {
-  font-family: $sans;
-}
-
-.LC_rolesmenu_will_not {
-  font-family: $sans;
-}
-
-.LC_rolesmenu_expired {
-  font-family: $sans;
-}
-
-.LC_rolesinfo {
-  font-family: $sans;
-}
 
 .LC_dropadd_labeltext {
   font-family: $sans;
@@ -4659,7 +4673,11 @@ td.LC_menubuttons_img {
 }
 
 .LC_roleslog_note {
-  font-size: smaller;
+  font-size: small;
+}
+
+.LC_mail_functions {
+    font-weight: bold;
 }
 
 table.LC_aboutme_port {
@@ -4692,16 +4710,24 @@ table.LC_data_table tr th, table.LC_cale
 table.LC_prior_tries tr th {
   font-weight: bold;
   background-color: $data_table_head;
-  font-size: smaller;
+  font-size:90%;
+}
+table.LC_data_table tr.LC_info_row > td {
+  background-color: #CCC;
+  font-weight: bold;
+  text-align: left;
 }
 table.LC_data_table tr.LC_odd_row > td, 
+table.LC_pick_box tr > td.LC_odd_row,
 table.LC_aboutme_port tr td {
   background-color: $data_table_light;
   padding: 2px;
 }
 table.LC_data_table tr.LC_even_row > td,
+table.LC_pick_box tr > td.LC_even_row,
 table.LC_aboutme_port tr.LC_even_row td {
   background-color: $data_table_dark;
+  padding: 2px;
 }
 table.LC_data_table tr.LC_data_table_highlight td {
   background-color: $data_table_darker;
@@ -4724,7 +4750,7 @@ table.LC_nested tr.LC_empty_row td {
 table.LC_nested_outer tr th {
   font-weight: bold;
   background-color: $data_table_head;
-  font-size: smaller;
+  font-size: small;
   border-bottom: 1px solid #000000;
 }
 table.LC_nested_outer tr td.LC_subheader {
@@ -4763,7 +4789,7 @@ table.LC_createuser {
 }
 
 table.LC_createuser tr.LC_section_row td {
-  font-size: smaller;
+  font-size: small;
 }
 
 table.LC_createuser tr.LC_info_row td  {
@@ -4819,24 +4845,6 @@ table.LC_mail_list tr.LC_mail_even {
 table.LC_mail_list tr.LC_mail_odd {
 }
 
-table#LC_cstr_controls {
-  width: 100%;
-  border-collapse: collapse;
-}
-table#LC_cstr_controls tr td {
-  border: 4px solid $pgbg;
-  padding: 4px;
-  text-align: center;
-  background: $tabbg;
-}
-table#LC_cstr_controls tr th {
-  border: 4px solid $pgbg;
-  background: $table_header;
-  text-align: center;
-  font-family: $sans;
-  font-size: smaller;
-}
-
 table.LC_data_table tr > td.LC_browser_file,
 table.LC_data_table tr > td.LC_browser_file_published {
   background: #CCFF88;
@@ -4856,8 +4864,27 @@ table.LC_data_table tr.LC_browser_folder
   background: #CCCCFF;
 }
 
+table.LC_data_table tr > td.LC_roles_is {
+/*  background: #77FF77; */
+}
+table.LC_data_table tr > td.LC_roles_future {
+  background: #FFFF77;
+}
+table.LC_data_table tr > td.LC_roles_will {
+  background: #FFAA77;
+}
+table.LC_data_table tr > td.LC_roles_expired {
+  background: #FF7777;
+}
+table.LC_data_table tr > td.LC_roles_will_not {
+  background: #AAFF77;
+}
+table.LC_data_table tr > td.LC_roles_selected {
+  background: #11CC55;
+}
+
 span.LC_current_location {
-  font-size: x-large;
+  font-size:larger;
   background: $pgbg;
 }
 
@@ -5301,23 +5328,6 @@ div.LC_clear_float_footer {
 }
 
 
-div.LC_grade_select_mode {
-  font-family: $sans;
-}
-div.LC_grade_select_mode div div {
-  margin: 5px;
-}
-div.LC_grade_select_mode_selector {
-  margin: 5px;
-  float: left;
-}
-div.LC_grade_select_mode_selector_header {
-  font: bold medium $sans;
-}
-div.LC_grade_select_mode_type {
-  clear: left;
-}
-
 div.LC_grade_show_user {
   margin-top: 20px;
   border: 1px solid black;
@@ -5325,7 +5335,8 @@ div.LC_grade_show_user {
 div.LC_grade_user_name {
   background: #DDDDEE;
   border-bottom: 1px solid black;
-  font: bold large $sans;
+  font-weight: bold;
+  font-size: large;
 }
 div.LC_grade_show_user_odd_row div.LC_grade_user_name {
   background: #DDEEDD;
@@ -5344,7 +5355,8 @@ div.LC_grade_show_problem_header,
 div.LC_grade_submissions_header,
 div.LC_grade_message_center_header,
 div.LC_grade_assign_header {
-  font: bold large $sans;
+  font-weight: bold;
+  font-size: large;
 }
 div.LC_grade_show_problem_problem,
 div.LC_grade_submissions_body,
@@ -5355,7 +5367,8 @@ div.LC_grade_assign_body {
   background: #FFFFFF;
 }
 span.LC_grade_check_note {
-  font: normal medium $sans;
+  font-weight: normal;
+  font-size: medium;
   display: inline;
   position: absolute;
   right: 1em;
@@ -5365,12 +5378,13 @@ table.LC_scantron_action {
   width: 100%;
 }
 table.LC_scantron_action tr th {
-  font: normal bold $sans;
+  font-weight:bold;
+  font-style:normal;
 }
-
-div.LC_edit_problem_header, 
+.LC_edit_problem_header, 
 div.LC_edit_problem_footer {
-  font: normal medium $sans;
+  font-weight: normal;
+  font-size:  medium;
   margin: 2px;
 }
 div.LC_edit_problem_header,
@@ -5387,12 +5401,14 @@ div.LC_edit_problem_header_edit_row {
   margin-bottom: 5px;
 }
 div.LC_edit_problem_header_title {
-  font: larger bold $sans;
+  font-weight: bold;
+  font-size: larger;
   background: $tabbg;
   padding: 3px;
 }
 table.LC_edit_problem_header_title {
-  font: larger bold $sans;
+  font-size: larger;
+  font-weight:  bold;
   width: 100%;
   border-color: $pgbg;
   border-style: solid;
@@ -5440,10 +5456,11 @@ table#LC_mainmenu td.LC_mainmenu_col_fie
   font-size: small;
   font-weight: bold;
 }
-fieldset#LC_mainmenu_fieldset {
-  margin:0px 10px 10px 0px;
 
+div.LC_createcourse {
+    margin: 10px 10px 10px 10px;
 }
+
 /* ---- Remove when done ----
 # The following styles is part of the redesign of LON-CAPA and are
 # subject to change during this project.
@@ -5451,128 +5468,146 @@ fieldset#LC_mainmenu_fieldset {
 # changed or removed.
 # --------------------------*/
 
-
-body {
-	font-family: Tahoma, Arial,Helvetica,sans-serif;
-	font-size: 0.85em;
-	line-height: 130%;
-	color: RGB(45, 45, 45);
-}
-
-a:link,a:visited {
-	/*color: RGB(0, 118, 127);*/
-	/*text-decoration: underline;*/
-}
-
-a:hover{
-	text-decoration:none;
+a:hover,
+ol.LC_smallMenu a:hover,
+ol#LC_MenuBreadcrumbs a:hover,
+ol#LC_PathBreadcrumbs a:hover,
+ul#LC_TabMainMenuContent a:hover,
+.LC_FormSectionClearButton input:hover
+ul.LC_TabContent   li:hover a{
+	color:#BF2317;
+        text-decoration:none;
 }
-/*a:hover,
-UL.smallMenu A:hover,
-UL.MenuBreadcrumbs A:hover,
-UL#TabMainMenuContent A:hover{
-	color: rgb(200, 10, 50);
-}*/
 
 h1 { 
 	padding:5px 10px 5px 20px;
 	line-height:130%;
 }
-h2,h4,h6 {
-	/*color: RGB(0, 118, 127);*/
-}
+
 h2,h3,h4,h5,h6
 {
-margin:5px 0px 5px 0px;
-line-height:130%;
+	margin:5px 0px 5px 0px;
+	padding:0px;
+	line-height:130%;
 }
-
-.right {
-	text-align: right;
+.LC_hcell{
+        padding:3px 15px 3px 15px;
+        margin:0px;
+	background-color:$tabbg;
+	border-bottom:solid 1px $lg_border_color;       
 }
-
-.center {
-	text-align: center;
+.LC_noBorder {
+        border:0px;
 }
 
-.left {
-	text-align: left;
+.LC_bgLightGrey{
+	background:URL(/adm/lonIcons/lightGreyBG.png) repeat-x left top; 
+}
+.LC_bgLightGreyYellow {
+	background-color:#EFECE0;
 }
 
-
-.HeadRight {
+/* Main Header with discription of Person, Course, etc. */
+.LC_HeadRight {
 	text-align: right;
 	float: right;
 	margin: 0px;
 	padding: 0px;
-	 right:0;
+        right:0;
         position:absolute;
+        overflow:hidden;
 }
 
-img {
-/*	border: 0px; */
-}
+p, .LC_ContentBox {
+	padding: 10px;
 
-.personalBgColor {
-	background: RGB(237, 239, 0) url(images/headHighlight.png) repeat-y left top;
 }
-
-p {
-	padding: 10px;
+.LC_FormSectionClearButton input {
+    	    
+        border:0px;
+        cursor:pointer;
+        text-decoration:underline;
 }
-DL,UL,Div,Fieldset {
-	/*margin: 10px;*/
+
+
+dl,ul,div,fieldset {
+	margin: 10px 10px 10px 0px;
 	overflow:hidden;
 }
-OL.smallMenu {
-	margin: 0px 0px 0px 0px;
+ol.LC_smallMenu, ol#LC_PathBreadcrumbs {
+	margin: 0px;
 }
 
-OL.smallMenu li {
+ol.LC_smallMenu li {
 	display: inline;
 	padding: 5px 5px 0px 10px;
 	vertical-align: top;
 }
 
-OL.smallMenu li img {
+ol.LC_smallMenu li img {
 	vertical-align: bottom;
 }
 
-OL.smallMenu A {
+ol.LC_smallMenu a {
 	font-size: 90%;
 	color: RGB(80, 80, 80);
 	text-decoration: none;
 }
 
-OL#TabMainMenuContent {
-	
+ol#LC_TabMainMenuContent {
+	display:block;
+	list-style:none;
 	margin: 0px 0px 10px 0px;
 	padding: 0px;
 }
 
-OL#TabMainMenuContent LI {
+ol#LC_TabMainMenuContent li {
 	display: inline;
 	vertical-align: bottom;
 	border-bottom: solid 1px RGB(175, 175, 175);
 	border-right: solid 1px RGB(175, 175, 175);
-	padding: 5px 15px 5px 15px;
-	margin-right:4px;
+	padding: 5px 10px 5px 10px;
+	margin-right:3px;
 	line-height: 140%;
 	font-weight: bold;
-	overflow:hidden;
-	background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;
+	white-space:nowrap;
+	background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
 }
 
-OL#TabMainMenuContent LI A {
+ol#LC_TabMainMenuContent li a{
 	color: RGB(47, 47, 47);
 	text-decoration: none;
 }
-
-OL#TabMainMenuContent DIV.columnSection {
-	margin-bottom: 0px;
+ul.LC_TabContent {
+	margin:0px;
+	padding:0px;
+	display:block;
+	list-style:none;
+	min-height:1.5em;
+}
+ul.LC_TabContent li{
+	display:inline;
+	vertical-align:top;
+	border-bottom:solid 1px $lg_border_color;
+	border-right:solid 1px $lg_border_color;
+	padding:5px 10px 5px 10px;
+	margin-right:2px;
+	background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+}
+ul.LC_TabContent li a, ul.LC_TabContent li{
+	color:rgb(47,47,47);
+	text-decoration:none;
+	font-size:95%;
+	font-weight:bold;
+	white-space:nowrap;
+}
+.LC_hideThis
+{
+	display:none;
+	visibility:hidden;
 }
 
-OL#MenuBreadcrumbs {
+ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs {
 	border-top: solid 1px RGB(255, 255, 255);
 	height: 20px;
 	line-height: 20px;
@@ -5580,148 +5615,147 @@ OL#MenuBreadcrumbs {
 	margin: 0px 0px 30px 0px;
 	padding-left: 10px;
 	list-style-position: inside;
-	background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left
-		top;
+	background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
 }
 
-OL#MenuBreadcrumbs li {
-	background: url(images/pfeil_white.png) no-repeat left center;
+ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li {
+	background: url(/adm/lonIcons/arrow_white.png) no-repeat left center;
 	display: inline;
 	padding: 0px 0px 0px 10px;
 	vertical-align: bottom;
 	overflow:hidden;
 }
 
-OL#MenuBreadcrumbs LI A {
+ol#LC_MenuBreadcrumbs li a {
 	text-decoration: none;
 	font-size:90%;
 }
-
-h4.hcell {
-	padding: 3px 10px 3px 10px;
-	margin: 0px;
-	background: RGB(0, 118, 127);
-	color: white;
-	border: outset 1px;
+ol#LC_PathBreadcrumbs li a{
+	text-decoration:none;
+	font-size:100%;
+	font-weight:bold;
 }
-
-DIV.DivContentBoxSpecial
+.LC_ContentBoxSpecial
 {
-	border: solid 1px RGB(100, 100, 100);
+	border: solid 1px $lg_border_color;
 }
-
-FIELDSET
+.LC_PopUp
 {
-	/*width:78%;*/
-}
-DIV.DivContentBox,
-DIV.DivContentBoxSpecial {
-	width: 80%;
-	margin:10px;
-}
-
-FIELDSET legend,DL DT {
-	font-weight: bold;
-	font-size: 110%;
-	/*padding-left: 0px;*/
-/*	margin-left: 0px;*/
-}
-
-DIV.DivImportant {
-	background: url(images/important.png) no-repeat center top;
-	padding: 100px 10px 10px 10px;
-	width: 200px;
-	border: double 4px RGB(200, 200, 200);
+	padding:10px;
+	border-left:solid 1px $lg_border_color;
+ 	border-top:solid 1px $lg_border_color;
+	border-bottom:outset 1px $lg_border_color;
+	border-right:outset 1px $lg_border_color;
+	display:none;
+	position:absolute;
+	right:0;
+	background-color:white;
+	z-index:5;
 }
 
-
-
-DL.ListStyleClean DT {
+dl.LC_ListStyleClean dt {
 	padding-right: 5px;
 	display: table-header-group;
 }
 
-DL.ListStyleClean DD {
+dl.LC_ListStyleClean dd {
 	display: table-row;
 }
 
-.ListStyleClean,
-.ListStyleSimple,
-.ListStyleNormal,
-.ListStyleNormal_Border,
-.ListStyleSpecial
+.LC_ListStyleClean,
+.LC_ListStyleSimple,
+.LC_ListStyleNormal,
+.LC_ListStyleNormal_Border,
+.LC_ListStyleSpecial
 	{
 	/*display:block;	*/
-	width: 400px;
 	list-style-position: inside;
 	list-style-type: none;
 	overflow: hidden;
 	padding: 0px;
 }
 
-.ListStyleClean li,
-.ListStyleSimple li,
-.ListStyleSimple DD,
-.ListStyleNormal li,
-.ListStyleNormal DD,
-.ListStyleSpecial li,
-.ListStyleSpecial DD
+.LC_ListStyleSimple li,
+.LC_ListStyleSimple dd,
+.LC_ListStyleNormal li,
+.LC_ListStyleNormal dd,
+.LC_ListStyleSpecial li,
+.LC_ListStyleSpecial dd
 	{
 	margin: 0px;
 	padding: 5px 5px 5px 10px;
 	clear: both;
-	/*display:block;*/
 }
 
-.ListStyleClean LI,
-.ListStyleClean DD {
+.LC_ListStyleClean li,
+.LC_ListStyleClean dd {
 	padding-top: 0px;
 	padding-bottom: 0px;
 }
 
-.ListStyleSimple DD,
-.ListStyleSimple LI{
-	border-bottom: solid 1px RGB(150, 150, 150);
+.LC_ListStyleSimple dd,
+.LC_ListStyleSimple li{
+	border-bottom: solid 1px $lg_border_color;
 }
 
-.ListStyleSpecial LI,
-.ListStyleSpecial DD {
+.LC_ListStyleSpecial li,
+.LC_ListStyleSpecial dd {
 	list-style-type: none;
 	background-color: RGB(220, 220, 220);
 	margin-bottom: 4px;
 }
 
-table.SimpleTable *{
-	padding:10px;
+table.LC_SimpleTable {
+	margin:5px;
+	border:solid 1px $lg_border_color;
 	}
 
-table.SimpleTable td {
-	vertical-align:top;
-	border:solid 1px RGB(210,210,210);
+table.LC_SimpleTable tr {
+	padding:0px;
+	border:solid 1px $lg_border_color;
 }
-table.SimpleTable thead{
-	 background:rgb(210,210,210);
+table.LC_SimpleTable thead{
+	 background:rgb(220,220,220);
 }
 
-DIV.columnSection {
+div.LC_columnSection {
 	display: block;
 	clear: both;
 	overflow: hidden;
 	margin:0px;
 }
 
-DIV.columnSection>* {
+div.LC_columnSection>* {
 	float: left;
 	margin: 10px 20px 10px 0px;
 	overflow:hidden;	
 }
-
-DIV.columnSection>FIELDSET,
-DIV.columnSection>DIV.DivContentBox,
-DIV.columnSection>DIV.DivContentBoxSpecial
+div.LC_columnSection > .LC_ContentBox,
+div.LC_columnSection > .LC_ContentBoxSpecial
 	{
-	width: 480px;
-	
+	width: 400px;	
+}
+
+.ContentBoxSpecialTemplate
+{
+        border: solid 1px $lg_border_color;
+}
+.ContentBoxTemplate {
+        padding:10px;
+}
+
+div.LC_columnSection > .ContentBoxTemplate,
+div.LC_columnSection > .ContentBoxSpecialTemplate
+        {
+        width: 600px;
+
+}
+
+.clear{
+	clear: both;
+	line-height: 0px;
+	font-size: 0px;
+	height: 0px;
 }
 
 .LC_loginpage_container {
@@ -5737,11 +5771,19 @@ DIV.columnSection>DIV.DivContentBoxSpeci
 
 .LC_loginpage_loginContainer {
 	float:left;
-	width:60%;
+	width: 182px;
+	border:1px solid #CCCCCC;
+	background-color:$loginbg;
 }
 
+.LC_loginpage_loginContainer h2{
+	margin-top:0;
+	display:block;
+	background:$bgcol;
+	color:$textcol;
+	padding-left:5px;
+}
 .LC_loginpage_loginInfo {
-	margin-top:20px;
 	margin-left:20px;
 	float:left;
 	width:30%;
@@ -5749,6 +5791,13 @@ DIV.columnSection>DIV.DivContentBoxSpeci
 	padding:10px;
 }
 
+.LC_loginpage_loginDomain {
+	margin-right:20px;
+	width:20%;
+	float:left;
+	padding:10px;
+}
+
 .LC_loginpage_space {
 	clear:both;
 	margin-bottom:20px;
@@ -5768,7 +5817,6 @@ DIV.columnSection>DIV.DivContentBoxSpeci
 }
 
 
-
 END
 }
 
@@ -6032,11 +6080,22 @@ sub start_page {
     }
 
     if ($args->{'js_ready'}) {
-	$result = &js_ready($result);
+		$result = &js_ready($result);
     }
     if ($args->{'html_encode'}) {
-	$result = &html_encode($result);
+		$result = &html_encode($result);
+    }
+
+    if (exists($args->{'bread_crumbs'})) {
+        &Apache::lonhtmlcommon::clear_breadcrumbs();
+        if (ref($args->{'bread_crumbs'}) eq 'ARRAY') {         
+            foreach my $crumb (@{$args->{'bread_crumbs'}}){
+                &Apache::lonhtmlcommon::add_breadcrumb($crumb);
+            }
+        }
+        $result .= &Apache::lonhtmlcommon::breadcrumbs();
     }
+
     return $result;
 }
 
@@ -6183,7 +6242,7 @@ sub simple_error_page {
     }
 
     sub start_data_table_empty_row {
-	$row_count[0]++;
+#	$row_count[0]++;
 	return  '<tr class="LC_empty_row" >'."\n";;
     }
 
@@ -6799,19 +6858,35 @@ sub default_quota {
         if ($inststatus ne '') {
             my @statuses = split(/:/,$inststatus);
             foreach my $item (@statuses) {
-                if ($quotahash{'quotas'}{$item} ne '') {
-                    if ($defquota eq '') {
-                        $defquota = $quotahash{'quotas'}{$item};
-                        $settingstatus = $item;
-                    } elsif ($quotahash{'quotas'}{$item} > $defquota) {
-                        $defquota = $quotahash{'quotas'}{$item};
-                        $settingstatus = $item;
+                if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
+                    if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') {
+                        if ($defquota eq '') {
+                            $defquota = $quotahash{'quotas'}{'defaultquota'}{$item};
+                            $settingstatus = $item;
+                        } elsif ($quotahash{'quotas'}{'defaultquota'}{$item} > $defquota) {
+                            $defquota = $quotahash{'quotas'}{'defaultquota'}{$item};
+                            $settingstatus = $item;
+                        }
+                    }
+                } else {
+                    if ($quotahash{'quotas'}{$item} ne '') {
+                        if ($defquota eq '') {
+                            $defquota = $quotahash{'quotas'}{$item};
+                            $settingstatus = $item;
+                        } elsif ($quotahash{'quotas'}{$item} > $defquota) {
+                            $defquota = $quotahash{'quotas'}{$item};
+                            $settingstatus = $item;
+                        }
                     }
                 }
             }
         }
         if ($defquota eq '') {
-            $defquota = $quotahash{'quotas'}{'default'};
+            if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
+                $defquota = $quotahash{'quotas'}{'defaultquota'}{'default'};
+            } else {
+                $defquota = $quotahash{'quotas'}{'default'};
+            }
             $settingstatus = 'default';
         }
     } else {
@@ -7607,9 +7682,9 @@ sub upload_embedded {
                                    '&nbsp;<a href="'.$url.'">'.
                                    $orig_uploaded_filename.'</a><br />';
                     } else {
-                        $output .= '<font size="+2">'.
+                        $output .= '<span class=\"LC_fontsize_large\">'.
                                    &mt('View embedded file: [_1]','<a href="'.$url.'">'.
-                                   $orig_uploaded_filename.'</a>').'</font><br />';
+                                   $orig_uploaded_filename.'</a>').'</span><br />';
                     }
                 }
                 close($fh);
@@ -7956,7 +8031,7 @@ sub csv_print_select_table {
               &end_data_table_header_row()."\n");
     foreach my $array_ref (@$d) {
 	my ($value,$display,$defaultcol)=@{ $array_ref };
-	$r->print(&start_data_table_row().'<td>'.$display.'</td>');
+	$r->print(&start_data_table_row().'<tr><td>'.$display.'</td>');
 
 	$r->print('<td><select name=f'.$i.
 		  ' onchange="javascript:flip(this.form,'.$i.');">');
@@ -9292,7 +9367,9 @@ sub construct_course {
                    'policy.email',
                    'comment.email',
                    'pch.users.denied',
-                   'plc.users.denied'],
+                   'plc.users.denied',
+                   'hidefromcat',
+                   'categories'],
                    $$crsudom,$$crsunum);
     }
 
@@ -9750,6 +9827,11 @@ sub init_user_environment {
 	    }
 	}
 
+        foreach my $tool ('aboutme','blog','portfolio') {
+            $userenv{'availabletools.'.$tool} = 
+                &Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
+        }
+
 	$env{'user.environment'} = "$lonids/$cookie.id";
 	
 	if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id",
@@ -9762,8 +9844,8 @@ sub init_user_environment {
 	    }
 	    untie(%disk_env);
 	} else {
-	    &Apache::lonnet::logthis("<font color=\"blue\">WARNING: ".
-			   'Could not create environment storage in lonauth: '.$!.'</font>');
+	    &Apache::lonnet::logthis("<span style=\"color:blue;\">WARNING: ".
+			   'Could not create environment storage in lonauth: '.$!.'</span>');
 	    return 'error: '.$!;
 	}
     }
@@ -9788,7 +9870,7 @@ sub _add_to_env {
 # --- Get the symbolic name of a problem and the url
 sub get_symb {
     my ($request,$silent) = @_;
-    (my $url=$env{'form.url'}) =~ s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
+    (my $url=$env{'form.url'}) =~ s-^https?\://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
     my $symb=($env{'form.symb'} ne '' ? $env{'form.symb'} : (&Apache::lonnet::symbread($url)));
     if ($symb eq '') {
         if (!$silent) {