--- loncom/homework/bridgetask.pm	2006/03/28 20:45:58	1.123
+++ loncom/homework/bridgetask.pm	2006/03/29 13:24:43	1.128
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # definition of tags that give a structure to a document
 #
-# $Id: bridgetask.pm,v 1.123 2006/03/28 20:45:58 albertel Exp $
+# $Id: bridgetask.pm,v 1.128 2006/03/29 13:24:43 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -259,64 +259,14 @@ sub preserve_grade_info {
 }
 
 sub style {
-    return (<<STYLE);
-<style type="text/css">
-.LC_fail, .LC_pass, .LC_neutral {
-    position: relative;
-    margin : 5px;
-    margin-bottom :10px;
-    padding : 4px;
-    padding-left : 75px;
-	border : thin solid;
-    font-weight : bolder;
-    font-size: smaller;
-    font-family: Arial;
-    background-color : rgb(255,240,225);
-}
-
-.LC_fail h4, .LC_pass h4 {
-	position:absolute;
-	left: -4px;
-	top: -8px;
-	padding:2px;
-	margin:0;
-	background-color : rgb(255,240,225);
-	border : thin solid;
-}
-
-.LC_fail {
-	color: red;
-}
-
-.LC_pass {
-    color : green;
-}
-
-.LC_neutral {
-	color : blue;
-}
-
-.LC_question {
-	border : thin solid black;
-	padding : 4px;
-	margin-bottom : 1em;
-}
-
-.LC_grade {
-	font-size: x-large;
-	font-family: Arial;
-	position:absolute;
-	left: 5px;
-	top: -5px;
-	width: 70px;
-}
-
-div#feedback h1 {
-    color : inherit;
-}
-</style>
+    my ($target) = @_;
+    if ($target eq 'web'
+	|| $target eq 'webgrade') {
+	return (<<STYLE);
+<link rel="stylesheet" type="text/css" href="/res/adm/includes/task.css" />
 STYLE
-
+    }
+    return;
 }
 
 sub show_task {
@@ -429,6 +379,7 @@ sub start_Task {
     my ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
 	&Apache::structuretags::page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
     
+    $head_tag_start .= &style($target);
     $body_tag_start .= '<div class="LC_task">'."\n";
 
     if ($target eq 'web' || $target eq 'webgrade') {
@@ -547,7 +498,7 @@ DONESCREEN
 	    }
 	} elsif ($target eq 'web') {
 	    $result.="$head_tag_start</head>
-              $body_tag_start \n".&style();
+              $body_tag_start \n";
 	    
 	    $result.=&preserve_grade_info();
 	    $result.=&internal_location();
@@ -559,7 +510,11 @@ DONESCREEN
 	      $target eq 'webgrade') {
 	my $webgrade='yes';
 	if ($target eq 'webgrade') {
-	    $result.=$head_tag_start.'</head>'.$body_tag_start;
+	    $result.=$head_tag_start.
+		'</head>'.$body_tag_start.
+		"\n".'<div class="LC_GRADING_task">'."\n".
+		'<script type="text/javascript" 
+                         src="/res/adm/includes/task_grading.js"></script>';
 	    #$result.='<br />Review'.&show_queue('reviewqueue');
 	    #$result.='<br />Grade'.&show_queue('gradingqueue');
 	}
@@ -1028,7 +983,7 @@ DONEBUTTON
 	#    &mt('Throw Away &amp; Stop Grading').'" /> ';
 	#$result.='<input type="submit" name="save" value="'.
 	#    &mt('Save Partial Grade and Continue Grading').'" /> ';
-	$result.='</form>'."\n</div>\n".
+	$result.='</form>'."\n</div>\n</div>\n".
 	    &Apache::loncommon::endbodytag().'</html>';
     } elsif ($target eq 'meta') {
 	$result.=&Apache::response::meta_package_write('Task');
@@ -1919,7 +1874,10 @@ sub start_IntroParagraph {
 	if ($tagstack->[-2] eq 'Dimension') {
 	    $dimension{'intro'}=&Apache::lonxml::get_all_text('/introparagraph',$parser,$style);
 	
-	} elsif ($target eq 'webgrade') {
+	} elsif ($tagstack->[-2] eq 'Task' && $target eq 'webgrade') {
+	    &Apache::lonxml::startredirection();
+	} else {
+	    &Apache:;lonxml::error("Invalid use of <IntroParagraph> inside of <".$tagstack->[-2].">");
 	    &Apache::lonxml::get_all_text('/introparagraph',$parser,$style);
 	}
 	
@@ -1928,6 +1886,10 @@ sub start_IntroParagraph {
 }
 
 sub end_IntroParagraph {
+    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+    if ($tagstack->[-2] eq 'Task' && $target eq 'webgrade') {
+	my $result = &Apache::lonxml::endredirection();
+    }
 }
 
 sub start_Instance {