/*---------------------------------------------------------------------------------------------
--------------------------------------BIBLIOTECA AJAX CADASTRO */
var ajax;
var dadosUsuario;
//---- cria o objeto e faz a requisiçao -------------------------------------------------------
function requisicaoHTTP(tipo,url,assinc){
	if(window.XMLHttpRequest){
		ajax = new XMLHttpRequest();
	}
	else if(window.activeXObject){
		ajax = new activeXObject("Msxml2.XMLHTTP");
		if (!ajax){
			ajax = new activeXObject("Microsoft.XMLHTTP");
		}
	}
				
		if(ajax)//iniciou com sucesso
			iniciaRequisicao(tipo,url,assinc);
		else
			alert("Seu navegador não possui suporte a essa aplicação!");
}
//-- inicializa o objeto criado e envia dados(se existirem) -----------------------------------
function iniciaRequisicao(tipo,url,bool){
	try{
		ajax.onreadystatechange=trataResposta;
		ajax.open(tipo,url,bool);
		ajax.setRequestHeader("Content-Type","application/x-www-form-urlencode;charset=UTF-8");
		//ajax.overrideMimeType(text/XML); /*  usaso somente no mozila  */
		ajax.send(dadosUsuario);
	}
	catch(err){
		alert("O servidor não está disponivel no momento, tente mais tarde."); 
	}
}
//------inicia requisição com envio de dados --------------------------------------------------
function enviaDadosCadastro(url){
 criaQueryString();
 requisicaoHTTP("POST",url,true);	 
}
//-----cria a string a ser enviada, formato campo1=valor1&campo2=valor2.... -------------------
function criaQueryString(){
	dadosUsuario="";
	var frm = document.getElementById("formCadastro");
	var numElementos = frm.elements.length;
		for(var i = 0; i<numElementos; i++){
			if(frm.elements[i].type=="radio" && frm.elements[i].checked){
				dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&";
			}
			else if(i<numElementos-1){
				dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&";
			}
			else{
				dadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value);	
			}
		}
}
//-----trata a resposta do servidor ------------------------------------------------------------
function trataResposta(){
	try{
 		 if (ajax.readyState==1) {            
 		 	 document.getElementById("divLoading").style.visibility = "visible";         
		 }          
		 if(ajax.readyState == 4){
			 document.getElementById("divLoading").style.visibility = "hidden"; 
			 if(ajax.status == 200){
				 trataDados(); //criar essa funcao no seu programa
			 }
			 else{
					alert("Problema na comunicação com o objeto XMLHttpRequest."); 
			 }
		 }
	}
	catch(err){
		alert("O servidor não está disponivel no momento, tente mais tarde."); 
	}
}


/*---------------------------------------------------------------------------------------------
--------------------------------------BIBLIOTECA AJAX RESTRITA  */

var Ajax;
var DadosUsuario;
//---- cria o objeto e faz a requisiçao -------------------------------------------------------
function requisicaoHTTPauth(tipo,url,assinc){
	if(window.XMLHttpRequest){
		Ajax = new XMLHttpRequest();
	}
	else if(window.activeXObject){
		Ajax = new activeXObject("Msxml2.XMLHTTP");
		if (!Ajax){
			Ajax = new activeXObject("Microsoft.XMLHTTP");
		}
	}
				
		if(Ajax)//iniciou com sucesso
			iniciaRequisicaoauth(tipo,url,assinc);
		else
			alert("Seu navegador não possui suporte a essa aplicação!");
}
//-- inicializa o objeto criado e envia dados(se existirem) -----------------------------------
function iniciaRequisicaoauth(tipo,url,bool){
	try{
		Ajax.onreadystatechange=trataRespostaRestrita;
		Ajax.open(tipo,url,bool);
		Ajax.setRequestHeader("Content-Type","application/x-www-form-urlencode;charset=UTF-8");
		//ajax.overrideMimeType(text/XML); /*  usaso somente no mozila  */
		Ajax.send(DadosUsuario);
	}
	catch(err){
		alert("O servidor não está disponivel no momento, tente mais tarde."); 
	}
}
//------inicia requisição com envio de dados --------------------------------------------------
function enviaDados(url){
 criaQueryStringauth();
 requisicaoHTTPauth("GET",url,true);	 
}
//-----cria a string a ser enviada, formato campo1=valor1&campo2=valor2.... -------------------
function criaQueryStringauth(){
	DadosUsuario="";
	var frm = getElementById("Formlogsen");
	var numElementos = frm.elements.length;
	for(var i = 0; i<numElementos; i++){
		if(i<numElementos-1){
			DadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value)+"&";
		}
		else{
			DadosUsuario += frm.elements[i].name+"=" + encodeURIComponent(frm.elements[i].value);	
		}
	}
}
//-----trata a resposta do servidor ------------------------------------------------------------
function trataRespostaRestrita(){
	try{
 		 if (Ajax.readyState==1) {            
 		 	 document.getElementById("divLoadingRestrita").style.visibility = "visible";         
		 }          
		 if(Ajax.readyState == 4){
			 document.getElementById("divLoadingRestrita").style.visibility = "hidden"; 
			 if(Ajax.status == 200){
				 trataDadosRestrita(); //criar essa funcao no seu programa
			 }
			 else{
					alert("Problema na comunicação com o objeto XMLHttpRequest."); 
			 }
		 }
	}
	catch(err){
		alert("O servidor não está disponivel no momento, tente mais tarde."); 
	}
}
