﻿var Portfolio = {};

page.Empreendimentos = {};

Portfolio.MontaPaginacao = function(paginaAtual, empreendimentos, metodo)
{
	var paginas = parseInt(empreendimentos / 20) + (empreendimentos % 20 ? 1 : 0);

	var html;
	if (paginaAtual > 0)
		html = String.Format('<b>P&aacute;gina</b><a href="#" onclick="Portfolio.MontaPagina(0,{1}); return false;"><img src="{2}include/img/paginacao_anterior_p.gif" width="11" height="11" class="absmiddle" hspace="2" border="0" alt="Primeira p&aacute;gina" /></a> <a href="#" onclick="Portfolio.MontaPagina({0},{1}); return false;"><img src="{2}include/img/paginacao_anterior_g.gif" width="16" height="15" class="absmiddle" hspace="2" border="0" alt="Anterior" /></a>', paginaAtual - 1, metodo, ResourcePath);
	else
		html = String.Format('<b>P&aacute;gina</b><a href="#" onclick="return false;"><img src="{0}include/img/paginacao_anterior_p.gif" width="11" height="11" class="absmiddle" hspace="2" border="0" alt="Primeira p&aacute;gina" /></a> <a href="#" onclick="return false;"><img src="{0}include/img/paginacao_anterior_g.gif" width="16" height="15" class="absmiddle" hspace="2" border="0" alt="Anterior" /></a>', ResourcePath);

	for (var i = 0; i < paginas; i++)
	{
		html += String.Format('<a href="#" class="{1}" onclick="Portfolio.MontaPagina({2},{3}); return false;">{0}</a>&nbsp;', i + 1, (i == paginaAtual ? 'cinzaM b nLinha' : 'azulpisc nLinha'), i, metodo);
		if (i + 1 < paginas)
			html += String.Format('<img src="{0}include/img/paginacao_pontilhado.gif" width="1" height="7" alt="" />&nbsp;', ResourcePath);
	}
	if ((paginaAtual + 1) < paginas)
		html += String.Format('<a href="#" onclick="Portfolio.MontaPagina({0},{2}); return false;"><img src="{3}include/img/paginacao_proximo_g.gif" width="16" height="15" class="absmiddle" hspace="2" border="0" alt="Pr&oacute;xima" /></a><a href="#" onclick="Portfolio.MontaPagina({1},{2}); return false;"><img src="{3}include/img/paginacao_proximo_p.gif" width="11" height="11" class="absmiddle" hspace="2" border="0" alt="&Uacute;ltima p&aacute;gina" /></a>', paginaAtual + 1, paginas - 1, metodo, ResourcePath);
	else
		html += String.Format('<a href="#" onclick="return false;"><img src="{0}include/img/paginacao_proximo_g.gif" width="16" height="15" class="absmiddle" hspace="2" border="0" alt="Pr&oacute;xima" /></a><a href="#" onclick="return false;"><img src="{0}include/img/paginacao_proximo_p.gif" width="11" height="11" class="absmiddle" hspace="2" border="0" alt="&Uacute;ltima p&aacute;gina" /></a>', ResourcePath);

	$('paginador_portfolio').innerHTML = html;
}

Portfolio.MontaPagina = function(paginaAtual, metodo)
{
	page.PaginaAtual = paginaAtual;
	page.Metodo = metodo;
	switch( metodo )
	{
		case 1:
			Ajax.ListaPortfolio( paginaAtual, Portfolio.PopulaRepeater );
		break;
		case 2:
			Ajax.PesquisaPortfolioCidade( page.CidadePortfolio, paginaAtual, Portfolio.PopulaRepeater );
		break;
		case 3:
			Ajax.PesquisaPortfolioPalavra( page.PalavraPortfolio, paginaAtual, Portfolio.PopulaRepeater );
		break;
	}
}

Portfolio.PopulaRepeater = function( rt )
{
	page.rptPortfolio.Bind( rt.Empreendimentos );
	Portfolio.MontaPaginacao( page.PaginaAtual, rt.Total, page.Metodo );
}

Portfolio.EfetuaPesquisaCidade = function()
{
	page.CidadePortfolio = page.Portfolio_dropCidades.SelectedValue();
	Portfolio.MontaPagina( 0, 2 );
}

Portfolio.EfetuaPesquisaPalavra = function()
{
	page.PalavraPortfolio = page.txtPalavra.value;
	Portfolio.MontaPagina( 0, 3 );
}

Portfolio.ExibeMapas = function(id)
{
	if (page.Empreendimentos[id])
	{
		if (!page.Empreendimentos[id].Mapas.length)
		{
			alert("Não existem mapas para o empreendimento escolhido.");
			return;
		}
		Portfolio.divMapaImagem = $('divMapaImagem');
		Portfolio.imgMapa = $('imgMapa');
		Portfolio.divTexto = $('divTexto');

		Portfolio.divTexto.innerHTML = "Como Chegar";
		App.EscondeTela();
		Portfolio.divMapaImagem.style.display = '';
		Portfolio.divMapaImagem.style.zIndex = 1001;
		App.CentralizaControle(Portfolio.divMapaImagem);

		Portfolio.imgMapa.src = page.Empreendimentos[id].Mapas[0].Ampliada;
		page.rptThumbs.Bind(page.Empreendimentos[id].Mapas);
		//Portfolio.PopulaThumbMapas( id );
		return;
	}
	Ajax.ObtemEmpreendimento(id, function(rt) { Portfolio.PopulaEmpreendimento(rt, 1); });
}

Portfolio.PopulaThumbMapas = function( id )
{
	var indiceMax = page.Empreendimentos[id].Mapas.length < (page.IndiceMapas + 8) ? page.Empreendimentos[id].Mapas.length : (page.IndiceMapas + 8);
	page.rptThumbs.Bind( page.Empreendimentos[id].Mapas.ListRange( page.IndiceMapas, indiceMax ) );
}

Portfolio.ExibeFotos = function( id )
{
	if( page.Empreendimentos[id] )
	{
		if( !page.Empreendimentos[id].Fotos.length )
		{
			alert( "Não existem fotos para o empreendimento escolhido." );
			return;
		}	
		Portfolio.divMapaImagem = $('divMapaImagem');
		Portfolio.imgMapa = $('imgMapa');
		Portfolio.divTexto = $('divTexto');

		Portfolio.divTexto.innerHTML = "Fotos do Empreendimento";
		App.EscondeTela();
		Portfolio.divMapaImagem.style.display	= '';
		Portfolio.divMapaImagem.style.zIndex	= 1001;
		App.CentralizaControle(Portfolio.divMapaImagem);

		Portfolio.imgMapa.src = page.Empreendimentos[id].Fotos[0].Ampliada;
		page.rptThumbs.Bind( page.Empreendimentos[id].Fotos );
		//Portfolio.PopulaThumbFotos( id );
		return;
	}
	Ajax.ObtemEmpreendimento( id, function(rt){ Portfolio.PopulaEmpreendimento( rt, 2 ); } );
}

Portfolio.PopulaThumbFotos = function( id )
{
	var indiceMax = page.Empreendimentos[id].Fotos.length < (page.IndiceFotos + 8) ? page.Empreendimentos[id].Fotos.length : (page.IndiceFotos + 8);
	page.rptThumbs.Bind( page.Empreendimentos[id].Fotos.ListRange( page.IndiceFotos, indiceMax ) );
}

Portfolio.FechaPopup = function()
{
	App.ExibeTela();
	Portfolio.divMapaImagem = $('divMapaImagem');
	Portfolio.divMapaImagem.style.display = 'none';
}


Portfolio.PopulaEmpreendimento = function(rt, tipo)
{
	if (!rt)
	{
		switch (tipo)
		{
			case 1: alert('Não existem mapas para o empreendimento escolhido.'); break;
			case 2: alert('Não existem fotos para o empreendimento escolhido.'); break;
		}
		return;
	}
	page.Empreendimentos[rt.ID] = rt;
	switch (tipo)
	{
		case 1: Portfolio.ExibeMapas(rt.ID); break;
		case 2: Portfolio.ExibeFotos(rt.ID); break;
	}
}

Portfolio.MudaImagem = function(imagem)
{
	Portfolio.imgMapa = $('imgMapa');
	Portfolio.imgMapa.src = imagem;
}
