function fetchCourse( currentCourseValue, selectcollege, SelectBlockCollege, selectcourse, SelectBlockCourse, selectwhen, SelectBlockWhen, button ) {
    if( currentCourseValue.get('value') != 0 ) {
        jsonurl = currentCourseValue.get('value');
        URItoFIle = new URI(document.id( document.body ).getElements( 'script[src*=nxccoursesearch.js]' ).get('src'));
        jsonurltosystem = URItoFIle.get('data');
        jsonurltosystem = jsonurltosystem['url'];
        jsonurl = jsonurltosystem + '/' + jsonurl;
        SelectBlockCourse.addClass('disabled');
        ValueSelectBlockCourse = SelectBlockCourse.getElement( 'span' );
        ListSelectBlockCourse = SelectBlockCourse.getElement( 'ul' );
        ValueSelectBlockWhen = SelectBlockWhen.getElement( 'span' );
        ValueSelectBlockCourse.set('html', 'Course');
        selectcourse.set('value', '0');
        jsonRequest = new Request.JSON({url: jsonurl, onSuccess: function(xml, json){
            regions = JSON.decode(json);

            ElementA = new Element('a', {rel: '0', href: '#', text: 'Course'});
            ElementLi = new Element('li', {});
            ElementA.inject(ElementLi);
            ElementLi.inject(ListSelectBlockCourse);
            

            ListSelectBlockCourse.set('html', '');
            regions.each(function(item){
                ElementA = new Element('a', {rel: item.NodeID, href: '#', text: item.Name});
                ElementLi = new Element('li', {});
                ElementA.inject(ElementLi);
                reloadEvents( ElementA );
                ElementLi.inject(ListSelectBlockCourse);
            });

            SelectBlockCourse.removeClass('disabled');
        }}).get({});

        ValueSelectBlockWhen.set('html', 'Quarter');
        selectwhen.set('value', '0');
        SelectBlockCourse = document.id( SelectBlockCourse.get('id') );
        SelectBlockWhen.removeClass('disabled');
        button.removeProperty('disabled');

    }
    else {
        selectcourse.set('disabled', 'disabled');
        selectcourse.set('html', '<option selected="selected" value="0">Course</option>');
        selectwhen.set('disabled', 'disabled');
        selectwhen.set('value', '0');
        button.set('disabled', 'disabled');
    }
}

function CourseForm( currentImput )
{
    selectcollege = document.id('course-college-select');
    SelectBlockCollege = document.id('select-course-college-select');
    selectcourse = document.id('course-course-select');
    SelectBlockCourse = document.id('select-course-course-select');
    selectwhen = document.id('course-when-select');
    SelectBlockWhen = document.id('select-course-when-select');
    button = document.id('search-button-course');

    if( currentImput == 'course-college-select' ) {
        fetchCourse( selectcollege, selectcollege, SelectBlockCollege, selectcourse, SelectBlockCourse, selectwhen, SelectBlockWhen, button );
    }

    if( currentImput == 'course-course-select' ) {
        if( selectcourse.get('value') != 0 ) selectwhen.removeProperty('disabled');
        else selectwhen.set('value', '0');
    }

    if( currentImput == 'course-when-select' ) {
        if( selectwhen.get('value') != 0 ) button.removeProperty('disabled');
        else button.set('disabled', 'disabled');
    }
}

window.addEvent('domready', function() {
var ActiveJavaScriptSelect = false;
    document.id( document.body ).getElements('div.light-select').each( function( elem ){
        list = elem.getElement('ul');
        input = elem.getElement('div.input');
        items = list.getElements('li a');
        value = elem.getElement('span');
        width = elem.getStyle('width').toInt();
        /* IE7 fix */
        value.setStyle('width', width - 28);
        list.setStyle('min-width', width);

        input.addEvent('click', function(){
            if( (ActiveJavaScriptSelect == false) && (this.getParent().hasClass('disabled')==false) ) {
                this.getParent().getElements('ul').show();
                ActiveJavaScriptSelect = true;
            }
        });
        list.addEvent('mouseleave', function(){
            this.hide();
            ActiveJavaScriptSelect= false;
        });
        items.addEvent('click', function(e){
            e.stop();
            element = this.getParent().getParent().getParent();
            element.getElement('ul').hide();
            element.getElement('span').set('text', this.get('text'));
            currentImput = element.get('id').replace(/select-/, '');
            document.id( currentImput ).set('value', this.get('rel'));
            ActiveJavaScriptSelect = false;
            CourseForm( currentImput );
        });
    })
});

function reloadEvents( el )
{
    el.addEvent('click', function(e){
        e.stop();
        element = this.getParent().getParent().getParent();
        element.getElement('ul').hide();
        element.getElement('span').set('text', this.get('text'));
        currentImput = element.get('id').replace(/select-/, '');
        document.id( currentImput ).set('value', this.get('rel'));
        ActiveJavaScriptSelect = false;
        CourseForm( currentImput );
    });
}