var fLocaleList = new Class({
	Implements: [Options, Events],

	options : {
		selectortype   : 'activeitem',
		selectortitle  : 'Choose country' 
	},

	initialize: function(oListWrapper, options) 
	{
		this.setOptions(options);
		this.oListWrapper = $(oListWrapper);
		this.oList = this.oListWrapper.getElementById('locale_list');
		this.closeList();
		this.oSelector = new Element('div', {id : 'locale_selector'}).inject(this.oList, 'before');
		this.oSelectorList = new Element('ul').inject(this.oSelector);
		bActiveFound = false;
		if (this.options.selectortype == 'activeitem')
		{
			this.oList.getElements('li').each(function(oListItem) //Loop all LI's inside locale_list
			{
				/*if (document.all) //Fix voor IE6, vaste breedtes
				{
					oLink = oListItem.getElement('a');
					if (oLink)
					{
						oSize = oLink.getSize();
						oLink.setStyle('width', oSize.x);
					}
				}*/
				if (oListItem.hasClass('active'))
				{
					bActiveFound = true;

					oListItem.clone().injectInside(this.oSelectorList);
					
					if (oListItem.getParent().get('tag') == 'ul')
					{
						this.oSelectorList.addClass(oListItem.getParent().get('class')); //UL class overnemen naar selector UL
						if (oListItem.getParent().getChildren().length == 1)
						{
							if (oListItem.getParent().getParent().get('tag') == 'li')
								oListItem.getParent().getParent().dispose();
						}
					}

					oListItem.dispose();
				}
			}.bind(this));
		}

		if (!bActiveFound || this.options.selectortype == 'custom')
			this.oListItem = new Element('li', {'html' : '<a>'+this.options.selectortitle+'</a>'}).inject(this.oSelectorList);

		this.bindEvents();
	},

	bindEvents: function()
	{
		this.oSelector.addEvents({
			'click': function(e) {
				e = new Event(e).stop();
				if (!this.bMenuOpen)
				{				
					this.openList();
				}
				else
				{
					this.closeList();
				}
			}.bind(this)
		});	
	},
	closeList: function()
	{
		this.bMenuOpen = false;
		this.oList.fade(0);
		this.oList.setStyle('display', 'none');
	},
	openList: function()
	{
		this.bMenuOpen = true;
		this.oList.fade(1);
		this.oList.setStyle('display', 'block');
	}
});