function URLEncode (clearString) {
	
  var output = '';
  var x = 0;
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}
function makeRequest(url,nomefuncao,parametros,tiporetorno,name) {

		var ajax = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            ajax = new XMLHttpRequest();
        } else if (window.ActiveXObject) { // IE
            try {
                ajax = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ajax = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
		
        if (!ajax) {
            alert('ERRO1.');
            return false;
        }
        ajax.open('GET', url, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		ajax.onreadystatechange = function() 
		{
            //enquanto estiver processando...emite a msg de carregando
			if(ajax.readyState == 1) 
			{
			   $("#loading_"+name).fadeIn("fast");
			   //o("loading_"+name).innerHTML="<img src='img/load.gif' width='16' height='16' alt='enviando' />";
	        }
            if(ajax.readyState == 4) 
			{
			   $("#loading_"+name).fadeOut("fast");
			   if (ajax.status == 200) 
				{	
					if(parametros=="")
					parametros = "''";
					
					//TESTA TIPO DE RETORNO
					if(tiporetorno == 'text')
							retorno = ajax.responseText;
					else
							retorno = ajax.responseXML;
				 
							param = ","+parametros;  
							
					//alert(ajax.responseText);
					//CHAMA FUNÇÃO
					if(nomefuncao!="")
					{
						if(tiporetorno == 'text')
						eval(nomefuncao + "('" + escape(retorno) +"' "+param+");");
						else
						eval(nomefuncao + "(retorno"+param+");");
					}
					   
				} else {
					alert('Erro de conexão!.\n Favor avisar o Administrador do site.');
				}
            }
        }
		
       ajax.send(null);
    }

    function getAjax(urlI,nomeFuncao,parametros,name)
    {
		makeRequest(urlI,nomeFuncao,parametros,'text',name);
    }
    function getXmlAjax(urlI,nomeFuncao,parametros,name)
    {
    	makeRequest(urlI,nomeFuncao,parametros,'xml',name);
    }
    
    

