Diff for /loncom/interface/loncommon.pm between versions 1.694 and 1.702

version 1.694, 2008/11/22 19:08:21 version 1.702, 2008/12/03 00:09:56
Line 677  sub select_datelocale { Line 677  sub select_datelocale {
             if ($id ne '') {              if ($id ne '') {
                 my $en_terr = $locale->{'en_territory'};                  my $en_terr = $locale->{'en_territory'};
                 my $native_terr = $locale->{'native_territory'};                  my $native_terr = $locale->{'native_territory'};
                 my @languages = &preferred_languages();                  my @languages = &Apache::lonlocal::preferred_languages();
                 if (grep(/^en$/,@languages) || !@languages) {                  if (grep(/^en$/,@languages) || !@languages) {
                     if ($en_terr ne '') {                      if ($en_terr ne '') {
                         $locale_names{$id} = '('.$en_terr.')';                          $locale_names{$id} = '('.$en_terr.')';
Line 2998  sub fileextensions { Line 2998  sub fileextensions {
   
 sub display_languages {  sub display_languages {
     my %languages=();      my %languages=();
     foreach my $lang (&preferred_languages()) {      foreach my $lang (&Apache::lonlocal::preferred_languages()) {
  $languages{$lang}=1;   $languages{$lang}=1;
     }      }
     &get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']);      &get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']);
Line 3010  sub display_languages { Line 3010  sub display_languages {
     return %languages;      return %languages;
 }  }
   
 sub preferred_languages {  
     my @languages=();  
     if (($env{'request.role.adv'}) && ($env{'form.languages'})) {  
         @languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$env{'form.languages'}));  
     }  
     if ($env{'course.'.$env{'request.course.id'}.'.languages'}) {  
  @languages=(@languages,split(/\s*(\,|\;|\:)\s*/,  
          $env{'course.'.$env{'request.course.id'}.'.languages'}));  
     }  
   
     if ($env{'environment.languages'}) {  
  @languages=(@languages,  
     split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'}));  
     }  
     my $browser=$ENV{'HTTP_ACCEPT_LANGUAGE'};  
     if ($browser) {  
  my @browser =   
     map { (split(/\s*;\s*/,$_))[0] } (split(/\s*,\s*/,$browser));  
  push(@languages,@browser);  
     }  
   
     foreach my $domtype ($env{'user.domain'},$env{'request.role.domain'},  
                          $Apache::lonnet::perlvar{'lonDefDomain'}) {  
         if ($domtype ne '') {  
             my %domdefs = &Apache::lonnet::get_domain_defaults($domtype);  
             if ($domdefs{'lang_def'} ne '') {  
                 push(@languages,$domdefs{'lang_def'});  
             }  
         }  
     }  
     return &get_genlanguages(@languages);  
 }  
   
 sub get_genlanguages {  
     my (@languages) = @_;  
 # turn "en-ca" into "en-ca,en"  
     my @genlanguages;  
     foreach my $lang (@languages) {  
         unless ($lang=~/\w/) { next; }  
         push(@genlanguages,$lang);  
         if ($lang=~/(\-|\_)/) {  
             push(@genlanguages,(split(/(\-|\_)/,$lang))[0]);  
         }  
     }  
     #uniqueify the languages list  
     my %count;  
     @genlanguages = map { $count{$_}++ == 0 ? $_ : () } @genlanguages;  
     return @genlanguages;  
 }  
   
 sub languages {  sub languages {
     my ($possible_langs) = @_;      my ($possible_langs) = @_;
     my @preferred_langs = &preferred_languages();      my @preferred_langs = &Apache::lonlocal::preferred_languages();
     if (!ref($possible_langs)) {      if (!ref($possible_langs)) {
  if( wantarray ) {   if( wantarray ) {
     return @preferred_langs;      return @preferred_langs;
Line 3930  sub get_domainconf { Line 3880  sub get_domainconf {
         if (ref($domconfig{'login'}) eq 'HASH') {          if (ref($domconfig{'login'}) eq 'HASH') {
             if (keys(%{$domconfig{'login'}})) {              if (keys(%{$domconfig{'login'}})) {
                 foreach my $key (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 {              } else {
                 $legacy{'login'} = 1;                  $legacy{'login'} = 1;
Line 4454  sub standard_css { Line 4411  sub standard_css {
     my $mail_other_hover     = '#669999';      my $mail_other_hover     = '#669999';
     my $table_header         = '#DDDDDD';      my $table_header         = '#DDDDDD';
     my $feedback_link_bg     = '#BBBBBB';      my $feedback_link_bg     = '#BBBBBB';
       my $lg_border_color     = '#C8C8C8';
   
     my $border = ($env{'browser.type'} eq 'explorer' ||      my $border = ($env{'browser.type'} eq 'explorer' ||
   $env{'browser.type'} eq 'safari'     ) ? '0px 2px 0px 2px'    $env{'browser.type'} eq 'safari'     ) ? '0px 2px 0px 2px'
Line 4461  sub standard_css { Line 4419  sub standard_css {
   
   
     return <<END;      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 }   a:focus { color: red; background: yellow } 
 table.thinborder,  table.thinborder,
   
 table.thinborder tr th {  table.thinborder tr th {
   border-style: solid;    border-style: solid;
   border-width: 1px;    border-width: 1px;
     border-color: $lg_border_color;
   background: $tabbg;    background: $tabbg;
 }  }
 table.thinborder tr td {  table.thinborder tr td {
   border-style: solid;    border-style: solid;
   border-width: 1px    border-width: 1px;
     border-color: $lg_border_color;
 }  }
   
 form, .inline { display: inline; }  form, .inline { display: inline; }
 .center { text-align: center; }  .center { text-align: center; }
   .left { text-align:left; }
   .right {text-align:right;}
   .middle {vertical-align:middle;}
   .top {vertical-align:top;}
   .bottom {vertical-align:bottom;}
 .LC_filename {font-family: $mono; white-space:pre;}  .LC_filename {font-family: $mono; white-space:pre;}
 .LC_error {  .LC_error {
   color: red;    color: red;
Line 4538  table#LC_title_bar.LC_with_remote { Line 4509  table#LC_title_bar.LC_with_remote {
   border-collapse: collapse;    border-collapse: collapse;
   padding: 0px;    padding: 0px;
 }  }
   
 table.LC_docs_path {  table.LC_docs_path {
   width: 100%;    width: 100%;
   border: 0;    border: 0;
Line 4635  table#LC_mainmenu td.LC_mainmenu_column Line 4605  table#LC_mainmenu td.LC_mainmenu_column
 .LC_menubuttons_inline_text {  .LC_menubuttons_inline_text {
   color: $font;    color: $font;
   font-family: $sans;    font-family: $sans;
   font-size: smaller;    font-size: 90%;
     padding-left:3px;
 }  }
   
 .LC_menubuttons_link {  .LC_menubuttons_link {
   text-decoration: none;    text-decoration: none;
 }  }
 #2008--9-5: new menu style sheet.Changed category  /*2008--9-5: new menu style sheet.Changed category*/
 .LC_menubuttons_category {  .LC_menubuttons_category {
   color: $font;    color: $font;
   background: $pgbg;    background: $pgbg;
Line 4651  table#LC_mainmenu td.LC_mainmenu_column Line 4622  table#LC_mainmenu td.LC_mainmenu_column
 }  }
   
 td.LC_menubuttons_text {  td.LC_menubuttons_text {
   width: 90%;    color: $font;
   color: $font;  
   font-family: $sans;  
 }  }
   
 td.LC_menubuttons_img {  td.LC_menubuttons_img {
 }  }
   
Line 4709  td.LC_menubuttons_img { Line 4677  td.LC_menubuttons_img {
 }  }
   
 .LC_roleslog_note {  .LC_roleslog_note {
   font-size: smaller;    font-size: small;
 }  }
   
 table.LC_aboutme_port {  table.LC_aboutme_port {
Line 4742  table.LC_data_table tr th, table.LC_cale Line 4710  table.LC_data_table tr th, table.LC_cale
 table.LC_prior_tries tr th {  table.LC_prior_tries tr th {
   font-weight: bold;    font-weight: bold;
   background-color: $data_table_head;    background-color: $data_table_head;
   font-size: smaller;    font-size:90%;
 }  }
 table.LC_data_table tr.LC_odd_row > td,   table.LC_data_table tr.LC_odd_row > td, 
 table.LC_aboutme_port tr td {  table.LC_aboutme_port tr td {
Line 4774  table.LC_nested tr.LC_empty_row td { Line 4742  table.LC_nested tr.LC_empty_row td {
 table.LC_nested_outer tr th {  table.LC_nested_outer tr th {
   font-weight: bold;    font-weight: bold;
   background-color: $data_table_head;    background-color: $data_table_head;
   font-size: smaller;    font-size: small;
   border-bottom: 1px solid #000000;    border-bottom: 1px solid #000000;
 }  }
 table.LC_nested_outer tr td.LC_subheader {  table.LC_nested_outer tr td.LC_subheader {
Line 4813  table.LC_createuser { Line 4781  table.LC_createuser {
 }  }
   
 table.LC_createuser tr.LC_section_row td {  table.LC_createuser tr.LC_section_row td {
   font-size: smaller;    font-size: small;
 }  }
   
 table.LC_createuser tr.LC_info_row td  {  table.LC_createuser tr.LC_info_row td  {
Line 4869  table.LC_mail_list tr.LC_mail_even { Line 4837  table.LC_mail_list tr.LC_mail_even {
 table.LC_mail_list tr.LC_mail_odd {  table.LC_mail_list tr.LC_mail_odd {
 }  }
   
   
 table#LC_portfolio_actions {  
   width: auto;  
   background: $pgbg;  
   border: 0px;  
   border-spacing: 2px 2px;  
   padding: 0px;  
   margin: 0px;  
   border-collapse: separate;  
 }  
 table#LC_portfolio_actions td.LC_label {  
   background: $tabbg;  
   text-align: right;  
 }  
 table#LC_portfolio_actions td.LC_value {  
   background: $tabbg;  
 }  
   
 table#LC_cstr_controls {  table#LC_cstr_controls {
   width: 100%;    width: 100%;
   border-collapse: collapse;    border-collapse: collapse;
Line 4905  table#LC_cstr_controls tr th { Line 4855  table#LC_cstr_controls tr th {
   font-size: smaller;    font-size: smaller;
 }  }
   
 table#LC_browser {  table.LC_data_table tr > td.LC_browser_file,
    table.LC_data_table tr > td.LC_browser_file_published {
 }  
 table#LC_browser tr th {  
   background: $table_header;  
 }  
 table#LC_browser tr td {  
   padding: 2px;  
 }  
 table#LC_browser tr.LC_browser_file,  
 table#LC_browser tr.LC_browser_file_published {  
   background: #CCFF88;    background: #CCFF88;
 }  }
 table#LC_browser tr.LC_browser_file_locked,  table.LC_data_table tr > td.LC_browser_file_locked,
 table#LC_browser tr.LC_browser_file_unpublished {  table.LC_data_table tr > td.LC_browser_file_unpublished {
   background: #FFAA99;    background: #FFAA99;
 }  }
 table#LC_browser tr.LC_browser_file_obsolete {  table.LC_data_table tr > td.LC_browser_file_obsolete {
   background: #AAAAAA;    background: #AAAAAA;
 }  }
 table#LC_browser tr.LC_browser_file_modified,  table.LC_data_table tr > td.LC_browser_file_modified,
 table#LC_browser tr.LC_browser_file_metamodified {  table.LC_data_table tr > td.LC_browser_file_metamodified {
   background: #FFFF77;    background: #FFFF77;
 }  }
 table#LC_browser tr.LC_browser_folder {  table.LC_data_table tr.LC_browser_folder > td {
   background: #CCCCFF;    background: #CCCCFF;
 }  }
   
 span.LC_current_location {  span.LC_current_location {
   font-size: x-large;    font-size:larger;
   background: $pgbg;    background: $pgbg;
 }  }
   
Line 5441  table.LC_scantron_action { Line 5383  table.LC_scantron_action {
   width: 100%;    width: 100%;
 }  }
 table.LC_scantron_action tr th {  table.LC_scantron_action tr th {
   font: normal bold $sans;    font-weight:bold;
     font-style:normal;
 }  }
   .LC_edit_problem_header, 
 div.LC_edit_problem_header,   
 div.LC_edit_problem_footer {  div.LC_edit_problem_footer {
   font: normal medium $sans;    font: normal medium $sans;
   margin: 2px;    margin: 2px;
Line 5527  fieldset#LC_mainmenu_fieldset { Line 5469  fieldset#LC_mainmenu_fieldset {
 # changed or removed.  # changed or removed.
 # --------------------------*/  # --------------------------*/
   
   a:hover,
 body {  ol.smallMenu a:hover,
  font-family: Tahoma, Arial,Helvetica,sans-serif;  ol#MenuBreadcrumbs a:hover,
  font-size: 0.85em;  ul#TabMainMenuContent a:hover,
  line-height: 130%;  .FormSectionClearButton input:hover{
  color: RGB(45, 45, 45);   color:#BF2317;
 }          text-decoration:none;
   
 a:link,a:visited {  
  /*color: RGB(0, 118, 127);*/  
  /*text-decoration: underline;*/  
 }  
   
 a:hover{  
  text-decoration:none;  
 }  }
 /*a:hover,  
 UL.smallMenu A:hover,  
 UL.MenuBreadcrumbs A:hover,  
 UL#TabMainMenuContent A:hover{  
  color: rgb(200, 10, 50);  
 }*/  
   
 h1 {   h1 { 
  padding:5px 10px 5px 20px;   padding:5px 10px 5px 0px;
  line-height:130%;   line-height:130%;
 }  }
 h2,h4,h6 {  
  /*color: RGB(0, 118, 127);*/  
 }  
 h2,h3,h4,h5,h6  h2,h3,h4,h5,h6
 {  {
 margin:5px 0px 5px 0px;  margin:5px 0px 5px 0px;
 line-height:130%;  line-height:130%;
 }  }
   .hcell{
 .right {          padding:3px 15px 3px 15px;
  text-align: right;          margin:0px;
 }   background-color:$pgbg;
    background-color:$ border-bottom:solid 1px $lg_border_color;       
 .center {  }
  text-align: center;  .noBorder {
 }          border:0px;
   }
 .left {  /*
  text-align: left;  .bgLightGrey { background:URL(images/TabMenuBG.png) repeat-x left top; }
 }  .bgLightGreyYellow {background-color:#EFECE0;}
   */
   
   
   /* Main Header with discription of Person, Course, etc. */
 .HeadRight {  .HeadRight {
  text-align: right;   text-align: right;
  float: right;   float: right;
  margin: 0px;   margin: 0px;
  padding: 0px;   padding: 0px;
  right:0;          right:0;
         position:absolute;          position:absolute;
 }          overflow:hidden;
   
 img {  
 /* border: 0px; */  
 }  
   
 .personalBgColor {  
  background: RGB(237, 239, 0) url(images/headHighlight.png) repeat-y left top;  
 }  }
   
 p {  p {
  padding: 10px;   padding: 10px;
   
   }
   .FormSectionClearButton input {
           background-color:transparent;
           border:0px;
           cursor:pointer;
           text-decoration:underline;
 }  }
 DL,UL,Div,Fieldset {  
  /*margin: 10px;*/  
   dl,ul,div,fieldset {
    margin: 10px 10px 10px 0px;
  overflow:hidden;   overflow:hidden;
 }  }
 OL.smallMenu {  ol.smallMenu {
  margin: 0px 0px 0px 0px;   margin: 0px;
 }  }
   
 OL.smallMenu li {  ol.smallMenu li {
  display: inline;   display: inline;
  padding: 5px 5px 0px 10px;   padding: 5px 5px 0px 10px;
  vertical-align: top;   vertical-align: top;
 }  }
   
 OL.smallMenu li img {  ol.smallMenu li img {
  vertical-align: bottom;   vertical-align: bottom;
 }  }
   
 OL.smallMenu A {  ol.smallMenu a {
  font-size: 90%;   font-size: 90%;
  color: RGB(80, 80, 80);   color: RGB(80, 80, 80);
  text-decoration: none;   text-decoration: none;
 }  }
   
 OL#TabMainMenuContent {  ol#TabMainMenuContent {
   
  margin: 0px 0px 10px 0px;   margin: 0px 0px 10px 0px;
  padding: 0px;   padding: 0px;
 }  }
   
 OL#TabMainMenuContent LI {  ol#TabMainMenuContent li {
  display: inline;   display: inline;
  vertical-align: bottom;   vertical-align: bottom;
  border-bottom: solid 1px RGB(175, 175, 175);   border-bottom: solid 1px RGB(175, 175, 175);
Line 5636  OL#TabMainMenuContent LI { Line 5566  OL#TabMainMenuContent LI {
  line-height: 140%;   line-height: 140%;
  font-weight: bold;   font-weight: bold;
  overflow:hidden;   overflow:hidden;
  background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;  /* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;*/
 }  }
   
 OL#TabMainMenuContent LI A {  ol#TabMainMenuContent li a{
  color: RGB(47, 47, 47);   color: RGB(47, 47, 47);
  text-decoration: none;   text-decoration: none;
 }  }
   
 OL#TabMainMenuContent DIV.columnSection {  ol#TabMainMenuContent div.columnSection {
  margin-bottom: 0px;   margin-bottom: 0px;
 }  }
   
 OL#MenuBreadcrumbs {  ol#MenuBreadcrumbs, ol#PathBreadcrumbs {
  border-top: solid 1px RGB(255, 255, 255);   border-top: solid 1px RGB(255, 255, 255);
  height: 20px;   height: 20px;
  line-height: 20px;   line-height: 20px;
Line 5656  OL#MenuBreadcrumbs { Line 5586  OL#MenuBreadcrumbs {
  margin: 0px 0px 30px 0px;   margin: 0px 0px 30px 0px;
  padding-left: 10px;   padding-left: 10px;
  list-style-position: inside;   list-style-position: inside;
  background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left  /* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left
  top;   top;*/
 }  }
   
 OL#MenuBreadcrumbs li {  ol#MenuBreadcrumbs li, ol#PathBreadcrumbs li {
  background: url(images/pfeil_white.png) no-repeat left center;  /* background: url(images/pfeil_white.png) no-repeat left center;*/
  display: inline;   display: inline;
  padding: 0px 0px 0px 10px;   padding: 0px 0px 0px 10px;
  vertical-align: bottom;   vertical-align: bottom;
  overflow:hidden;   overflow:hidden;
 }  }
   
 OL#MenuBreadcrumbs LI A {  ol#MenuBreadcrumbs li a {
  text-decoration: none;   text-decoration: none;
  font-size:90%;   font-size:90%;
 }  }
   ol#PathBreadcrumbs li a{
 h4.hcell {   text-decoration:none;
  padding: 3px 10px 3px 10px;   font-size:100%;
  margin: 0px;   font-weight:bold;
  background: RGB(0, 118, 127);  
  color: white;  
  border: outset 1px;  
 }  
   
 DIV.DivContentBoxSpecial  
 {  
  border: solid 1px RGB(100, 100, 100);  
 }  }
   
 FIELDSET  .ContentBoxSpecial
 {  {
  /*width:78%;*/   border: solid 1px $lg_border_color;
 }  
 DIV.DivContentBox,  
 DIV.DivContentBoxSpecial {  
  width: 80%;  
  margin:10px;  
 }  }
   .ContentBox {
 FIELDSET legend,DL DT {   padding:10px;
  font-weight: bold;  
  font-size: 110%;  
  /*padding-left: 0px;*/  
 /* margin-left: 0px;*/  
 }  }
   .PopUp
 DIV.DivImportant {  {
  background: url(images/important.png) no-repeat center top;   padding:10px;
  padding: 100px 10px 10px 10px;   border-left:solid 1px $lg_border_color;
  width: 200px;    border-top:solid 1px $lg_border_color;
  border: double 4px RGB(200, 200, 200);   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.ListStyleClean DT {  
  padding-right: 5px;   padding-right: 5px;
  display: table-header-group;   display: table-header-group;
 }  }
   
 DL.ListStyleClean DD {  dl.ListStyleClean dd {
  display: table-row;   display: table-row;
 }  }
   
Line 5728  DL.ListStyleClean DD { Line 5645  DL.ListStyleClean DD {
 .ListStyleSpecial  .ListStyleSpecial
  {   {
  /*display:block; */   /*display:block; */
  width: 400px;  
  list-style-position: inside;   list-style-position: inside;
  list-style-type: none;   list-style-type: none;
  overflow: hidden;   overflow: hidden;
  padding: 0px;   padding: 0px;
 }  }
   
 .ListStyleClean li,  
 .ListStyleSimple li,  .ListStyleSimple li,
 .ListStyleSimple DD,  .ListStyleSimple dd,
 .ListStyleNormal li,  .ListStyleNormal li,
 .ListStyleNormal DD,  .ListStyleNormal dd,
 .ListStyleSpecial li,  .ListStyleSpecial li,
 .ListStyleSpecial DD  .ListStyleSpecial dd
  {   {
  margin: 0px;   margin: 0px;
  padding: 5px 5px 5px 10px;   padding: 5px 5px 5px 10px;
  clear: both;   clear: both;
  /*display:block;*/  
 }  }
   
 .ListStyleClean LI,  .ListStyleClean li,
 .ListStyleClean DD {  .ListStyleClean dd {
  padding-top: 0px;   padding-top: 0px;
  padding-bottom: 0px;   padding-bottom: 0px;
 }  }
   
 .ListStyleSimple DD,  .ListStyleSimple dd,
 .ListStyleSimple LI{  .ListStyleSimple li{
  border-bottom: solid 1px RGB(150, 150, 150);   border-bottom: solid 1px $lg_border_color;
 }  }
   
 .ListStyleSpecial LI,  .ListStyleSpecial li,
 .ListStyleSpecial DD {  .ListStyleSpecial dd {
  list-style-type: none;   list-style-type: none;
  background-color: RGB(220, 220, 220);   background-color: RGB(220, 220, 220);
  margin-bottom: 4px;   margin-bottom: 4px;
 }  }
   
 table.SimpleTable *{  table.SimpleTable {
  padding:10px;   margin:5px;
    border:solid 1px $lg_border_color;
  }   }
   
 table.SimpleTable td {  table.SimpleTable tr {
  vertical-align:top;   padding:0px;
  border:solid 1px RGB(210,210,210);   border:solid 1px $lg_border_color;
 }  }
 table.SimpleTable thead{  table.SimpleTable thead{
  background:rgb(210,210,210);   background:rgb(220,220,220);
 }  }
   
 DIV.columnSection {  div.columnSection {
  display: block;   display: block;
  clear: both;   clear: both;
  overflow: hidden;   overflow: hidden;
  margin:0px;   margin:0px;
 }  }
   
 DIV.columnSection>* {  div.columnSection>* {
  float: left;   float: left;
  margin: 10px 20px 10px 0px;   margin: 10px 20px 10px 0px;
  overflow:hidden;   overflow:hidden;
 }  }
   div.columnSection > .ContentBox,
 DIV.columnSection>FIELDSET,  div.columnSection > .ContentBoxSpecial
 DIV.columnSection>DIV.DivContentBox,  
 DIV.columnSection>DIV.DivContentBoxSpecial  
  {   {
  width: 480px;   width: 400px;
   
 }  }
   

Removed from v.1.694  
changed lines
  Added in v.1.702


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>