// JavaScript Document

//*********** TRATAMENTO DE REQUISICAO VIA AJAX 
//*********** XML HTTP OBJECT 
function getHTTPObject() { 
var xmlhttp; 
// Internet Explorer 
try 
{ 
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
} 
catch(e) 
{ 
//alert('Não msxml2'); 
try 
{ 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
catch(oc) 
{ 
//alert('Não msXmL1'); 
xmlhttp = null; 
} 
} 
// Mozilla/Safari 
if (!xmlhttp && typeof xmlhttp != "undefined") 
{ 
xmlhttp = new XMLHttpRequest(); 
//alert(xmlhttp); 
} 
return xmlhttp; 
} 
var http = getHTTPObject(); //INSTANCIA OBJETO HTTP 


//funções para encode e decode texto...
// url_encode version 1.0 
function url_encode(str) { 
var hex_chars = "0123456789ABCDEF"; 
var noEncode = /^([a-zA-Z0-9\_\-\.])$/; 
var n, strCode, hex1, hex2, strEncode = ""; 

for(n = 0; n < str.length; n++) { 
if (noEncode.test(str.charAt(n))) { 
strEncode += str.charAt(n); 
} else { 
strCode = str.charCodeAt(n); 
hex1 = hex_chars.charAt(Math.floor(strCode / 16)); 
hex2 = hex_chars.charAt(strCode % 16); 
strEncode += "%" + (hex1 + hex2); 
} 
} 
return strEncode; 
} 

// url_decode version 1.0 
function url_decode(str) { 
var n, strCode, strDecode = ""; 

for (n = 0; n < str.length; n++) { 
if (str.charAt(n) == "%") { 
strCode = str.charAt(n + 1) + str.charAt(n + 2); 
strDecode += String.fromCharCode(parseInt(strCode, 16)); 
n += 2; 
} else { 
strDecode += str.charAt(n); 
} 
} 
return strDecode; 
} 








