//FUNCTIONS

function init(e) {

    var workshop = document.getElementById('workshop');

    if ( workshop.selectedIndex ) {

        getSessions();

        var session = document.getElementById('session');

    }

    return false;

}

function getSessions(e) {

    var workshop = document.getElementById('workshop');

    var workshop_id = workshop.options[workshop.selectedIndex].value;

    var session_select = document.getElementById('session');

    if ( workshop_id == '') {

        session_select.length = 1;

        session_select.options[0].value = '';
        session_select.options[0].text  = '-- Select a session --';
 
        session_select.selectedIndex = 0;

        return false;

    }

    var url = '/workshops/ajax.pl?ajax_action=get_sessions&wid=' + workshop_id + '&eval=1' ;

    var xmlhttp = new XMLHttpRequest();

    // last value set to false -- do not want async.
    xmlhttp.open('GET', url, false);

    xmlhttp.send(null);

    var response = xmlhttp.responseXML;

    //alert( xmlhttp.responseText );

    if ( ! response ) {

        alert( 'ERROR:' + xmlhttp.responseText );
        return false;

    }

    var sessions = response.getElementsByTagName('session');

    session_select.length = sessions.length + 1;

    session_select.options[0].value = '';
    session_select.options[0].text  = '-- Select a session --';

    for ( var i = 0; i < sessions.length; i++ ) {

        var id    = sessions[i].getElementsByTagName('id');
        var title = sessions[i].getElementsByTagName('title');
        var start = sessions[i].getElementsByTagName('start_date');
        var end   = sessions[i].getElementsByTagName('end_date');

        session_select.options[i + 1].value = id.item(0).firstChild.nodeValue;
        session_select.options[i + 1].text  = title.item(0).firstChild.nodeValue +
           ' (' + start.item(0).firstChild.nodeValue + ' - ' + end.item(0).firstChild.nodeValue + ')' ;

    }

    session_select.selectedIndex = 0;

    return false;

}

function doSubmit(e) {

    var session = document.getElementById('session');

    if ( session.options[session.selectedIndex].value == '' ) {

        alert('You must select a session.');
        session.focus();
        return false;

    }

    var form = document.getElementById('form_submit');
    
    form.submit();

    return true;

}

function addListeners(e) {

    var listen = document.getElementById('workshop');
    addEvent(listen, 'change', getSessions, false);

    listen = document.getElementById('submit_form');
    addEvent(listen, 'click', doSubmit, false);

}

addEvent(window, 'load', init,         false);
addEvent(window, 'load', addListeners, false);
