﻿window.App = {};
window.Empreendimento = {};
var textoCidade = 'Selecione uma cidade';
var textoBairro = 'Selecione um bairro';
var tipos = ['Apartamentos', 'Casas', 'Unidades comerciais', 'Lotes'];
var atual = 0;
var html = '<ul class="nav"><li class="imagem"><a href="Ampliado.aspx?imagem={4}"><img src="{0}" alt="{1}" /></a></li><li class="legenda"><span class="fl">{1}</span><div class="fr">Imagem <span class="color_red">{2}</span> de <span class="color_red">{3}</div></span></li></ul>'
//var html = '<li class="imagem"><a href="Ampliado.aspx?imagem={4}" <img src="{0}" alt="{1}" /></a></li><li class="legenda"><span class="fl">{1}</span><span class="fr">Imagem <span class="color_red">{2}</span> de <span class="color_red">{3}</span></span></li>'
window.DetalheEmpreendimento = 1;

//http://maps.google.com/staticmap?center={LatitudeCentro}%2C{LongitudeCentro}&zoom={Zoom}&size=400x260&markers={Latitude},{Longitude}&key={GoogleMapKey}

function ValidaBusca()
{
	if (page.dropEstados != null && page.dropEstados.value == "Selecione um estado")
	{
		alert('O Estado deve ser selecionado.');
		return false;
	}
	return true;
	if (page.dropCidades != null && page.dropCidades.value == "")
	{
		alert('A Cidade deve ser selecionada.');
		return false;
	}
	return true;
}

function FixForm()
{
	window.theForm = document.forms[0];

	window.__doPostBack = function(eventTarget, eventArgument)
	{
		$('__EVENTTARGET').value = eventTarget;
		$('__EVENTARGUMENT').value = eventArgument;
		window.theForm.submit();
	}
}
//page.AddOnLoad(FixForm);

function InicializaDefault()
{
	InicializaDropCidades();
	InicializaDropBairros();
}

function InicializaDropCidades()
{
	ClearDrop(page.dropCidades);
	page.dropCidades.options.add(new Option(textoCidade, textoCidade));
	page.dropCidades.disabled = true;
}
function InicializaDropBairros()
{
	ClearDrop(page.dropBairro);
	page.dropBairro.options.add(new Option(textoBairro, textoBairro));
	page.dropBairro.disabled = true;
}

function PopulaCidades(cidades)
{
	if (!cidades || !cidades.length)
		return InicializaDropCidades();

	var arr = [{ ID: 'Todas', Nome: 'Todas'}].concat(cidades);
	page.dropCidades.disabled = false;
	BindDrop(page.dropCidades, arr, 'ID', 'Nome', textoCidade);
}

function PopulaBairros(bairros)
{
	if (!bairros || !bairros.length)
		return InicializaDropBairros();

	var arr = [{ ID: 'Todos', Nome: 'Todos'}].concat(bairros);
	page.dropBairro.disabled = false;
	BindDrop(page.dropBairro, arr, 'ID', 'Nome', textoBairro);
}

function OnEstadoChange()
{
	InicializaDropBairros();
	if (page.dropEstados.selectedIndex == 0)
		return InicializaDropCidades();

	ClearDrop(page.dropCidades);
	AddItem(page.dropCidades, 'Aguarde...');
	page.dropCidades.disabled = true;
	Ajax.ListaCidadesAtivas(page.dropEstados.value, PopulaCidades);

}

function OnCidadeChange()
{
	if (!Validadores.ValidaNumero(page.dropCidades.value))
		return;

	ClearDrop(page.dropBairro);
	AddItem(page.dropBairro, 'Aguarde...');
	page.dropBairro.disabled = true;
	Ajax.ListaBairrosAtivos(parseInt(page.dropCidades.value), PopulaBairros, function(x, y) { alert(y.message); });
}

function Valida()
{
	if ((Busca.dropEstados.SelectedValue() || '').length != 2)
	{
		App.ExibeAlerta('Atenção', 'Um Estado deve ser selecionado.');
		return false;
	}
	return true;
}

function FinalizaPesquisa(rt)
{
	page.rptResultado.Bind(rt);
}

function RetornaResultado(rt)
{
	if (rt.Count() == 0) return null;
	return rt.First('i => i.ID == p1', page.QueryString['id']);
}

function LoadHeader(result)
{
	var spnTitulo = $('spnTitulo');
	var spnDormitorios = $('spnDormitorios');
	var spnVagas = $('spnVagas');
	var spnArea = $('spnArea');

	spnTitulo.innerHTML = result.Nome;
	spnDormitorios.innerHTML = result.Dormitorios;
	spnVagas.innerHTML = result.Vagas;
	spnArea.innerHTML = result.Area;
}

function LoadPagina(rt)
{
	var result = RetornaResultado(rt);
	LoadHeader(RetornaResultado(rt));
	var imgEmpreendimento = $('imgEmpreendimento');
	imgEmpreendimento.src = result.Imagem;
}

function InicializaMapa(rt)
{
	var divEndereco = $('divEndereco');
	var idMapa = 'divMapa';
	var imagem = page.ResolveUrl('~/include/img/bandeira.png');

	if (Tesla.Map.MapControl.IsBrowserCompatible())
	{
		window.MapaCtrl = new Tesla.Map.MapControl(idMapa);
		var marker = MapaCtrl.CreateMarker(new Tesla.Map.Point(App.Localizacao.Latitude, App.Localizacao.Longitude));

		marker.Icon = new Tesla.Map.MarkerIcon(imagem, new Tesla.Map.Size(44, 34), new Tesla.Map.Point(44, 34));
		MapaCtrl.EnableZoomPanel();
		MapaCtrl.EnableMapTypesPanel();
		MapaCtrl.SetCenter(new Tesla.Map.Point(App.Localizacao.LatitudeCentro, App.Localizacao.LongitudeCentro), App.Localizacao.ZoomMapa);
		MapaCtrl.AddMarker(marker);
	}
	else
		alert('Seu browser não suporta aplicações de mapas');
	var result = RetornaResultado(rt);
	LoadHeader(result);
	//divEndereco.innerHTML = String.Format("{0} - {1} - {2} - {3}",  result.Endereco, result.bairro, result.Cidade, result.Bairro );
}

function LoadFichaTecnica(rt)
{
	LoadHeader(RetornaResultado(rt));
}

function LoadImagens(rt)
{
	LoadHeader(RetornaResultado(rt));
}

function LoadImagensEmpreendimento(rt)
{
	LoadHeader(RetornaResultado(rt));
	Paginacao('Imagens', '');
}
function LoadImagensDecorado(rt)
{
	LoadHeader(RetornaResultado(rt));
	Paginacao('Fotos', '');
}
function LoadImagensPlanta(rt)
{
	LoadHeader(RetornaResultado(rt));
	Paginacao('Plantas', '');
}
function LoadImagensFaseObra(rt)
{
	LoadHeader(RetornaResultado(rt));
	Paginacao('FotosObra', '');
}

function Paginacao(tipo, direcao)
{
	//alert(1);
	var divItens = $('divItens');
	if (direcao == '+')
		atual++;
	if (direcao == '-' && atual > 0)
		atual--;

	switch (tipo)
	{
		case 'Imagens':
			if (atual >= Empreendimento.Imagens.Count())
			{
				atual = Empreendimento.Imagens.Count() - 1;
				break;
			}
			divItens.innerHTML = String.Format(html, Empreendimento.Imagens[atual].Normal, Empreendimento.Imagens[atual].Descricao, (atual + 1), Empreendimento.Imagens.Count(), Empreendimento.Imagens[atual].Ampliada);
			break;
		case 'Plantas':
			if (atual >= Empreendimento.Plantas.Count())
			{
				atual = Empreendimento.Plantas.Count() - 1;
				break;
			}
			divItens.innerHTML = String.Format(html, Empreendimento.Plantas[atual].Normal, Empreendimento.Plantas[atual].Descricao, (atual + 1), Empreendimento.Plantas.Count(), Empreendimento.Plantas[atual].Ampliada);
			break;
		case 'Fotos':
			if (atual >= Empreendimento.Fotos.Count())
			{
				atual = Empreendimento.Fotos.Count() - 1;
				break;
			}
			divItens.innerHTML = String.Format(html, Empreendimento.Fotos[atual].Normal, Empreendimento.Fotos[atual].Descricao, (atual + 1), Empreendimento.Fotos.Count(), Empreendimento.Fotos[atual].Ampliada);
			break;
		case 'FotosObra':
			if (atual >= Empreendimento.FotosObra.Count())
			{
				atual = Empreendimento.FotosObra.Count() - 1;
				break;
			}
			divItens.innerHTML = String.Format(html, Empreendimento.FotosObra[atual].Normal, Empreendimento.FotosObra[atual].Descricao, (atual + 1), Empreendimento.FotosObra.Count(), Empreendimento.FotosObra[atual].Ampliada);
			break;
	}

	if ($('liVerTodas') != null)
		$('liVerTodas').style.display = 'block';
	if ($('liTodos') != null)
		$('liTodos').style.display = 'block';
}

function GetElementsByClassName(element, className)
{
	alert(element.childNodes.length);
	var arr = [];
	for (var i = 0; i < element.childNodes.length; i++)
		if (element.childNodes[i].className == className)
		arr.push(element.childNodes[i]);

	return arr;
}

function ExibeTodos(tipo)
{
	var divItens = $('divItens');
	var totalHTML = '';
	switch (tipo)
	{
		case 'Imagens':
			for (var i = 0; i < Empreendimento.Imagens.Count(); i++)
			{
				totalHTML += String.Format(html, Empreendimento.Imagens[i].Normal, Empreendimento.Imagens[i].Descricao, (i + 1), Empreendimento.Imagens.Count(), Empreendimento.Imagens[i].Ampliada);
			}
			break;
		case 'Plantas':
			for (var i = 0; i < Empreendimento.Plantas.Count(); i++)
			{
				totalHTML += String.Format(html, Empreendimento.Plantas[i].Normal, Empreendimento.Plantas[i].Descricao, (i + 1), Empreendimento.Plantas.Count(), Empreendimento.Plantas[i].Ampliada);
			}
			break;
		case 'Fotos':
			for (var i = 0; i < Empreendimento.Fotos.Count(); i++)
			{
				totalHTML += String.Format(html, Empreendimento.Fotos[i].Normal, Empreendimento.Fotos[i].Descricao, (i + 1), Empreendimento.Fotos.Count(), Empreendimento.Fotos[i].Ampliada);
			}
			break;
		case 'FotosObra':
			for (var i = 0; i < Empreendimento.FotosObra.Count(); i++)
			{
				totalHTML += String.Format(html, Empreendimento.FotosObra[i].Normal, Empreendimento.FotosObra[i].Descricao, (i + 1), Empreendimento.FotosObra.Count(), Empreendimento.FotosObra[i].Ampliada);
			}
			break;
	}
	divItens.innerHTML = totalHTML;
	if ($('liVerTodas') != null)
		$('liVerTodas').style.display = 'none';
	if ($('liTodos') != null)
		$('liTodos').style.display = 'none';
}

function CriaTracker()
{
	try
	{
		if (!window._gat || !_gat._getTracker)
			return;

		var pageTracker = _gat._getTracker("UA-1833598-6");
		pageTracker._trackPageview();
	}
	catch (ex)
	{
	}
}

function ClearDrop(drop)
{
	if (page.IsWindowsMobile)
	{
		while (drop.options.length > 0)
			drop.options.remove(0);
	}
	else
		drop.Clear();
}

function BindDrop(drop, dataSource, valueProperty, textProperty, selectOption, preserveItems, p1, p2, p3)
{
	if (!dataSource.GetEnumerator)
		return;

	if (!preserveItems)
		ClearDrop(drop);

	if (selectOption)
		AddItem(drop, '', selectOption);

	var en = dataSource.GetEnumerator();
	while (en.MoveNext())
	{
		var value = (valueProperty ? en.Current[valueProperty] : en.Current);
		var text = (textProperty ? en.Current[textProperty] : en.Current);
		AddItem(drop, value, text);
		if (p1) drop.options[drop.options.length - 1][p1] = en.Current[p1];
		if (p2) drop.options[drop.options.length - 1][p2] = en.Current[p2];
		if (p3) drop.options[drop.options.length - 1][p3] = en.Current[p3];
	}
}
function AddItem(drop, value, text)
{
	drop.options.add(new Option(text || value, value));
}