//------------------------------------------
// i-Tab
// © 2007 Kim & Dean - All Rights Reserved
//
// Created:        July 20th, 2006
// Last Modified:  Jan 23rd, 2007
// Written By:     Dean
//------------------------------------------

var itab_tabs     = new Array();
var itab_order    = new Array();
var itab_nposts   = new Array();
var itab_rows     = 0;
var itab_tabs_row = 4;
var itab_current  = null;
var itab_ignore   = false;
var itab_ie7      = ((is_ie) && (uagent.indexOf('msie 7.') != -1));
var itab_loaded   = true;

function itab_init(cl)
{
	var tm = document.getElementById('itab-master') || document.all['itab-master'];
	var tc = document.getElementById('itabs-cat-tabs-table') || document.all['itabs-cat-tabs-table'];

	if (is_ie)
	{
		tc = itab_get_child(tc, 'TBODY');
	}

	if (!tc || typeof(tc) == 'undefined')
	{
		itab_hide_loading();
		return;
	}

	if (!itab_order.length)
	{
		itab_hide_loading();
		return;
	}

	var x = 0;
	var ttr;

	for (var i=0; i<itab_order.length; i++)
	{
		if (x <= 0)
		{
			itab_rows++;

			ttt           = document.createElement('tr');
			ttt.id        = 'itab-cats-tabs-row-'+itab_rows;
			ttt.className = 'itab-tab-row';
			ttt.align     = 'left';

			tc.appendChild(ttt);
			ttr = document.getElementById('itab-cats-tabs-row-'+itab_rows) || document.all['itab-cats-tabs-row-'+itab_rows];
		}

		var id = itab_order[i];
		var nm = itab_tabs[id][0];
		mn     = nm;

		if (mn.length > 25)
		{
			mn = nm.substring(0, 25)+'...';
		}

		if (is_ie)
		{
			var html = "<table cellspacing='0' cellpadding='0' border='0'><tr id='itab-tab-"+id+"' class='itab-tab-off' onclick='return itab_display(this)'>";
			html    += "<td class='itab-tab-off-left'></td>";
			html    += "<td align='center' class='itab-tab-off-text' nowrap='nowrap'><div id='itab-tab-text-"+id+"' class='itab-tab-text' title=\""+nm+"\">"+((itab_nposts[id]) ? " <img src="+itab_npimg.src+" border='0' alt='' /> " : '')+mn+"</div></td>";
			html    += "<td class='itab-tab-off-right'></td>";
			html    += "</tr></table>";

			var td       = document.createElement('td');
			td.innerHTML = html;
			ttr.appendChild(td);

			var div = (document.all) ? document.all['itab-tab-text-'+id] : document.getElementById('itab-tab-text-'+id);
			var wd  = itab_read_style(div.parentNode, 'width');

			div.style.width = parseInt(wd)+'px';

			x++;
			if (x >= itab_tabs_row)
			{
				x = 0;
			}
		}
		else
		{
			var td  = document.createElement('td');
			var tbl = document.createElement('table');
			var tr  = document.createElement('tr');
			var tdl = document.createElement('td');
			var tdt = document.createElement('td');
			var tdr = document.createElement('td');
			var div = document.createElement('div');

			tbl.cellSpacing = '0';
			tbl.cellPadding = '0';
			tr.id           = 'itab-tab-'+id;
			tr.className    = 'itab-tab-off';

			tdl.className = 'itab-tab-off-left';
			tdr.className = 'itab-tab-off-right';
			tdt.className = 'itab-tab-off-text';
			tdt.setAttribute('align', 'center');
			div.id        = 'itab-tab-text-'+id;
			div.className = 'itab-tab-text';
			div.innerHTML = (itab_nposts[id]) ? "<img src='"+itab_npimg.src+"' border='0' alt='' /> "+mn : mn;
			div.title     = nm;
			div.align     = 'center';

			tdt.appendChild(div);
			tr.appendChild(tdl);
			tr.appendChild(tdt);
			tr.appendChild(tdr);
			tbl.appendChild(tr);
			td.appendChild(tbl);
			ttr.appendChild(td);

			x++;
			if (x >= itab_tabs_row)
			{
				x = 0;
			}

			var tob = document.getElementById('itab-tab-'+id) || document.all['itab-tab-'+id];
			itab_add_event(tob, 'click', function(){return itab_display(this)});
		}
	}

	try
	{
		tc.style.styleFloat = 'left';
		var ptn = (itab_ie7) ? tc.parentNode.parentNode : tc.parentNode;
		var div = document.createElement('div');
		div.id  = 'itab_cat_table_end';

		if (tc.nextSibling)
		{
			ptn.insertBefore(div, tc.nextSibling);
		}
		else
		{
			ptn.appendChild(div);
		}
	}

	catch(e){}

	try
	{
		var tob = document.getElementById('itab-tab-'+((itab_current) ? itab_current : itab_order[0])) || document.all['itab-tab-'+((itab_current) ? itab_current : itab_order[0])];
		if (tob)
		{
			itab_ignore = true;
			tob.click();
		}
	}

	catch (e)
	{
		var tob = document.getElementById('itab-tab-'+((itab_current) ? itab_current : itab_order[0])) || document.all['itab-tab-'+((itab_current) ? itab_current : itab_order[0])];
		if (tob)
		{
			itab_ignore = true;
			itab_display(tob);
		}
	}

	itab_ignore = false;
	if (itab_rows > 1)
	{
		if (!is_ie)
		{
			tm.style.marginTop = (34 * (itab_rows-1))+'px';
			tc.style.marginTop = -(34 * (itab_rows-1))+'px';
		}

		try
		{
			if (is_opera)
			{
				var ct = document.getElementById('itab-cat-tile') || document.all['itab-cat-tile'];
				//ct.parentNode.style.position = 'relative';

				tc.style.position = 'relative';
				ct.style.position = 'relative';
			//	ct.style.top      = (34 * (itab_rows-1))+'px';
			//	tc.style.top      = -(34 * (itab_rows-1))+'px';
			//	tc.style.marginTop = '0px';
			}
			else if (itab_ie7)
			{
				tc = tc.parentNode;
				tm.style.marginTop = (34 * (itab_rows-1))+'px';
			//	tc.style.marginTop = -(34 * (itab_rows-1))+'px';

				var ct = document.getElementById('itab-cat-tile') || document.all['itab-cat-tile'];
			//	ct.style.position = 'relative';
			//	tm.style.position = 'relative';
				tc.style.position = 'relative';
			//	ct.style.top      = (34 * (itab_rows-1))+'px';
			//	tm.style.top      = (34 * (itab_rows-1))+'px';
				tc.style.top      = -(34 * (itab_rows-1))+'px';
			//	tc.style.cssText  = 'position:relative;top:-'+(34 * (itab_rows-1))+'px';

			/*	var ct  = document.getElementById('itab-cat-tile') || document.all['itab-cat-tile'];
				var div = document.createElement('div');
		
				div.innerHTML = 'Dean Rocks';
				div.appendChild(tc.parentNode);
				div.style.position   = 'relative';
				div.style.styleFloat = 'left';
				div.style.top        = -(34 * (itab_rows-1))*2+'px';
				tc.style.zIndex      = '10000';
				tc.style.styleFloat  = 'none';
		
				//ct.insertBefore(div, ct.firstChild);
				ct.appendChild(div);
				alert(ct.innerHTML);*/
			}
		}

		catch (cte){}
	}

	var _td = document.getElementById('itab-tab-data') || document.all['itab-tab-data'];
	for (var i=0; i<itab_order.length; i++)
	{
		var _id = itab_order[i];
		var _tc = document.getElementById('itab-tab-content-'+_id) || document.all['itab-tab-content-'+_id];

		if (_td && _tc)
		{
			_td.appendChild(_tc);
		}
	}

	itab_load_menus();
	itab_hide_loading();
}

function itab_add_tab(id, nm, url)
{
	url = (typeof(url) != 'undefined' && url != '') ? url : '';
	itab_tabs[id] = new Array(nm, url);
	var a = false;

	for (var i=0; i<itab_order.length; i++)
	{
		if (id == itab_order[i])
		{
			a = true;
			break;
		}
	}

	if (!a)
	{
		itab_order[itab_order.length] = id;
	}

	itab_nposts[id] = false;
}

function itab_display(t)
{
	itab_go_off_all();

	var id       = t.id.replace('itab-tab-', '');
	var td       = document.getElementById('itab-tab-'+id) || document.all['itab-tab-'+id];
	var pobj     = itab_get_parent(t, 'itab-cats-tabs-row');
	td.className = td.className.replace(/itab-tab-(off|on)/i, 'itab-tab-on');

	if (!itab_ignore)
	{
		try
		{
			var url = itab_tabs[id][1];
			if (url != '' && typeof(url) != 'undefined')
			{
				window.location = url;
				return false;
			}
		}

		catch(zx){}
	}

	for (var x=0; x<td.childNodes.length; x++)
	{
		var cn = td.childNodes[x];
		if (cn.nodeName == 'TD' && cn.className.indexOf('itab-tab') != -1)
		{
			cn.className = cn.className.replace(/itab-tab-(off|on)-(.+?)/i, 'itab-tab-on-$2');
		}
	}

	if (is_ie)
	{
		var div = (document.all) ? document.all['itab-tab-text-'+id] : document.getElementById('itab-tab-text-'+id);
		var wd  = itab_read_style(div.parentNode, 'width');

		div.style.width = parseInt(wd)+'px';
	}

	var td = document.getElementById('itab-tab-data') || document.all['itab-tab-data'];
	var ob = document.getElementById('itab-tab-content-'+id) || document.all['itab-tab-content-'+id];

	ob.style.display = 'block';

	itab_current = id;
	itab_reorder_rows(pobj);

	return false;
}

function itab_go_off_all()
{
	for (var i=0; i<itab_order.length; i++)
	{
		var _id = itab_order[i];
		var _td = document.getElementById('itab-tab-'+_id) || document.all['itab-tab-'+_id];

		_td.className = _td.className.replace(/itab-tab-(off|on)/i, 'itab-tab-off');
		for (var x=0; x<_td.childNodes.length; x++)
		{
			var cn = _td.childNodes[x];
			if (cn.nodeName == 'TD' && cn.className.indexOf('itab-tab') != -1)
			{
				cn.className = cn.className.replace(/itab-tab-(off|on)-(.+?)/i, 'itab-tab-off-$2');
			}
		}

		var _tc = document.getElementById('itab-tab-content-'+_id) || document.all['itab-tab-content-'+_id];
		_tc.style.display = 'none';
	}
}

function itab_reorder_rows(p)
{
	if (itab_rows <= 1)
	{
		return;
	}

	var obj = document.getElementById('itabs-cat-tabs-table') || document.all['itabs-cat-tabs-table'];
	var trs = new Array();

	if (is_ie)
	{
		obj = itab_get_child(obj, 'TBODY');
	}

	for (var i=0; i<obj.childNodes.length; i++)
	{
		if (obj.childNodes[i].nodeName == 'TR' && obj.childNodes[i].className.indexOf('itab-cats-tabs-row'))
		{
			trs[trs.length] = obj.childNodes[i];
		}
	}

	if (trs.length > 0)
	{
		for (var i=0; i<trs.length; i++)
		{
			obj.removeChild(trs[i]);
		}

		var na = new Array();
		var ct = new Array();

		for (var i=0; i<trs.length; i++)
		{
			if (trs[i] == p)
			{
				continue;
			}

			na[trs[i].id] = trs[i];
		}

		for (var i=0; i<trs.length; i++)
		{
			if (trs[i] == p)
			{
				na[trs[i].id] = trs[i];
				break;
			}
		}

		for (var i in na)
		{
			var t = 0;
			for (var a=0; a<na[i].childNodes.length; a++)
			{
				if (na[i].childNodes[a].nodeName == 'TD')
				{
					t++;
				}
			}

			ct[ct.length] = na[i].id+'~'+t;
		}

		ct = ct.sort(itab_row_sort);
		var l = -1;

		for (var i=0; i<ct.length; i++)
		{
			var f = ct[i].replace(/(.+?)~(\d+)/gi, '$1');
			if (i+1 <= ct.length && l == -1 && na[f] == p)
			{
				l = i;
				continue;
			}

			na[f].className = na[f].className.replace(/itab-cat-tile/gi, '').replace(/^\s*|\s*$/g, '');
			if (i+i < ct.length)
			{

			}

			obj.appendChild(na[f]);
		}

		if (l > -1)
		{
			var f = ct[l].replace(/(.+?)~(\d+)/gi, '$1');
			na[f].className = na[f].className.replace(/itab-cat-tile/gi, '').replace(/^\s*|\s*$/g, '');
			obj.appendChild(na[f]);
		}
	}
}

function itab_row_sort(a, b)
{
	var at = a.replace(/^(.+?)~(\d+)$/gi, '$2');
	var bt = b.replace(/^(.+?)~(\d+)$/gi, '$2');

	if (at < bt)
	{
		return -1;
	}
	else if (at > bt)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

function itab_show_loading()
{
	try
	{
		var tl              = document.getElementById('itab_loading');
		tl.style.visibility = 'visible';

		itab_center_obj(tl);
	}

	catch(eee){}
}

function itab_hide_loading()
{
	try
	{
		var tl              = document.getElementById('itab_loading');
		tl.style.visibility = 'hidden';
		tl.style.left       = '-800px';
		tl.style.top        = '-800px';
	}

	catch(eee){}
}

if (screen.width)
{
	if (screen.width <= 800)
	{
		itab_tabs_row = 3;
	}
	else if (screen.width <= 1024 && screen.width > 800)
	{
		itab_tabs_row = 4;
	}
	else if (screen.width > 1024)
	{
		itab_tabs_row = 5;
	}
}

itab_show_loading();
itab_add_event(window, 'load', itab_init);