// JavaScript Document
/*
1. frmNome - Nome do formulário
2. url - arquivo para onde será enviado o POST
3. destino (opcional) - conteiner para onde ira a resposta
vinda do arquivo "url"
*/
function enviaAjax(frmNome, url, destino){
	f = document.getElementById(frmNome);
	query="";
	j=0;
	for(i=0;i<f.elements.length;i++){
		if((f.elements[i].type=='radio' || f.elements[i].type=='checkbox' )&& !(f.elements[i].checked)){
			f.elements[i].value='';
			
			if(f.elements[i].value!=''){
				query += j==0 ? '' : '&';
				query += f.elements[i].name + '=' + f.elements[i].value;
				j++;
			}
		}
		else
		{
			query += j==0 ? '' : '&';
			query += f.elements[i].name + '=' + f.elements[i].value;
			j++;
		}
	}
	//chama a função postajax() para enviar os dados
	//ao arquivo .php que fará o processamento
	postajax(url, query, destino);
}

function postajax(url, query, destino){
    var status = false;
    var tipo_conteudo = "application/x-www-form-urlencoded; charset=UTF-8";
	
	if(typeof destino !=='undefined')
		div_resposta = document.getElementById(destino);

    // Tenta criar objeto XMLHttpRequest NATIVO
    if (window.XMLHttpRequest) {
        requisicao = new XMLHttpRequest();
		requisicao.onreadystatechange=function(){
			if(requisicao.readyState==4){
				if(typeof destino !=='undefined'){
					//Aqui vai o processamento a ser feito
					//quando o arquivo .php retornar o resultado
					/*
						Recebe a resposta e coloca ela no conteiner
						pêgo pela variável "destino"
					*/
					texto=unescape(requisicao.responseText.replace(/\+/g," "));
					div_resposta.innerHTML=texto;
					div_resposta.style.visibility="visible";
					//exibe mensagem de sucesso na tela
					
				}
			}
		}
		//Abre a conexão
		requisicao.open("post", url, true);
		//Envia os cabeçalhos
		requisicao.setRequestHeader("Content-Type", tipo_conteudo);
		//Envia a requisicao
		requisicao.send(query);
		//Status da requisicao
		status = true;
    } //Senão, tenta criar objeto XMLHttpRequest ActiveX (Internet Explorer)
	else if (window.ActiveXObject){
        requisicao = new ActiveXObject("Microsoft.XMLHTTP");
        if (requisicao){
            requisicao.onreadystatechange=function(){
				if(requisicao.readyState==4){
					if(typeof destino !='undefined'){
						//Aqui vai o processamento a ser feito
						//quando o arquivo .php retornar o resultado
						/*
							Recebe a resposta e coloca ela no conteiner
							pêgo pela variável "destino"
						*/
						texto=unescape(requisicao.responseText.replace(/\+/g," "));
						div_resposta.innerHTML=texto;
						div_resposta.style.visibility="visible";
						//exibe mensagem de sucesso na tela
						
					}
				}
			}
			//Abre a conexão
            requisicao.open("post", url, true);
			//Envia os cabeçalhos
            requisicao.setRequestHeader("Content-Type", tipo_conteudo);
			//Envia a requisicao
            requisicao.send(query);
			//Status da requisicao
            status = true;
        }
    }

    return status;
}
