diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php
index 1c5a43364dd217d55038676078c2145d16610a7d..562f778409fe9b2b8ab35f7ca6d1b14ac3b7bb6b 100755
--- a/application/controllers/RequestController.php
+++ b/application/controllers/RequestController.php
@@ -131,7 +131,7 @@ class RequestController extends Nmc_Controller_Action
         Nmc_Registry_Session::getInstance()->request = $request;
 
         $out = new Application_View();
-        $out->location = '/Request/CourseID';
+        $out->location = '/Request/Edit';
         $out->render('unlModernWrapper.xhtml');
     }
 
@@ -688,6 +688,28 @@ class RequestController extends Nmc_Controller_Action
         echo $out->render('unlModernWrapper.xhtml');
     }
 
+    public function editAction()
+    {
+        $in = $this->getRequest();
+
+        $course = Nmc_Registry_Session::getInstance()->course;
+        $request = Nmc_Registry_Session::getInstance()->request;
+
+        $view = new Application_View();
+        $view->addSidebarModule('bulletinPreview');
+        $view->addCssFile('/ooss/request/fullEdit');
+        $view->addJsFile('/javascript/request/fullEdit.js');
+        $view->addJsFile('/tinymce/jscripts/tiny_mce/tiny_mce.js');
+        $view->addJsFile('/javascript/mce.js');
+        $view->page = 'request/fullEdit';
+        $view->course = $course;
+        $view->request = $request;
+        $view->tagline = 'Edit Request';
+
+        $out = $this->getResponse();
+        $out->setBody($view->render('unlModernWrapper.xhtml'));
+    }
+
     protected function _submitRequestAction()
     {
         try {
diff --git a/application/library/View/Helper/BulletinEntry.php b/application/library/View/Helper/BulletinEntry.php
index 0b997ebc5f4f89aadf8afc0d048979ed3bd38b6a..f5190ef92b51c867f21ed50714b14f8705a7c187 100644
--- a/application/library/View/Helper/BulletinEntry.php
+++ b/application/library/View/Helper/BulletinEntry.php
@@ -55,7 +55,7 @@ class Application_View_Helper_BulletinEntry
                 }
 
                 ?>.
-                <?php echo $course->title; //title ?>
+                <?php echo htmlentities($course->title); //title ?>
                 </b>
                 <?php
                 $shortCrosslisting = array();
diff --git a/application/library/View/Helper/BulletinEntryDiff.php b/application/library/View/Helper/BulletinEntryDiff.php
new file mode 100644
index 0000000000000000000000000000000000000000..19452502262c11f3bf5dfc82b7ecf5614df76a93
--- /dev/null
+++ b/application/library/View/Helper/BulletinEntryDiff.php
@@ -0,0 +1,360 @@
+<?php
+
+class Application_View_Helper_BulletinEntryDiff
+{
+    static protected $_diffRenderer;
+
+    public function bulletinEntryDiff($currentCourse, $proposedCourse)
+    {
+        // ES and IS
+        $currentES = ($currentCourse->isEssentialStudies() == true ? '[ES]' : '');
+        $proposedES = ($proposedCourse->isEssentialStudies() == true ? '[ES]' : '');
+        $diffES = $this->_getDiffText($currentES, $proposedIS);
+
+        $currentIS = ($currentCourse->integratedStudies == 'yes' ? '[IS]' : '');
+        $proposedIS = ($proposedCourse->integratedStudies == 'yes' ? '[IS]' : '');
+        $diffIS = $this->_getDiffText($currentIS, $proposedIS);
+
+        $cs = $currentCourse->subject;
+        $ps = $proposedCourse->subject;
+        $diffSubject = $this->_getDiffText($currentCourse->subject, $proposedCourse->subject);
+
+
+        // course number with same-subject crosslistings
+        if(   in_array('Classroom', $currentCourse->deliveryMethods)
+           || in_array('Web', $currentCourse->deliveryMethods)
+           || $currentCourse->deliveryMethods[0] == ''
+           || count($currentCourse->deliveryMethods) == 0) {
+            $currentCourseId = $currentCourse->courseNumber . $currentCourse->courseLetter;
+            foreach($currentCourse->crosslistings as $crosslisting) {
+                if($crosslisting->type == 'home listing') {
+                    continue;
+                }
+                if($crosslisting->subject == $course->subject) {
+                    $currentCourseId .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter;
+                }
+            }
+        }
+        if(   in_array('Classroom', $proposedCourse->deliveryMethods)
+           || in_array('Web', $proposedCourse->deliveryMethods)
+           || $proposedCourse->deliveryMethods[0] == ''
+           || count($proposedCourse->deliveryMethods) == 0) {
+            $proposedCourseId = $proposedCourse->courseNumber . $proposedCourse->courseLetter;
+            foreach($proposedCourse->crosslistings as $crosslisting) {
+                if($crosslisting->type == 'home listing') {
+                    continue;
+                }
+                if($crosslisting->subject == $course->subject) {
+                    $proposedCourseId .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter;
+                }
+            }
+        }
+        $diffCourseId = $this->_getDiffText($currentCourseId, $proposedCourseId);
+
+
+        // course number with 'x' for correspondence courses
+        if(in_array('Correspondence', $currentCourse->deliveryMethods)) {
+            $currentCorrespondence = ' [' . $currentCourse->courseNumber . $currentCourse->courseLetter . 'x';
+            foreach($currentCourse->crosslistings as $crosslisting) {
+                if ($crosslisting->type == 'home listing') {
+                    continue;
+                }
+                if($crosslisting->subject == $course->subject) {
+                    $currentCorrespondence .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter . 'x';
+                }
+            }
+            $currentCorrespondence .= ']';
+        }
+        if(in_array('Correspondence', $proposedCourse->deliveryMethods)) {
+            $proposedCorrespondence = ' [' . $proposedCourse->courseNumber . $proposedCourse->courseLetter . 'x';
+            foreach($proposedCourse->crosslistings as $crosslisting) {
+                if ($crosslisting->type == 'home listing') {
+                    continue;
+                }
+                if($crosslisting->subject == $course->subject) {
+                    $proposedCorrespondence .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter . 'x';
+                }
+            }
+            $proposedCorrespondence .= ']';
+        }
+        $diffCorrespondence = $this->_getDiffText($currentCorrespondence, $proposedCorrespondence);
+
+        $diffTitle = $this->_getDiffText($currentCourse->title, $proposedCourse->title);
+
+
+        // crosslistings in parenthesis
+        $shortCrosslisting = array();
+        foreach($currentCourse->crosslistings as $crosslisting) {
+            if($crosslisting->type == 'home listing') {
+                continue;
+            }
+            if($crosslisting->subject != $currentCourse->subject) {
+                $shortCrosslisting[$crosslisting->subject][] = $crosslisting->courseNumber
+                                                             . $crosslisting->courseLetter;
+            }
+        }
+        if(count($shortCrosslisting) > 0) {
+            $currentCrosslistings = '(';
+            $subjectListings = array();
+            foreach($shortCrosslisting as $subject => $number) {
+                $subjectListings[] = $subject . ' ' . implode('/', $number);
+            }
+            $currentCrosslistings .= implode(', ', $subjectListings);
+            $currentCrosslistings .= ')';
+        }
+
+        $shortCrosslisting = array();
+        foreach($proposedCourse->crosslistings as $crosslisting) {
+            if($crosslisting->type == 'home listing') {
+                continue;
+            }
+            if($crosslisting->subject != $proposedCourse->subject) {
+                $shortCrosslisting[$crosslisting->subject][] = $crosslisting->courseNumber
+                                                             . $crosslisting->courseLetter;
+            }
+        }
+        if(count($shortCrosslisting) > 0) {
+            $proposedCrosslistings = '(';
+            $subjectListings = array();
+            foreach($shortCrosslisting as $subject => $number) {
+                $subjectListings[] = $subject . ' ' . implode('/', $number);
+            }
+            $proposedCrosslistings .= implode(', ', $subjectListings);
+            $proposedCrosslistings .= ')';
+        }
+
+        $diffCrosslistings = $this->_getDiffText($currentCrosslistings, $proposedCrosslistings);
+
+
+
+
+        // credits
+        $singleCredits = array();
+        $minRange = '';
+        $maxRange = '';
+        $maxSemester = '';
+        $maxMajor = '';
+        foreach($currentCourse->credits as $credit) {
+            if($credit->type == 1) {
+                $singleCredits[] = $credit->hours;
+            } else if($credit->type == 2) {
+                $minRange = $credit->hours;
+            } else if($credit->type == 3) {
+                $maxRange = $credit->hours;
+            } else if($credit->type == 4) {
+                $maxSemester = $credit->hours;
+            } else if($credit->type == 5) {
+                $maxMajor = $credit->hours;
+            }
+        }
+        $creditListings = array();
+        if(count($singleCredits) > 0) {
+            $creditListings[] = implode(' or ', $singleCredits) . ' cr';
+        }
+        if($minRange != '' && $maxRange != '') {
+            $creditListings[] = $minRange . '-' . $maxRange . ' cr';
+        }
+        if($maxSemester != '') {
+            $creditListings[] = $maxSemester . ' cr per sem';
+        }
+        if($maxMajor != '') {
+            $creditListings[] = 'max ' . $maxMajor;
+        }
+
+        if(count($currentCourse->termsOffered) > 0 && count($currentCourse->termsOffered) < 3) {
+            $termsOffered = implode(', ', $currentCourse->termsOffered);
+            $termsOffered = strtr($termsOffered, array('Fall' => 'I', 'Spring' => 'II', 'Summer' => 'III'));
+        }
+
+        if(count($creditListings) > 0) {
+            $currentCredits = '(' . implode(', ', $creditListings);
+            if($termsOffered != '') {
+                $currentCredits .= ' ' . $termsOffered;
+            }
+            $currentCredits .= ')';
+        } else if($termsOffered != '') {
+            $currentCredits = '(' . $termsOffered . ')';
+        }
+
+        $singleCredits = array();
+        $minRange = '';
+        $maxRange = '';
+        $maxSemester = '';
+        $maxMajor = '';
+        foreach($proposedCourse->credits as $credit) {
+            if($credit->type == 1) {
+                $singleCredits[] = $credit->hours;
+            } else if($credit->type == 2) {
+                $minRange = $credit->hours;
+            } else if($credit->type == 3) {
+                $maxRange = $credit->hours;
+            } else if($credit->type == 4) {
+                $maxSemester = $credit->hours;
+            } else if($credit->type == 5) {
+                $maxMajor = $credit->hours;
+            }
+        }
+        $creditListings = array();
+        if(count($singleCredits) > 0) {
+            $creditListings[] = implode(' or ', $singleCredits) . ' cr';
+        }
+        if($minRange != '' && $maxRange != '') {
+            $creditListings[] = $minRange . '-' . $maxRange . ' cr';
+        }
+        if($maxSemester != '') {
+            $creditListings[] = $maxSemester . ' cr per sem';
+        }
+        if($maxMajor != '') {
+            $creditListings[] = 'max ' . $maxMajor;
+        }
+
+        if(count($proposedCourse->termsOffered) > 0 && count($proposedCourse->termsOffered) < 3) {
+            $termsOffered = implode(', ', $proposedCourse->termsOffered);
+            $termsOffered = strtr($termsOffered, array('Fall' => 'I', 'Spring' => 'II', 'Summer' => 'III'));
+        }
+
+        if(count($creditListings) > 0) {
+            $proposedCredits = '(' . implode(', ', $creditListings);
+            if($termsOffered != '') {
+                $proposedCredits .= ' ' . $termsOffered;
+            }
+            $proposedCredits .= ')';
+        } else if($termsOffered != '') {
+            $proposedCredits = '(' . $termsOffered . ')';
+        }
+
+        $diffCredits = $this->_getDiffText($currentCredits, $proposedCredits);
+
+
+
+
+
+
+        // campuses
+        if (count($currentCourse->campuses) > 1 || !in_array($currentCourse->campuses[0], array('UNL', ''))) {
+            $currentCampuses = '(' . implode(', ', $currentCourse->campuses) . ')';
+        }
+        if (count($proposedCourse->campuses) > 1 || !in_array($proposedCourse->campuses[0], array('UNL', ''))) {
+            $proposedCampuses = '(' . implode(', ', $proposedCourse->campuses) . ')';
+        }
+        $diffCampuses = $this->_getDiffText($currentCampuses, $proposedCampuses);
+
+
+
+
+
+        // activities
+        $activityListing = array();
+        foreach($currentCourse->activities as $activity) {
+            $newActivityListing = $activity->type;
+            if($activity->hours != '' && $activity->hours != '0') {
+                $newActivityListing .= ' ' . $activity->hours;
+            }
+            $activityListing[] = $newActivityListing;
+        }
+        if(count($activityListing) > 0) {
+            $currentActivities = ucfirst(implode(', ', $activityListing) . '.');
+        }
+
+        $activityListing = array();
+        foreach($proposedCourse->activities as $activity) {
+            $newActivityListing = $activity->type;
+            if($activity->hours != '' && $activity->hours != '0') {
+                $newActivityListing .= ' ' . $activity->hours;
+            }
+            $activityListing[] = $newActivityListing;
+        }
+        if(count($activityListing) > 0) {
+            $proposedActivities = ucfirst(implode(', ', $activityListing) . '.');
+        }
+
+        $diffActivities = $this->_getDiffText($currentActivities, $proposedActivities);
+
+
+
+
+        $diffPrereq = $this->_getDiffText($currentCourse->prerequisite, $proposedCourse->prerequisite);
+        $diffNotes = $this->_getDiffText($currentCourse->notes, $proposedCourse->notes);
+        $diffDescription = $this->_getDiffText($currentCourse->description, $proposedCourse->description);
+
+
+
+
+        ob_start();
+        ?>
+        <div class="bulletinEntry">
+            <div>
+                <?php echo $diffES; ?>
+                <?php echo $diffIS; ?>
+                <b>
+                <?php
+                // subject
+                echo $diffSubject . ' ';
+
+                // course number with same-subject crosslistings
+                echo $diffCourseId;
+
+                // course number with 'x' for correspondence courses
+                echo $diffCorrespondence;
+
+                ?>.
+                <?php echo $diffTitle; //title ?>
+                </b>
+                <?php
+                // crosslistings in parenthesis
+                echo $diffCrosslistings;
+                ?>
+
+                <?php
+                // credits
+                echo $diffCredits;
+                ?>
+
+                <?php
+                // campuses
+                echo $diffCampuses;
+                ?>
+
+                <?php
+                // activities
+                echo $diffActivities;
+
+                ?>
+                <?php if($diffPrereq != '') { ?>
+                Prereq: <?php echo $diffPrereq; ?>
+                <?php } ?>
+                <em><?php echo $diffNotes; ?></em>
+            </div>
+
+            <?php echo $diffDescription; ?>
+
+
+        </div>
+        <?php
+        return ob_get_clean();
+    }
+
+    protected function _getDiffText($current, $proposed)
+    {
+        $delim = ' ';
+
+        if (!self::$_diffRenderer) {
+            self::$_diffRenderer = new Text_Diff_Renderer_inline();
+        }
+
+        $currentArray = array();
+        for($tok = strtok($current, $delim); $tok !== false; $tok = strtok($delim)) {
+            $currentArray[] = $tok;
+        }
+
+        $proposedArray = array();
+        for($tok = strtok($proposed, $delim); $tok !== false; $tok = strtok($delim)) {
+            $proposedArray[] = $tok;
+        }
+
+        $diff = new Text_Diff('auto', array($currentArray, $proposedArray));
+        $diffText = ($diff->isEmpty() ? $current : self::$_diffRenderer->render($diff));
+
+        return $diffText;
+    }
+}
\ No newline at end of file
diff --git a/application/views/home.xhtml b/application/views/home.xhtml
index bb6b995789babdee81d49acc458e20672c97a4fe..b6bb72d55b4a9ff273359b54b7a10b19bf5296ce 100755
--- a/application/views/home.xhtml
+++ b/application/views/home.xhtml
@@ -29,7 +29,10 @@ function MM_swapImage() { //v3.0
     <div class="box_shadow_2">
         <div class="tr"></div>
         <div class="tl">
-            <h2>Announcements </h2>
+            <h2>
+                Announcements
+                <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+            </h2>
           <h3><em>User ID:</em> <?php echo Nmc_User::getInstance()->getUser()->getUserName(); ?></h3>
         </div>
       <div class="bl"></div>
@@ -43,7 +46,10 @@ function MM_swapImage() { //v3.0
     <div class="box_shadow_2">
         <div class="tr"></div>
         <div class="tl">
-            <h2>Saved Requests</h2>
+            <h2>
+                Saved Requests
+                <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+            </h2>
             <h3><em></em></h3>
       </div>
       <div class="bl"></div>
@@ -85,7 +91,10 @@ function MM_swapImage() { //v3.0
     <div class="box_shadow_2">
         <div class="tr"></div>
         <div class="tl">
-            <h2>My Submissions</h2>
+            <h2>
+                My Submissions
+                <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+            </h2>
             <h3><em></em></h3>
       </div>
       <div class="bl"></div>
@@ -114,7 +123,7 @@ function MM_swapImage() { //v3.0
                 <td><?php echo $request->getCourseGeneration()->subject . ' '
                              . $request->getCourseGeneration()->courseNumber
                              . $request->getCourseGeneration()->courseLetter; ?></td>
-                <td>NONC</td>
+                <td><?php echo get_class($course->subject); ?></td>
                 <td><?php echo $request->type->name; ?></td>
                 <td><?php echo $request->getCurrentApprovalBody()->name; ?></td>
                 <td>
@@ -153,7 +162,10 @@ function MM_swapImage() { //v3.0
     <div class="box_shadow_2">
         <div class="tr"></div>
         <div class="tl">
-            <h2><?php echo $role->name;?></h2>
+            <h2>
+                <?php echo $role->name;?>
+                <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+            </h2>
             <h3><em></em>  </h3>
         </div>
         <div class="bl"></div>
diff --git a/application/views/request/course_id.xhtml b/application/views/request/course_id.xhtml
index 63242017dbdb4d1853fbe74e7389588810ac1028..89a06f000cb729d4bf75143d29ee6d19a10289a0 100644
--- a/application/views/request/course_id.xhtml
+++ b/application/views/request/course_id.xhtml
@@ -64,7 +64,7 @@
         </tr>
         <tr>
             <td colspan="4">
-                <a href="#" class="add_record_button">Add Crosslisting</a>
+                <a href="#" class="add_record_button"><img src="/images/cross_listing_button.png" alt="Add Crosslisting" /></a>
                 <?php if(!$hasTieIn) { ?>
                 <a href="#"
                    class="add_record_button"
@@ -72,7 +72,7 @@
                                                   . '_' . $this->course->courseNumber
                                                   . '_' . $this->course->courseLetter; ?>"
                 >
-                    Add Graduate Tie-In
+                    <img src="/images/grad_tie_button.png" alt="Add Graduate Tie-In" />
                 </a>
                 <?php } ?>
             </td>
diff --git a/application/views/request/edit_wrapper.xhtml b/application/views/request/edit_wrapper.xhtml
index 36e9256ffba57c12cea0598bc915b79c762e2da3..40d2364e2d0e938d4f0160484086bb81d0af2264 100644
--- a/application/views/request/edit_wrapper.xhtml
+++ b/application/views/request/edit_wrapper.xhtml
@@ -1,5 +1,9 @@
 <form id="editRequestForm" action="/Request/update" method="post" enctype="multipart/form-data">
     <input id="prev_button" type="submit" name="submitType" value="&lt; Prev" />
     <input id="next_button" type="submit" name="submitType" value="Next &gt;" />
+
+    <!-- input id="prev_button" type="image" src="/images/prev_button.png" name="submitType" value="&lt; Prev" />
+    <input id="next_button" type="image" src="/images/next_button.png" name="submitType" value="Next &gt;" /-->
+
     <?php @include('' . $this->requestPage . '.xhtml'); ?>
 </form>
diff --git a/application/views/request/fullEdit.xhtml b/application/views/request/fullEdit.xhtml
new file mode 100644
index 0000000000000000000000000000000000000000..5ee7f3b08b155707d1e87249ad9fd03ea210968a
--- /dev/null
+++ b/application/views/request/fullEdit.xhtml
@@ -0,0 +1,659 @@
+<form action="/Request/Update/" enctype="multipart/form-data" method="post">
+
+
+
+
+
+<div class="main_section">
+<h2>Course ID</h2>
+
+    <fieldset class="three_column" id="courseId">
+        <div class="column">
+            <label for="subject" class="required">Subject:</label>
+            <input type="text"
+                   id="subject"
+                   name="subject"
+                   value="<?php echo htmlentities($this->course->subject, ENT_COMPAT, 'UTF-8'); ?>" />
+        </div>
+
+
+        <div class="column">
+            <label for="courseNumber" class="required">Course Number:</label>
+            <input type="text"
+                   id="courseNumber"
+                   name="courseNumber"
+                   value="<?php echo htmlentities($this->course->courseNumber, ENT_COMPAT, 'UTF-8'); ?>" />
+        </div>
+
+        <div class="column">
+            <label for="courseLetter">Course Letter:</label>
+            <input type="text"
+                   id="courseLetter"
+                   name="courseLetter"
+                   value="<?php echo htmlentities($this->course->courseLetter, ENT_COMPAT, 'UTF-8'); ?>" />
+        </div>
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <fieldset>
+        <label for="title" class="required">Course Title:</label>
+        <input type="text" id="title" name="title" value="<?php echo htmlentities($this->course->title, ENT_COMPAT, 'UTF-8'); ?>" />
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <fieldset class="three_column">
+        <h3>Crosslistings</h3>
+        <table>
+            <?php $hasTieIn = false;
+            foreach($this->course->crosslistings as $key => $crosslist) {
+                if($crosslist->type == 'grad tie-in') { $hasTieIn = true; }
+                if($crosslist->type != 'home listing') { ?>
+            <tr <?php if($crosslist->type == 'grad tie-in') { ?>class="grad_tie_in_row"<?php } ?>>
+                <th> Subject: </th>
+                <td> <input type="text"
+                            name="crosslistings[<?php echo $key; ?>][subject]"
+                            value="<?php echo $crosslist->subject; ?>"
+                            <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?>/> </td>
+                <th> Course Number: </th>
+                <td> <input type="text"
+                            name="crosslistings[<?php echo $key; ?>][courseNumber]"
+                            value="<?php echo $crosslist->courseNumber; ?>"
+                            <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?> /> </td>
+                <th> Course Letter: </th>
+                <td> <input type="text"
+                            name="crosslistings[<?php echo $key; ?>][courseLetter]"
+                            value="<?php echo $crosslist->courseLetter; ?>"
+                            <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?> /> </td>
+                <td class="hidden">
+                    <input type="hidden"
+                           name="crosslistings[<?php echo $key; ?>][type]"
+                           value="<?php echo $crosslist->type; ?>" />
+                </td>
+                <td> <input type="checkbox"
+                            id="crosslistings_<?php echo $key; ?>_delete"
+                            name="crosslistings[<?php echo $key; ?>][delete]"
+                            value="yes" />
+                     <label for="crosslistings_<?php echo $key; ?>_delete">Remove</label>
+                </td>
+            </tr>
+            <?php } } ?>
+            <tr class="hidden_new_record">
+                <th> Subject: </th>
+                <td> <input disabled="disabled" type="text" name="crosslistings[__key__][subject]" /> </td>
+                <th> Course Number: </th>
+                <td> <input disabled="disabled" type="text" name="crosslistings[__key__][courseNumber]" /> </td>
+                <th> Course Letter: </th>
+                <td> <input disabled="disabled" type="text" name="crosslistings[__key__][courseLetter]" /> </td>
+                <td class="hidden"> <input disabled="disabled" type="hidden" name="crosslistings[__key__][type]" value="crosslisting" /> </td>
+                <td> <a href="#" class="remove_record_button">Remove</a> </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <a href="#" class="add_record_button"><img src="/images/cross_listing_button.png" alt="Add Crosslisting" /></a>
+                    <?php if(!$hasTieIn) { ?>
+                    <a href="#"
+                       class="add_record_button"
+                       id="add_tie_in_button_<?php echo $this->course->subject
+                                                      . '_' . $this->course->courseNumber
+                                                      . '_' . $this->course->courseLetter; ?>"
+                    >
+                        <img src="/images/grad_tie_button.png" alt="Add Graduate Tie-In" />
+                    </a>
+                    <?php } ?>
+                </td>
+            </tr>
+        </table>
+    </fieldset>
+</div>
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Credit Hours</h2>
+
+    <div class="two_column">
+        <fieldset id="credits" class="column">
+            <h3 class="required">Credit (leave blank if not defined)</h3>
+
+            <div>
+                <label for="creditsSingleValues">Single Values</label>
+                <input type="text"
+                       name="credits[1]"
+                       id="creditsSingleValues"
+                       value="<?php echo $this->creditsSingleValues; ?>" />
+            </div>
+            <div>
+                <label>Range</label>
+                <input type="text"
+                       name="credits[2]"
+                       value="<?php echo $this->creditsRangeMin; ?>" /> -
+                <input type="text"
+                       name="credits[3]"
+                       value="<?php echo $this->creditsRangeMax; ?>" />
+            </div>
+            <div>
+                <label>Max per Semester</label>
+                <input type="text"
+                       name="credits[4]"
+                       value="<?php echo $this->creditsMaxPerSemester; ?>" />
+            </div>
+            <div>
+                <label>Max per Degree</label>
+                <input type="text"
+                       name="credits[5]"
+                       value="<?php echo $this->creditsMaxPerDegree; ?>" />
+            </div>
+        </fieldset>
+
+
+        <fieldset class="three_column column">
+            <h3>Terms Offered<br />(Remove terms never taught)</h3>
+
+            <label>
+                <input type="checkbox"
+                       name="termsOffered[]"
+                       value="Fall"
+                       <?php if(in_array('Fall', $this->course->termsOffered)) { ?>
+                       checked="checked"
+                       <?php } ?>
+                       />
+                Fall
+            </label>
+            <br />
+            <label>
+                <input type="checkbox"
+                       name="termsOffered[]"
+                       value="Spring"
+                       <?php if(in_array('Spring', $this->course->termsOffered)) { ?>
+                       checked="checked"
+                       <?php } ?>
+                       />
+                Spring
+            </label>
+            <br />
+            <label>
+                <input type="checkbox"
+                       name="termsOffered[]"
+                       value="Summer"
+                       <?php if(in_array('Summer', $this->course->termsOffered)) { ?>
+                       checked="checked"
+                       <?php } ?>
+                       />
+                Summer
+            </label>
+        </fieldset>
+    </div>
+    <div class="clear"></div>
+
+
+    <fieldset class="two_of_three_column" id="activities">
+        <h3>Activity</h3>
+        <table>
+            <?php foreach($this->course->activities as $key => $activity) { ?>
+            <tr>
+                <th> Type </th>
+                <td>
+                    <select name="activities[<?php echo $key; ?>][type]">
+                        <option value="-1">--Select One--</option>
+                        <option value="lec"
+                                <?php if($activity->type == 'lec') { ?>selected="selected"<?php } ?>
+                        >Lecture</option>
+                        <option value="lab"
+                                <?php if($activity->type == 'lab') { ?>selected="selected"<?php } ?>
+                        >Lab</option>
+                        <option value="quz"
+                                <?php if($activity->type == 'quz') { ?>selected="selected"<?php } ?>
+                        >Quiz</option>
+                        <option value="rct"
+                                <?php if($activity->type == 'rct') { ?>selected="selected"<?php } ?>
+                        >Recitation</option>
+                        <option value="stu"
+                                <?php if($activity->type == 'stu') { ?>selected="selected"<?php } ?>
+                        >Studio</option>
+                        <option value="fld"
+                                <?php if($activity->type == 'fld') { ?>selected="selected"<?php } ?>
+                        >Field</option>
+                        <option value="ind"
+                                <?php if($activity->type == 'ind') { ?>selected="selected"<?php } ?>
+                        >Independent Study</option>
+                        <option value="psi"
+                                <?php if($activity->type == 'psi') { ?>selected="selected"<?php } ?>
+                        >P.S.I.</option>
+                    </select>
+                </td>
+                <th> Hours per week </th>
+                <td> <input type="text"
+                            name="activities[<?php echo $key; ?>][hours]"
+                            value="<?php echo $activity->hours; ?>" /> </td>
+                <td> <input type="checkbox"
+                            name="activities[<?php echo $key; ?>][delete]"
+                            value="yes" /> </td>
+            </tr>
+            <?php } ?>
+            <tr class="hidden_new_record">
+                <th> Type </th>
+                <td>
+                    <select disabled="disabled" name="activities[__key__][type]">
+                        <option value="-1">--Select One--</option>
+                        <option value="lec">Lecture</option>
+                        <option value="lab">Lab</option>
+                        <option value="quz">Quiz</option>
+                        <option value="rct">Recitation</option>
+                        <option value="stu">Studio</option>
+                        <option value="fld">Field</option>
+                        <option value="ind">Independent Study</option>
+                        <option value="psi">P.S.I.</option>
+                    </select>
+                </td>
+                <th> Hours per week </th>
+                <td> <input disabled="disabled" type="text" name="activities[__key__][hours]" /> </td>
+                <td> <a href="#" class="remove_record_button">Remove</a> </td>
+            </tr>
+            <tr>
+                <td colspan="3">
+                    <a href="#" class="add_record_button">Add Activity</a>
+                </td>
+            </tr>
+        </table>
+    </fieldset>
+
+
+    <h3>Prerequisite</h3>
+    <fieldset>
+        <textarea id="prerequisite" name="prerequisite" class="mceEditor"><?php echo htmlentities($this->course->prerequisite, ENT_COMPAT, 'UTF-8'); ?></textarea>
+    </fieldset>
+
+
+    <div class="clear"></div>
+
+</div>
+
+
+
+
+
+
+<div class="main_section two_column" id="credits_and_terms_section">
+<h2>Time, Locations Taught</h2>
+
+
+    <fieldset class="four_column">
+        <div class="legend">Grading:</div>
+
+        <div class="column">
+            <input type="radio"
+                   class="radio"
+                   id="gradingType_unrestricted"
+                   name="gradingType"
+                   value="unrestricted"
+                   <?php if($this->course->gradingType == 'unrestricted') { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="gradingType_unrestricted">Unrestricted</label>
+        </div>
+
+        <div class="column">
+            <input type="radio"
+                   class="radio"
+                   id="gradingType_letter_grade_only"
+                   name="gradingType"
+                   value="letter grade only"
+                   <?php if($this->course->gradingType == 'letter grade only') { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="gradingType_letter_grade_only">Letter Grade Only</label>
+        </div>
+
+        <div class="column">
+            <input type="radio"
+                   class="radio"
+                   id="gradingType_pass_no_pass_only"
+                   name="gradingType"
+                   value="pass/no pass only"
+                   <?php if($this->course->gradingType == 'pass/no pass only') { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="gradingType_pass_no_pass_only">Pass / No Pass Only</label>
+        </div>
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <?php if (!in_array($this->request->type->name, array('NewCourse', 'NewCourseWithIS'))) { ?>
+    <fieldset class="four_column">
+        <div class="legend">DF Removal:</div>
+        <div class="column">
+            <input type="radio"
+                   id="dfRemoval_no"
+                   class="radio"
+                   name="dfRemoval"
+                   value="no"
+                   <?php if($this->course->dfRemoval == 'no') { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="dfRemoval_no">No</label>
+        </div>
+
+        <div class="column">
+            <input type="radio"
+                   id="dfRemoval_yes"
+                   class="radio"
+                   name="dfRemoval"
+                   value="yes"
+                   <?php if($this->course->dfRemoval == 'yes') { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="dfRemoval_yes">Yes</label>
+        </div>
+
+        <div class="clear"></div>
+    </fieldset>
+    <?php } else { ?>
+    <input type="hidden" name="dfRemoval" value="no" />
+    <?php } ?>
+
+
+    <fieldset class="four_column">
+        <div class="legend required">Delivery Method(s):</div>
+
+        <div class="column">
+            <input type="checkbox"
+                   id="deliveryMethods_classroom"
+                   name="deliveryMethods[]"
+                   value="Classroom"
+                   <?php if(in_array('Classroom', $this->course->deliveryMethods)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="deliveryMethods_classroom">Classroom</label>
+        </div>
+
+        <div class="column">
+            <input type="checkbox"
+                   id="deliveryMethods_web"
+                   name="deliveryMethods[]"
+                   value="Web"
+                   <?php if(in_array('Web', $this->course->deliveryMethods)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="deliveryMethods_web">Web</label>
+        </div>
+
+        <div class="column">
+            <input type="checkbox"
+                   id="deliveryMethods_correspondence"
+                   name="deliveryMethods[]"
+                   value="Correspondence"
+                   <?php if(in_array('Correspondence', $this->course->deliveryMethods)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="deliveryMethods_correspondence">Correspondence</label>
+        </div>
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <fieldset class="four_column" id="campuses">
+        <div class="legend required">Campus(es)</div>
+
+        <div class="column">
+            <input type="checkbox"
+                   id="campuses_unl"
+                   name="campuses[]"
+                   value="UNL"
+                   <?php if(in_array('UNL', $this->course->campuses)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="campuses_unl">UNL</label>
+        </div>
+        <div class="column">
+            <input type="checkbox"
+                   id="campuses_uno"
+                   name="campuses[]"
+                   value="UNO"
+                   <?php if(in_array('UNO', $this->course->campuses)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="campuses_uno">UNO</label>
+        </div>
+        <div class="column">
+            <input type="checkbox"
+                   id="campuses_unmc"
+                   name="campuses[]"
+                   value="UNMC"
+                   <?php if(in_array('UNMC', $this->course->campuses)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="campuses_unmc">UNMC</label>
+        </div>
+        <div class="column">&nbsp;<!-- spacer --></div>
+        <div class="column">
+            <input type="checkbox"
+                   id="campuses_unk"
+                   name="campuses[]"
+                   value="UNK"
+                   <?php if(in_array('UNK', $this->course->campuses)) { ?>
+                   checked="checked"
+                   <?php } ?>
+                   />
+            <label for="campuses_unk">UNK</label>
+        </div>
+
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <fieldset class="four_column">
+        <div class="legend">IS/ES Status</div>
+
+        <div class="column">
+            <input type="hidden" name="integratedStudies" value="no" />
+            <input type="checkbox"
+                   name="__integratedStudies"
+                   disabled="disabled"
+                   <?php if($this->course->integratedStudies == 'yes') { ?>
+                   checked="checked"
+                   <?php } ?>
+            />
+            <label>Integrated Studies</label>
+        </div>
+
+        <div class="column">
+            <input type="hidden"
+                   name="__essentialStudies"
+                   disabled="disabled"
+                   value="no" />
+            <input type="checkbox"
+                   name="__essentialStudies"
+                   disabled="disabled"
+                   <?php if($this->course->isEssentialStudies()) { ?>
+                   checked="checked"
+                   <?php } ?>
+            />
+            <label>Essential Studies</label>
+        </div>
+
+        <div class="clear"></div>
+    </fieldset>
+
+
+    <div class="clear"></div>
+</div>
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Notes &amp; Description</h2>
+
+
+    <h3>Notes</h3>
+    <fieldset>
+        <textarea id="notes" name="notes" class="mceEditor"><?php echo htmlentities($this->course->notes, ENT_COMPAT, 'UTF-8'); ?></textarea>
+    </fieldset>
+
+
+    <h3>Description</h3>
+    <fieldset>
+        <textarea id="description" name="description" class="mceEditor"><?php echo htmlentities($this->course->description, ENT_COMPAT, 'UTF-8'); ?></textarea>
+    </fieldset>
+
+
+    <div class="clear"></div>
+
+</div>
+
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Graduate Tie-In</h2>
+
+
+    <fieldset>
+        <label>
+            Credits<br />
+            <input type="text" name="gradTieIn[credits]" value="<?php echo $this->course->gradTieIn->credits; ?>" /><br />
+        </label>
+        <label>
+            Prereq<br />
+            <textarea name="gradTieIn[prerequisites]" class="mceEditor"><?php echo $this->course->gradTieIn->prerequisites; ?></textarea><br />
+        </label>
+        <label>
+            Notes<br />
+            <textarea name="gradTieIn[notes]" class="mceEditor"><?php echo $this->course->gradTieIn->notes; ?></textarea>
+        </label>
+    </fieldset>
+
+
+</div>
+
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Supportive Material</h2>
+
+
+    <fieldset>
+        <label>
+            <h3 class="required">Justification</h3>
+            <textarea name="request[justification]" class="mceEditor"><?php echo htmlspecialchars($this->request->justification); ?></textarea>
+        </label>
+    </fieldset>
+
+
+    <fieldset>
+        <label>
+            <?php if (in_array($this->request->type->name, array('NewCourse', 'NewCourseWithIS'))) { ?>
+            <h3 class="required">Syllabus</h3>
+            <?php } else { ?>
+            <h3>Syllabus</h3>
+            <?php } ?>
+
+            <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::SYLLABUS_TYPE)->title); ?>
+            <input type="file" name="request[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" />
+        </label>
+        <label>
+            Remove
+            <input type="hidden"   name="removeFiles[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" value="no" />
+            <input type="checkbox" name="removeFiles[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" value="yes" />
+        </label>
+    </fieldset>
+
+
+    <fieldset>
+        <label>
+            <h3>Crosslist Memo</h3>
+            <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::CROSSLIST_MEMO_TYPE)->title); ?>
+            <input type="file" name="request[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" />
+        </label>
+        <label>
+            Remove
+            <input type="hidden"   name="removeFiles[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" value="no" />
+            <input type="checkbox" name="removeFiles[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" value="yes" />
+        </label>
+    </fieldset>
+
+
+    <?php if(in_array($this->request->type->name, array('NewCourseWithIS', 'AddISToCourse'))) { ?>
+    <fieldset>
+        <label>
+            <h3 class="required">IS Narrative Documentation</h3>
+            <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::IS_NARRATIVE_TYPE)->title); ?>
+            <input type="file" name="request[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" />
+        </label>
+        <label>
+            Remove
+            <input type="hidden"   name="removeFiles[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" value="no" />
+            <input type="checkbox" name="removeFiles[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" value="yes" />
+        </label>
+    </fieldset>
+    <?php } ?>
+
+
+    <fieldset>
+        <label>
+            <h3>Additional Documentation (opt.)</h3>
+            <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::OTHER_TYPE)->title); ?>
+            <input type="file" name="request[<?php echo RequestFile::OTHER_TYPE; ?>]" />
+        </label>
+        <label>
+            Remove
+            <input type="hidden"   name="removeFiles[<?php echo RequestFile::OTHER_TYPE; ?>]" value="no" />
+            <input type="checkbox" name="removeFiles[<?php echo RequestFile::OTHER_TYPE; ?>]" value="yes" />
+        </label>
+    </fieldset>
+
+
+
+</div>
+
+
+
+
+
+
+
+
+<input type="submit" value="Update Course" />
+
+</form>
\ No newline at end of file
diff --git a/application/views/request/time_location.xhtml b/application/views/request/time_location.xhtml
index b3cc0afc6dad465d272a73ada424910cf4f772ce..6dc29cef9eb04bea77fd7a91c9711902ead5170c 100644
--- a/application/views/request/time_location.xhtml
+++ b/application/views/request/time_location.xhtml
@@ -148,7 +148,6 @@
         <input type="checkbox"
                name="__integratedStudies"
                disabled="disabled"
-               value="UNL"
                <?php if($this->course->integratedStudies == 'yes') { ?>
                checked="checked"
                <?php } ?>
@@ -159,7 +158,6 @@
         <input type="checkbox"
                name="__essentialStudies"
                disabled="disabled"
-               value="UNO"
                <?php if($this->course->isEssentialStudies()) { ?>
                checked="checked"
                <?php } ?>
diff --git a/application/views/sidebars/bulletinPreview.xhtml b/application/views/sidebars/bulletinPreview.xhtml
index ea1918359ac447374ca4daa62e90d770066484e2..2ba0e9287096fc6bf716cf5cb5792ecfbeebf574 100644
--- a/application/views/sidebars/bulletinPreview.xhtml
+++ b/application/views/sidebars/bulletinPreview.xhtml
@@ -1,13 +1,4 @@
-<div id="ntohunteh" class="titled_box">
-    <div class="box_shadow_2">
-        <div class="tr"></div>
-        <div class="tl">
-            <h2>Bulletin Preview</h2>
-        </div>
-        <div class="bl"></div>
-    </div>
-    <div class="content">
-        <?php echo $this->bulletinEntry($this->course); ?>
-    </div>
-</div>
-
+<div id="creqNavigation">
+    <h4>Bulletin Preview</h4>
+    <?php echo $this->bulletinEntry($this->course); ?>
+</div>
\ No newline at end of file
diff --git a/application/views/sidebars/requestProgress.xhtml b/application/views/sidebars/requestProgress.xhtml
index 7ff05398ef46f6631f22b29e68bb84b9396fc7dd..cd955978bec53ba3501d6aced70a7eb0f3877c60 100644
--- a/application/views/sidebars/requestProgress.xhtml
+++ b/application/views/sidebars/requestProgress.xhtml
@@ -1,41 +1,38 @@
-<div id="requestProgress" class="titled_box">
-    <div class="box_shadow_2">
-        <div class="tr"></div>
-        <div class="tl">
-            <h2>Course Request Process:</h2>
-        </div>
-        <div class="bl"></div>
-    </div>
+<div id="requestProgress">
+
+    <h4>Course Request Process</h4>
+
     <div class="content">
-        <ul>
-            <li class="completed">
-                 <a href="/Request/CourseID">Course ID</a>
-            </li>
-            <li>
-                 <a href="/Request/CreditHours">Credit Hours</a>
-            </li>
-            <li>
-                 <a href="/Request/TimeLocation">Time, Locations Taught</a>
-            </li>
-            <li>
-                 <a href="/Request/NotesDescription">Notes &amp; Description</a>
-            </li>
-            <li>
-                 <a href="/Request/GraduateTieIn">Graduate Tie-in</a>
-            </li>
-            <li>
-                 <a href="/Request/SupportiveMaterial">Supportive Material</a>
-            </li>
-            <li>
-                 <!-- <a href="/Request/AdditionalInformation">Additional Course Information</a> -->
-            </li>
-            <li>
-                 <a href="/Request/SubmitRequest">Submit Request</a>
-            </li>
-        </ul>
+    <ul>
+        <li class="completed">
+             <a href="/Request/CourseID">Course ID</a>
+        </li>
+        <li>
+             <a href="/Request/CreditHours">Credit Hours</a>
+        </li>
+        <li>
+             <a href="/Request/TimeLocation">Time, Locations Taught</a>
+        </li>
+        <li>
+             <a href="/Request/NotesDescription">Notes &amp; Description</a>
+        </li>
+        <li>
+             <a href="/Request/GraduateTieIn">Graduate Tie-in</a>
+        </li>
+        <li>
+             <a href="/Request/SupportiveMaterial">Supportive Material</a>
+        </li>
+        <li>
+             <!-- <a href="/Request/AdditionalInformation">Additional Course Information</a> -->
+        </li>
+        <li>
+             <a href="/Request/SubmitRequest">Submit Request</a>
+        </li>
+    </ul>
 
-        <div id="request_type_reminder">
-            Request Type: <?php echo $this->request->type->name; ?>
-        </div>
+    <div id="request_type_reminder">
+        Request Type: <?php echo $this->request->type->name; ?>
     </div>
-</div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/application/views/viewRequest.xhtml b/application/views/viewRequest.xhtml
index 8b779a1c772a848f67943f031b54ce614cb7fcbe..11cf38888508b2035fc09b967bab187bd1eab120 100644
--- a/application/views/viewRequest.xhtml
+++ b/application/views/viewRequest.xhtml
@@ -3,138 +3,46 @@
         $proposedGeneration = $this->proposedGeneration;
         if ($this->currentGeneration) {
             $currentGeneration = $this->currentGeneration;
+/****************************CHANGE COURSE*************************************/
     ?>
 
-    <table>
-        <tr>
-            <th></th>
-            <th>Current</th>
-            <th>Proposed</th>
-            <th></th>
-        </tr>
-
-        <?php
-            echo $this->courseRequestViewRow(
-                'Course Code',
-                $currentGeneration->subject . ' ' . $currentGeneration->courseNumber . $currentGeneration->courseLetter,
-                $proposedGeneration->subject . ' ' . $proposedGeneration->courseNumber . $proposedGeneration->courseLetter
-            );
-
-            echo $this->courseRequestViewRow(
-                'Title',
-                $currentGeneration->title,
-                $proposedGeneration->title
-            );
-        ?>
-        <tr>
-            <th class="leftColumn">Crosslistings</th>
-            <td>
-                <ul>
-                    <?php foreach ($currentGeneration->crosslistings as $crosslisting) { ?>
-                    <li>
-                        <?php echo $crosslisting->subject; ?>
-                        <?php echo $crosslisting->courseNumber . $crosslisting->courseLetter; ?>
-                    </li>
-                    <?php } ?>
-                </ul>
-            </td>
-            <td>
-                <ul>
-                    <?php foreach ($proposedGeneration->crosslistings as $crosslisting) { ?>
-                    <li>
-                        <?php echo $crosslisting->subject; ?>
-                        <?php echo $crosslisting->courseNumber . $crosslisting->courseLetter; ?>
-                    </li>
-                    <?php } ?>
-                </ul>
-            </td>
-            <th class="rightColumn">Crosslistings</th>
-        </tr>
-
-        <?php
-
-            echo $this->courseRequestViewRow(
-                'Credits',
-                $this->courseCredits($currentGeneration->credits),
-                $this->courseCredits($proposedGeneration->credits)
-            );
-
-            echo $this->courseRequestViewRow(
-                'Terms Offered',
-                implode(', ', $currentGeneration->termsOffered),
-                implode(', ', $proposedGeneration->termsOffered)
-            );
-
-            echo $this->courseRequestViewRow(
-                'Activities',
-                $this->courseActivities($currentGeneration->activities),
-                $this->courseActivities($proposedGeneration->activities)
-            );
-
-            echo $this->courseRequestViewRow(
-                'Prerequisites',
-                $currentGeneration->prerequisite,
-                $proposedGeneration->prerequisite
-            );
-
-            echo $this->courseRequestViewRow(
-                'Grading',
-                $currentGeneration->gradingType,
-                $proposedGeneration->gradingType
-            );
-
-            echo $this->courseRequestViewRow(
-                'Delivery Method(s)',
-                implode(', ', $currentGeneration->deliveryMethods),
-                implode(', ', $proposedGeneration->deliveryMethods)
-            );
-
-            echo $this->courseRequestViewRow(
-                'Campus(es)',
-                implode(', ', $currentGeneration->campuses),
-                implode(', ', $proposedGeneration->campuses)
-            );
-
-            echo $this->courseRequestViewRow(
-                'Notes',
-                $currentGeneration->notes,
-                $proposedGeneration->notes
-            );
-
-            echo $this->courseRequestViewRow(
-                'Description',
-                $currentGeneration->description,
-                $proposedGeneration->description
-            );
-
-        ?>
-        <tr>
-            <th class="leftColumn">Bulletin Entry</th>
-            <td><?php echo $this->bulletinEntry($currentGeneration);?></td>
-            <td><?php echo $this->bulletinEntry($proposedGeneration);?></td>
-            <th class="rightColumn">Bulletin Entry</th>
-        </tr>
+    <div class="current">
+        <h2>Current</h2>
+        <div class="bulletinEntry">
+            <?php echo $this->bulletinEntryDiff($currentGeneration, $proposedGeneration); ?>
+        </div>
+    </div>
+    <div class="proposed">
+        <h2>Proposed</h2>
+        <div class="bulletinEntry">
+            <?php echo $this->bulletinEntryDiff($currentGeneration, $proposedGeneration); ?>
+        </div>
+    </div>
+    <div class="clear"></div>
 
-    </table>
 
     <?php
         } else {
+/*****************************NEW COURSE***************************************/
     ?>
     <h2>Bulletin Entry</h2>
     <?php
             echo $this->bulletinEntry($proposedGeneration);
         }
+/*****************************COMMON STUFF*************************************/
     ?>
 
-    <h2>Justification</h2>
-    <div><?php echo $this->request->justification; ?></div>
+    <div id="justification">
+        <h2>Justification:</h2>
+        <?php echo $this->request->justification; ?>
+    </div>
 
     <?php
     $syllabus = $this->request->getFileByType(RequestFile::SYLLABUS_TYPE);
     if ($syllabus) {
     ?>
-    <h2>Syllabus</h2>
-    <div>
+    <div id="syllabus">
+        <h2>Syllabus:</h2>
         <a href="/Request/GetFile/<?php echo $syllabus->file; ?>">
             <?php echo $syllabus->title; ?>
         </a>
@@ -146,8 +54,8 @@
     $crosslistMemo = $this->request->getFileByType(RequestFile::CROSSLIST_MEMO_TYPE);
     if ($crosslistMemo) {
     ?>
-    <h2>Crosslist Memo</h2>
-    <div>
+    <div id="crosslistMemo">
+        <h2>Crosslist Memo</h2>
         <a href="/Request/GetFile/<?php echo $crosslistMemo->file; ?>">
             <?php echo $crosslistMemo->title; ?>
         </a>
@@ -159,8 +67,8 @@
     $ISNarrative = $this->request->getFileByType(RequestFile::IS_NARRATIVE_TYPE);
     if ($ISNarrative) {
     ?>
-    <h2>IS Narrative</h2>
-    <div>
+    <div id="isNarrative">
+        <h2>IS Narrative</h2>
         <a href="/Request/GetFile/<?php echo $ISNarrative->file; ?>">
             <?php echo $ISNarrative->title; ?>
         </a>
@@ -168,28 +76,36 @@
     <?php } ?>
 
     <div id="comments">
-        <h2>Comments</h2>
-        <?php foreach ($this->comments as $comment) {
-            if ($comment->visibility == 'global' ||
-                $comment->user->getPrimaryKey() == Nmc_User::getInstance()->getUser()->getPrimaryKey()) { ?>
-        <div class="comment">
-            <h3>Text:</h3>
-            <div><?php echo $comment->comment; ?></div>
+        <div class="tabBar">
+            <a href="#" id="commentsTab">Comments</a>
+            <a href="#" id="editorCommentsTab">Editor Comments</a>
         </div>
-        <?php }} ?>
-
-        <form method="post" action="/Request/AddComment/<?php echo $this->request->getPrimaryKey(); ?>">
-            <div>
-            <?php echo $this->formTextarea('comment'); ?>
-            </div>
-            <div>
-            <h3>Visibility</h3>
-            <?php echo $this->formRadio('visibility', null, null, array('self' => 'Self only', 'global' => 'Global')); ?>
+        <div class="tabContent" id="commentsContent">
+            <?php foreach ($this->comments as $comment) {
+                if ($comment->visibility == 'global' ||
+                    $comment->user->getPrimaryKey() == Nmc_User::getInstance()->getUser()->getPrimaryKey()) { ?>
+            <div class="comment">
+                <h3>Text:</h3>
+                <div><?php echo $comment->comment; ?></div>
             </div>
-            <div>
-            <?php echo $this->formSubmit('submit', 'Add Comment'); ?>
-            </div>
-        </form>
+            <?php }} ?>
+
+            <form method="post" action="/Request/AddComment/<?php echo $this->request->getPrimaryKey(); ?>">
+                <div>
+                <?php echo $this->formTextarea('comment'); ?>
+                </div>
+                <div>
+                <h3>Visibility</h3>
+                <?php echo $this->formRadio('visibility', null, null, array('self' => 'Self only', 'global' => 'Global')); ?>
+                </div>
+                <div>
+                <?php echo $this->formSubmit('submit', 'Add Comment'); ?>
+                </div>
+            </form>
+        </div>
+        <div class="tabContent" id="editorCommentsContent">
+            EDITOR COMMENTS!
+        </div>
     </div>
 
     <div class="clear"></div>
diff --git a/document_root/css/index.oss b/document_root/css/index.oss
index 6b31a6ffae4cbdf5669f8b6a82dcfb20a280a969..9d16afabe2c4d3df6bb5dc18d46d1c14f9a0c7c9 100755
--- a/document_root/css/index.oss
+++ b/document_root/css/index.oss
@@ -18,9 +18,8 @@
         width: 220px;
     }
 
-    #creqNavigation {
-
-
+    #creqNavigation,
+    #requestProgress {
         h4 {
             background:#434343 url(/ucomm/templatedependents/templatecss/images/nav_head.gif) no-repeat scroll right top;
             border-bottom:3px solid #AF0909;
@@ -37,6 +36,10 @@
             margin:3px 1px 0pt 0pt;
             padding:5px 0pt 7px 15px;
         }
+    }
+
+    #creqNavigation {
+
 
         ul {
             list-style-type: none;
diff --git a/document_root/css/request/edit_wrapper.oss b/document_root/css/request/edit_wrapper.oss
index 7dad35adbfecb05b7ea3a02791363b68a0219619..02d67ef0961b07f162423d48d65c63a20974876c 100755
--- a/document_root/css/request/edit_wrapper.oss
+++ b/document_root/css/request/edit_wrapper.oss
@@ -4,12 +4,19 @@
     #prev_button {
         position: absolute;
         top: 5px;
+
+        overflow: hidden;
+        width: 49px;
+        height: 21px;
+        text-indent: -1000px;
     }
     #next_button {
         right: 5px;
+        background-image: url(/images/next_button.png);
     }
     #prev_button {
         left: 5px;
+        background-image: url(/images/prev_button.png);
     }
 
 
diff --git a/document_root/css/request/fullEdit.oss b/document_root/css/request/fullEdit.oss
new file mode 100644
index 0000000000000000000000000000000000000000..bc72eaa47b57f3a32aeb24c69f3d27bf3141df78
--- /dev/null
+++ b/document_root/css/request/fullEdit.oss
@@ -0,0 +1,120 @@
+div.main_section {
+    position: relative;
+    border: 2px solid #ccc;
+    background-color: #eee;
+    padding: 30px 10px 10px 10px;
+    margin-top: 50px;
+}
+
+#maincontent div.main_section h2 {
+    position: absolute;
+    top: -0.2em;
+    height: 0px;
+    padding: 0px;
+    line-height: 0px;
+}
+
+div.main_section fieldset {
+    margin-bottom: 0px;
+    border-width: 0px;
+    clear: both;
+}
+
+
+
+
+fieldset {
+    margin-top: 2px;
+}
+
+fieldset.three_column div.column {
+    width: 30%;
+    float: left;
+}
+
+fieldset.four_column {
+    position: relative;
+}
+fieldset.four_column div.legend,
+fieldset.four_column div.column {
+    width: 22%;
+    float: left;
+}
+
+div.two_column fieldset.column {
+    float: left;
+    width: 50%;
+    overflow: hidden;
+    clear: none;
+}
+
+textarea {
+    width: 90%;
+    height: 4em;
+}
+
+.hidden_new_record {
+    display: none;
+}
+
+fieldset#courseId input {
+    width: 75px;
+}
+
+#credits input {
+    width: 25px;
+}
+
+#credits div {
+    height: 2em;
+}
+
+#credits label {
+    display: block;
+    width: 150px;
+    float: left;
+    clear: both;
+}
+
+input#title {
+    width: 80%;
+}
+
+input#creditsSingleValues {
+    width: 100px;
+}
+
+fieldset#activities {
+    clear: none;
+}
+
+div.main_section tr:first-child th {
+    font-weight: normal;
+    padding-right: 10px;
+    text-align: left;
+    font-size: 100%;
+    text-indent: 0px;
+}
+div.main_section tr th {
+    overflow: hidden;
+    text-indent: -1000px;
+}
+div.main_section td {
+    padding-right: 15px;
+}
+div.main_section td input[type=text] {
+    width: 75px;
+}
+
+tr.grad_tie_in_row input {
+    color: #111;
+    background-color: #eee;
+}
+
+.hidden {
+    display: none;
+}
+
+body #creqMain .required {
+    color: #a00;
+}
diff --git a/document_root/css/viewrequest.oss b/document_root/css/viewrequest.oss
index 910a49891d875874ceb562152c08861fae8c681b..b8d7678a433fdd5672fd9b793ff86b7ccd574835 100644
--- a/document_root/css/viewrequest.oss
+++ b/document_root/css/viewrequest.oss
@@ -1,5 +1,29 @@
-#viewRequest {
+#viewRequest div.current,
+#viewRequest div.proposed {
+    width: 345px;
+    overflow: hidden;
+}
+
+#viewRequest div.current h2,
+#viewRequest div.proposed h2 {
+    display: block;
+    color: #fff;
+    background-color: #444;
+    padding-left: 5px;
+    border: 1px solid #888;
+    margin-bottom: 2px;
+}
 
+#viewRequest div.bulletinEntry {
+    border: 1px solid #888;
+    background-color: #ddd;
+}
+
+#viewRequest div.current {
+    float: left;
+}
+#viewRequest div.proposed {
+    float: right;
 }
 
 #viewRequest .current ins {
@@ -20,47 +44,42 @@
     display: none;
 }
 
-#viewRequest table td {
-    border: 1px solid #ccc;
-    width: 300px;
-    text-align: center;
-}
-
-#viewRequest ul {
-    list-style: none;
-}
-
-#viewRequest .bulletinEntry {
-    text-align: left;
-}
 
-#viewRequest th.leftColumn {
-    text-align: right;
+#viewRequest div#justification {
+    border: 1px solid #888;
+    margin-bottom: 10px;
 }
 
-#viewRequest th.rightColumn {
-    text-align: left;
+#viewRequest div#justification h2 {
+    font-size: 14px;
 }
 
-#currentGeneration {
-    float: left;
-    width: 428px;
-    height: 100px;
-    border: 1px solid #0f0;
-}
+div#comments {
+    .tabBar {
+        a {
+            display: block;
+            float: left;
+            background-color: #444;
+            color: #fff;
+            padding: 5px;
+            margin-right: 5px;
+            border: 1px solid #888;
+            -moz-border-radius: 10px 10px 0px 0px;
+        }
 
-#proposedGeneration {
-    width: 428px;
-    height: 100px;
-    border: 1px solid #00f;
-    margin-left: 430px;
-}
+        a:hover {
+            color: #f00;
+        }
+    }
 
-div#comments {
-    border: 1px solid #444;
-}
+    .tabContent {
+        clear: both;
+        padding: 5px;
+        background-color: #ddd;
+        border: 1px solid #888;
+    }
 
-div#comments textarea {
-    width: 95%;
-    height: 5em;
+    #editorCommentsContent {
+        display: none;
+    }
 }
diff --git a/document_root/images/arrow1.png b/document_root/images/arrow1.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbe715d69a9d13a38f819357ed4dcc3aa7c47cdf
Binary files /dev/null and b/document_root/images/arrow1.png differ
diff --git a/document_root/images/arrow2.png b/document_root/images/arrow2.png
new file mode 100644
index 0000000000000000000000000000000000000000..af9370162a0d53e043c9c73208be1b0d150ec17d
Binary files /dev/null and b/document_root/images/arrow2.png differ
diff --git a/document_root/images/cross_listing_button.png b/document_root/images/cross_listing_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c39d5ec0878d4a7a99c1ae63ef5e534b0475eff
Binary files /dev/null and b/document_root/images/cross_listing_button.png differ
diff --git a/document_root/images/grad_tie_button.png b/document_root/images/grad_tie_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..1df21b583c29f5d9a1e99c3c6f14aea18e799e36
Binary files /dev/null and b/document_root/images/grad_tie_button.png differ
diff --git a/document_root/images/next_button.png b/document_root/images/next_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..97baae8babd9f4c049752d5eb1c0103e4e4c6862
Binary files /dev/null and b/document_root/images/next_button.png differ
diff --git a/document_root/images/prev_button.png b/document_root/images/prev_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bb78026b74fce31037664024a409a440f466d6a
Binary files /dev/null and b/document_root/images/prev_button.png differ
diff --git a/document_root/javascript/index.js b/document_root/javascript/index.js
index fe2e05336f66fb8e5d118ccb1695f0eceadd5cfb..c966bd9f730da938dbed5c7236b79b559b6a5301 100644
--- a/document_root/javascript/index.js
+++ b/document_root/javascript/index.js
@@ -21,11 +21,15 @@ function handleOnLoad()
         header.onclick = function() {
             var content = getElementsByClass('content', this.parentNode);
             content = content[0];
+            var toggleArrow = getElementsByClass('toggle_arrow', this);
+            toggleArrow = toggleArrow[0];
 
             if (content.style.display == 'none') {
                 content.style.display = 'block';
+                toggleArrow.src = '/images/arrow1.png';
             } else {
                 content.style.display = 'none';
+                toggleArrow.src = '/images/arrow2.png';
             }
         }
 
@@ -77,7 +81,6 @@ function getElementsByClassName(className, elm, tag){
 	var length = elements.length;
 	for(var i=0; i<length; i++){
 		current = elements[i];
-		alert(testClass + " ? " + current.className);
 		if(testClass.test(current.className)){
 			returnElements.push(current);
 		}
diff --git a/document_root/javascript/request/fullEdit.js b/document_root/javascript/request/fullEdit.js
new file mode 100644
index 0000000000000000000000000000000000000000..44e57ce7e64945f5438c9ee6ecee97d8dbf5406c
--- /dev/null
+++ b/document_root/javascript/request/fullEdit.js
@@ -0,0 +1,77 @@
+addLoadEvent(onEditWrapperLoad);
+
+function onEditWrapperLoad()
+{
+
+    var addButtons = getElementsByClass('add_record_button');
+    for(var i = 0; i < addButtons.length; i++) {
+        addButtons[i].onclick = handleAddRecord;
+    }
+
+    var removeButtons = getElementsByClass('remove_record_button');
+    for(var i = 0; i < removeButtons.length; i++) {
+        removeButtons[i].onclick = handleRemoveRecord;
+    }
+
+}
+
+function handleAddRecord()
+{
+    var currentTR = this.parentNode.parentNode;
+    var currentTable = currentTR.parentNode;
+    var hiddenTR = currentTR.previousSibling.previousSibling;
+    var currentIndex = currentTable.getElementsByTagName('tr').length - 2;
+
+    var newNode = hiddenTR.cloneNode(true);
+    for(var i = 3; i < newNode.childNodes.length; i+=4) {
+        var inputElement = newNode.childNodes[i].childNodes[1];
+        inputElement.disabled = false;
+        var keyIndex = inputElement.name.indexOf('__key__');
+        if(keyIndex > 0) {
+            inputElement.name = inputElement.name.substr(0, keyIndex) + '-' + currentIndex + inputElement.name.substr(keyIndex + 7);
+        }
+    }
+    newNode.childNodes[newNode.childNodes.length - 2].childNodes[1].onclick = handleRemoveRecord;
+    currentTable.insertBefore(newNode, hiddenTR);
+    newNode.className = '';
+
+    if(this.id.substr(0, 17) == 'add_tie_in_button') {
+        var courseId = this.id.substr(18).split('_');
+        var subjectCode = courseId[0];
+        var courseNumber = courseId[1];
+        var courseLetter = courseId[2];
+        var removeButtonId = 'remove' + this.id.substr(3);
+
+        courseNumber = '8' + courseNumber.substr(1);
+
+        this.style.display = 'none';
+        newNode.childNodes[3].childNodes[1].value = subjectCode;
+        newNode.childNodes[3].childNodes[1].readOnly = true;
+        newNode.childNodes[7].childNodes[1].value = courseNumber;
+        newNode.childNodes[7].childNodes[1].readOnly = true;
+        newNode.childNodes[11].childNodes[1].value = courseLetter;
+        newNode.childNodes[11].childNodes[1].readOnly = true;
+        newNode.childNodes[13].childNodes[1].value = 'grad tie-in';
+        newNode.childNodes[13].childNodes[1].readOnly = true;
+        newNode.childNodes[15].childNodes[1].id = removeButtonId;
+        newNode.className = 'grad_tie_in_row';
+    }
+
+    return false;
+}
+
+function handleRemoveRecord()
+{
+    var currentTR = this.parentNode.parentNode;
+    var currentTable = currentTR.parentNode;
+
+    if(this.id.substr(0, 20) == 'remove_tie_in_button') {
+        var addButtonId = 'add' + this.id.substr(6);
+        document.getElementById(addButtonId).style.display = 'inline';
+    }
+
+    currentTable.removeChild(currentTR);
+
+    return false;
+}
+
diff --git a/document_root/javascript/viewRequest.js b/document_root/javascript/viewRequest.js
new file mode 100644
index 0000000000000000000000000000000000000000..b0b88f81719bf2a42adf7c6ae67f5bbebd2987ba
--- /dev/null
+++ b/document_root/javascript/viewRequest.js
@@ -0,0 +1,29 @@
+addLoadEvent(onLoadViewRequest);
+
+function onLoadViewRequest()
+{
+    var tabBar = getElementsByClassName('tabBar');
+    tabBar = tabBar[0];
+
+    var tabs = tabBar.getElementsByTagName('a');
+    for (var i = 0; i < tabs.length; i++) {
+        tabs[i].onclick = viewRequestSelectTab;
+    }
+}
+
+function viewRequestSelectTab()
+{
+    var commentsContent = document.getElementById('commentsContent');
+    var editorCommentsContent = document.getElementById('editorCommentsContent');
+
+    commentsContent.style.display = 'none';
+    editorCommentsContent.style.display = 'none';
+
+    if (this.id == 'commentsTab') {
+        commentsContent.style.display = 'block';
+    } else if (this.id == 'editorCommentsTab') {
+        editorCommentsContent.style.display = 'block';
+    }
+
+    return false;
+}