--- loncom/interface/lonhtmlcommon.pm 2003/06/20 16:13:06 1.26 +++ loncom/interface/lonhtmlcommon.pm 2003/09/03 01:53:46 1.29 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.26 2003/06/20 16:13:06 matthew Exp $ +# $Id: lonhtmlcommon.pm,v 1.29 2003/09/03 01:53:46 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -181,6 +181,16 @@ sub date_setter { document.$formname.$dname\_day.value = 30; } } + + function $dname\_opencalendar() { + var calwin=window.open( +"/adm/announcements?pickdate=yes&formname=$formname&element=$dname&month="+ +document.$formname.$dname\_month.value+"&year="+ +document.$formname.$dname\_year.value, + "LONCAPAcal", + "height=350,width=350,scrollbars=yes,resizable=yes,menubar=no"); + + } </script> ENDJS $result .= " <nobr><select name=\"$dname\_month\" ".$special.' '. @@ -223,7 +233,7 @@ ENDJS "value=\"$min\" size=\"3\" /> m\n"; $result .= " <input type=\"text\" name=\"$dname\_second\" ".$special.' '. "value=\"$sec\" size=\"3\" /> s\n"; - $result .= "</nobr>\n<!-- end $dname date setting form -->\n"; + $result .= "<a href=\"javascript:$dname\_opencalendar()\">Select Date</a></nobr>\n<!-- end $dname date setting form -->\n"; return $result; } @@ -385,6 +395,9 @@ the selection box is set to document.$fo $size: the size (number of lines) of the selection box. +$onchange: javascript to use when the value is changed. Enclosed in +double quotes, ""s, not single quotes. + Returns: a perl string as described. =cut @@ -392,7 +405,7 @@ Returns: a perl string as described. ############################################## ############################################## sub StatusOptions { - my ($status, $formName,$size)=@_; + my ($status, $formName,$size,$onchange)=@_; $size = 1 if (!defined($size)); if (! defined($status)) { $status = 'Active'; @@ -409,9 +422,12 @@ sub StatusOptions { my $Str = ''; $Str .= '<select name="Status"'; - if(defined($formName) && $formName ne '') { + if(defined($formName) && $formName ne '' && ! defined($onchange)) { $Str .= ' onchange="document.'.$formName.'.submit()"'; } + if (defined($onchange)) { + $Str .= ' onchange="'.$onchange.'"'; + } $Str .= ' size="'.$size.'" '; $Str .= '>'."\n"; $Str .= '<option value="Active" '.$OpSel1.'>'. @@ -728,7 +744,7 @@ sub Create_PrgWin { "<body bgcolor=\"#88DDFF\">". "<h4>$heading</h4>". "<form name=popremain>". - "<input type=text size=55 name=remaining value=Starting></form>". + '<input type="text" size="55" name="remaining" value="Starting"></form>'. "</body></html>\');". "popwin.document.close();". "</script>"); @@ -787,6 +803,16 @@ sub Increment_PrgWin { } else { $lasttime = '('.$lasttime.' seconds for '.$extraInfo.')'; } + # + my $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'})); + my $user_os = $ENV{'browser.os'} if (exists($ENV{'browser.os'})); + if (! defined($user_browser) || ! defined($user_os)) { + (undef,$user_browser,undef,undef,undef,$user_os) = + &Apache::loncommon::decode_user_agent(); + } + if ($user_browser eq 'explorer' && $user_os =~ 'mac') { + $lasttime = ''; + } $r->print('<script>popwin.document.popremain.remaining.value="'. $$prog_state{'done'}.'/'.$$prog_state{'max'}. ': '.$time_est.' remaining '.$lasttime.'";'.'</script>');