var zoomManager = null;
var zoomInt = null;
var button1, button2, button3, button4;
var showSubMenu = false, hideSubMenu = false, firstClick = true;

var submenuActive = 0;

var INACTIVE 	= 0x00;
var SHOW 		= 0x01;
var ACTIVE	= 0x02;
var HIDE 		= 0x03;

var subMenuState = Array(7);
var gameMenu = Array(7);
var gameMenuPos = Array(7);

var pcgames1, mobilegames1, webgames1;
var pcgames2, mobilegames2, webgames2;

var windows1, linux1, amigaos1, multiplatform1;
var windows2, linux2, amigaos2, multiplatform2;

var development1, devtools1;
var development2, devtools2;

var contact1;
var contact2;

function resizePage()
{
	var width = document.body.clientWidth;
	var height = document.body.clientHeight;
	var lyX = (width - 720) >> 1;
	var lyY = (height - 564) >> 1;
	if (lyX < 0) lyX = 0;
	if (lyY < 0) lyY = 0;
	document.getElementById('container').style.left = lyX;
	document.getElementById('container').style.top = lyY;
};

function changeSize(object) {
	object.changeSize();
	if (zoomInt == undefined) 
		zoomInt = setInterval('step()', 40);
}

function restoreSize(object) {
	object.restoreSize();
	if (zoomInt == undefined) 
		zoomInt = setInterval('step()', 40);
}

function hideArrows() {
	document.getElementById("arrow_up").style.display = "none";
	document.getElementById("arrow_down").style.display = "none";
}

function showArrows() {
	document.getElementById("arrow_up").style.display = "inline";
	document.getElementById("arrow_down").style.display = "inline";
}

function init()
{	
	hideSubMenu = true;

	pcgames1 = new Image();
	pcgames1.src = "images/pcgames_off.png";
		
	pcgames2 = new Image();
	pcgames2.src = "images/pcgames_on.png";
	
	mobilegames1 = new Image();
	mobilegames1.src = "images/mobilegames_off.png";
	
	mobilegames2 = new Image();
	mobilegames2.src = "images/mobilegames_on.png";
	
	webgames1 = new Image();
	webgames1.src = "images/webgames_off.png";
	
	webgames2 = new Image();
	webgames2.src = "images/webgames_on.png";

	windows1 = new Image();
	windows1.src = "images/windows_off.png";
	
	windows2 = new Image();
	windows2.src = "images/windows_on.png";

	linux1 = new Image();
	linux1.src = "images/linux_off.png";
	
	linux2 = new Image();
	linux2.src = "images/linux_on.png";
	
	amigaos1 = new Image();
	amigaos1.src = "images/amigaos_off.png";
	
	amigaos2 = new Image();
	amigaos2.src = "images/amigaos_on.png";
	
	multiplatform1 = new Image();
	multiplatform1.src = "images/multiplatform_off.png";
	
	multiplatform2 = new Image();
	multiplatform2.src = "images/multiplatform_on.png";

	development1 = new Image();
	development1.src = "images/development_off.png";
	
	development2 = new Image();
	development2.src = "images/development_on.png";

	devtools1 = new Image();
	devtools1.src = "images/devtools_off.png";
	
	devtools2 = new Image();
	devtools2.src = "images/devtools_on.png";

	contact1 = new Image();
	contact1.src = "images/contact_off.png";
	
	contact2 = new Image();
	contact2.src = "images/contact_on.png";

	zoomManager = new ZoomManager();
	
	button1 = new ZoomButton();
	button1.layer = "fish1";
	button1.textLayer = "fish1txt";
	button1.imageName = "icon1";
	button1.xPosition = 20;
	button1.yPosition = 8;
	button1.smallImage = "images/icon1_small.gif";
	button1.smallWidth = 44;
	button1.smallHeight = 48;
	button1.bigImage = "images/icon1.gif";
	button1.bigWidth = 55;
	button1.bigHeight = 60;
	button1.calculate();
	changeAlpha(50,"fish1");

	button2 = new ZoomButton();
	button2.layer = "fish2";
	button2.textLayer = "fish2txt";
	button2.imageName = "icon2";
	button2.xPosition = 104;
	button2.yPosition = 8;
	button2.smallImage = "images/icon2_small.gif";
	button2.smallWidth = 60;
	button2.smallHeight = 48;
	button2.bigImage = "images/icon2.gif";
	button2.bigWidth = 74;
	button2.bigHeight = 60;
	button2.calculate();
	changeAlpha(50,"fish2");

	button3 = new ZoomButton();
	button3.layer = "fish3";
	button3.textLayer = "fish3txt";
	button3.imageName = "icon3";
	button3.xPosition = 208;
	button3.yPosition = 8;
	button3.smallImage = "images/icon3_small.gif";
	button3.smallWidth = 48;
	button3.smallHeight = 48;
	button3.bigImage = "images/icon3.gif";
	button3.bigWidth = 60;
	button3.bigHeight = 60;
	button3.calculate();
	changeAlpha(50,"fish3");
	
	button4 = new ZoomButton();
	button4.layer = "fish4";
	button4.textLayer = "fish4txt";
	button4.imageName = "icon4";
	button4.xPosition = 294;
	button4.yPosition = 8;
	button4.smallImage = "images/icon4_small.gif";
	button4.smallWidth = 60;
	button4.smallHeight = 48;
	button4.bigImage = "images/icon4.gif";
	button4.bigWidth = 76;
	button4.bigHeight = 60;
	button4.calculate();
	changeAlpha(50,"fish4");

	zoomManager.buttons[0] = button1;
	zoomManager.buttons[1] = button2;
	zoomManager.buttons[2] = button3;
	zoomManager.buttons[3] = button4;
	
	if (document.images)
		zoomInt = setInterval('step()', 40);
}

function step()
{
	var running = zoomManager.step();
	
	var hideElements = false;
	var showElements = false;
	//var activeElements = false;
	
	for (var sub = 0; sub < subMenuState.length; sub ++)
	{
		if (subMenuState[sub] == HIDE)
			hideElements = true;
		else if (subMenuState[sub] == SHOW)
			showElements = true;
		//else if (subMenuState[sub] == ACTIVE)
		//	activeElements == true;
	}
	
	//document.getElementById("debug").innerHTML = showElements + " - " + activeElements + " - " + hideElements+" - "+showSubMenu;
	
	if (showElements == true && hideElements == false && showSubMenu == false)
	{
		showSubMenu = true;
		for (var el = 0; el < gameMenu.length; el ++)
		{
			gameMenu[el] = false;
			gameMenuPos[el] = -12;
		}
		gameMenu[0] = true;
	}
	else if (showElements == false && hideElements == true && hideSubMenu == false)
	{
		hideSubMenu = true;
		for (var el = 0; el < gameMenu.length; el ++)
		{
			gameMenu[el] = false;
			//gameMenuPos[el] = 0;
		}
		gameMenu[0] = true;
	}
	else if (showElements == true && hideElements == true && hideSubMenu == false)
	{
		hideSubMenu = true;
		for (var el = 0; el < gameMenu.length; el ++)
		{
			gameMenu[el] = false;
			//gameMenuPos[el] = 0;
		}
		gameMenu[0] = true;
	}
	else if (showElements == false && hideElements == true && hideSubMenu == false)
	{
		hideSubMenu = true;
		for (var el = 0; el < gameMenu.length; el ++)
		{
			gameMenu[el] = false;
			//gameMenuPos[el] = 0;
		}
		gameMenu[0] = true;
	}
	
	if (hideSubMenu == true)
	{
		
		for (var el = 0; el < gameMenu.length; el ++)
		{
			if (gameMenu[el] == true)
			{
				gameMenuPos[el] -= 2;
				if (gameMenuPos[el] <= -12)
				{
					
					gameMenu[el] = false;
					if (el + 1 < gameMenu.length)
					{
						gameMenu[el + 1] = true;
					}
					else
					{
						for (var sub = 0; sub < subMenuState.length; sub ++)
						{
							if (subMenuState[sub] == HIDE)
							{
								subMenuState[sub] = ACTIVE;
								changeMenuElements();
							}
						}
						hideSubMenu = false;
						showSubMenu = false;
					}
				}
				document.getElementById("sub"+(el+1)).style.top = gameMenuPos[el];	
			}
		}
	}
	else if (showSubMenu == true)
	{
		for (var el = 0; el < gameMenu.length; el ++)
		{
			if (gameMenu[el] == true)
			{
				gameMenuPos[el] += 2;
				if (gameMenuPos[el] >= 0)
				{
					gameMenu[el] = false;
					if (el + 1 < gameMenu.length)
					{
						gameMenu[el + 1] = true;
					}
					else 
					{
						for (var sub = 0; sub < subMenuState.length; sub ++)
						{
							if (subMenuState[sub] == SHOW)
							{
								subMenuState[sub] = ACTIVE;
							}
						}
						showSubMenu = false;
					}
				}
				document.getElementById("sub"+(el+1)).style.top = gameMenuPos[el];	
			}
		}
	}
	
	if (showElements == false && running == false) {
		clearInterval(zoomInt);
		zoomInt = undefined;
	}
	
}

function changeMenuElements()
{
	if (submenuActive == 0)
	{
		document.getElementById("sub1").style.left = "10px";
		document.getElementById("sub2").style.left = "102px";
		document.getElementById("sub3").style.left = "128px";
		document.getElementById("sub4").style.left = "250px";
		document.getElementById("sub5").style.left = "276px";

		for (var i = 0; i < subMenuState.length; i ++)
	
			if (i < 5)
				document.getElementById("sub"+(i+1)).style.visibility = "visible";
			else
				document.getElementById("sub"+(i+1)).style.visibility = "hidden";
	

		document.getElementById("sub1").innerHTML = "<a href='pcgames.html' target='apps_iframe' onmouseover='javascript:swap(\"pcgames\", \"pcgames2\");' onmouseout='javascript:swap(\"pcgames\", \"pcgames1\");'><img name='pcgames' src='images/pcgames_off.png' width='72' height='12' border='0' alt='PC Games'></a>";
		document.getElementById("sub3").innerHTML = "<a href='mobilegames.html' target='apps_iframe' onmouseover='javascript:swap(\"mobilegames\", \"mobilegames2\");' onmouseout='javascript:swap(\"mobilegames\", \"mobilegames1\");'><img name='mobilegames' src='images/mobilegames_off.png' width='96' height='12' border='0' alt='Mobile Games'></a>";
		document.getElementById("sub5").innerHTML = "<a href='webgames.html' target='apps_iframe' onmouseover='javascript:swap(\"webgames\", \"webgames2\");' onmouseout='javascript:swap(\"webgames\", \"webgames1\");'><img name='webgames' src='images/webgames_off.png' width='80' height='12' border='0' alt='Web Games'></a>";
		document.getElementById("apps_div").src= "empty.html";
	}
	else if (submenuActive == 1)
	{
		document.getElementById("sub1").style.left = "4px";
		document.getElementById("sub2").style.left = "86px";
		document.getElementById("sub3").style.left = "90px";
		document.getElementById("sub4").style.left = "160px";
		document.getElementById("sub5").style.left = "174px";
		document.getElementById("sub6").style.left = "256px";
		document.getElementById("sub7").style.left = "264px";

		for (var i = 0; i < subMenuState.length; i ++)
			document.getElementById("sub"+(i+1)).style.visibility = "visible";

		document.getElementById("sub1").innerHTML = "<a href='windows.html' target='apps_iframe' onmouseover='javascript:swap(\"windows\", \"windows2\");' onmouseout='javascript:swap(\"windows\", \"windows1\");'><img name='windows' src='images/windows_off.png' width='72' height='12' border='0' alt='Windows XP Applications'></a>";
		document.getElementById("sub3").innerHTML = "<a href='empty.html' target='apps_iframe' onmouseover='javascript:swap(\"linux\", \"linux2\");' onmouseout='javascript:swap(\"linux\", \"linux1\");'><img name='linux' src='images/linux_off.png' width='64' height='12' border='0' alt='Linux Applications'></a>";
		document.getElementById("sub5").innerHTML = "<a href='amigaos.html' target='apps_iframe' onmouseover='javascript:swap(\"amigaos\", \"amigaos2\");' onmouseout='javascript:swap(\"amigaos\", \"amigaos1\");'><img name='amigaos' src='images/amigaos_off.png' width='72' height='12' border='0' alt='AmigaOS Applications'></a>";
		document.getElementById("sub7").innerHTML = "<a href='empty.html' target='apps_iframe' onmouseover='javascript:swap(\"multiplatform\", \"multiplatform2\");' onmouseout='javascript:swap(\"multiplatform\", \"multiplatform1\");'><img name='multiplatform' src='images/multiplatform_off.png' width='112' height='12' border='0' alt='Multiplatform Applications'></a>";
		document.getElementById("apps_div").src= "empty.html";
	}
	else if (submenuActive == 2)
	{
		document.getElementById("sub1").style.left = "0px";
		document.getElementById("sub2").style.left = "118px";
		document.getElementById("sub3").style.left = "128px";
		
		for (var i = 0; i < subMenuState.length; i ++)
	
			if (i < 3)
				document.getElementById("sub"+(i+1)).style.visibility = "visible";
			else
				document.getElementById("sub"+(i+1)).style.visibility = "hidden";
	

		document.getElementById("sub1").innerHTML = "<a href='development.html' target='apps_iframe' onmouseover='javascript:swap(\"development\", \"development2\");' onmouseout='javascript:swap(\"development\", \"development1\");'><img name='development' src='images/development_off.png' width='112' height='12' border='0' alt='Development services'></a>";
		document.getElementById("sub3").innerHTML = "<a href='devtools.html' target='apps_iframe' onmouseover='javascript:swap(\"devtools\", \"devtools2\");' onmouseout='javascript:swap(\"devtools\", \"devtools1\");'><img name='devtools' src='images/devtools_off.png' width='96' height='12' border='0' alt='Development tools'></a>";
		document.getElementById("apps_div").src= "empty.html";
	}
	else if (submenuActive == 3)
	{
		document.getElementById("sub1").style.left = "0px";
	
		for (var i = 0; i < subMenuState.length; i ++)
	
			if (i < 1)
				document.getElementById("sub"+(i+1)).style.visibility = "visible";
			else
				document.getElementById("sub"+(i+1)).style.visibility = "hidden";

		document.getElementById("sub1").innerHTML = "<a href='contacto.php' target='contain_iframe' onmouseover='javascript:swap(\"contact\", \"contact2\");' onmouseout='javascript:swap(\"contact\", \"contact1\");'><img name='contact' src='images/contact_off.png' width='80' height='12' border='0' alt='Contact'></a>";
		document.getElementById("apps_div").src= "empty.html";
	}

}

function showMenu(sub)
{
	if (firstClick == true)
	{
		for (var i = 0; i < subMenuState.length; i++)
		{
			subMenuState[i] = HIDE;
			gameMenu[i] = true;
			gameMenuPos[i] = -12;	
		}
	}
	firstClick = false;
	for (var el = 0;  el < subMenuState.length; el ++)
	{
		if (subMenuState[el] == ACTIVE || subMenuState[el] == SHOW)
		{
			subMenuState[el] = HIDE;
		}
	}
	subMenuState[sub] = SHOW;
	submenuActive = sub;
}

function swap(imagename,objectsrc)
{
	if (document.images)
		document.images[imagename].src=eval(objectsrc+".src")
}
