main.addFunction("initDefaut()");

var iconesMenu;
var buscaPrincipal;
var cabecalhoGeral;
var caixaBanner;
function initDefaut(){
	cabecalhoGeral = new CabecalhoGeral();
	iconesMenu = new MenuIcones();
	buscaPrincipal = new BuscaPrincipal();
	caixaBanner = new CaixaBanners();
	
}

//menu de ícones__
function MenuIcones(){
	var menuIcones;
	var icones;
	var iconesSRCs = new Array(5);

	this.attachEvents = function(){
		menuIcones = $("menuicones");
		icones = document.getElementsByTagName("ul");
		icones = icones[0];

		icones = icones.getElementsByTagName("li");
		this.defineSRCs(); //defino os srcs...

		for(var i = 0; i < icones.length - 1; i++){
			//defino um índice para cada "li"
			icones[i].setAttribute("value", i);

			//quando passar o mouse sobre os ícones__
			icones[i].onmouseover = function(){
				var a = this.firstChild;

				while(a.nodeName != "A"){ //busco o link...
					a = a.nextSibling;
				}

				a.style.backgroundColor = "#fff";

				//busco a imagem...
				var imagem = a.getElementsByTagName("img");
				imagem = imagem[0];

				imagem.src = iconesSRCs[this.getAttribute("value")][1];
			}

			//quando passar o mouse sair de cima dos icones__
			icones[i].onmouseout = function(){
				var a = this.firstChild;

				while(a.nodeName != "A"){ //busco o link...
					a = a.nextSibling;
				}

				a.style.backgroundColor = "#000";

				//busco a imagem...
				var imagem = a.getElementsByTagName("img");
				imagem = imagem[0];

				imagem.src = iconesSRCs[this.getAttribute("value")][0];
			}
		}
	}

	//define os srcs__
	this.defineSRCs = function(){
		var ico1 = Array();
		ico1[0] = "__view/images/menuicones/homepage.gif";
		ico1[1] = "__view/images/menuicones/homepage_hover.gif";
		iconesSRCs[0] = ico1;

		var ico2 = Array();
		ico2[0] = "__view/images/menuicones/faleconosco.gif";
		ico2[1] = "__view/images/menuicones/faleconosco_hover.gif";
		iconesSRCs[1] = ico2;

		var ico3 = Array();
		ico3[0] = "__view/images/menuicones/news.gif";
		ico3[1] = "__view/images/menuicones/news_hover.gif";
		iconesSRCs[2] = ico3;

		var ico4 = Array();
		ico4[0] = "__view/images/menuicones/hoteis_com_display.gif";
		ico4[1] = "__view/images/menuicones/hoteis_com_display_hover.gif";
		iconesSRCs[3] = ico4;

		var ico5 = Array();
		ico5[0] = "__view/images/menuicones/cadastro.gif";
		ico5[1] = "__view/images/menuicones/cadastro_hover.gif";
		iconesSRCs[4] = ico5;
	}

	//--
	this.attachEvents();
}

//busca principal__
function BuscaPrincipal(){
	var formulario;
	var selectEstado, selectCidade, selectBairro, selectSegmento;
	var cidades, bairros, segmentos;
	var estadoAtual, cidadeAtual, bairroAtual, segmentoAtual;

	this.attachEvents = function(){
		formulario = $("formbuscaprincipal");
		selectEstado = $("estado");
		selectCidade = $("cidade");
		selectBairro = $("bairro");
		selectSegmento = $("segmento");

		cidades = Array();
		bairros = Array();
		segmentos = Array();

		estadoAtual = selectEstado.options[selectEstado.selectedIndex].getAttribute('value');
		if(estadoAtual != 'null'){
			//já está com um estado selecionado...
			selectEstado.removeChild(selectEstado.getElementsByTagName("option")[0]);
		}

		cidadeAtual = selectCidade.options[selectCidade.selectedIndex].getAttribute('value');
		if(cidadeAtual != 'null'){
			//já está com um estado selecionado...
			selectCidade.removeChild(selectCidade.getElementsByTagName("option")[0]);
		}

		var actCidade = selectCidade.childNodes;
		if(selectCidade.length == 1 && selectCidade[0].getAttribute("value") == 'null'){
			selectCidade.innerHTML = "<option value='null'>Selecione um estado</option>";
			selectCidade.disabled = true;

			selectBairro.innerHTML = "<option value='null'>Selecione um estado</option>";
			selectBairro.disabled = true;

			selectSegmento.innerHTML = "<option value='null'>Selecione um estado</option>";
			selectSegmento.disabled = true;
		}

		formulario.onsubmit = function(){
			if(estadoAtual == 'null'){
				alert("Selecione um estado!");
				return false;
			}
			else if(cidadeAtual == 'null'){
				alert("Selecione uma cidade!");
				return false;
			}
		}

		selectEstado.onchange = function(){
			estadoAtual = selectEstado.options[selectEstado.selectedIndex].getAttribute('value');
			buscaPrincipal.atualizaCidade();
		}

		selectCidade.onchange = function(){
			cidadeAtual = selectCidade.options[selectCidade.selectedIndex].getAttribute('value');
			buscaPrincipal.atualizaBairro();
		}

		selectBairro.onchange = function(){
			bairroAtual = selectBairro.options[selectBairro.selectedIndex].getAttribute('value');
			buscaPrincipal.atualizaSegmento();
		}

		selectSegmento.onchange = function(){
			//faz nada
		}
	}

	//processos quando der onchange no estado___
	this.atualizaCidade = function(){
		selectBairro.disabled = true;
		selectBairro.innerHTML = "<option value='null'>Selecione uma cidade</option>";

		selectSegmento.disabled = true;
		selectSegmento.innerHTML = "<option value='null'>Selecione uma cidade</option>";

		if(!(cidades[estadoAtual])){ //se não existir mapeamento para este estado...
			//-- loader --
			selectCidade.disabled = true;
			selectCidade.innerHTML = "<option value='null'>Carregando...</option>";

			new Ajax.Request(
				'./__model/business/xml/?action=cidades&estado=' + estadoAtual,
				{
					method: 'get',

					//quando carregar...
					onSuccess: function(transport){
						var cids = transport.responseXML;
						cids = cids.getElementsByTagName("cidade");

						var auxArray = new HashMap();
						for(var i = 0; i < cids.length; i++){
							var codCid = cids[i].getAttribute("codigo");
							var nomeCid = cids[i].childNodes[0].data;

							//jogo pro meu array...
//							auxArray[codCid] = nomeCid;
							auxArray.put(codCid, nomeCid)
						}

						cidades[estadoAtual] = auxArray;

						//chamo recursivamente a esta função
						buscaPrincipal.atualizaCidade();
					},

					onFailure: function(){
						window.location.reload();
					}
				}
			)
		}
		else{
			var childs = selectEstado.getElementsByTagName("option");
			if(childs[0].getAttribute("value") == 'null'){
				selectEstado.removeChild(childs[0]);
			}

			//aqui tenho tudo no meu array, na memória...
			selectCidade.innerHTML = "<option value='null'>Selecione uma cidade</option>";

			while(cidades[estadoAtual].hasNext()){
				var auxOption = document.createElement("option");
				auxOption.appendChild(document.createTextNode(cidades[estadoAtual].next()));
				auxOption.setAttribute("value", cidades[estadoAtual].getActualKey());

				selectCidade.appendChild(auxOption);
			}

			cidades[estadoAtual].resetIterator();
			selectCidade.disabled = false;

			//chamo a função para atualização das cidades
			selectCidade.onchange();
		}
	}

	//processos quando der onchange na cidade___
	this.atualizaBairro = function(){
		if(cidadeAtual != 'null'){
			if(!(bairros[cidadeAtual])){ //se não existir mapeamento para esta cidade...
				//-- loader --
				selectBairro.disabled = true;
				selectBairro.innerHTML = "<option value='null'>Carregando...</option>";
			/*
				selectSegmento.disabled = true;
				selectSegmento.innerHTML = "<option value='null'>Carregando...</option>";
			*/
				new Ajax.Request(
					'./__model/business/xml/?action=bairros&cidade=' + cidadeAtual,
					{
						method: 'get',

						//quando carregar...
						onSuccess: function(transport){
							var bairs = transport.responseXML;
							bairs = bairs.getElementsByTagName("bairro");

							var auxArray = new HashMap();
							auxArray.put("todos", "Todos");
							for(var i = 0; i < bairs.length; i++){
								var codBai = bairs[i].getAttribute("codigo");
								var nomeBai = bairs[i].childNodes[0].data;

								//jogo pro meu array...
	//							auxArray[codCid] = nomeCid;
								auxArray.put(codBai, nomeBai)
							}

							bairros[cidadeAtual] = auxArray;

							//chamo recursivamente a esta função
							buscaPrincipal.atualizaBairro();
						},

						onFailure: function(){
							window.location.reload();
						}
					}
				)
			}
			else{
				var childs = selectCidade.getElementsByTagName("option");
				if(childs[0].getAttribute("value") == 'null'){
					selectCidade.removeChild(childs[0]);
				}

				//aqui tenho tudo no meu array, na memória...
				selectBairro.innerHTML = "";

				while(bairros[cidadeAtual].hasNext()){
					var auxOption = document.createElement("option");
					auxOption.appendChild(document.createTextNode(bairros[cidadeAtual].next()));
					auxOption.setAttribute("value", bairros[cidadeAtual].getActualKey());

					selectBairro.appendChild(auxOption);
				}

				bairros[cidadeAtual].resetIterator();
				selectBairro.disabled = false;

				segmentos[cidadeAtual] = Array();

				selectBairro.onchange();
			}
		}
	}


	//processos quando der onchange na cidade ou bairro___
	this.atualizaSegmento = function(){
/*
		alert("segmento");
		alert(cidadeAtual);
		alert(bairroAtual);
		return;
*/

		if(cidadeAtual != 'null'){
			if(!segmentos[cidadeAtual]){
				segmentos[cidadeAtual] = Array();
			}

			if(!segmentos[cidadeAtual][bairroAtual]){ //se não existir mapeamento para esta cidade e bairro...
				var parameters = "cidade=" + cidadeAtual + "&bairro=" + bairroAtual;

				//-- loader --
				selectSegmento.disabled = true;
				selectSegmento.innerHTML = "<option value='null'>Carregando...</option>";

				new Ajax.Request(
					'./__model/business/xml/?action=segmentos&' + parameters,
					{
						method: 'get',

						//quando carregar...
						onSuccess: function(transport){
							var segs = transport.responseXML;
							segs = segs.getElementsByTagName("segmento");

							var auxArray = new HashMap();
							auxArray.put("todos", "Todos");
							for(var i = 0; i < segs.length; i++){
								var codSeg = segs[i].getAttribute("codigo");
								var nomeSeg = segs[i].childNodes[0].data;

								//jogo pro meu array...
	//							auxArray[codCid] = nomeCid;
								auxArray.put(codSeg, nomeSeg)
							}

							segmentos[cidadeAtual][bairroAtual] = auxArray;

							//chamo recursivamente a esta função
							buscaPrincipal.atualizaSegmento();
						},

						onFailure: function(){
							window.location.reload();
						}
					}
				)
			}
			else{
				//aqui tenho tudo no meu array, na memória...
				selectSegmento.innerHTML = "";

				while(segmentos[cidadeAtual][bairroAtual].hasNext()){
					var auxOption = document.createElement("option");
					auxOption.appendChild(document.createTextNode(segmentos[cidadeAtual][bairroAtual].next()));
					auxOption.setAttribute("value", segmentos[cidadeAtual][bairroAtual].getActualKey());

					selectSegmento.appendChild(auxOption);
				}

				segmentos[cidadeAtual][bairroAtual].resetIterator();
				selectSegmento.disabled = false;
			}
		}
	}

	//processo...
	this.attachEvents();
}

function CabecalhoGeral(){
	var local = $("cabecalho");
	if(local){
		var FO = { movie:"./__view/images/banner_cabecalho.swf", width:"754", height:"130", wmode:"transparent", majorversion:"7", build:"40", xi:"true", ximovie:" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" };
		UFO.create(FO, local.getAttribute("id"));
	}


/*
	var local = $("cabecalho");

	this.fadeOutBanners = function(){
		w3Opacity.fading("logoprincipal",100,0,600);
		w3Opacity.fading("logodc",100,0,600);
	}

	this.addFlashTopo = function(){
		var FO = { movie:"./__view/images/banner_cabecalho.swf", width:"754", height:"130", wmode:"transparent", majorversion:"7", build:"40", xi:"true", ximovie:" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" };
		UFO.create(FO, local.getAttribute("id"));

		setTimeout('w3Opacity.fading("cabecalho",0,100,600)', 300);
	}

	//processando...
	if(local){
//		this.fadeOutBanners();
//		w3Opacity.fading("cabecalho",100,0,600);
//		setTimeout("cabecalhoGeral.addFlashTopo()", 600);
	}
*/
}

function CaixaBanners(){
	var local = $("caixabanners");
	if(local){
		var FO1 = { movie:"./__view/images/banners-laterais/top.swf", width:"125", height:"322", majorversion:"7", build:"40", xi:"true", ximovie:" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" };
		UFO.create(FO1, "caixabanners-top");

		var FO2 = { movie:"./__view/images/banners-laterais/bottom.swf", width:"125", height:"78", majorversion:"7", build:"40", xi:"true", ximovie:" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" };
		UFO.create(FO2, "caixabanners-bottom");
	}
}
