 var Combo = {
	init: function(options){
		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
		this.lists = $$("ul.combo li");
		
		$each($$("ul.combo"), function(el){
			this.ul = el;
			this.first = new Element('li', {'class': 'selector'}).injectTop(el);
		}, this);
		
		
		$each(this.lists, function(el){
			el.addClass("lista");
			if(this.ul.title == el.getProperty("rel"))
				this.first.setHTML(el.innerHTML);
			el.setStyle("display","none");
			el.onmouseover = this.over.bind(this, [el]);
			el.onmouseout = this.out.bind(this, [el]);  
			el.onclick = this.click.bind(this, [el]);
		}, this);
		
		$each($$("ul.combo li.selector"), function(el){
			el.onclick = this.select.bind(this);
		}, this);
	},
	
	select: function(){
		$each(this.lists,function(el){
			if(el.getStyle("display") == "none"){
				this.first.toggleClass("selectorOpen");
				el.setStyle("display","block");
				document['addEvent']('keydown', this.eventKeyDown);
			}else{
				this.first.toggleClass("selectorOpen");
				el.setStyle("display","none");
				document['removeEvent']('keydown', this.eventKeyDown);
			}
		},this);
	},
	close:function(){
		$each(this.lists,function(el){
			el.setStyle("display","none");
		},this);	
	},	
	over: function(el){
		el.toggleClass("listOver");
	},
	out: function(el){
		el.toggleClass("listOver");
	},
	click: function(el){
		if(this.first.innerHTML != el.innerHTML)
			this.change(el);
		this.first.setHTML(el.innerHTML);
		this.select();
	},
	keyboardListener: function(event){
		switch (event.keyCode){
			case 27: 
			case 88: 
			case 67: 
				this.close(); 
				break;
		}
	},
	change: function(el){
		location.href = 'http://www.sunroom.it/?lang='+el.getProperty("rel");
	}
};

window.addEvent('domready',function(){
	Combo.init();
});
