/*
antiCacheRand
*/
function antiCacheRand(aurl){
	var dt = new Date();
	if(aurl.indexOf("?")>=0) {// já tem parametros
		return aurl + "&anticache=" + encodeURI(Math.random() + "_" + dt.getTime());
	} else { 
		return aurl + "?anticache=" + encodeURI(Math.random() + "_" + dt.getTime());
	}
}


/*
getXmlHttp()
obtem o objeto xml para processar a solicita�o ajax
*/
function getXmlHttp() {
	var xmlhttp;
	try {
		xmlhttp = new XMLHttpRequest();
	} catch(ee) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

/*
postForm(nomeFormulario, localRetorno, urlLocation)
Posta um formulario ajax utilizando o metodo POST e retornando o valor em um id especifico (objeto do browser)
	nomeFormulario 	-> objeto do formulario cujo os elementos devem ser submetidos
	localRetorno 	-> objeto onde deve ser colocado o resultado do retorno do formulario
	urlLocation 	-> localiza�o do script que ira processar as informa�es e retornar o resultado
*/
function postForm(formulario, localRetorno, urlLocation) {

    var query = '';
    for( i=0; i < formulario.length; i++ )
    {
    	campo=formulario.elements[i].name;
    	valor=escape(formulario.elements[i].value);
        query = query + campo +'='+ valor +'&';
    }
	
	//urlLocation = antiCacheRand(urlLocation);
	
    var req = getXmlHttp();
	
	try {
		localRetorno.innerHTML = "<p><font color='red'>Aguarde...</font></p>";
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					localRetorno.innerHTML = req.responseText;
				} else {
					localRetorno.innerHTML = "Ajax: Error code " + req.status;
				}
				
			} 
		}
		
	
		req.open( 'POST', ( urlLocation ), true );
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-Language", "pt-br" );
		req.setRequestHeader("Content-Length", query.length );
		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		req.setRequestHeader("Pragma", "no-cache");
		req.send( query );
		return(true);
	} catch(err) {
		localRetorno.innerHTML = "<p><font color='red'>Erro Ajax!</font><br>Error description: " + err.description + "</p>";
		return(false);
	}
}

function postValor(valorPostar, localRetorno, urlLocation) {
	var query = valorPostar;
	
	// var url = urlLocation + '?' + query;
	// url = antiCacheRand(url);
	//alert(urlLocation + ' ' + query);
	var req = getXmlHttp();
	
	try {
	    
		localRetorno.innerHTML = "<p><font color='red'>Aguarde...</font></p>";
	
		req.onreadystatechange = function() {
			if( req.readyState == 4 )
			{
				if (req.status == 200) {
					// alert(req.responseText);
					localRetorno.innerHTML = req.responseText;

				} else {
					localRetorno.innerHTML = "Ajax: Error code " + req.status;
				}
				
			} else {
				// alert(req.readyState);
			}
		}
	
		req.open( 'POST', urlLocation, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-Language", "pt-br" );
		req.setRequestHeader('Cache-Control', 'no-store, no-cache, must-revalidate');
		req.setRequestHeader('Cache-Control', 'post-check=0, pre-check=0');
		req.setRequestHeader('Pragma', 'no-cache');
		req.setRequestHeader('Content-Length', query.length);
		req.send(query);
	} catch(err){
		localRetorno.innerHTML = "<p><font color='red'>Erro Ajax!</font><br>Error description: " + err.description + "</p>";
	}	
}


function postForm2(formulario, localRetorno, urlLocation, funcao) {

    var query = '';
    for( i=0; i < formulario.length; i++ )
    {
        query = query + formulario.elements[i].name +'='+ escape(formulario.elements[i].value) +'&';
    }
	
	//urlLocation = antiCacheRand(urlLocation);
	
    var req = getXmlHttp();
	
	try {
		localRetorno.innerHTML = "<p><font color='red'>Aguarde...</font></p>";
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					localRetorno.innerHTML = req.responseText;
				} else {
					localRetorno.innerHTML = "Ajax: Error code " + req.status;
				}
				
				eval(funcao);
			} 
		}
		
		

		req.open( 'POST', ( urlLocation ), true );
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-Language", "pt-br" );
		req.setRequestHeader("Content-Length", query.length );
		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		req.setRequestHeader("Pragma", "no-cache");
		req.send( query );
		return(true);
	} catch(err) {
		localRetorno.innerHTML = "<p><font color='red'>Erro Ajax!</font><br>Error description: " + err.description + "</p>";
		return(false);
	}
}

function postValor2(valorPostar, localRetorno, urlLocation, funcao) {
	var query = valorPostar;
	
	// var url = urlLocation + '?' + query;
	// url = antiCacheRand(url);
	//alert(urlLocation + ' ' + query);
	var req = getXmlHttp();
	
	try {
	    
		localRetorno.innerHTML = "<p><font color='red'>Aguarde...</font></p>";
	
		req.onreadystatechange = function() {
			if( req.readyState == 4 )
			{
				if (req.status == 200) {
					// alert(req.responseText);
					localRetorno.innerHTML = req.responseText;

				} else {
					localRetorno.innerHTML = "Ajax: Error code " + req.status;
				}
				
				eval(funcao);
				
			} 
		}
	
		req.open( 'POST', urlLocation, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-Language", "pt-br" );
		req.setRequestHeader('Cache-Control', 'no-store, no-cache, must-revalidate');
		req.setRequestHeader('Cache-Control', 'post-check=0, pre-check=0');
		req.setRequestHeader('Pragma', 'no-cache');
		req.setRequestHeader('Content-Length', query.length);
		req.send(query);
	} catch(err){
		localRetorno.innerHTML = "<p><font color='red'>Erro Ajax!</font><br>Error description: " + err.description + "</p>";
	}	
}


