// SCRIPTS GERAIS

//======================================================================================================================================//
//AJAX

// Retorna o HttpRequest que deve ser acionado

function GetXmlHttpObject() {
	
	var objXMLHttp = null;
	
	if (window.XMLHttpRequest) { objXMLHttp = new XMLHttpRequest() }
	else if (window.ActiveXObject) { objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP") }
	
	return objXMLHttp;

}

// Busca informações no servidor

function findInfo(engine, url) {
	
	xmlHttp = GetXmlHttpObject();
	
	var urlFinal = "includes/ajax/ajax" + engine + ".asp"
	
	if(url != "") { urlFinal += "?" + url; }

	xmlHttp.onreadystatechange = eval("show" + engine)
	xmlHttp.open("GET",urlFinal,true)
	xmlHttp.send(null)

}

//======================================================================================================================================//
// RETORNAR QUERYSTRING

function getQuery() {
	
	//valores querystring
	this.queryText = window.location.search.replace("?","");
	var queryArray = this.queryText.split("&");
	
	//para cada valor
	for (var i = 0; i < queryArray.length; i++) {
		if(queryArray[i]) {
			var inQuery = queryArray[i].split("=");
			eval("this." + inQuery[0] + " = '" + inQuery[1] + "'");
		}
	}
		
}

//======================================================================================================================================//
// ADICIONAR ONLOAD

function addLoad(func) {
	
	var oldonload = window.onload;
	
	if (typeof window.onload != 'function') { window.onload = func; }
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
	
}

//======================================================================================================================================//
// MUDA TRANSPARÊNCIA PARA TODOS OS BROWSERS

function mudaAlpha(valor, objeto) {

	objeto.style.opacity = (valor / 100);
    objeto.style.MozOpacity = (valor / 100);
    objeto.style.KhtmlOpacity = (valor / 100);
    objeto.style.filter = "alpha(opacity=" + valor + ")";
	
}

//==================================================================================================================//
// VALIDAR E ENVIAR FORMULÁRIOS

function enviaForm(quem) {
	
	var check = true;
	var formulario = quem.parentNode;
	var labels = formulario.getElementsByTagName("label");
	var botao = formulario.getElementsByTagName("a")[0];

	//verificar campos
	for (var i = 0; i < labels.length; i++) {
		
		var checkFor = labels[i].getAttributeNode("for");
		
		if (checkFor && checkFor.value != "") {
			
			var campo = document.getElementById(checkFor.value);
			
			if (campo.value.length > 0) { campo.className = "ok"; labels[i].className = "ok"; }
			else { campo.className = "erro"; labels[i].className = "erro"; check = false; }
			
		}

	}
	
	//enviar caso esteja tudo ok
	if (check) {
	
		botao.innerHTML = "enviando";
		formulario.submit()
		
	}
	
}

//======================================================================================================================================//
// BUSCA

function buscaIn() {

	var target = document.getElementById("busca");

	if (target.value == "Busca no portal" || target.value == "Search in the website" || target.value == "Buscar en el sitio") { target.value = "" }
	
}

function busca() {
	
	var target = document.getElementById("busca");
	
	if (target.value != "" && target.value != "Busca no portal" && target.value != "Search in the website" && target.value != "Buscar en el sitio") {
		document.location.href = "default.asp?Engine=busca&Palavra=" + target.value;
	}
	else { target.value = ""; target.focus() }
	
}

function getEnter(evt) {
	
  var evt = (evt) ? evt : ((event) ? event : null);
  //var objeto = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  
  if (evt.keyCode == 13) { busca(); }
  
}

//======================================================================================================================================//
// INTRANET

function intra(quem) {
	
	var target = quem.parentNode.getElementsByTagName("form")[0];
	var campo = target.getElementsByTagName("input")[0];
	
	target.style.display = (target.style.display != "block") ? "block" : "none";
	if(target.style.display == "block") { campo.focus(); }
	
}

function intraLog() {
	
	var login = document.getElementById("inNome");
	var senha = document.getElementById("inSenha");
	
	if ( login.value && senha.value ) { findInfo("Intranet","login=" + login.value + "&senha=" + senha.value); }		
	
}

function showIntranet() {
	
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		
		var resposta = xmlHttp.responseText;
		
		if(resposta == "Dados incorretos") {
			
			var novoDiv = document.createElement('div');
				novoDiv.appendChild(document.createTextNode(resposta));
				
			document.getElementById("intranet").getElementsByTagName("form")[0].appendChild(novoDiv);	

		}
		else { window.location.href = resposta; }		
		
	}
	
}

//======================================================================================================================================//
// PRODUTOS

//mostrar ou ocultar submenu

function findCategoria(quem) {
	
	var tipo = quem.innerHTML.replace("Produtos ", "");
	var check = (tipo == "industrializados") ? 0 : 1;
	var target = quem.parentNode.parentNode.getElementsByTagName("dd")[check];

	if(target.getElementsByTagName("ul")[0]) { while(target.childNodes.length > 0) { target.removeChild(target.childNodes[0]); } }
	else { findInfo("Categoria", "Tipo=" + tipo); }
	
}

// Recebe dados do servidor

function showCategoria() {
	
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		
		//resposta em XML		
		var resposta = xmlHttp.responseXML.documentElement;
		var categorias = resposta.getElementsByTagName('categoria');
		
		//caso hajam imóveis
		if (categorias.length > 0) {
			
			//cria listagem
			var novoUl = document.createElement('ul');
			
			//insere valores nas Arrays
			for (var i = 0; i < categorias.length; i++) {
				
				//valores da categoria
				var subEngine = categorias[i].getAttribute("id");
				var catTotal = categorias[i].getAttribute("total");
				var catNome = categorias[i].getElementsByTagName('nome')[0].firstChild.nodeValue;
				var catTipo = categorias[i].getElementsByTagName('tipo')[0].firstChild.nodeValue;
				
				//criar link
				var novoLink = document.createElement('a');
					novoLink.setAttribute("href", "default.asp?Engine=produto&subEngine=" + subEngine);
					novoLink.appendChild(document.createTextNode(catNome));
					
				//destaque no link da categoria
				if (subEngine == (new getQuery).subEngine) { novoLink.className = "destaque"; }

				//criar item
				var novoLi = document.createElement('li');
					novoLi.appendChild(novoLink);
					
				//inserir na listagem
				novoUl.appendChild(novoLi);
				
			}
		
			var menuDd = document.getElementById("menu").getElementsByTagName("dd");
			var target = (catTipo == "industrializados") ? 0 : menuDd.length-1;

			//insere elementos no menu
			menuDd[target].appendChild(novoUl);
			
		}

	}

}

// onload

function loadCategoria() {
	
	var query = new getQuery;
	var idioma = document.body.className;
	
	if(idioma == "br") {
		if(query.Engine == "produto" && typeof query.subEngine != "undefined") { findInfo("Categoria", "Id=" + query.subEngine); }
	}
	else {
		if(query.Engine == "produto") { findInfo("Categoria", "Tipo=in natura"); }
	}
	
}

addLoad(loadCategoria);

//======================================================================================================================================//
// RECEITAS

function receitaPrint() {
	
	//dados da receita
	var target = document.getElementById("receita");
	var info = target.innerHTML;
	var nome = target.parentNode.getElementsByTagName("h1")[0].innerHTML;
	
	//dados da popUp
	var popLargura = 600;
	var popAltura = 400;
	var popHtml = '<html>' +
				  '<head><title>Alibem</title><link href="interface/css/print.css" rel="stylesheet" type="text/css"></head>' +
				  '<body><h1>' + nome + '</h1>' + info + '<hr><small>www.alibem.com.br</smal></body>' +
				  '</html>';
	
	//abrir popUp
	var popPrint = window.open("","popPrint","toobar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=no,fullscreen=no,width=" + popLargura + ",height="+ popAltura);

	//inserir conteúdo
	popPrint.document.open();
	popPrint.document.write(popHtml);
	popPrint.document.close();
	
	//remover link de "imprimir"
	popPrint.document.body.removeChild(popPrint.document.getElementsByTagName("A")[0]);
	
	//centralizar popUp
	var popX = (window.screen.width - popLargura)/2;
	var popY = (window.screen.height - popAltura)/2;
	popPrint.moveTo(popX,popY);

	//imprimir
	popPrint.focus();
	popPrint.print();

}

//======================================================================================================================================//
// TRABALHE CONOSCO

//trocar class dos fieldsets
function showField(quem) {
	
	var target = quem.parentNode;
	target.className = (target.className != "menos") ? "menos" : "mais"
	
}

//setar propriedades
function checkTrabalhe() {
	
	//fomrulário
	var checkObj = document.getElementsByName("trabalhe")[0];
	
	//caso exista o formulário
	if (checkObj) {
		
		//fieldsets do formulário
		var fields = checkObj.getElementsByTagName("fieldset");
		
		//para cada fieldset
		for(var i=0; i < fields.length; i++) {
			
			//título do fieldset
			var titulo = fields[i].getElementsByTagName("h2")[0];
			
			//caso exista, recebe onclick
			if(titulo) {
				if (navigator.appName.search("Microsoft") == -1) { titulo.addEventListener("click", function() { showField(this); }, false); }
				else { titulo.onclick = function() { showField(this); }; }
				titulo.title = "Clique para mostrar ou ocultar os campos"
			}
			
		}
		
	}

}

//onload
addLoad(checkTrabalhe);

//=======================================================================================================================================//
// AUTO-FORMATAÇÃO DE CAMPOS

function campoFormat(quem, tipo) {
	
	switch(tipo) {

		case "data":
			if (quem.value.length == 2 || quem.value.length == 5 ) { quem.value += "/"; };
		break;

		case "cep":
			if (quem.value.length == 5) { quem.value += "-"; };
		break;

		case "fone":
		
			var onde = quem.value.length;
			if( onde == 0 ) { quem.value += "("; }
			if( onde == 3 ) { quem.value += ") "; }
			if( onde == 9 ) { quem.value += "."; }

		break;

	}
	
}

//=======================================================================================================================================//
// ESTRUTURA

function sedeFoto(quem) {

	var idioma = (document.body.className != "br") ? document.body.className + "_" : "";
	var sedeDiv = document.getElementById("sede");
	var sedeImg = sedeDiv.getElementsByTagName("img")[0];
	var sedeSrc = "../imagens/" + idioma + "estrutura/" + (new getQuery).Local + "/" + quem + ".jpg"
	
	if(sedeImg) { sedeImg.src = sedeSrc }
	else {
		var novoImg = document.createElement('img');
			novoImg.setAttribute("src", sedeSrc);
			
		sedeDiv.appendChild(novoImg);
	}
	
}



//=======================================================================================================================================//
// troca Session do idioma

var checkIdioma;

function trocaIdioma(quem) {

	checkIdioma = quem;
	
	var target = document.getElementById(quem).getElementsByTagName("b")[0];

	switch(quem) {
		case "br": target.innerHTML = "carregando..."; break;
		case "uk": target.innerHTML = "loading..."; break;
		case "es": target.innerHTML = "cargando..."; break;
	}

	findInfo("Idioma", "Idioma=" + quem)

}

function showIdioma() {
	
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { window.location.href = "default.asp"; }
		
}






