/*
Acoes principais para o JavaScript AJAX
*/

function antiCacheRand(aurl){
    //Adiciona um parametro randomico à querystring.
    var dt = new Date();
    if(aurl.indexOf("?")>=0){// já tem parametros
        return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
    }else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
}

    // url_encode version 1.0  
    function url_encode(str) {  
        var hex_chars = "0123456789ABCDEF";  
        var noEncode = /^([a-zA-Z0-9\_\-\.])$/;  
        var n, strCode, hex1, hex2, strEncode = "";  

        for(n = 0; n < str.length; n++) {  
            if (noEncode.test(str.charAt(n))) {  
                strEncode += str.charAt(n);  
            } else {  
                strCode = str.charCodeAt(n);  
                hex1 = hex_chars.charAt(Math.floor(strCode / 16));  
                hex2 = hex_chars.charAt(strCode % 16);  
                strEncode += "%" + (hex1 + hex2);  
            }  
        }  
        return strEncode;  
    }  

    // url_decode version 1.0  
    function url_decode(str) {  
        var n, strCode, strDecode = "";  

        for (n = 0; n < str.length; n++) {  
            if (str.charAt(n) == "%") {  
                strCode = str.charAt(n + 1) + str.charAt(n + 2);  
                strDecode += String.fromCharCode(parseInt(strCode, 16));  
                n += 2;  
            } else {  
                strDecode += str.charAt(n);  
            }  
        }  

        return strDecode;  
    }  


function getText(classe,acao,div)
{
//	url, metodo, params, processa, modo

	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	
	ajx.processaresultado = function(r){
							var principal = document.getElementById(div);
							principal.setAttribute('class','');
							principal.setAttribute('className','');
							principal.innerHTML = url_decode(r);
		}
	ajx.conectar();						
				
}



function criaMensagemErro(msg,div)
{
			var principal = document.getElementById(div);
			principal.setAttribute('class','.erro-1');
			principal.setAttribute('className','.erro-1');
			principal.innerHTML = "<br>"+url_decode(msg)+"<br><br>";
}

function criaMensagemOk(msg,div)
{
			var principal = document.getElementById(div);
			principal.setAttribute('class','ok-1');
			principal.setAttribute('className','ok-1');
			principal.innerHTML = "<br>"+url_decode(msg)+"<br><br>";
}

function limpaMensagem(div)
{
			var principal = document.getElementById(div);
			principal.setAttribute('class','');
			principal.setAttribute('className','');
			principal.innerHTML = "";
}	


function limpaBotaoExcluir()
{

	var principal = document.getElementById("excluir");
	principal.innerHTML = "";
	
}

function criaBotaoExcluir(classe)
{
	var b_excluir = "<input type=\"button\" name=\"bexcluir\" id=\"bexcluir\" value=\"Excluir\" onclick=\"acaobd('"+classe+"','excluir','1'); \" class=\"campos-1\" />";
	var principal = document.getElementById("excluir");
	principal.innerHTML = b_excluir;
	
}

/**
	Muda as acoes e botoes do formulario
	acao = "salvar" - "alterar" - "excluir"
	nome = "Cadastar" - "Alterar"
**/
function alteraAcaoBotao(nome,acao)
{
	document.getElementById("botao").value = nome;
	document.getElementById("acao").value = acao;
}

/**
Altera a senah
**/
function alterarSenha(senha)
{
	var div = "resultado";
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao=alterarSenha&classe=usuario&senha="+senha);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
								criaMensagemOk(r,div);
						}
	ajx.conectar();	
}

/*
 Salva/Altera/Exclui do banco
 classe = classe do banco
 acao 	= "salvar" - "alterar" - "excluir"
 qtd 	= numero de campos sequencias que serão tratatos neste métodos
*/
function acaobd(classe,acao,qtd)
{
	
	
	acao = (acao != 'excluir') ? document.getElementById("acao").value : 'excluir' ;
	document.getElementById("acao").value='excluir' ;
	
	var div = "resultado";
	var _get = "";
	
	
	
	// Salvar
	if(acao == "salvar")
	{
		var inicio = "2";
		alteraAcaoBotao("Cadastrar","salvar");
		limpaBotaoExcluir();
	

	}

	// Alterar
	else if(acao == "alterar")
	{
		var inicio = "1";
		alteraAcaoBotao("Alterar","alterar");
		criaBotaoExcluir(classe);
		
		
	}
	
	// Excluir	
	else
	{
		if(confirm("Tem certeza que dejesa excluir ??"))
		{
			
			var inicio = "1";
//			alteraAcaoBotao("Cadastrar","Salvar");
//			limpaBotaoExcluir();					
			getText(classe,'formulario','principal');
			
		}else{
			return;
		}

	}
	
	
	
	for(i=qtd; i>=inicio; i--){
		_get += "&c"+i+"="+document.getElementById(document.form[i].id).value;
		document.getElementById(document.form[i].id).value = "";
	}

	document.getElementById(document.form[1].id).value = 0;
	
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe+_get);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
								
								criaMensagemOk(r,div);
								
						
						}
	ajx.conectar();
	

	
	
	



}

function getSelect1(classe,select){
	

		
	document.getElementById(select).length = 1;
	

	acao = "listarSubCategorias";
		
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;
									var sgl    = item.getElementsByTagName("sgl")[0].firstChild.nodeValue;
								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									o.setAttribute ("id",  dsc);				
									var t = document.createTextNode ( dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();
}



function addsub(select,classe){
	
	if( document.getElementById(select).value  != 0 ){

		if(document.getElementById("select02").options[1].value == "0"){
			document.getElementById("select02").length = 1;
		}
		
		var qt =  document.getElementById("select01").options.length;
		qt--;
		while(qt >= 0){
			if(document.getElementById("select01").options[qt].selected){
						
				var o = document.createElement ("option");
				o.setAttribute ("value", document.getElementById("select01").options[qt].value);
				o.setAttribute ("id", document.getElementById("select01").options[qt].value);			
				var t = document.createTextNode (document.getElementById("select01").options[qt].id);
				o.appendChild (t);
				document.getElementById("select02").appendChild (o);
				
				
				addIntegra(document.getElementById("select01").options[qt].value,document.getElementById(select).value,classe);
				
				
			}
			qt--;
		}	
		
	}else{
		criaMensagemOk('Você precisa escolhar uma categoria','resultado');
	}
}

function delsub(select,classe){
	
	if( document.getElementById(select).value  != 0 ){

	if(confirm("Você tem certeza que deseja excluir a(s) sub-categoria(s)?")){	
		var qt =  document.getElementById("select02").options.length;
		qt--;
		while(qt >= 0){
			if(document.getElementById("select02").options[qt].selected){
						
				
					
					delIntegra(document.getElementById("select02").options[qt].value,document.getElementById(select).value,classe);
					
					document.getElementById("select02").options[qt] = null;
				
				
			}
			qt--;
		}	
	}else{
		return;		
	}
	}else{
		criaMensagemOk('Você precisa escolhar uma categoria','resultado');
	}
}

function delIntegra(idsub,idcat,classe){

	
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao=delIntegra&classe="+classe+"&idsub="+idsub+"&idcat="+idcat);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
								criaMensagemOk(r,'resultado');
								}
	ajx.conectar();
	
}

function addIntegra(idsub,idcat,classe){
	
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao=addIntegra&classe="+classe+"&idsub="+idsub+"&idcat="+idcat);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
								criaMensagemOk(r,'resultado');
								}
	ajx.conectar();
}


function acaobd2(acao){
	
	acao = (acao != 'excluir1') ? document.getElementById("acao").value : 'excluir1' ;
	document.getElementById("acao").value='excluir1' ;
	
	var div = "resultado";
	var _get = "";
	
	
	
	// Salvar
	if(acao == "salvar1")
	{
		var cate = document.getElementById(document.form[1].id).value;
		var sub = document.getElementById(document.form[2].id).value;
				
		var nome = document.getElementById(document.form[4].id).value;
		var ende = document.getElementById(document.form[5].id).value;
		var fone = document.getElementById(document.form[6].id).value;
		var site = document.getElementById(document.form[7].id).value;
		var email = document.getElementById(document.form[8].id).value;
		var consultas = document.getElementById(document.form[9].id).value;		
		
		document.getElementById("botao").value = "Cadastrar";
		document.getElementById("acao").value = acao;
		limpaBotaoExcluir();
	
		$_get = "&cate="+cate+"&sub="+sub+"&nome="+nome+"&ende="+ende+"&fone="+fone+"&site="+site+"&email="+email+"&consultas="+consultas;
		
		
	}

	// Alterar
	else if(acao == "alterar1")
	{
		var cate = document.getElementById(document.form[1].id).value;
		var sub = document.getElementById(document.form[2].id).value;
		var cod = document.getElementById(document.form[3].id).value;		
		var nome = document.getElementById(document.form[4].id).value;
		var ende = document.getElementById(document.form[5].id).value;
		var fone = document.getElementById(document.form[6].id).value;
		var site = document.getElementById(document.form[7].id).value;
		var email = document.getElementById(document.form[8].id).value;
		var consultas = document.getElementById(document.form[9].id).value;
		
		document.getElementById("botao").value = "Alterar";
		document.getElementById("acao").value = acao;
	var b_excluir = "<input type=\"button\" name=\"bexcluir\" id=\"bexcluir\" value=\"Excluir\" onclick=\"acaobd2('excluir1'); \" class=\"campos-1\" />";
	var principal = document.getElementById("excluir");
	principal.innerHTML = b_excluir;
		
		$_get = "&cod="+cod+"&cate="+cate+"&sub="+sub+"&nome="+nome+"&ende="+ende+"&fone="+fone+"&site="+site+"&email="+email+"&consultas="+consultas;
	}
	
	// Excluir	
	else
	{
		if(confirm("Tem certeza que dejesa excluir ??"))
		{
			
			var cod = document.getElementById(document.form[3].id).value;		
			
			$_get = "&cod="+cod;
			var inicio = "1";
	
			getText('clientes','formulario','principal');
			
		}else{
			return;
		}

	}
	

	
	

//	document.getElementById(document.form[1].id).value = 0;
//	document.getElementById(document.form[2].id).value = 0;
//	document.getElementById(document.form[3].id).value = 0;
	
	var ajx = new AJAX();
	
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe=clientes"+$_get);
	
	
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
								
								criaMensagemOk(r,div);
								
								document.getElementById(document.form[4].id).value="";
								document.getElementById(document.form[5].id).value="";
								document.getElementById(document.form[6].id).value="";
								document.getElementById(document.form[7].id).value="";
								document.getElementById(document.form[8].id).value="";
								document.getElementById(document.form[9].id).value="";
								document.getElementById(document.form[4].id).focus();
						}
	ajx.conectar();
	

}

function getUsuarios(classe,cat,sub,select){
	
	
	
	document.getElementById(select).length = 1;
	
	cat = document.getElementById(cat).value;
	sub = document.getElementById(sub).value;
	
	
	
	acao = "getUsuarios";
	//acao = "listarSubCategorias";
	var cod = "&cat="+cat+"&sub="+sub;	

	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe+cod);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;

								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									o.setAttribute ("id", dsc);				
									var t = document.createTextNode (dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();		
}

function buscar02(){

	
	
	var categoria = document.getElementById('categoria').value;		
	var especialidade =  document.getElementById('especialidades').value;
	
	var _get = "categoria="+categoria+"&especialidade="+especialidade;
	
	
	var ajx = new AJAX();
	
	ajx.url =antiCacheRand("afinidades_ajax.php?"+_get);
	
	
	
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
		
									var principal = document.getElementById('resultado');
									principal.setAttribute('class','');
									principal.setAttribute('className','');
									principal.innerHTML ='<br>'+ r;
						}
	ajx.conectar();
	
}

function buscar01(){
	var nome = document.getElementById('busca').value; 
	var categoria = document.getElementById('categoria').value;		
	var especialidade =  document.getElementById('especialidades').value;
	
	var _get = "&nome="+nome+"&categoria="+categoria+"&especialidade="+especialidade;
	var ajx = new AJAX();
	
	ajx.url =antiCacheRand("pagina.php?acao=consultaBusca&classe=consultas"+_get);
	
	
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'T';
	ajx.processaresultado = function(r){
									var principal = document.getElementById('resultado');
									principal.setAttribute('class','');
									principal.setAttribute('className','');
									principal.innerHTML = r;
						}
	ajx.conectar();
	
}


function getSelectBusca01(classe,select){
	

	
	
	document.getElementById(select).length = 1;
	
	acao = "listarCategorias";
	//acao = "listarSubCategorias";
	var cod = "&cod="+document.getElementById('categoria').value;	

	var ajx = new AJAX();
	ajx.url =antiCacheRand("sistema/pagina.php?acao="+acao+"&classe="+classe+cod);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;
									//var sgl    = item.getElementsByTagName("sgl")[0].firstChild.nodeValue;
								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									o.setAttribute ("id", dsc);				
									var t = document.createTextNode (dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();
}


function getSelectBusca(classe,select){
	

	
	
	document.getElementById(select).length = 1;
	
	acao = "listarCategorias";
	//acao = "listarSubCategorias";
	var cod = "&cod="+document.getElementById('categoria').value;	

	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe+cod);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;
									var sgl    = item.getElementsByTagName("sgl")[0].firstChild.nodeValue;
								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									o.setAttribute ("id",  dsc);				
									var t = document.createTextNode ( dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();
}

function getSelect2(classe,select){
	

	
	
	document.getElementById(select).length = 1;
	
	acao = "listarCategorias";
	//acao = "listarSubCategorias";
	var cod = "&cod="+document.getElementById(document.form[1].id).value;	

	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe+cod);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;
									var sgl    = item.getElementsByTagName("sgl")[0].firstChild.nodeValue;
								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									o.setAttribute ("id",  dsc);				
									var t = document.createTextNode ( dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();
}



function getSelect(classe,select){
	
	if(document.getElementById(select).value == 0){
	
	document.getElementById(select).length = 1;
		
	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao=select&classe="+classe);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("options");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
						  		
									var item = dataArray[i];
									var id 	  = item.getElementsByTagName("id")[0].firstChild.nodeValue;
									var dsc   = item.getElementsByTagName("dsc")[0].firstChild.nodeValue;
									var sgl    = item.getElementsByTagName("sgl")[0].firstChild.nodeValue;
								
									
									var o = document.createElement ("option");
									o.setAttribute ("value", id);
									//o.setAttribute ("id", id);				
									var t = document.createTextNode ( dsc);
									o.appendChild (t);
									document.getElementById(select).appendChild (o);
									
									

								}
							}	
		ajx.conectar();
	}else{
		return;
	}
}


function getCamposXML2(classe,acao,qtd,select)
{
//	url, metodo, params, processa, modo


	// Busca
	if(document.getElementById(select).value > 0){
	

	var ajx = new AJAX();
	ajx.url =antiCacheRand("pagina.php?acao="+acao+"&classe="+classe+"&cod="+document.getElementById(select).value);
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
				
		
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("campos");
							var campos = new Array();
							var x=0;
						  	for(var i = 0 ; i < dataArray.length ; i++) {
								var item = dataArray[i];
				

																		
									for(j=4 ; j<=qtd; j++){
										document.getElementById(document.form[j].id).value = item.getElementsByTagName("a"+x)[0].firstChild.nodeValue;
										x++;
									}
									


									document.getElementById("botao").value = "Alterar";
									document.getElementById("acao").value = 'alterar1';
									var b_excluir = "<input type=\"button\" name=\"bexcluir\" id=\"bexcluir\" value=\"Excluir\" onclick=\"acaobd2('excluir1'); \" class=\"campos-1\" />";
									var principal = document.getElementById("excluir");
									principal.innerHTML = b_excluir;


							 }// for

						
						}
							ajx.conectar();
								// Inserçao	
								}else{
									
									document.getElementById(select).value = 0;		
									document.getElementById(document.form[4].id).focus();
									
									for(j=4 ; j<=qtd; j++){
										document.getElementById(document.form[j].id).value = "";
									}
									
									document.getElementById("botao").value = "Cadastrar";
									document.getElementById("acao").value = 'salvar1';
									limpaBotaoExcluir();
									 
								}						

						
				
}


function getCamposXML(classe,acao,qtd)
{
//	url, metodo, params, processa, modo


	

	var ajx = new AJAX();
	ajx.url ="pagina.php?acao="+acao+"&classe="+classe+"&cod="+document.form[1].value;
	ajx.metodo = 'GET';
	
	/* T = Text , X = XML */
	ajx.modo = 'X';
	
	ajx.processaresultado = function(r){
								
							var obj = r;
					    	var dataArray   = obj.getElementsByTagName("campos");
							var campos = new Array();
						  	for(var i = 0 ; i < dataArray.length ; i++) {
								var item = dataArray[i];
								
								// Busca
								if(item.getElementsByTagName("a0")[0].firstChild.nodeValue > 0){
									
									for(j=0 ; j<qtd; j++){
										document.getElementById(document.form[j+1].id).value = item.getElementsByTagName("a"+j)[0].firstChild.nodeValue;
									}
									


									 alteraAcaoBotao("Alterar","alterar");
									 criaBotaoExcluir(classe);
									
								// Inserçao	
								}else{
									
									document.getElementById(document.form[1].id).value = 0;		
															
									for(j=2 ; j<=qtd; j++){
										document.getElementById(document.form[j].id).value = "";
									}
									
									 alteraAcaoBotao("Cadastrar","salvar");
									 limpaBotaoExcluir();
									 
								}

							 }// for

						
						}
	ajx.conectar();
						
				
}
