var msgRetorno = Array();
msgRetorno[0] = '<b style="color:#FF0000;">Erro!</b>';
msgRetorno[1] = '<b style="color:#027b46;">Inserindo dados... Aguarde!</b>';
msgRetorno[2] = '<b style="color:#0000FC;">Dados j&aacute; existentes...</b>';
msgRetorno[3] = '<b style="color:#FF000C;">Removendo dados... Aguarde!</b>';
msgRetorno[4] = '<b style="color:#2500FC;">Alterando dados... Aguarde!</b>'
msgRetorno[5] = '<b style="color:#2500FC;">Falha na alteracao dos dados...</b>'

function openAjax() {
	var ajax;
	try{
	    ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}catch(ee){
	    try{
	        ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
	    }catch(e){
	        try{
	            ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
	        }catch(E){
	            ajax = false;
	        }
	    }
	}
	return ajax;
}

/**
 * Function que executa comandos JavaScript retornados
 * pelo responseText do Ajax
 * @author Ronaldo Lidio
 * @since 2008
 */
var retornoJs = "";
function delimitador(texto){
retornoJs="try{"
	while(texto.indexOf("%js")!=-1){
		var inicio = texto.indexOf("%js");
		var fim  = texto.indexOf("js%");
		var js="";	
			if(inicio>=0){
				for(var i=(inicio+3);i<fim;i++){
					js=js+texto.charAt(i);
				}
				retornoJs = retornoJs+js;
			}
		
		texto=texto.replace(js,"");
		texto=texto.replace("%js","");
		texto=texto.replace("js%","");
	}

	retornoJs = retornoJs+"}catch(e){alert(e);}";
	eval(retornoJs);
	return texto;
}

function metodosRequest(tipo, base, pagina, parametros, funcXML, funcXmlReturn){
	var ajax = new openAjax();
	
	/*
	if(parametros){
		var parametros = parametros.toLowerCase();
	}
	*/
	parametros = "cache=" + Math.ceil(Math.random() * 100000) + "&" + (parametros != null ? parametros : '');
	
	base != null ? base = document.getElementById(base) : base = document.createElement('div');
	
	tipo = tipo.toUpperCase();
	
	if(tipo == 'POST'){
		ajax.open("POST", pagina, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		ajax.send(parametros);
	}else if(tipo == 'GET'){
		ajax.open("GET", pagina + "?" + parametros, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		ajax.send(null);
	}
	
	
	if (ajax.readyState == 1) {
		if(base){
			base.innerHTML = 'Aguarde...';
		}
	}
	
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4 && ajax.status == 200) {
	        var response = ajax.responseText;
			if (funcXML == null) {
				if (response.indexOf("%js") != -1) {
					base.innerHTML = delimitador(response);
				}
				else {
					if (!msgRetorno[response]) {
						base.innerHTML = response;
					}
					else {
						base.innerHTML = msgRetorno[response];
					}
					if (response == 1 || response == 4 || response == 3) {
						var time = setTimeout(function(){
							if (document.forms[0]) 
								document.forms[0].reset();
							base.innerHTML = '';
						},2000);
					}
				}
			}
			else {
				var xml = ajax.responseXML;
				if (funcXmlReturn) 
					funcXML(xml, funcXmlReturn);
					else
						funcXML(xml);
			}
		}
		/*
		var t = setTimeout(function(){
			base.innerHTML = ''
		}, 3000);
		*/
	}
}



function carregaPagina(pagina, base){
	var ajax = new openAjax();
	parametros = "pagina=ok";
	ajax.open("POST", pagina, true);
	ajax.send(parametros);

	if (ajax.readyState == 1) {
		//document.getElementById(base).innerHTML = '<p align="center" style="font:icon">Aguarde<br>Carregando a p&aacute;gina...</p>';
	}
	ajax.onreadystatechange = function(){
		if (ajax.readyState == 4 && ajax.status == 200) {
			if (ajax.responseText) {
				//document.getElementById(base).innerHTML = ajax.responseText;
				objMsg = setTimeout(function() {
					document.getElementById(base).innerHTML = delimitador(ajax.responseText);
				}, 0);
			}
			else 
				if (ajax.readyState == 404) {
					document.getElementById(base).innerHTML = '<p align="center">P&aacute;gina n&atilde;o encontrada...</p>';
				}
				else {
					//document.getElementById(base).innerHTML = ajax.responseText;
					
					objMsg = setTimeout(function() {
						document.getElementById(base).innerHTML = delimitador(ajax.responseText);
					}, 0);	
				}
		}
	}
}
