var Edicra;
if (!Edicra) Edicra = {};

Edicra.TabbedPanel = function(element, tabId)
{
    this.startingTab = tabId;
    this.currentTab = this.startingTab;
    this.element2 = document.getElementById(element);
    allChildren = this.getElementChildrenX(this.element2);
    this.tabs = this.getElementChildrenX(allChildren[0]);
    this.panels = this.getElementChildrenX(allChildren[1]);
    for (var i in this.tabs) {
        if (i == this.startingTab) {
            this.tabs[i].className = 'selected';
        } else {
            if (i == this.currentTab) {
				if (typeof(this.panels[i].style)!='undefined') this.panels[i].style.display = 'block';
            } else {
                if (typeof(this.panels[i].style)!='undefined') this.panels[i].style.display = 'none';
            }
        }
        this.tabs[i].innerHTML = '<span class="head"></span><span class="body">'+this.tabs[i].innerHTML + '</span><span class="tail"></span>';
        this.panels[i].innerHTML = ''+this.panels[i].innerHTML + '';
        this.setEventsX(i)
    }
}

Edicra.TabbedPanel.prototype.setEventsX = function(id)
{
    var self = this;
    this.tabs[id].onclick = function(e) { return self.showPanel(id); };
    this.tabs[id].onmouseover = function(e) { return self.hoverPanel(id); };
    this.tabs[id].onmouseout = function(e) { return self.unHoverPanel(id); };
}

Edicra.TabbedPanel.prototype.unHoverPanel = function(id)
{
    if (id == this.currentTab) {
        this.tabs[id].className = 'selected';
    } else {
        this.tabs[id].className = '';
    }
}

Edicra.TabbedPanel.prototype.hoverPanel = function(id)
{
   if (id == this.currentTab) {
        this.tabs[id].className = 'selected';
    } else {
        this.tabs[id].className = 'hovered';
    }
}

Edicra.TabbedPanel.prototype.showPanel = function(id)
{
    for (var i in this.panels) {
        if (i == id) {
            this.panels[i].style.display = 'block';
            this.tabs[i].className = 'selected';
        } else {
            if (typeof(this.panels[i].style)!='undefined') this.panels[i].style.display = 'none';
            this.tabs[i].className = '';
        }
    }
    this.currentTab = id;
}

Edicra.TabbedPanel.prototype.getElementChildrenX = function(element)
{
	var children = [];
	var child = element.firstChild;
	while (child) {
		if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
			children.push(child);
		child = child.nextSibling;
	}
	return children;
};


