/** image preloader **/
var objNavImgs = new Object();
//var arrNavImgToLoad = new Array('about', 'activities', 'approval', 'assetsprotection', 'cleaning', 'computerSecurity', 'contact', 'customer', 'electric', 'jobs', 'partner', 'references');
var arrNavImgToLoad = new Array('about', 'activities', 'assetsprotection', 'cleaning', 'contact', 'customer', 'electric', 'jobs', 'references', 'lifts');
//var arrLangImgToLoad = new Array('lang_hu', 'lang_de', 'lang_en');
var arrLangImgToLoad = new Array('lang_hu', 'lang_de');

function cacheImages(strCountry)
{
	loadImagesToCache('img/navi/' + strCountry + '/', arrNavImgToLoad);	
	loadImagesToCache('img/', arrLangImgToLoad);	
}


function loadImagesToCache(strPath, arrImgs)
{
	for (i = 0; i < arrImgs.length; i++)
	{
		objNavImgs[arrImgs[i]] = new Object();
		objNavImgs[arrImgs[i]]['out'] = new Image();
		objNavImgs[arrImgs[i]]['out'].src = strPath + arrImgs[i] + '.gif';
		objNavImgs[arrImgs[i]]['over'] = new Image();
		objNavImgs[arrImgs[i]]['over'].src = strPath + arrImgs[i] + '_active.gif';
	}
}


/** submenu handling **/
var curSubmenu = false;
var nextSubmenu = false;
var isClosing = false;
var isOpening = false;
var isOpen = false;
var isClose = true;
var smInterval;
var submenuPos = -675;
var speedFactor = 20;
var intInterval = 30;
var withSubmenu = new Array('activities', 'references');
//var submenus = new Array('assetsprotection', 'electric', 'cleaning', 'computerSecurity', 'customer', 'approval');
var submenus = new Array('assetsprotection', 'electric', 'cleaning', 'customer', 'lifts');

function mouseAction(strType, idImg)
{
	var strFileName = idImg.src.substring(idImg.src.lastIndexOf('/') + 1, idImg.src.lastIndexOf('.'));

	if (strFileName.substring(strFileName.length - 7, strFileName.length) == '_active')
		strFileName = strFileName.substring(0, strFileName.lastIndexOf('_'));
	
	if (strType == 'out' && inArray(withSubmenu, strFileName))
	{
		var intKey = arrayKey(withSubmenu, strFileName) + 1;

		if (intKey > 0 && ((curSubmenu != false && curSubmenu.substring(curSubmenu.length - 1, curSubmenu.length) == intKey) || (nextSubmenu != false && nextSubmenu.substring(nextSubmenu.length - 1, nextSubmenu.length) == intKey)))
			strType = 'over';
	}
		
	idImg.src = objNavImgs[strFileName][strType].src;	
}


function switchSubmenu(strDir, strSubmenu)
{
	if (strDir == 'open')
	{
		if ((isOpen || isOpening) && strSubmenu == curSubmenu)
			return;
	
		if (strSubmenu != curSubmenu && curSubmenu != false)	
		{
			nextSubmenu = strSubmenu;
			strSubmenu = curSubmenu;
			isClose = false;
			isClosing = false;
			strDir = 'close';
		}
		else
		{
			window.clearInterval(smInterval);
			curSubmenu = strSubmenu;
			isOpening = true;
			isClosing = false;
			isClose = false;
			smInterval = window.setInterval("animSubmenu('open', '" + strSubmenu + "')", intInterval);
		}
	}
	
	if (strDir == 'close')
	{
		if (isClose || isClosing || strSubmenu != curSubmenu)
			return;

		var curNum = Number(strSubmenu.substr(10, strSubmenu.length - 10));
		document.getElementById('imgSubmenu' + curNum).src = 	objNavImgs[withSubmenu[curNum - 1]]['out'].src;
		window.clearInterval(smInterval);		
		isClosing = true;
		isOpening = false;
		isOpen = false;
		smInterval = window.setInterval("animSubmenu('close', '" + curSubmenu + "')", intInterval);
	}
}


function animSubmenu(strDir, strSubmenu)
{
	curSubmenu = strSubmenu;
	var div = document.getElementById(strSubmenu);
	var step;
	var newLeft;
	var curPos = div.style.left.substring(0, div.style.left.length - 2);

	// end anim
	if ((strDir == 'open' && curPos >= 0) || (strDir == 'close' && curPos <= submenuPos))
	{	
		window.clearInterval(smInterval);
		return;
	}

	// do anim
	if (strDir == 'open')
	{		
		step = Math.round((0 - curPos) / 10);
		step = step < 2 ? 2 : step;
		newLeft = parseInt(curPos) + step;
		
		if (newLeft >= 0)
		{
			newLeft = 0;
			isOpen = true;
			isOpening = false;
			window.clearInterval(smInterval);
		}
	}
	else if (strDir == 'close')
	{
		step = Math.round((curPos - submenuPos) / 10);
		step = step < 5 ? 5 : step;
		newLeft = parseInt(curPos) - step;
		
		if (newLeft <= submenuPos)
		{
			isClose = true;
			isClosing = false;
			window.clearInterval(smInterval);
			
			if (nextSubmenu != false)
			{
				curSubmenu = nextSubmenu;
				nextSubmenu = false;
				switchSubmenu('open', curSubmenu);
			}
			else
				curSubmenu = false;
		}
	}
	
	div.style.left = newLeft + 'px';
}


/** Content Sections **/
var intContentSections = 0;


function setContentSections(intNums)
{
	intContentSections = intNums;
}


function toggleContentSection(intNum)
{
	for (var i=1; i <= intContentSections; i++)
	{
		var div = document.getElementById('contentSec' + i);
		var span = document.getElementById('menuArrows' + i);
		var intLength = span.firstChild.nodeValue.length;
		
		if (div.style.display == 'block')
		{
			div.style.display = 'none';
			span.firstChild.replaceData(0, intLength, '>>');
		}
		else if (intNum == i)
		{
			div.style.display = 'block';
			span.firstChild.replaceData(0, intLength, '<<');
		}
	}
}


/** utils **/
function inArray(arr, val)
{
	for (var i = 0; i < arr.length; i++)
		if (arr[i] == val)
			return true;
			
	return false;		
}


function arrayKey(arr, val)
{
	for (var i = 0; i < arr.length; i++)
		if (arr[i] == val)
			return i;
			
	return -1;
}
