//objetos dos containers
var container = new Array;
//objetos dos blocos
var blocosContainer = new Array;
var blocos = new Array;
//total de container
var iTotalContainer = 0;
//array de objetos das paginacoes Paginacao
var ContainerCont = new Array;
// Array com todos os totais de blocos
var aTotalBlocoInContainer = new Array;

var iVisibleInBloco = 5;


var positionAtual=1;




window.onload = function(  )
{
	init = function(  )
	{
		try
		{
			for(var x=0;x<10000000;x++ ){
				container[x] = document.getElementById( 'container'+x );
				if(!container[x]){
					throw new Exception();
				}
				ContainerCont[x] = document.getElementById( 'ContainerCont'+x );
			}
		}
		catch( e ){
			iTotalContainer = x;
		}	
		
		var t=0;
		
		for(var x=0;x < iTotalContainer; x++ )
		{
			try
			{
				for(var y=0;y < 10000000000; y++ )
				{
					blocos[y] = document.getElementById( "bloco"+x+y );
					if(!blocos[y]){ throw new Exception(); }
				}
				
			}catch(e)
			{
				blocosContainer[x] = blocos;
				blocos = null;
				blocos = new Array;
				aTotalBlocoInContainer[x] = (y?y:0);
			}
			
		}
		startPaginationContainer();
	}
	
	init();
}


startPaginationContainer = function(  )
{
	var	x=0;
	
	while( x < iTotalContainer )
	{
		geraPagination( ContainerCont[x] , x );
		x++;
	}
}

geraPagination = function( obj , position )
{	
	iTotalDeBloco = aTotalBlocoInContainer[position];
	
	if(iTotalDeBloco > 1 ){
		iTotalPaginas = Math.ceil( iTotalDeBloco / iVisibleInBloco );
	}else{
		iTotalPaginas = 1;
	}
	
	obj.innerHTML = '';
	
	for( var p=0; p < iTotalPaginas; p++ )
	{
		if(p==0){ $barra = "" }else{ $barra = "|" }
		pos = p+1
		obj.innerHTML = obj.innerHTML+$barra+"<a id='"+position+p+"' href='javascript: viewPagina( "+position+" , "+p+" )'> "+pos+"  </a>";
	}
}


	viewSelected = function( container , pagina , limit )
	{
		try
		{
			links = document.getElementById( container+""+pagina ).style.fontWeight = "bold";
			for( paginaDown=0;paginaDown < limit;paginaDown++ )
			{
				if(paginaDown != pagina ){
					document.getElementById( container+""+paginaDown ).style.fontWeight = "";
				}
			}
		}catch(e){ }
		
	}

	viewPagina = function ( container , pagina )
	{
	
		var inicio = (pagina*iVisibleInBloco);
		var limit = (pagina*iVisibleInBloco)
		var limit2 = ((pagina+1) * iVisibleInBloco)
		
		//Seleciona a pagina clicada para marcar com bold
		viewSelected( container , pagina , limit2 );
		
		pagina = pagina-1;
		
		iTotalDeBloco = aTotalBlocoInContainer[container];
		
		hiddenAll( container );
		
		for( ; inicio < iTotalDeBloco;inicio++ )
		{
			try
			{	
				blocosContainer[container][inicio].style.display = "block"
			}
			catch(e){}
		}
}


next = function( container )
{

	
	var iTotalDeBloco = aTotalBlocoInContainer[container];
	positionAtual++;
	if(positionAtual > iTotalDeBloco ){
		positionAtual = 0;
	}
		generationView( iTotalDeBloco , container );
}

prev = function( container )
{
	
	
	var iTotalDeBloco = aTotalBlocoInContainer[container];
	positionAtual--;
	if(positionAtual < 0 ){
		positionAtual = iTotalDeBloco ;
	}
		generationView( iTotalDeBloco , container );
}

function generationView( iTotalDeBloco , container )
{
	//direcao true : array anda para frente
	//direcao false : array anda para traz
	
	hiddenAll( container );
	
	var limit = (positionAtual + iVisibleInBloco);
		
	for(var x=positionAtual; x < limit ; x++ )
	{
		try
		{
			blocosContainer[container][x].style.display = "block"
		}
		catch(e){}
	}	
}


function hiddenAll( container ){
	
	for( var x=0;x < blocosContainer[container].length ;x++ )
	{
		try
		{
			blocosContainer[container][x].style.display = "none";
		}
		catch(e){}
	}
}



















