var xmlhttp = null;
function cont(pagina,local,form,metodo,valor){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){
			try{
				xmlhttp = new XMLHttpRequest();
			}catch(e){
				xmlhttp = false;
			}
		}		
	}
	
	if(xmlhttp){
		var loc = document.getElementById(local);
		xmlhttp.onreadystatechange = function ()
		{
			if(xmlhttp.readyState == 1)
			{
				loc.innerHTML = '<center class="carregando"><p>&nbsp;</p>Carregando...<br><img src="imagens/loader2.gif" style="margin-top:10px;margin-bottom:50px;"></center>';
			}
			if(xmlhttp.readyState == 4){
				if(xmlhttp.status == 200){
					loc.innerHTML = xmlhttp.responseText;
				}else{
					alert('Problema:'+xmlhttp.statusText);
				}
			}
		}
	
		if(document.getElementsByName(form).length == 0 && metodo == undefined && valor == undefined)
		{
			xmlhttp.open("GET", pagina+".php");
			xmlhttp.setRequestHeader('Content-Type',"text/html; charset=iso-8859-1");
			xmlhttp.setRequestHeader('encoding', 'ISO-8859-1');
			xmlhttp.send(null);
		}
		else
		{				
			var obj=document.getElementsByName(form);
			var valores="";
			var parametro="";
				
			if(metodo == 'GET'){
				metodo = 'GET';
				pagina = pagina+".php"+valor;
				parametro='null';
			}else{
				for(i=0;i<obj[0].length;i++)
				{
					if(obj[0].elements[i].type == 'checkbox' && obj[0].elements[i].checked==true)
					{
						valores+=obj[0].elements[i].name+'='+obj[0].elements[i].value+"&";
					}
					else if(obj[0].elements[i].type != 'checkbox')
					{
						valores+=obj[0].elements[i].name+'='+obj[0].elements[i].value+"&";
					}
				}
				metodo = 'POST';
				pagina = pagina+".php";
				parametro=valores.substr(0,valores.length-1);
			}
			
			xmlhttp.open(metodo, pagina,true);
			xmlhttp.setRequestHeader('Content-Type',"application/x-www-form-urlencoded");
			xmlhttp.setRequestHeader('Content-length',valores.length);
			xmlhttp.send(parametro);
		}
	}
}

/*
getXmlHttp()
obtem o objeto xml para processar a solicita?o ajax
*/
function getXmlHttp() {
	var xmlhttp;
	try {
		xmlhttp = new XMLHttpRequest();
	} catch(ee) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

/*
postForm(nomeFormulario, localRetorno, urlLocation)
Posta um formulario ajax utilizando o metodo POST e retornando o valor em um id especifico (objeto do browser)
	nomeFormulario 	-> objeto do formulario cujo os elementos devem ser submetidos
	localRetorno 	-> objeto onde deve ser colocado o resultado do retorno do formulario
	urlLocation 	-> localiza?o do script que ira processar as informa?es e retornar o resultado
*/
function postForm(formulario, localRetorno, urlLocation) {

    var query = '';
    for( i=0; i < formulario.length; i++ )
    {
    	campo=formulario.elements[i].name;
    	valor=escape(formulario.elements[i].value);
        query = query + campo +'='+ valor +'&';
    }
	
	//urlLocation = antiCacheRand(urlLocation);
	
    var req = getXmlHttp();
	
	try {
		localRetorno.innerHTML = '<center class="carregando"><p>&nbsp;</p>Carregando...<br><img src="imagens/loader2.gif" style="margin-top:10px;margin-bottom:50px;"></center>';
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					localRetorno.innerHTML = req.responseText;
				} else {
					localRetorno.innerHTML = "Ajax: Error code " + req.status;
				}
				
			} 
		}
		
	
		req.open( 'POST', ( urlLocation ), true );
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
		req.setRequestHeader("Content-Language", "pt-br" );
		req.setRequestHeader("Content-Length", query.length );
		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		req.setRequestHeader("Pragma", "no-cache");
		req.send( query );
		return(true);
	} catch(err) {
		localRetorno.innerHTML = "<p><font color='red'>Erro Ajax!</font><br>Error description: " + err.description + "</p>";
		return(false);
	}
}



///////////////////////////////////////////////////////////////
			// FUNÇÃO DE MASCARA //
///////////////////////////////////////////////////////////////
//Mascara (só aceita numeros) coloca a mascara na digitação
function mascara(campo, mask, e){
	campo.maxLength=mask.length;
    
	var src=campo.value.length;
    var mask=mask.substr(src,1);
    
    if(window.event){//Compativel c/ IE
    	if(e.keyCode!=13 && (e.keyCode>47 && e.keyCode<58)){
	    	if(mask!='#' && src>=0){	
	        	campo.value+=mask;
	    	}
	    }else{
	    	e.keyCode=0;
	    }
    }else{//Compativel c/ Mozilla
    	if(e.which!=13 && (e.which>47 && e.which<58)){
	    	if(mask!='#' && src>=0){	
	        	campo.value+=mask;
	    	}
	    }else if((e.which>64 && e.which<91) || (e.which>96 && e.which<123)){
	    	e.preventDefault();
	    }
    }
}

function AbreJanela(arquivo, tamx, tamy)
//onde arquivo é html popUp, tamx é o tamanho horizontal em pixels e tamy tamanho vertical em pixels
{
	window.open(arquivo,"","resizable=no,toolbar=no,status=no,menubar=no,scrollbars=no,width=" + tamx + ",height=" + tamy)
}

