﻿if (typeof CunninghamLindsey == "undefined")
{
	CunninghamLindsey = {};
}

if (typeof CunninghamLindsey.Search == "undefined")
{
	CunninghamLindsey.Search = {};
}

CunninghamLindsey.Search.Tabs = function()
{

	var obj_default = {
		container: null,
		tabs: null,
		active: null,
		panels: null
	};

	var m_arPairs = [];

	return {
		init: function(obj)
		{
			var i, c;
			var p;
			var a;

			if (obj.tabs.length != obj.panels.length)
			{
				return;
			}

			c = document.getElementById(obj.container);
			c.style.display = "block";

			// check to see if the required active panel exists.
			a = document.getElementById(obj.active);

			if(a == null)
			{
				for(i = 0; i < obj.tabs.length; i++)
				{
					a = document.getElementById(obj.tabs[i]);
					// the first tab that exists is now the default
					if(a != null)
					{
						obj.active = obj.tabs[i];
						break;
					}
				}
			}

			for (i = 0; i < obj.tabs.length; i++)
			{
				p = new tabPair(obj.tabs[i], obj.panels[i]);
				if(typeof p.Setup != "undefined")
				{
					m_arPairs[m_arPairs.length] = p;
					m_arPairs[m_arPairs.length - 1].Setup(obj.active);
				}
			}

		},
		Toggle : function(obj)
		{
			var i;
	
			for(i = 0; i < m_arPairs.length; i++)
			{
				m_arPairs[i].Toggle(obj.callee);
			}
	
		}
	};

} ();

var tabPair = function(sTab, sPanel)
{
	var Tab = sTab;
	var Panel = sPanel;

	var m_objTab;
	var m_objPanel;

	m_objTab = document.getElementById(Tab);
	m_objPanel = document.getElementById(Panel);

	if(m_objTab == null || m_objPanel == null)
	{
		return null;
	}

	return {

		Setup: function(active)
		{
			var a;

			a = m_objTab.getElementsByTagName("a");

			// add event to the tab links
			a[0].onclick = function()
			{
				CunninghamLindsey.Search.Tabs.Toggle({callee:Tab});
			}

			this.Hide();
			if(Tab == active)
			{
				this.Show();
			}

		},

		Toggle : function(active)
		{
			if(Tab == active)
			{
				this.Show();
			}
			else
			{
				this.Hide();
			}
		},

		Hide: function()
		{
			m_objTab.className = "";
			m_objPanel.style.display = "none";
		},

		Show: function()
		{
			m_objTab.className = "on";
			m_objPanel.style.display = "block";
		}

	};

}


//CunninghamLindsey.Search.Tabs.js
