var x=1;
var metodo;
var mostrar;
metodo="POST";

function $(obj)
{
 alert(document.getElementById(obj).innerHTML);
 //return(document.getElementById(obj));
 //return document.getElementById(obj)
}  

function enviaform(f,destino,evaljs)
{
 evaljs=(evaljs==undefined)?false:evaljs;
 url=f.action;
 //f = document.getElementById(frmNome);
 query=formFields(f);
 ajaxHTML(destino,url+query,evaljs);
}

function enviaform2(f,destino,evaljs)
{
 evaljs=(evaljs==undefined)?false:evaljs;
 url=f.action;
 //f = document.getElementById(frmNome);
 query=formFields(f,f.length);
 ajaxHTML2(destino,url+query,'Processando...',evaljs);
}

function formFields(oForm,oFormLen)
{
 var aParams = new Array(); // cria o array e entra em loop percorrendo todo o form
 oFormLen=(oForm.length=="")?oFormLen:oForm.length;
 //alert(oForm.length);
 for (var i=0 ; i<oForm.length; i++)
 {
  // se o campo for checkbox ou radio e não estiver checado elimina qualquer valor que o campo contenha tipo "ON" que o navegador coloca automaticamente em checkbox
  if (oForm[i].type =='checkbox' && !(oForm[i].checked))
  oForm[i].value = '';
  else if (oForm[i].type =='radio' && !(oForm[i].checked))
  oForm[i].value = '';
  // se o campo apontado pelo loop não for vazio, ele coloca no array o nome do campo e o valor
  if (oForm[i].value != '')
  {
   var sParam = oForm[i].name + '=' + oForm[i].value;
   aParams.push(sParam);
  }
 }
 //alert(aParams); // chegando os parametros que retornarao para a funcao de chamada
 return aParams.join("&"); // coloca o "&" separando cada campo
}

function ajaxHTML(div,url,evaljs)
{
 evaljs=(evaljs==undefined)?false:evaljs;
 document.getElementById(div).innerHTML="<table width='90%' height='90%'><tr valign='middle'><td align='center'><img src='ajax.gif' /></td></tr></table>";
 ajax(div,url,evaljs);
}

function ajaxHTML2(div,url,inner,evaljs)
{
 evaljs=(evaljs==undefined)?false:evaljs;
 if(inner!="")
 {
  document.getElementById(div).innerHTML=inner;
 }
 ajax(div,url,evaljs);
}

function ajax(div,url,evaljs)
{
 evaljs=(evaljs==undefined)?false:evaljs;
 if(metodo == "GET")
 {
  eval("http"+x+" = new createRequestObject();");
  eval("http"+x+".open('GET', url);");
  eval("http"+x+".onreadystatechange = onreadystatechange(http"+x+",div,evaljs);");
  eval("http"+x+".send(null);");
 }
 else
 {
  eval("http"+x+" = new createRequestObject();");
  eval("http"+x+".open('POST', url);");
  eval("http"+x+".onreadystatechange = onreadystatechange(http"+x+",div,evaljs);");
  eval("http"+x+".setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');");
  eval("http"+x+".setRequestHeader('Cache-Control', 'no-store, no-cache, must-revalidate');");
  eval("http"+x+".setRequestHeader('Cache-Control', 'post-check=0, pre-check=0');");
  eval("http"+x+".setRequestHeader('Pragma', 'no-cache');");
  eval("http"+x+".send(url);");
 }
 x++;
}

function onreadystatechange(http,divDiag,evaljs)
{
 return function ()
 {
  if(http.readyState==4 && evaljs==false)
  {
   if(document.getElementById(divDiag).innerHTML != http.responseText)
   {
    document.getElementById(divDiag).innerHTML = http.responseText;
   }
  }
  else if(http.readyState==4)
  {
   document.getElementById(divDiag).innerHTML = "";
   eval(http.responseText);
  }
 }
}

function createRequestObject()
{
 var ro;
 var browser = navigator.appName;
 if(browser == "Microsoft Internet Explorer")
 {
  ro = new ActiveXObject("Microsoft.XMLHTTP");
 }
 else
 {
  ro = new XMLHttpRequest();
 }
 return ro;
}