/*
*	Script:	AJAX MODELO IDEAL
*	Autor:	Matheus Biagini de Lima Dias
*	Data:	13/05/2008
*	Obs:	Padrao MVC
*/


/*INICIA E DIZ QUEM O AJAX DEVE USAR COMO TRATAMENTO DO NAVEGADOR()*/
function IniciaAjax() {
			var Ajax;
			try{
				Ajax = new XMLHttpRequest(); 
			}catch(ee){
				try{
					Ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
				}catch(e){
					try{
						Ajax = new ActiveXObject("Microsoft.XMLHTTP");
					}catch(E){
						Ajax = false;
					}
				}
			}
			return Ajax;
}

/*POPULA MINHA QUERYSTRING CRIANDO UMA HASHTABLE PARA SER USADO PELO AJAX SEND*/
function PopulaObjetoAjax(objeto){
			var f = objeto;
			//var f = document.getElementById('Formulario');
			var query = '';
			for (i=0;i<f.elements.length;i++){
				  if( f.elements[i].type != 'button' && f.elements[i].type != 'submit' ){ 				
						 // se for a primeira variavel adiciona o "?" senao adiciona "&"
						 query += i==0 ? '?' : '&';
						 query += f.elements[i].name + "=" + f.elements[i].value;
				  }
			 }
			 return query;
		
}

/*MILAGROSA FUNÇÃO DO AJAX*/
function AjaxEnvia(method,obj,url,div,carregar){
	   //alert(url);
	   var total = 200; // numro max do num aleatorio
	   var numero = Math.floor(Math.random() * total); // gera o numero aleatorio
	   url = url+'&noCacheId='+numero;
	   var Ajax = IniciaAjax();
	   QueryString = PopulaObjetoAjax(obj);
	   
	   Ajax.onreadystatechange = function () {
			
			if(carregar == true){  
					if (Ajax.readyState == 1) {
						document.getElementById(div).innerHTML = "Aguarde carregando...";
					}
					
			}	
			if (Ajax.readyState == 4) {
					document.getElementById(div).innerHTML = "";
					if (Ajax.status == 200) {
						//alert(Ajax.responseText);
						result = Ajax.responseText;
						Xuxa = result.length;
						document.getElementById(div).innerHTML = result;
					
					} else {
						alert('Problema na requisicao.');
					}
		   }
	   }
	   /*ESCOLHA DO METODO A SER USADO*/
	   if(method == 'POST' || method == 'post'){
		  Ajax.open("POST", url, true);
	   }else{
		  Ajax.open("GET", url, true);		   
	   }
	   //Ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	   //Ajax.setRequestHeader("Charset", "ISO-8859-1"); 
	   Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
	   Ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	   Ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	   Ajax.setRequestHeader("Pragma", "no-cache");
	   Ajax.setRequestHeader("Content-length", QueryString.length);
	   Ajax.setRequestHeader("Connection", "close");
	   Ajax.send(QueryString);
	  
	   
		   
}
