diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php index 9562103e35bb87d5e131fe2181e9375932f86d6a..93f9117f0ef0d4fa139b1660a2af9c12fdb092da 100755 --- a/application/controllers/RequestController.php +++ b/application/controllers/RequestController.php @@ -612,6 +612,7 @@ class RequestController extends Nmc_Controller_Action $view->addCssFile('/ooss/request/course_id'); $view->addJsFile('/tinymce/jscripts/tiny_mce/tiny_mce.js'); $view->addJsFile('/javascript/mce.js'); + $view->addJsFile('/javascript/request/courseId.js'); $view->course = $course; $view->request = $request; diff --git a/application/views/request/course_id.xhtml b/application/views/request/course_id.xhtml index 89a06f000cb729d4bf75143d29ee6d19a10289a0..5893b82a856721b2e4a02e599ae4374f7c91bc80 100644 --- a/application/views/request/course_id.xhtml +++ b/application/views/request/course_id.xhtml @@ -1,15 +1,15 @@ <fieldset class="three_column"> <label> <h2>Subject</h2> - <input type="text" name="subject" value="<?php echo htmlspecialchars($this->course->subject); ?>" /> + <input type="text" name="subject" id="subject" value="<?php echo htmlspecialchars($this->course->subject); ?>" /> </label> <label> <h2>Course Number</h2> - <input type="text" name="courseNumber" value="<?php echo htmlspecialchars($this->course->courseNumber); ?>" /> + <input type="text" name="courseNumber" id="courseNumber" value="<?php echo htmlspecialchars($this->course->courseNumber); ?>" /> </label> <label> <h2>Alpha Suffix (opt.)</h2> - <input type="text" name="courseLetter" value="<?php echo htmlspecialchars($this->course->courseLetter); ?>" /> + <input type="text" name="courseLetter" id="courseLetter" value="<?php echo htmlspecialchars($this->course->courseLetter); ?>" /> </label> </fieldset> <fieldset class="one_column"> diff --git a/document_root/javascript/request/courseId.js b/document_root/javascript/request/courseId.js new file mode 100644 index 0000000000000000000000000000000000000000..c0439dbcef89b5875a334f1557cba880cf5ddb2f --- /dev/null +++ b/document_root/javascript/request/courseId.js @@ -0,0 +1,65 @@ +addLoadEvent(onCourseIdLoad); + +function onCourseIdLoad() +{ + var subjectNode = document.getElementById('subject'); + subjectNode.previousValue = subjectNode.value; + subjectNode.onchange = handleChangeSubject; + document.getElementById('courseNumber').onchange = handleChangeCourseNumber; + document.getElementById('courseLetter').onchange = handleChangeCourseLetter; +} + + + +function handleChangeSubject() +{ + var previousSubject = this.previousValue; + var currentSubject = this.value; + + this.previousValue = currentSubject; + + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + var noChange = false; + for (var i = 0; i != gradTieInRows.length; i++) { + var gradTieInRow = gradTieInRows[i]; + var gradNode = gradTieInRows[i].childNodes[3].childNodes[1]; + + if (gradNode.value == currentSubject) { + noChange = true; + } + } + + if (noChange) { + return; + } + + for (var i = 0; i != gradTieInRows.length; i++) { + var gradNode = gradTieInRows[i].childNodes[1].childNodes[1]; + + if (gradNode.value == previousSubject) { + gradNode.value = currentSubject; + } + } + +} + +function handleChangeCourseNumber() +{ + var gradNumber = 800 + (this.value % 100); + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + for (var i = 0; i != gradTieInRows.length; i++) { + + gradTieInRows[i].childNodes[3].childNodes[1].value = gradNumber; + } +} + + +function handleChangeCourseLetter() +{ + var gradLetter = this.value; + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + for (var i = 0; i != gradTieInRows.length; i++) { + + gradTieInRows[i].childNodes[5].childNodes[1].value = gradLetter; + } +} \ No newline at end of file