window.addEvent('domready', function()
{
	new slidedown($$('#middlecontainer .teammemberblock .completebio'), $$('#middlecontainer .teammemberblock .fullbiotext'));
});

var slidedown = new Class(
{
	marr_data: Array(),
	initialize: function(_arr_links, _arr_bio_containers)	
	{
		var obj_this = this;
		for(var i = 0; i < _arr_links.length; i++)
		{
			this.marr_data[i] = Array();
			this.marr_data[i]['link'] = (_arr_links[i]) ? _arr_links[i] : null;
			this.marr_data[i]['obj'] = (_arr_bio_containers[i]) ? _arr_bio_containers[i] : null;
			if (this.marr_data[i]['link'])
			{
				//we set our events:
				this.marr_data[i]['evtfn'] = function(_evt) { _evt = new Event(_evt).stop(); obj_this.slide('down', this); };
				this.marr_data[i]['link'].addEvent('click', this.marr_data[i]['evtfn']);

				//we set our bio link correctly:
				if (this.marr_data[i]['obj'])
				{
					this.marr_data[i]['obj'].setStyle('display', 'block');
					this.marr_data[i]['obj'] = new Fx.Slide(this.marr_data[i]['obj']);
					this.marr_data[i]['obj'].hide();
				}
			}
		}
	},
	slide: function(_s_flag, _objlink)
	{
		var i_index = this.find_index_from_objlink(_objlink);
		if (i_index == -1) return;

		var obj_bio = this.marr_data[i_index]['obj'];
		if (!obj_bio) return;

		//we have our bio, so we slide depending of our flag:
		if (_s_flag == 'down')
			return this.slidedown(i_index, _objlink, obj_bio);
		return this.slidein(i_index, _objlink, obj_bio);
		
	},
	slidedown: function(_i_index, _obj_link, _obj_bio)
	{
		//we change the text of our link:
		_obj_link.set('text', 'Close Bio');

		//we slide down:
		_obj_bio.slideIn();

		//we change our click event on our link object:
		obj_this = this;
		_obj_link.removeEvent('click', this.marr_data[_i_index]['evtfn']);
		this.marr_data[_i_index]['evtfn'] = function(_evt) { _evt = new Event(_evt).stop(); obj_this.slide('in', this); };
		_obj_link.addEvent('click', this.marr_data[_i_index]['evtfn']);
		
	},
	slidein: function(_i_index, _obj_link, _obj_bio)
	{
		//we change the text of our link:
		_obj_link.set('text', 'Complete Bio');

		//we slide in:
		_obj_bio.slideOut();

		//we change our click event on our link object:
		obj_this = this;
		_obj_link.removeEvent('click', this.marr_data[_i_index]['evtfn']);
		this.marr_data[_i_index]['evtfn'] = function(_evt) { _evt = new Event(_evt).stop(); obj_this.slide('down', this); };
		_obj_link.addEvent('click', this.marr_data[_i_index]['evtfn']);
	},
	find_index_from_objlink: function(_objlink)
	{
		for(var i = 0; i < this.marr_data.length; i++)
		{
			if (this.marr_data[i]['link'] == _objlink)
				return i;
		}

		return -1;
	}
});
