//Inicio das funcoes para detectar se possui flash
//Funcoes geradas pelo FlashPlayerDetectionKit

// Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i)
{
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0)
	{
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
		{
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" )
			{
				tempArrayMinor = descArray[3].split("r");
			}
			else
			{
				tempArrayMinor = descArray[4].split("r");
			}
      			versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            		flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      		}
      		else
      		{
			flashVer = -1;
		}
	}
	
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else
	{
		
		flashVer = -1;
	}
	return flashVer;
} 

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--)
	{	
		if (isIE && isWin && !isOpera)
		{
			versionStr = VBGetSwfVer(i);
		}
		else
		{
			versionStr = JSGetSwfVer(i);		
		}
		
		if (versionStr == -1 )
		{
			return false;
		}
		else if (versionStr != 0)
			{
				if(isIE && isWin && !isOpera)
				{
					tempArray         = versionStr.split(" ");
					tempString        = tempArray[1];
					versionArray      = tempString .split(",");				
				}
				else
				{
					versionArray      = versionStr.split(".");
				}
			
				versionMajor      = versionArray[0];
				versionMinor      = versionArray[1];
				versionRevision   = versionArray[2];
	
				versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
				versionNum        = parseFloat(versionString);
		
		        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		        	
				if ( (versionMajor >= reqMajorVer) && (versionNum >= reqVer) )
				{
					return true;
				}
				else
				{
					return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
				}
			}
	}	
}
//Fim das funcoes para detectar se possui flash


//Funcao para pegar todas variaveis do GET
function getParams() 
{
	var idx = location.search.indexOf('?');
	var params = new Array();
	if (idx != -1)
	{
		var pairs = location.search.substring(idx+1, location.search.length).split('&');
		for (var i=0; i<pairs.length; i++)
		{
			nameVal = pairs[i].split('=');
			params[nameVal[0]] = nameVal[1];
		}
	}
	return params;
}

//Chamar a funcao
params = getParams();

//Fim da funcao para pegar todas as variaveis do GET

// Funcao para pegar o objeto de Flash
function getFlashMovieObject(movieName)
{
	if (window.document[movieName]) 
	{
		return window.document[movieName];
	}
	
	if (navigator.appName.indexOf("Microsoft Internet")==-1)// && navigator.appName.indexOf("Netscape")==-1)
	{
		if (document.objects && document.objects[movieName])
			return document.embeds[movieName];
	}
	else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	{
		return document.getElementById(movieName);
	}
	
}
// Fim da funcao para pegar o objeto de Flash

//Funcoes para o scroller
//Variaveis
var timer_id;

//Funcao de rolagem das paginas
function iframe_scroller(frm,inc)
{
	if (timer_id) clearTimeout(timer_id);
	if (window.frames[frm])
	{
		window.frames[frm].scrollBy(0, inc);
		if(inc > 10) inc = 7;
		if(inc < -10) inc = -7;
		timer_id = setTimeout("iframe_scroller('" + frm + "'," + inc + ")", 30);
	}
}

//Funcao de rolagem dos menus
function menu_scroller(dir)
{
	//Definicao das variaveis
	var fwdPace = 0, bckPace = 0;
	var limit = 0;
	var i = 1;
	
	if(top.rolling)
	{
		return 1;		
	}
	else
	{
		top.rolling = 1;
	}
			
        //alert("direcao= " + dir + "/ goFwd= " + goFwd );			
	//Ajustar o primeiro passo do scroller
	if(goFwd == -1)
	{
		//alert("goFwd");
		//rolling = 0;
		
		//Ajustar o passo para frente
		/*
		Enquanto nao encontrar a coluna que esta parcialmente, ou totalmente, para fora
		do DIV, incrementar em 1 o numero da coluna
		*/
		while(fwdPace < document.getElementById("menu").offsetWidth)
		{
			fwdPace += document.getElementsByTagName("TD")[++i].offsetWidth;
		}
		goFwdTotal = fwdPace - document.getElementById("menu").offsetWidth + 2*i;
		
		menu_move(goFwdTotal, goFwdTotal, 1);
		goFwd = i;
		
		//Atualizando controlador de passos para tras
		visible = 0;
		i = 2;
		/*
		Procurar a coluna de tras que esta parcialmente visivel ou totalmente
		encoberta, "fora do DIV". Enquanto nao encontrar, incrementar o numero
		da coluna
		*/
		while(visible < goFwdTotal)
		{
			visible += document.getElementsByTagName("TD")[++i].offsetWidth;
		}
		goBck = i;
		
		/*
		Caso o passo para frente tenha atingido o maximo, desativar a seta para
		direita e ajustar o passo
		*/
		if(maxCol <= goFwd)
		{
			goFwd--;
			limit = 1;
		}

		//Arrumar o estado das setas
		fix_menu_arrows(limit);
	
		return 1;
	}

	//Verificar se existe o menu para ser rolado
	if(document.getElementById("menu"))
	{
		//alert("direcao= " + dir );
		//Verificar a direcao da rolagem. dir = 1 -> e dir = 0 <-
		if(dir)
		{			
			//O passo para frente sera igual a soma do tamanho da proxima coluna com a atual posicao do scroll do DIV
			goFwdTotal = document.getElementsByTagName("TD")[goFwd].offsetWidth + document.getElementById("menu").scrollLeft;
			
			//alert("menuPace= " + document.getElementsByTagName("TD")[goFwd].offsetWidth);
			//alert("TD offsetwidth= " + document.getElementsByTagName("TD")[goFwd].offsetWidth + "/ goFwdTotal= " + goFwdTotal);
			
			//O primeiro passo sera do tamanho da proxima coluna
			menu_move(document.getElementsByTagName("TD")[goFwd].offsetWidth, goFwdTotal, dir);
			
			//Atualizando os controladores de passo e verificando limite
			//Atualizando controlador de passos para frente
			goFwd++;
			
			//Atualizando controlador de passos para tras
			visible = 0;
			i = 1;
			/*
			Procurar a coluna de tras que esta parcialmente visivel ou totalmente
			encoberta, "fora do DIV". Enquanto nao encontrar, incrementar o numero
			da coluna
			*/
			while(visible < goFwdTotal)
			{
				visible += document.getElementsByTagName("TD")[++i].offsetWidth;
			}
			goBck = i;
			
			
			/*
			Caso o passo para frente tenha atingido o maximo, desativar a seta para
			direita e ajustar o passo
			*/
			if(maxCol <= goFwd)
			{
				goFwd--;
				limit = 1;
			}
			
		}
		else
		{
			//alert("direcao= " + dir );
			/*
			O passo total para tras sera igual a soma do tamanho de todas as 
			colunas anteriores a coluna alvo
			*/
			var goBckTotal = 0;
			var i = 2;
			for( ; i < goBck; i++)
			{
				goBckTotal += document.getElementsByTagName("TD")[i].offsetWidth + 1;
			}
			//O passo inicial sera a posicao atual do scroller menos o passo total
			goBckPace = document.getElementById("menu").scrollLeft - goBckTotal;
			menu_move(goBckPace, goBckTotal, dir);
			
			//alert("goBckPace = " + goBckPace + " goBckTotal= " + goBckTotal);
			
			//Atualizando os controladores de passo e verificando limite
			//Atualizando controlador de passos para tras
			goBck--;
		
			//Atualizando controlador de passos para frente
			visible = 0;
			i = goBck;
			/*
			Enquanto nao chegar ao tamanho do DIV, incrementar o numero da coluna
			que sera a proxima coluna da frente. COmecar a contar a partir da 
			coluna anterior
			*/
			while(visible < document.getElementById("menu").offsetWidth)
			{
				visible +=  document.getElementsByTagName("TD")[++i].offsetWidth;
			}
			goFwd = i;
			
			/*
			Caso o passo para tras tenha atingido o minimo, desativar a seta para
			esquerda e ajustar o passo
			*/
			if(goBck <= 1)
			{
				goFwd = -1;
				goBck = 2;
				limit = -1;				
			}
		}
	}
	
	//Arrumar o estado das setas
	fix_menu_arrows(limit);
	
	//alert(document.getElementById("menu").scrollLeft);
}

//Funcao para mover o menu
function menu_move(menuPace, totalPace, dir)
{
	//Acabar com a chamada do menu_move
	if(timer_id) clearTimeout(timer_id);
	
	//Passo para frente
	if(dir == 1)
	{		
		//Andar um pouco para frente
		document.getElementById("menu").scrollLeft += (menuPace / 7) + 2;
		
		//alert("offsetWidth= " + document.getElementById("menu").offsetWidth + "/ scrollLeft= " + document.getElementById("menu").scrollLeft);
		
		//Recalcular o proximo passo
		menuPace = totalPace - document.getElementById("menu").scrollLeft;
		
		//if (totalPace > 249) totalPace = 249;
		
		//Verificar se ja chegou no final do passo total
		if(document.getElementById("menu").scrollLeft >= totalPace - 3) dir = -1;
		
		//alert("totalpace= " + totalPace + "/ scrollLeft= " + document.getElementById("menu").scrollLeft + "/ direcao= " + dir + "/ menuPace= " + menuPace);
		
		//Chamar novamente a funcao para um novo passo
		timer_id = setTimeout("menu_move(" + menuPace + ", " + totalPace + ", " + dir + ")", 80);
	}
	
	//Passo para tras
	if(dir == 0)
	{
		//Andar um pouco para tras
		document.getElementById("menu").scrollLeft -= (menuPace / 7) + 2;
		
		//Recalcular o proximo passo
		menuPace = document.getElementById("menu").scrollLeft - totalPace;
		
		//Verificar se ja chegou no final do passo total
		if(document.getElementById("menu").scrollLeft <= totalPace) dir = -1;
		
		//Chamar novamente a funcao para um novo passo
		timer_id = setTimeout("menu_move(" + menuPace + ", " + totalPace + ", " + dir + ")", 80);
	}
	
	//Final dos passos
	if(dir == -1)
	{
		//Chamar a funcao para parar com os passo
		iframe_scroller_stop();
	}
}

//Funcao para mover o menu
function menu_scroll(scrollSpeed, dir)
{	
	totalSize = document.getElementById("menu").scrollWidth;
	
	fix_menu_arrows(0);
	
	//Acabar com a chamada do menu_move
	if(timer_id) clearTimeout(timer_id);
	
	//alert("totalSize= " + totalSize + "/ scrollSpeed= " + scrollSpeed );
	
	//Passo para frente
	if(dir == 1 && document.getElementById("menu").scrollLeft <= totalSize)
	{				
		//Recalcular o proximo passo
		scrollSpeed -= -1;
				
		//Garante uma velocidade maxima para a esquerda
		if (scrollSpeed < -7) scrollSpeed = -7;		
	}
		
	//Passo para tras
	if(dir == 0 && document.getElementById("menu").scrollLeft >= 0 )
	{
		//Recalcular o proximo passo
		scrollSpeed += -1;
		
		//Garante uma velocidade maxima para a direita
		if (scrollSpeed > 7) scrollSpeed = 7;						
	}	
	
	//Movimenta o menu
	document.getElementById("menu").scrollLeft += scrollSpeed;
		
	//Chamar novamente a funcao para um novo passo
	timer_id = setTimeout("menu_scroll(" + scrollSpeed + ", " + dir + ")", 80);	
}

//Funcao para parar a rolagem do scroll
function stop_scroll()
{
	if(timer_id) clearTimeout(timer_id);
}

//Funcao para parar a rolagem do scroll
function iframe_scroller_stop()
{
	top.rolling = 0;
	if(timer_id) clearTimeout(timer_id);
}

//Funcao para arrumar o estado das setas do menu
function fix_menu_arrows(limit)
{
	//alert("Limit= " + limit);
	//Arrumando as setas de navegação, não deixando que possam ser clicadas quando chegar ao limite da tabela
	//Desbilitando a seta da direita
	if(limit == 1)
	{
		document.arrowright.src = "imgs/arrowright_notactive.png";
		document.arrowright.className = "";
		
		document.arrowleft.src = "imgs/arrowleft.png";
		document.arrowleft.className = "arrow";
	}
	
	//Desbilitando a seta da esquerda
	if(limit == -1)
	{
		document.arrowright.src = "imgs/arrowright.png";
		document.arrowright.className = "arrow";

		document.arrowleft.src = "imgs/arrowleft_notactive.png";
		document.arrowleft.className = "";
	}

	//Ativando as setas
	if(limit == 0)
	{
		document.arrowright.src = "imgs/arrowright.png";
		document.arrowright.className = "arrow";

		document.arrowleft.src = "imgs/arrowleft.png";
		document.arrowleft.className = "arrow";
	}
}

//Fim das funcoes para o scroller
	
//Funcoes para mudar a pagina ao clicar em uma aba
//Funcao para mudanca de imagem
function selectpageTop(name, scroll, subname)
{

	if(!subname) subname = 0;
	
	if(document.getElementById(pageselected))
	{
		document.getElementById(pageselected).className = "outIndex";
		pageselected = name;
		document.getElementById(pageselected).className= "selectIndex";
		scrollmenu = scroll;
	
		changeTvScreen(pageselected);
		
	}
	else
	{
		pageselected = name;
		if(document.getElementById(pageselected))
		{
			document.getElementById(pageselected).className= "selectIndex";
			scrollmenu = scroll;
	
			changeTvScreen(pageselected);
		}
	}
	
	name = name.concat(".php");
	
	if(subname != 0) name = name.concat("?son=" + subname);
	document.getElementById("submenu").src = name;
	
}

//Funcao para mudar a tela da TV
function changeTvScreen(screen_fin)
{
	var flashMovie=getFlashMovieObject("tvscreen");
	if(flashMovie)
	{
		
		flashMovie.SetVariable("screen_ini",screen_ini);
		flashMovie.SetVariable("screen_fin",screen_fin);
		
		if(!moviePlaying) flashMovie.Play();
	
	}
	
	if(document.tv_screen) document.tv_screen.src="imgs/tv_screen_"+screen_fin+".jpg";
	
	screen_ini = screen_fin;
}
//Fim das funcoes para mudar a pagina ao clicar em uma aba

//Funcoes para mudar a pagina ao clicar em uma sub-aba
function selectpageSub(name)
{
	
	if(document.getElementById(pageselected))
	{
		document.getElementById(pageselected).className= "outSubMenu";
		pageselected = name;
		document.getElementById(pageselected).className= "selectSubMenu";
	}
	
	name = name.concat(".php");
	
	window.main.location = name;
}

//Funcoes para mudar a pagina de acordo com o a Noticia selecionada

//Funcao para mudar as imagens das abas
function redirectPage(parent, son, scroller)
{
	if(document.getElementById(pageselected))
	{
		document.getElementById(pageselected).className= "outIndex";
		pageselected = parent;
		document.getElementById(pageselected).className= "selectIndex";
	}

	submenuSrc = parent + ".php?son=" + son + "&scroller=" + scroller;
	document.getElementById("submenu").src = submenuSrc;
		
}

//Fim das funcoes para mudar a pagina de acordo com o a Noticia selecionada

//Funcao para escolher a lingua
function setLanguage(language)
{
	//alert(language);
	//window.location = "www.gamefaqs.com";
	window.location = "script/function.php?language=" + language;
}

//Funcao para setar a aba e sub-aba corretamente
//mesmo depois de um "back"
function setParent(topPage, parentPage, scrolliframe)
{
	top.document.getElementById(top.pageselected).className= "outIndex";
	top.pageselected = topPage;
	top.document.getElementById(top.pageselected).className= "selectIndex";

	top.screen_ini = topPage;
	top.changeTvScreen(top.screen_ini);
	
	if(parent.document.getElementById(parent.pageselected))
	{
		parentPage = topPage + "_" + parentPage;
		parent.document.getElementById(parent.pageselected).className= "outSubMenu";
		parent.pageselected = parentPage;
		parent.document.getElementById(parent.pageselected).className= "selectSubMenu";
	}
	
	parent.scrolliframe = scrolliframe;
	if(scrolliframe)
	{
		parent.document.arrowup.src = "imgs/arrowup.png";
		parent.document.arrowup.className = "arrow";
		parent.document.arrowdown.src = "imgs/arrowdown.png";
		parent.document.arrowdown.className = "arrow";
	}
	else
	{
		parent.document.arrowup.src = "imgs/arrowup_notactive.png";
		parent.document.arrowup.className = "";
		parent.document.arrowdown.src = "imgs/arrowdown_notactive.png";
		parent.document.arrowdown.className = "";
	}
	
	if(top.scrollmenu)
	{
		parent.document.arrowright.src = "imgs/arrowright.png";
		parent.document.arrowright.className = "arrow";
	}
	
}
//Fim da funcao para setar aba e sub-aba corretamente


//Funcao para reproduzir o video
function playMovie(movie, totalTime)
{
	var flashMovie=getFlashMovieObject("tvscreen");
		
	flashMovie.SetVariable("actualMovie", movie);
	flashMovie.SetVariable("videoTime", totalTime);
		
	moviePlaying = 1;
		
	flashMovie.Play();
}
//Fim da funcao para reproduzir o video

function setFlashVar(variable, value)
{
	//alert("oi");
	var flashMovie=getFlashMovieObject("tvscreen");
	flashMovie.SetVariable(variable, value);
	
}

//Funcao para voltar a TV normal
function stopMovie()
{
	moviePlaying = 0;
}
//Fim da função para voltar a TV normal

//Funcao para contornar o problema de seguranca do IE
function noIEActive()
{
	n=navigator.userAgent;
	w=n.indexOf("MSIE");
	if((w>0)&&(parseInt(n.charAt(w+5))>5))
	{
		/*
		objects = document.getElementsByTagName("object");
		for (var i = 0; i < objects.length; i++)
		{
			alert(objects[i].outerHTML);
		
			objects[i].outerHTML = objects[i].outerHTML;
		}
		*/

		
		T=["object","embed","applet"];
		for(j=0;j<2;j++)
		{
			E=document.getElementsByTagName(T[j]);
			for(i=0;i<E.length;i++)
			{
				P=E[i].parentNode;
				H=P.innerHTML;
				P.removeChild(E[i]);
				P.innerHTML=H;
			}
		}
		/**/
	}
	
}
//Fim da funcao para contornar o problema de seguranca do IE

function openOnGameLayer(movie, width, height)
{
	
	document.getElementById("bigGameLayerContainer").style.visibility="visible";
	document.getElementById("bigGameLayerContainer").style.left = "-850px"
	document.getElementById("bigGameLayerContainer").style.top = "10px";
	
	//document.getElementById("bigGameScreen").focus();
	
	document.getElementById("bigGameLayer").setAttribute("src", movie);
	
	setTimeout("animateOpenGameLayer();", 20);
}

function animateOpenGameLayer()
{

	var left = parseInt(document.getElementById("bigGameLayerContainer").style.left);
	if (document.getElementById("bigGameLayerContainer").style.left=="10px")
	{

	}
	else
	{
		document.getElementById("bigGameLayerContainer").style.left = left + ((10 - left) / 3) + "px";
		if (left==parseInt(document.getElementById("bigGameLayerContainer").style.left)) {
			document.getElementById("bigGameLayerContainer").style.left = "10px";
		} else {
			setTimeout("animateOpenGameLayer();", 20);	
		};
		
	}
	//window.alert(left);	
}

function closeGameLayer()
{
	document.getElementById("bigGameLayer").setAttribute("src", "");
	document.getElementById("bigGameLayerContainer").style.visibility="hidden";	
}

function animateCloseGameLayer()
{

	var left = parseInt(document.getElementById("bigGameLayerContainer").style.left);
	if (document.getElementById("bigGameLayerContainer").style.left=="850px")
	{

	}
	else
	{
		document.getElementById("bigGameLayerContainer").style.left = left - ((10 - left) / 3) + "px";
		if (left==parseInt(document.getElementById("bigGameLayerContainer").style.left)) {
			document.getElementById("bigGameLayerContainer").style.left = "10px";
		} else {
			setTimeout("animateOpenGameLayer();", 20);	
		};
		
	}
	//window.alert(left);	
}