var Wendigo;
if (!Wendigo) Wendigo = {};
if (!Wendigo.Widget) Wendigo.Widget = {};

Wendigo.Widget.LinkedComboBox = function(combobox)
{
	this.elementList = new Array();
	this.combobox = this.getElement(combobox);	
};

Wendigo.Widget.LinkedComboBox.prototype.getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};

Wendigo.Widget.LinkedComboBox.prototype.addElement = function(element)
{
	var element = this.getElement(element);

	var found = false;
	for(var i = 0; i < this.elementList.length; i++) {
		if (this.elementList[i] == element) {
			found = true;
		}
	}

	if (found == false) {
		this.elementList.push(element);

		var self = this;
		this.addEventListener(element, "click", function(e) { return self.onElementClick(e || window.event); }, false);
	}
};

Wendigo.Widget.LinkedComboBox.prototype.onElementClick = function(e) 
{
	if (e.srcElement)
		var content = e.srcElement.innerHTML;
	else 
		var content = e.target.innerHTML;
		
	if (this.combobox) {
		for(var i = 0; i < this.combobox.options.length; i++) {
			if (this.combobox.options[i].innerHTML) {
				this.combobox.options[i].selected = content.match(new RegExp(this.combobox.options[i].text, "g"));
			}
		}
	}
};

Wendigo.Widget.LinkedComboBox.prototype.addEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
			element.addEventListener(eventType, handler, capture);
		else if (element.attachEvent)
			element.attachEvent("on" + eventType, handler);
	}
	catch (e) {}
};
