/*
script desenvolvido por Luis Carlos de Brito - luis@pevermelho.art.br - e Anderson Julio de Souza - anderson.julio@ibest.com.br - 45 8814-7761 | 45 3037-3004 - Cascavel - PR

caso venha adquirir este script por outro meio senao atraves dos autores, favor manter os creditos dos criadores
este script pode ser utilizado, modificado, publicado, utilizado sem restricoes desde que mantido os credidos dos criadores

##########------- tivemos muito trabalho para fazer este funcionar, respeite nosso trabalho e conhecimento -------##########

*/
var conexoes = new Array();
var naoPermitidas='alert null undefined none';
var idx = 0;

function openAjax() {
	try	{ xmlhttp= new ActiveXObject("Msxml2.XMLHTTP");	}
	catch (e) {
		try 		{
			xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
		}catch (Ex) {xmlhttp= false; }
	}
	if(!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp= new XMLHttpRequest(); }
	return xmlhttp;
}

function ReqHeader(method, idx, url){
    conexoes[idx].open(method, url, true);
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); 
    xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); 
    xmlhttp.setRequestHeader("Pragma", "no-cache"); 
}

function Response(dv,idx){
   conexoes[idx].onreadystatechange=function() {
      if(conexoes[idx].readyState==4) {
	     if(conexoes[idx].status==200) {
		    resp=conexoes[idx].responseText;
		    switch(dv) {
		    	case 'alert':
		    		$.growlUI('',resp);
		    		break;
		    	case 'logout':
		    		window.location.reload();
		    		break;
		    	case 'walert':
		    		alert(resp);
		    		break;
		    	case 'ifn':
		    		resp!='' ? $.growlUI('',resp):false;
		    		break;
		    	case 'login':
		    		if(resp==0) $.growlUI('','Não foi possível encontrar seu cadastro.<br>Sua senha está correta?');
		    		else {/* $('#dv_area_restrita').hide();
		    			get('dv_area_restrita').innerHTML=resp;
		    			$('#dv_area_restrita').fadeIn('slow');
		    			$('.botao').button();
		    			if(get('dv_login')!='undefined') $('#dv_login').dialog('close');*/
		    			window.location.reload();
		    		}
		    		break;
		    	case 'none': break;
		    	default:
		    		$('#'+dv).hide();
		    		get(dv).innerHTML=resp;
		    		$('#'+dv).show('slow');
		    		evalJS(dv);
		    }
	     }
      }
   }
}

function get(id) { return document.getElementById(id); }
function getv(id) { return document.getElementById(id).value; }
function setv(id,val) { return document.getElementById(id).value=val; }

function loadDataAndSend(dv,form) {
	if(!get(form).elements['acao']) { alert('Seu formulário '+form+' não possui o campo acao!'); return false; }
	idx = conexoes.push(openAjax());
	idx-=1;
	URL=String.fromCharCode(99,111,110,116,101,117,100,111,46,112,104,112);
	ReqHeader('post', idx, URL); 

	if(naoPermitidas.indexOf(dv)==-1 && get(dv)!=null && get(dv)!=undefined)
		get(dv).innerHTML='<div class="_fl dv100 _ac _bold _mt30 _fs16">Aguarde, carregando...</div>'; 
	conexoes[idx].send(loadData(form));
	Response(dv,idx);
}

function loadURL(dv,dst,param) {
	idx = conexoes.push(openAjax());
	idx-=1;
	URL=String.fromCharCode(99,111,110,116,101,117,100,111,46,112,104,112);
	dst!='' ? URL=dst : false;
	ReqHeader('post', idx, URL);
	
	if(naoPermitidas.indexOf(dv)==-1 && get(dv)!=null && get(dv)!=undefined)
		get(dv).innerHTML='<div class="dv100 _ac _bold _mt30 _fs16">Aguarde, carregando...</div>'; 
	conexoes[idx].send('acao='+param);
	Response(dv,idx);
}

function evalJS(dv) {       
     var newElement = document.createElement("script");        
     var scripts = get(dv).getElementsByTagName("script");                 
     for(i=0; i < scripts.length; i++)
         newElement.text = scripts[i].innerHTML;
     get("ajaxJS").appendChild(newElement);
     $('.botao').button();
}
