var Members = {
	init: function(childCapsJson, selectedChildID)
	{
    this.childCaps = childCapsJson.evalJSON();
    this.selectedChildID = selectedChildID;
	},
  
  parentCapChanged: function()
  {
    this.updateChildCapSelect();
  },
  
  updateChildCapSelect: function()
  {
    this.parentCapID = parseInt($F('select-parent-cap'));
    
    var selectChildCapElem = $('select-child-cap');
    SelectExtend.clearOptions(selectChildCapElem, false);
    if (Object.isUndefined(this.childCaps[this.parentCapID]))
    {
      SelectExtend.addOption(selectChildCapElem, 0, '(Please select an expertise)');
      return;
    }
    
    SelectExtend.addOption(selectChildCapElem, 0, '(All Specialities)');
    
    var childCaps = $H(this.childCaps[this.parentCapID]);
    childCaps.keys().each(function(childCapID){
      SelectExtend.addOption(selectChildCapElem, 
                             childCapID, 
                             childCaps.get(childCapID),
                             childCapID == this.selectedChildID);
    }, this);
    
    selectChildCapElem.enable();
  },
  
	searchStringChanged: function()
	{
    //this.search.bind(this).delay(0.5);
  },
	
	search: function()
	{
    var searchString = $F('search-string');
		if (searchString == '')
		  return;		
		
		this.updateMemberList(
		  'search',
			{
        search_string: searchString
      }
		);
  },
	
  updateMemberList: function(action, params)
  {
    $('updating-member-list').show();
    sendAjaxMessage(
      'Members',
      action,
      params,
			this.updateMemberListCallback
    );
  },
  
  updateMemberListCallback: function(result)
  {
		if (result.success)
      $('members-list').update(result.member_list_html);

    $('updating-member-list').hide();
  },
	
	showChildCapList: function()
	{
    var html = '';

    if (this.parentCapID != 0)
		{
      html = '<ul>';
	    var childCaps = $H(this.childCaps[this.parentCapID]);
	    childCaps.keys().each(function(childCapID){
	      html += '<li><a onclick="Members.selectChildCap(' + childCapID + ');">' + childCaps.get(childCapID) + '</li>';
      }, this);    
		}

    html += '</ul>';
    $('members-list').update(html);
  },
	
	selectChildCap: function(childCapID)
	{
    $('select-child-cap').setValue(childCapID);
  }
	
}
