var courseSearch={

	urlRoot: '/enquiryCourseSearch.php',
	subject: '',
	aMode: '',
	sDate: '',
	callingSelect: '',
  dateDefault: '<option value="0">Start Date</option>',
  courseDefault: '<option value="0">Set Search Filters</option>',
  
  init:function() {
    $("courseSubjectFilter").observe('change', function() {
      this.getDropdownOptions();
      this.previousSubject = $("courseSubjectFilter").value;
    }.bind(courseSearch));
    
    $("attendanceModeFilter").observe('change', function() {
      this.getDropdownOptions();
    }.bind(courseSearch));
    
    $("startDateFilter").observe('change', function() {
      this.getDropdownOptions();
    }.bind(courseSearch));
    
  },
  
  getDropdownOptions:function() {
    var qString = '?';
    if ($("courseSubjectFilter").value > 0) {qString+= "courseSubject=" + $("courseSubjectFilter").value + '&previousSubject=' + this.previousSubject;}
    if ($("attendanceModeFilter").value > 0) {qString+= '&' + "attendanceMode=" + $("attendanceModeFilter").value;}
    if ($("startDateFilter").value > 0) {qString+= '&' + "startDate=" + $("startDateFilter").value;}
    
    new Ajax.Request(this.urlRoot + qString, {
      method: 'get',
      onSuccess: function(transport) {
        coursePos = transport.responseText.indexOf('[#CourseStart#]');
        modePos = transport.responseText.indexOf('[#ModeStart#]');
        datePos = transport.responseText.indexOf('[#DateStart#]');
        
        if (coursePos != -1) {
          $("courseList").innerHTML = transport.responseText.substring(coursePos + 15, transport.responseText.indexOf('[#CourseEnd#]'));
        }
        if (modePos != -1) {
          $("attendanceModeSelect").innerHTML = transport.responseText.substring(modePos + 13, transport.responseText.indexOf('[#ModeEnd#]'));
          $("attendanceModeFilter").observe('change', function() {
            this.getDropdownOptions();
          }.bind(courseSearch));
        }
        if (datePos != -1) {
          $("startDateSelect").innerHTML = transport.responseText.substring(datePos + 13, transport.responseText.indexOf('[#DateEnd#]'));
          $("startDateFilter").observe('change', function() {
            this.getDropdownOptions();
          }.bind(courseSearch));
        }
      }
    });
  
  }
}

Event.observe(window, 'load', function() {
  if ($("courseSubjectFilter")) {
    courseSearch.init();
  }
});
