var xmlHttp
var div_ajax = "";

function conteudo(pagina, parametros)
{
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Your browser doesn't support Ajax. Mozilla Firefox is a good catch :)");
		return false;
	} 
	var url=pagina;
	var str=parametros; //separados por vírgulas, pra dar o split posteriormente
	
	if (url.indexOf("?")== -1)
	{
		url=url+"?v="+parametros;
	}else{
		url=url+"&v="+parametros;
	}
	
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function conteudoPOST(url, parametros) 
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Your browser doesn't support Ajax. Mozilla Firefox is a good catch :)");
		return false;
	}
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parametros.length);
	
	xmlHttp.send(parametros);
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		document.getElementById(div_ajax).innerHTML=xmlHttp.responseText;
	}else{
		document.getElementById(div_ajax).innerHTML="<div><p>loading...</p></div>";
	}
} 

function GetXmlHttpObject()
{
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function arrayPost()
{
	if(arrayPost.arguments.length==1)
	{
		alert("Erro: Function arrayPost() with no arguments");
		return false;
	}
	var url = arrayPost.arguments[0];
	
	//variavel que armazena os valores selecionados em um combo do tipo "select-multiple"
	var Selecionados = "";
	
	//string que sera enviada para a funcao conteudoPost
	var stringPost = "";
	
	//para o caso de formularios com envio de email, as variaveis abaixo servem para a validacao
	var arroba=0;
	var ponto=0;
	
	for (i=1;i<arrayPost.arguments.length;i++)
	{
		//para o caso de selects do tipo "multiple", precisamos pegar todos os valores selecionados
		if(document.getElementById(arrayPost.arguments[i]).type == "select-multiple")
		{
			for(a=0;a<document.getElementById(arrayPost.arguments[i]).length;a++)
			{
				if(document.getElementById(arrayPost.arguments[i]).options[a].selected==true) Selecionados = Selecionados+document.getElementById(arrayPost.arguments[i]).options[a].value+",";
			}
			Selecionados = Selecionados.substring(0,Selecionados.length-1)
			stringPost = stringPost + "&" + arrayPost.arguments[i] + "=" + encodeURI(Selecionados);
			if(Selecionados=="")
			{
				alert("There is at least one field you didn't fill");
				document.getElementById(arrayPost.arguments[i]).focus();
				return false;
			}
			Selecionados = "";				
		}
		else if((document.getElementById(arrayPost.arguments[i]).type == "checkbox") && document.getElementById(arrayPost.arguments[i]).checked == true)
		{
			stringPost = stringPost + "&" + arrayPost.arguments[i] + "=" + encodeURI(document.getElementById(arrayPost.arguments[i]).value);
		}
		else if((document.getElementById(arrayPost.arguments[i]).type == "checkbox") && document.getElementById(arrayPost.arguments[i]).checked == false)
		{
			
		}else{
			if(document.getElementById(arrayPost.arguments[i]).type != "hidden" && document.getElementById(arrayPost.arguments[i]).value == "")
			{
				alert("There is at least one field you didn't fill");
				document.getElementById(arrayPost.arguments[i]).focus();
				return false;
			}
			
			//checa o e-mail
			if(arrayPost.arguments[i].indexOf("email")!=-1)
			{
				for (b = 0; b < document.getElementById(arrayPost.arguments[i]).value.length - 1;b++)
				{
					if (document.getElementById(arrayPost.arguments[i]).value.charAt(b) == "@")
					{
						arroba = 1;
					}
					if (document.getElementById(arrayPost.arguments[i]).value.charAt(b) == ".")
					{
						ponto = 1;
					}
				}
				
				if(arroba==0 || ponto==0)
				{
					alert("Please inform a correct e-mail address");
					document.getElementById(arrayPost.arguments[i]).focus();
					return false;
				}
			}
			stringPost = stringPost + "&" + arrayPost.arguments[i] + "=" + encodeURI(document.getElementById(arrayPost.arguments[i]).value);
		}
	}
	stringPost = "?null=null" + stringPost;
	conteudoPOST(url,stringPost);
}

function pageValue(valorpost)
{
	document.getElementById("page").value = valorpost;
}
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->