function ajaxInit() {
	var req;
	try {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	catch(e) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex) {
			try {
				req = new XMLHttpRequest();
			}
			catch(exc) {
				alert("Esse browser não tem recursos para uso do Ajax");
				req = null;
			}
		}
	}	
	return req;
}

/* FUNÇAO PARA ATIVAR E DESATIVAR ITENS - AS Cod_Item É DEFINIDO NO ARQUIVO INI.PHP DO MODULO EM QUESTÃO*/
function active(Cod_Item){
	var destaque = document.getElementById('destaque_'+Cod_Item);
	var imagem = destaque.src;
	var marcar = "A";

	if(!destaque) {
	 alert("Campo não encontrado");
	 return; //se ele não encontrar o campo, da um alerta e escapa a funcao
	}
	//alert(imagem.indexOf("inativo.png"));
	if(imagem.indexOf("inativo.gif") == -1)
		marcar = "I";

	var ajax = ajaxInit();
	// APONTA PARA O ARQUIVO DO MODULO QUE FAZ A SOLICITAÇAO
	ajax.open("POST", "active_action.php?Cod_Item="+Cod_Item+"&marcar="+marcar, true);
	ajax.onreadystatechange = function(){
		if(ajax.readyState == 4){
			if(ajax.status == 200) {			
				if(trim(ajax.responseText) == "A")
					// CAMINHO RELATIVO A PARTIR DA PASTA INCUDES
					destaque.src = '../imagens/icones/ativo.gif';
				else if(trim(ajax.responseText) == "I")
					destaque.src = '../imagens/icones/inativo.gif';
			}
		}
	}
	ajax.send(null);
}



/************* Destacar PubliNews ***************/

function destacar(act,checked,value){
	if(value){
		var ajax = ajaxInit();
		ajax.open("GET", "destaques.php?act="+act+"&cod_guia="+value+"&checked="+checked);
		ajax.onreadystatechange = function(){
			if(ajax.readyState == 4){
				if(ajax.status == 200){
					//alert(ajax.responseText);
					if(trim(ajax.responseText) == "sucesso"){//inserir
						alert('Destaque alterado com sucesso!');
					}
					else{
						alert("Erro ao tentar mudar o destaque.")
					}
				}		
			}
		}
		ajax.send(null);
	}
}


/**************************	incluirSimples ****************************/
/*
Funçao incluirSimples - Esta funçao serve para inserir um item no banco de dados usando ajax.

@param: origem			- Campo de origem. Input text
@param: destino			- Campo de destino. Input select
@param: destino2		- Campo de destino, caso possua mais de um campo para atualizar. Input select
@param: div_status		- Div onde será exibido o status do processo
@param: tabela			- Nome da tabela do banco de dados que receberá o item.
@param: tabela_pai		- Nome da tabela do banco de dados que possui o item pai, caso seja a mesma tabela, deve ser passado o mesmo nome.
@param: NomeItem_Nome	- Nome do campo do item que será inserido
@param: CodItem_Nome	- Nome do campo de código do item que será inserido
@param: PaiItem_Nome	- Nome do campo pai.

*/
function incluirSimples(origem, destino, destino2, div_status, tabela, tabela_pai, CodItem_Nome, NomeItem_Nome, PaiItem_Nome, PaiItem_Value){
	
	if(PaiItem_Value){
		var PaiItem_Value = document.getElementById(PaiItem_Value).value;
	}
	if(destino2){
		var destino2 = document.getElementById(destino2);		
	}
	// campo de origem
	var origem 			= document.getElementById(origem);
	// Valor que será inserido no banco
	var NomeItem_Value	= origem.value ? origem.value : "";
	// campo de destino
	var destino 		= document.getElementById(destino);		
	// div onde aparecerá o campo de status
	
	var div_status		= document.getElementById(div_status);

	if(!origem.value){
		div_status.innerHTML = "Preencha o campo corretamente.";
		origem.focus();
		return false;
	}	
	
	else{
		var ajax = ajaxInit();		
		//alert("apoio_action.php?action=add&tabela="+tabela+"&tabela_pai="+tabela_pai+"&CodItem_Nome="+CodItem_Nome+"&NomeItem_Nome="+NomeItem_Nome+"&NomeItem_Value="+NomeItem_Value+"&PaiItem_Nome="+PaiItem_Nome+"&PaiItem_Value="+PaiItem_Value);
		ajax.open("POST", "apoio_action.php?action=add&tabela="+tabela+"&tabela_pai="+tabela_pai+"&CodItem_Nome="+CodItem_Nome+"&NomeItem_Nome="+NomeItem_Nome+"&NomeItem_Value="+NomeItem_Value+"&PaiItem_Nome="+PaiItem_Nome+"&PaiItem_Value="+PaiItem_Value, true);
		ajax.onreadystatechange = function(){
			if(ajax.readyState == 1){				
				div_status.innerHTML = "Aguarde...";
			}
			if(ajax.readyState == 4){
				if(ajax.status == 200) {	
					//alert(ajax.responseText)
					switch(trim(ajax.responseText)){
						case "erro1":
							div_status.innerHTML = "Item já cadastrado.";
							origem.value = "";
							break;
						case "erro2":
							div_status.innerHTML = "Erro ao inserir novo item.";							
							break;
						case "erro3":
							div_status.innerHTML = "Dados insuficientes.";
							break;
						default:
							atualizaSimples(ajax.responseText,destino,PaiItem_Value);
							if(destino2){
								atualizaSimples(ajax.responseText,destino2,'');
							}
							div_status.innerHTML = "Item inserido com sucesso.";
							origem.value = "";
							break;
					}
				}
			}
		}
		ajax.send(null);
	}
}

function atualizaSimples(str,destino,PaiItem_Value){
	//alert(destino.length);
	var vet, aux;
	for(i=destino.length; i>=0; i--){
		destino.remove(i);
	}
	vet = str.split(";");
	//alert(PaiItem_Value);
	if(PaiItem_Value){
		for(i=0; i<vet.length; i++){
			aux = vet[i].split("|");
			var texto = aux[2]+" - "+aux[1];
			destino.options[destino.length] = new Option(texto, aux[0]);
		}
	}else{
		for(i=0; i<vet.length; i++){
			aux = vet[i].split("|");
			destino.options[destino.length] = new Option(aux[1], aux[0]);
		}
	}
}

function excluirSimples(origem, origem2, div_status, tabela, CodItem_Nome){
	
	var origem = document.getElementById(origem);
	var div_status = document.getElementById(div_status);
	
	if (origem.length == 0){
		div_status.innerHTML = "Não há itens a serem removidos!";
		return false;
	}	
	if(origem.selectedIndex == -1){
		div_status.innerHTML = "Selecione um item na lista &raquo;&raquo;";
		return false;
	}
	if(origem2){
		var origem2 = document.getElementById(origem2);
	}
	var ajax = ajaxInit();	
	//alert("apoio_action.php?Cod_Cidade="+origem[origem.selectedIndex].value+"&flag="+flag+"&action=del");
	ajax.open("POST", "apoio_action.php?CodItem_Nome="+CodItem_Nome+"&CodItem_Value="+origem[origem.selectedIndex].value+"&tabela="+tabela+"&action=del", true);
	ajax.onreadystatechange = function(){
		if(ajax.readyState == 1){
			div_status.innerHTML = "Aguarde...";
		}
		if(ajax.readyState == 4){
			if(ajax.status == 200){
				//alert(ajax.responseText);
				switch(trim(ajax.responseText)){
					case "erro4":
						div_status.innerHTML = "Erro ao remover Item.";
					break;
					case "del_ok":
						div_status.innerHTML = "Item removido com sucesso.";
						if(origem2){									
							origem2.remove(origem.selectedIndex);
						}
						origem.remove(origem.selectedIndex);
						
					break;
				}
			}
		}
	}
	ajax.send(null);
}




/*******************************************************************************************
********************* Funções para troca dinamica de combobox ******************************
********************************************************************************************/

function solicitaSubCategoria( origem, destino){
	
	var Cod_Categoria= document.getElementById(origem).value;	
	
	var ajax = ajaxInit();
	
	ajax.open("POST", "system/content/geraXML.php?Cod_Categoria="+Cod_Categoria, true);
	ajax.onreadystatechange = function(){
		if(ajax.readyState == 4){
			if(ajax.status == 200) {			
				//alert(ajax.responseXML)
				if(xmlDoc = ajax.responseXML){
					xml2Array(xmlDoc,destino);
				}
			}
		}
	}
	ajax.send(null);	
}

function xml2Array(xmlDoc, destino){
	var root = xmlDoc.getElementsByTagName("root").item(0);
	var count = 0;
	var arr = new Array();
	for(i=0; i < root.childNodes.length; i++){	
			
		var node = root.childNodes.item(i);		
		
		for(j=0; j < node.childNodes.length; j++){
			
			var aux1 = node.childNodes.item(j);		
			for(k=0; k < aux1.childNodes.length; k++){
				var aux2 = aux1.childNodes.item(k);
				arr[count++] = aux2.data;
			}
		}
	}
	carregaDestino(arr,destino);
}

function carregaDestino(arr,destino){
	destino = document.getElementById(destino);
	
	for(i=destino.length; i>=0; i--){
		destino.remove(i);
	}
	
	if(arr.length){
		destino.options[destino.length] = new Option("Selecione:",0);	
		for(i=0; i<arr.length; i+=2){
			destino.disabled=false;
			destino.options[destino.length] = new Option(arr[i+1], arr[i]);
		}
	}else{
		destino.disabled=true;
		destino.options[destino.length] = new Option("Selecione:",0);
		
	}
}
