var rollOwnerCurrentId, interval = 5000;
var rollOwners = new Array(3);
var img_preload = [];
var currentSubtab,currentSubtabId;
var SubToggles = [];
var intervalId;
var subCounterStart, subCounterEnd;
var faded;
var opacity;
var opBrowser;
var fadedObj;

function setRollOwners()
{
	var op = ifIE();
	opBrowser = (op == true) ? 1 : 0;
	rollOwners[0] = document.getElementById('training_block').getElementsByTagName('a')[0];
	rollOwners[1] = document.getElementById('consulting_block').getElementsByTagName('a')[0];
	rollOwners[2] = document.getElementById('developing_block').getElementsByTagName('a')[0];
	rollOwnerCurrentId = 0;
	rollOwners[0].parentNode.className = "active";
	for(var i = 0; i<3; i++)
	{
		rollOwners[i].onclick = toggleHandler;
	}
	currentSubtab = rollOwners[0].parentNode.getElementsByTagName('li')[0];
	currentSubtabId = 0;
	SubToggles = rollOwners[0].parentNode.parentNode.getElementsByTagName('li');
	for(var i = 0; i<SubToggles.length; i++)
	{
		SubToggles[i].getElementsByTagName('div')[0].onmouseover = SubToggles[i].getElementsByTagName('span')[0].getElementsByTagName('a')[0].onmouseover = rollSubtabs_stop;
		SubToggles[i].getElementsByTagName('div')[0].onmouseout = SubToggles[i].getElementsByTagName('span')[0].getElementsByTagName('a')[0].onmouseout = rollSubtabs_start;
	}
	subCounterStart = 0;
	subCounterEnd = subCounterStart + rollOwners[0].parentNode.getElementsByTagName('li').length - 1;
	currentSubtab.className = 'current';
	
	var obj = document.getElementById('Btn_FWD');
	obj.onclick = rollButtonHandler;
	obj.onmouseover = rollSubtabs_stop;
	obj.onmouseout = rollSubtabs_start;
	obj = document.getElementById('Btn_BWD');
	obj.onclick = rollButtonHandler;	
	obj.onmouseover = rollSubtabs_stop;
	obj.onmouseout = rollSubtabs_start;
	obj.style.right = ((subCounterEnd - subCounterStart + 1)*20	) + 'px';
	obj = obj.parentNode;	
	obj.onmouseover = rollSubtabs_stop;
	obj.onmouseout = rollSubtabs_start;
	
	setInnerHandlers();
}

function toggleHandler(e)
{
	e = e || window.Event || window.event;
	var target = e.target || event.srcElement;
	if(target != null)
	{
		var rollId = 0;
		switch (target)
		{
			case rollOwners[0]: rollId = 0; break;
			case rollOwners[1]: rollId = 1; break;
			case rollOwners[2]: rollId = 2; break;
		}
		if (rollOwnerCurrentId != rollId) { toggle(rollId);}
	}
	return false;
}

function toggle(id)
{
	rollOwners[rollOwnerCurrentId].parentNode.className = "";
	rollOwnerCurrentId = id;
	rollOwners[rollOwnerCurrentId].parentNode.className = "active";
	rollSubtabs_stop();
	togglesST(rollOwners[rollOwnerCurrentId].parentNode.getElementsByTagName('li')[0]);
	subCounterStart = parseInt(currentSubtab.getElementsByTagName('a')[0].id.replace('item', ''));
	subCounterEnd = subCounterStart + rollOwners[rollOwnerCurrentId].parentNode.getElementsByTagName('li').length-1;
	currentSubtabId = subCounterStart;
	
	var obj = document.getElementById('Btn_BWD');
	obj.style.right = ((subCounterEnd - subCounterStart)*13	+ 6 + 30) + 'px';
	
	rollSubtabs_start();
}

function rollNext()
{
	if(rollOwnerCurrentId<2)
	{
		toggle(rollOwnerCurrentId+1);
	}
	else
	{
		toggle(0);
	}
}

function setInnerHandlers()
{
	var img;
	for (var i = 0; i<3; i++)
	{
		var j=0;
		var imgs = rollOwners[i].getElementsByTagName('img');
		while (imgs[j] != null)
		{
			img = new Image();
			img.src = imgs[j].src;
			img_preload.push(img);
			j++;
		}
		var obj = rollOwners[i].parentNode.getElementsByTagName('span');
		for (j = 1; j<obj.length; j++)
		{
			obj[j].getElementsByTagName('a')[0].onclick = toggleSubTab;
		} 
	}
	rollSubtabs_start();
}

function toggleSubTab(e)
{
	e = e || window.Event || window.event;
	var target = e.target || event.srcElement;
	if(target != null && target.parentNode.parentNode != currentSubtab)
	{
		rollSubtabs_stop();
		togglesST(target.parentNode.parentNode);
		rollSubtabs_start();
	}
	return false;
}

function togglesST(obj)
{
	currentSubtab.className = trim(currentSubtab.className.replace('current', ''));
	currentSubtab = obj;
	currentSubtabId = parseInt(obj.getElementsByTagName('a')[0].id.replace('item', ''));
	currentSubtab.className += ' current';
	obj = obj.getElementsByTagName('div')[0];
	opacity = 0;
	
	if (opBrowser == 0) obj.style.opacity = 0;
	else obj.style.filter = "alpha(opacity=0)";
	fade_start(obj);
}

function trim(sInString)
{
	//sInString = sInString.replace(/ /g,' ');
	return sInString.replace(/(^\s+)|(\s+$)/g, '');
}

window.onload = setRollOwners;

function rollSubtabs_start()
{
	clearInterval(intervalId);
	intervalId = setInterval(rollSubtabs,interval);
}

function rollSubtabs()
{
	if(currentSubtabId < subCounterEnd)
	{
		togglesST(SubToggles[currentSubtabId+1]);
	}
	else
	{
		togglesST(SubToggles[subCounterStart]);
	}
}

function rollSubtabsBW()
{
	if(currentSubtabId > subCounterStart)
	{
		togglesST(SubToggles[currentSubtabId-1]);
	}
	else
	{
		togglesST(SubToggles[subCounterEnd]);
	}
}

function rollSubtabs_stop()
{
	clearInterval(intervalId);
}

function fade_start(obj)
{
	if(faded) clearInterval(faded);
	fadedObj = obj;
	faded = setInterval(fade,60);
}

function fade()
{
	if (opacity < 1)
	{
		opacity += 0.05
		if (opBrowser == 0) fadedObj.style.opacity = (opacity);
		else
		{
			fadedObj.style.filter = "alpha(opacity="+opacity*100+")";
		}
	}
	else
	{
		clearInterval(faded);
	}
}

function rollButtonHandler(e)
{
	e = e || window.Event || window.event;
	var target = e.target || event.srcElement;
	if (target.id == 'Btn_BWD')
	{
		rollSubtabs_stop(); rollSubtabsBW(); rollSubtabs_start();
	}
	else if (target.id == 'Btn_FWD')
	{
		rollSubtabs_stop(); rollSubtabs(); rollSubtabs_start();
	}
	return false;
}

function ifIE()
{
	return IE='\v'=='v'
}
