var unique_id		= 0;
var dropdowns		= new Array();

function OptimusDropList()
{
	this.Create		= function(element)
	{
		var element		= $(element);
		element.addClass('dropList');
		if(!element.id)
		{
			unique_id		= unique_id+1;
			element.id		= "dropList"+unique_id;
		}
		
		var button		= new Element('button',{'class':'button'});
		button.setHTML("<div class='value'>"+element.getAttribute('value')+'</div>');
		element.setStyles({
			position:	'absolute',
			display: 	'none'
		});
		button.setStyle('width',element.getAttribute('buttonwidth') );
		
		element.addEvent('click',function(event)
		{
			var event		= new Event(event);
			event.stopPropagation();			
		});
		
		button.addEvent('click',function(event)
		{
			var event	= new Event(event);
			
			for(var i=0; i<dropdowns.length; i++)
			{	
				droplist = dropdowns[i];
				if(droplist!==null)
				{
					droplist.setStyle('display','none');
					dropdowns[i]		= null;
				}
			}			
			dropdowns.push(element);
				
			element.setStyles({
				display:	'block',
				left:		this.getCoordinates().left+'px',
				top:		this.getCoordinates().top + this.getCoordinates().height +'px'
			});		
			bottom_pos(element.getCoordinates().height + element.getCoordinates().top+10);
			element.setStyles({
				left:		this.getCoordinates().left+'px'
			});			
												
			button.blur();
			event.stop();
			event.preventDefault();
			event.stopPropagation();	
		});
		
		button.injectBefore(element);
	}
	
	this.CloseAll		= function()
	{
		for(var i=0; i<dropdowns.length; i++)
		{	
			element = dropdowns[i];
			if(element!==null)
			{
				element.setStyle('display','none');
				dropdowns[i]		= null;
			}
		}	
	}
}

var OptimusDropList		= new OptimusDropList;

document.addEvent('click',function(event)
{		
	OptimusDropList.CloseAll();	
});
