var baker = {
    
    init: function() {
        // Get all conference event objects
		baker.events = YAHOO.util.Dom.getElementsByClassName('eventspan');
		
        // Attach toggle event to every objects
		for(var i=0, max=baker.events.length; i<max; i++) {
			YAHOO.util.Event.addListener(baker.events[i], 'click', baker.do_xhr_toggle);
		}        
	},

	do_xhr_toggle: function(e) {
		// YAHOO.util.Event.preventDefault(e);
		toggleform = $(this.id + '_form');
		YAHOO.util.Connect.setForm(toggleform);
		var cObj = YAHOO.util.Connect.asyncRequest('POST', '/en/europython/toggle_event/?xhr=True', baker.toggle_callback);
	},
    
	toggle_callback: {
  		success: function(o) {
  		    var response_obj = eval('(' + o.responseText + ')');

            // if the session is selected, remove selected class from CSS
            // else, add it
            my_parent = $(response_obj.parent_id);
            my_selector = $(response_obj.selector_id);
            
            if(YAHOO.util.Dom.hasClass(my_parent, 'selected')) {
                YAHOO.util.Dom.removeClass(my_parent, 'selected');
                my_selector.innerHTML = 'Select'
            } else {
                YAHOO.util.Dom.addClass(my_parent, 'selected');            
                my_selector.innerHTML = 'Remove selection'
            }
  	    }, // success

  		failure: function(o) { // we shouldn't ever go down this path.
  			alert('Error: ' + o.status + " " + o.statusText );
  		} // failure
    } // toggle_callback        
};
var $ = YAHOO.util.Dom.get;
YAHOO.util.Event.addListener(window, 'load', baker.init);
