function _$(id){
	if(document.getElementById){
		return document.getElementById(id);
	}
	else if(document.all){
		return document.all.id;
	}
}

function _$2(nome){
	if(document.getElementsByName){
		return document.getElementsByName(nome);
	}
	else if(document.all){
		return document.all.nome;
	}
}

function _$3(id){
	if(top.top.document.getElementById){
		return top.top.document.getElementById(id);
	}
	else if(top.top.document.all){
		return top.top.document.all.id;
	}	
}

function _$4(id){
	var objItem = _$(id);
	if(objItem)
		return objItem.value;
	else
		return '';
}

function _$5(id){
	var id = _$(id);
	if(id){
		return id.options[id.selectedIndex].value;
	}
	else{
		return '';
	}
}

function _$6(id){
	return _$3(id).value;
}

function _$7(id){
	var id = (id ? id : _$(id));
	if(id){
		if(id.outerText){
			return id.outerText;
		}
		else{
			return '';
		}
	}
}

function _$8(id){
	return _$(id).outerHTML;
}

function _$9(id){
	var id = _$(id);
	if(id){
		return id.options[id.selectedIndex];
	}
}

function createXMLHTTP(){
	if(window.ActiveXObject){
		var arrSignatures = ["MSXML2.XMLHTTP", "MSXML2.XMLHTTP.5.0", "Microsoft.XMLHTTP", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0"];
		for (var i=0; i < arrSignatures.length; i++) {
			var objRequest = null;
			try {
				objRequest = new ActiveXObject(arrSignatures[i]);
				return objRequest;
			} 
			catch (e){
			}
		}
	}
	else if(window.XMLHttpRequest){
		return new XMLHttpRequest(); 
	}
	throw new Error("Componente de Requisição XML não está instalado em seu sistema.");
}

function goAjax(url, metodo, modo, tagRetorno, tagMensagem, parametros){
	var objRetorno = null;
	var objRetornoStatus = null;
	if(tagMensagem)
		objRetornoStatus = tagMensagem;
	else
		objRetornoStatus = _$(tagMensagem);
	
	if(tagRetorno)
		objRetorno = tagRetorno;
	else
		objRetorno = _$(tagRetorno);

	if(objRetorno == 'undefined'){
		objRetorno = _$(objRetorno);
	}

	if(objRetorno != null){
		if(strStatusCarregando == ''){
			if(objRetornoStatus.innerHTML == ''){
				strStatusCarregando = '<div align="center" style="background-color: #004c90; border: solid #FFFFFF .5pt; color: #FFFFFF; width: 180px; height: 15px; padding: 7px; font-size: 12px; font-weight: bold; font-family: arial;">Aguarde, carregando...</div>';
			}
			else{
				strStatusCarregando = objRetornoStatus.innerHTML;
			}
		}
	
		objRetornoStatus.innerHTML = strStatusCarregando;
		objRetornoStatus.style.display = '';

		var xmlhttp = createXMLHTTP();
		metodo = metodo.toUpperCase();
		if(metodo == "GET") {
			xmlhttp.open("GET", url, modo);
			xmlhttp.setRequestHeader("Connection", "close");
			parametros = ""
		}
		else {
			xmlhttp.open("POST", url, modo);
			xmlhttp.setRequestHeader("Method", "POST "+ url +" HTTP/1.1");
			xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1;");
			xmlhttp.setRequestHeader("Content-length", parametros.length);
			xmlhttp.setRequestHeader("Connection", "close");
		}
		xmlhttp.onreadystatechange = function(){
			mudancaStatus();
		}
		
		function mudancaStatus(){
			var strRetorno = '';
			if(xmlhttp.readyState == '4') {
				if(xmlhttp.status == '200') {
					strRetorno = xmlhttp.responseText;
					strRetorno = strRetorno.replace(/\+/g, " ");
					strRetorno = unescape(strRetorno);
					objRetorno.innerHTML = strRetorno;
					
					if(objRetorno.id != objRetornoStatus.id){
						if(objRetorno.style){
							if(objRetorno.style.display == 'none'){
								objRetorno.style.display = '';
							}
						}
						if(objRetornoStatus != null){
							if(objRetornoStatus.style){
								objRetornoStatus.style.display = 'none';
							}
						}
					}
				}
				else{
					objRetorno.innerHTML = xmlhttp.responseText;
					if(objRetorno.style){
						if(objRetorno.style.display == 'none'){
							objRetorno.style.display = '';
						}
					}
				}
			}
		}
		
		xmlhttp.send(parametros);
	}
}

function enviaPage(url, metodo, modo, tagId, tagMensagem, parametros){
	if(metodo == 'GET'){
		goAjax(url +"?"+ parametros +"&rnd"+ Math.random(), metodo, modo, tagId, tagMensagem, parametros); 
	}
	else{
		goAjax(url +"?rnd"+ Math.random(), metodo, modo, tagId, tagMensagem, parametros); 
	}
}
var strStatusCarregando = '';
