var lookupURL = '';
var xmlHttp;
var now = new Date();

function getXMLHTTP()
{
  var A = null;
  
  try
  {
    A = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e)
  {
    try
    {
      A = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    catch(oc)
    {
      A = null;
    }
  }
  
  if(!A && typeof XMLHttpRequest != "undefined") 
  {
    A = new XMLHttpRequest();
  }
  
  return A;
}

function doRemoteQuery (getOrPost, serverPage, action, form_name)
{
  searching = true;
  var navegador = navigator.userAgent.replace(/\)/, ";)");
  if(xmlHttp && xmlHttp.readyState != 0) 
  {
    xmlHttp.abort()
  }	  
  xmlHttp=getXMLHTTP();
  if(xmlHttp)
  {
	if (getOrPost == "GET"){	
		xmlHttp.open("GET", lookupURL + serverPage, true);
		xmlHttp.setRequestHeader("User-Agent",navegador);
		xmlHttp.onreadystatechange = function() 
	      {
		      if (xmlHttp.readyState == 4 && xmlHttp.responseText && searching) 
		      {
		      	try
		      	{
				  var htmljs = xmlHttp.responseText;

				  if(htmljs.match(/^<!\[CDATA\[/) && htmljs.match(/\]\]>$/) )
				  {
				    htmljs = htmljs.replace(/^<!\[CDATA\[/,"");
				    htmljs = htmljs.replace(/\]\]>$/, "");

				    if(action == 'eval')
			           eval(htmljs);
				    else
				  	   document.body.innerHTML = htmljs;
				  } else { 
				  	alert("Repita o procedimento, caso o problema persistir fale com o admin");
					alert(htmljs);
				  }
				
		      	}
		      	catch(e)
		      	{
		      		errorWindow=window.open("", "", "height=500, width=600,toolbar=no,scrollbars=yes,menubar=no,resizable=yes");
		      		errorWindow.document.write(xmlHttp.responseText+'Ocorreu Erro, problema de script, pois o html chegou inteiro!!!!');
		      	}
		      	searching = false;
		      }
	      }
    
	    xmlHttp.send(null);
	} else {
		var elem = document.forms[form_name];
		var params = '';
		for (var i=0; i< elem.elements.length; i++){
			if(elem[i].getAttribute("name") != "")
			{
				params = params + elem[i].getAttribute("name") + "=";
				if((elem[i].getAttribute("type") == "checkbox") || (elem[i].getAttribute("type") == "radio"))
				{
					if(elem[i].checked)	params = params + "true"; else params = params + "false";
				} else 
					params = params + encodeURI(elem[i].value);
				params =params + "&";
			}
		}

	
		xmlHttp.open("POST", lookupURL + serverPage, true);
		xmlHttp.setRequestHeader("User-Agent",navegador);
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");  

		xmlHttp.onreadystatechange = function() 
	      {
		      if (xmlHttp.readyState == 4 && xmlHttp.responseText && searching) 
		      {


				try
		      	{

				  var htmljs = xmlHttp.responseText;
				  
				  if(htmljs.match(/^<!\[CDATA\[/) && htmljs.match(/\]\]>$/) )
				  {
				    htmljs = htmljs.replace(/^<!\[CDATA\[/,"");
				    htmljs = htmljs.replace(/\]\]>$/, "");
													
				    if(action == 'eval')
			           eval(htmljs);
				    else
				  	   document.body.innerHTML = htmljs;
				  } else { alert("repita o procedimento, falha de comunicao"); }
				  

		      	}
		      	catch(e)
		      	{
		      		errorWindow=window.open("", "", "height=500, width=600,toolbar=no,scrollbars=yes,menubar=no,resizable=yes");
		      		errorWindow.document.write(htmljs+" \"erro retorno post\"");
		      	}
		      	searching = false;
		      }
	      }
    
	    xmlHttp.send(params);
	
	}
  }	  
}

//doRemoteQuery('loadjs.php?r='+now.getTime());

