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) {
        
		
		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) {
			   abreLoading(); //alert('carregando');
	        }
            if(ajax.readyState == 4 ) {
			   fecharLoading();  //alert(ajax.status);
			   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)
    {
		makeRequest(urlI,nomeFuncao,parametros,'text');
    }
    function getXmlAjax(urlI,nomeFuncao,parametros)
    {
    	makeRequest(urlI,nomeFuncao,parametros,'xml');
    }
    
    
//FUNÇÕES ÚTEIS
    
function mostradiv(id) 
{
 var obj = document.getElementById(id);
 obj.style.display = "inline";
}
function escondediv(id) {
 var obj = document.getElementById(id);
 obj.style.display = "none";
}	
	
function  concatenaIds(CAMPO, SEPARADOR)
{
	var arr = Array();
		var j=0
		for(var i=0;i < CAMPO.options.length;i++)
		{
			if (CAMPO.options[i].selected == true)
			{
				if (CAMPO.options[i].value > 0)
				{
					arr[j]=CAMPO.options[i].value;
					j++;
				}
						
			}
		}
		if(arr.length==1)
		return arr[0];
		
		return arr.join(SEPARADOR);
}


function limpaselect(idcampo,camposelecione)
{
	
	
	var selectdestino = o(idcampo);
	if(!selectdestino)
	alert(idcampo);
	
	while(selectdestino.options.length > 0) 
	selectdestino.options[selectdestino.options.length-1] = null;
	
	if(camposelecione=='S')
	selectdestino.options[selectdestino.options.length] = new Option('SELECIONE','');
}

function atualizaselect(lista,idcampo,camposelecione)
{
	lista = unescape(lista);
	var selectdestino = document.getElementById(idcampo);
	
  limpaselect(idcampo);
	
	if(camposelecione=='S')
	selectdestino.options[selectdestino.options.length] = new Option('SELECIONE','');
	
	
  	var regs = lista.split("|");
  	
			for(var i=0 ; i< regs.length ; i++)
			{
					var reg = regs[i].split(",");
					selectdestino.options[selectdestino.options.length] = new Option(reg[0],reg[1]);	
			}
}
