// AJAX

function Trocar(sTexto,sOld,sNew){

var Resultado = sTexto;

	while (Resultado.indexOf(sOld) >= 0){
			Resultado = Resultado.replace(sOld,sNew);
	}
	
	
return Resultado;

}

//*************************************************************//
//****** 	FUNÇÃO Q MONTA O OBJETO AJAX **********************//
//*************************************************************//
function Ajax(){
	
try{
    objeto = new XMLHttpRequest();
}catch(ee){
    try{
        objeto = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            objeto = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            objeto = false;
			alert("Ocorreu um erro ao criar o AJAX!");
        }
    }
}

return objeto;

}

//*************************************************************//
//****** 	FUNÇÃO Q RECEBE OS CAMPOS DO FORMULÁRIO ***********//
//*************************************************************//
function CamposFormulario(idForm){
	var elementosFormulario = idForm.elements;
	var qtdElementos = elementosFormulario.length;
	
	var sString = '';
	
	for (i=0;i<qtdElementos;i++){
			var inptElemento = elementosFormulario[i];
			if (sString == ''){
					sString = inptElemento.name+'='+inptElemento.value;
			}else{
					sString = sString + '&' + inptElemento.name+'='+inptElemento.value
			}
	}
	
	return sString;
	
}

//*************************************************************//
//****** 	FUNÇÃO PEGA O LINK DA PÁGINA **********************//
//*************************************************************//
function UrlPagina(){
	var sUrl = window.location.href.split('/');
	var sEndereco = "";
	var iQtdTotal = sUrl.length - 1;
	
	for (i=0;i<iQtdTotal;i++){
				sEndereco = sEndereco + sUrl[i] + '/';
		}

	return sEndereco;
}

//*************************************************************//
//****** 	FUNÇÃO Q CARREGA EXECUTA AS INFORMAÇÕES DO FORM  **//
//*************************************************************//
function LinkForm(formulario,idTarget){

var xmlhttp = new Ajax();

var LinkPagina 		= formulario.action;

	if(LinkPagina.indexOf('http://')>0){
		var sEndereco 		= LinkPagina+'?'+CamposFormulario(formulario);
	}else{
		var sEndereco		= UrlPagina() + LinkPagina+'?'+CamposFormulario(formulario);
	}

	if (ValidaFormulario(formulario) == true){
	
		xmlhttp.open("GET", sEndereco,true);
		
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==1){
				if(idTarget != ''){
					document.getElementById(idTarget).innerHTML = '<div id="idCarregaPagina">Carregando...</div>';
				}else{
					MM_showHideLayers('LayerAjax','','show');
				}
				
			}
			if (xmlhttp.readyState==4){
				var sXml = xmlhttp.responseText;
					
				if (idTarget != ''){
					var idConteudo = document.getElementById(idTarget);		
					idConteudo.innerHTML = sXml;
				}else{
					
					var sAcao = sXml.substring(0,sXml.indexOf('=')).toUpperCase();
					var sRetornoPagina = sXml.substring(sXml.indexOf('=')+1,sXml.length);
				
					switch (sAcao) {
						case 'OK':
							return "Ok!";
							break;
						case 'MSG':
							alert(sRetornoPagina);
							break;
						case 'IR' :
							location.href=sRetornoPagina;
							break;
						case 'ESCREVE' :
								document.write(sRetornoPagina);
							break;
						default:
							alert("Não existe a condição retornada pela página: "+sAcao);
					}
				}	
				
			}
		}
		
		xmlhttp.send(null);
	}
	
MM_showHideLayers('LayerAjax','','hide');

return false;

}

//*************************************************************//
//****** 	FUNÇÃO Q RETORNA O VALOR DO SQL *******************//
//*************************************************************//
function sSQL(cmdSql){

var xmlhttp = new Ajax();

var sRetornoXml = "";
var RetornoFuncao = "";

xmlhttp.open("GET", UrlPagina()+"resultados.asp?cm="+cmdSql,true);
xmlhttp.onreadystatechange=function() {
	
	if (xmlhttp.readyState==1){
		MM_showHideLayers('LayerAjax','','show');
		}
	
    if (xmlhttp.readyState==4){
		var sXml = xmlhttp.responseText;
		sRetornoXml = sXml;	
    }
	
	
}

xmlhttp.send(null)

MM_showHideLayers('LayerAjax','','hide');

		if (sRetornoXml != 'nregistros'){
		
			var aLinhas = sRetornoXml.split('|linha|');
			var iTotalLinhas = aLinhas.length;
			
				if (iTotalLinhas == 1){
					RetornoFuncao = sRetornoXml;
					}
				else{
						var RetornoFuncao = new CriaArray(iTotalLinhas);
						
						for(iLinha=0;iLinha<iTotalLinhas;iLinha++){
							var aCampos = aLinhas[iLinha].split('|campo|');
							var iTotalCampos = aCampos.length;
								if (iTotalCampos == 1){
									RetornoFuncao[iLinha] = aLinhas[iLinha];
									}
								else{
									RetornoFuncao[iLinha] = new CriaArray(iTotalCampos);
										for(iCampo=0;iCampo<iTotalCampos;iCampo++){
											RetornoFuncao[iLinha][iCampo] = aCampos[iCampo];
											}
									}
							}
					}
		}else{
			RetornoFuncao = "";
			}

return RetornoFuncao;	

}


//*************************************************************//
//****** 	FUNÇÃO Q CARREGA AS PÁGINAS ***********************//
//*************************************************************//

function LinkPagina(sPagina,idTarget){
	
var xmlhttp = new Ajax();


	if(sPagina.indexOf('http://')>0){
		var sEndereco 		= sPagina;
	}else{
		var sEndereco		= UrlPagina() + sPagina;
	}

xmlhttp.open("GET", sEndereco,true);

xmlhttp.onreadystatechange=function() {
	if (xmlhttp.readyState==1){
			if(idTarget != ''){
				document.getElementById(idTarget).innerHTML = '<div id="idCarregaPagina">Carregando...</div>';
			}else{
				MM_showHideLayers('LayerAjax','','show');
			}
		}
    if (xmlhttp.readyState==4){
		var sXml = xmlhttp.responseText;
	
		if (idTarget != ''){
			var idConteudo = document.getElementById(idTarget);		
			idConteudo.innerHTML = sXml;
		}else{
			
			var sAcao = sXml.substring(0,sXml.indexOf('=')).toUpperCase();
			var sRetornoPagina = sXml.substring(sXml.indexOf('=')+1,sXml.length);
		
			switch (sAcao) {
				case 'OK':
					return "Ok!";
					break;
				case 'MSG':
					alert(sRetornoPagina);
					break;
				case 'IR' :
					location.href=sRetornoPagina;
					break;
				case 'ESCREVE' :
						document.write(sRetornoPagina);
					break;
				default:
					alert("Não existe a condição retornada pela página: "+sAcao);
			}
		}
		
		
    }
}

xmlhttp.send(null);

MM_showHideLayers('LayerAjax','','hide');

return false;
	
}


//***************************************************//
//******** função que valida o formulário ***********//
//***************************************************//
function ValidaFormulario(formulario){

	var ElementosFormulario = formulario.elements;
	var NomeFormulario = formulario.name;
	var ConfigFormulario = 'forms/'+NomeFormulario+'.xml';
	var bResultado = true;

	var xmlhttp = new Ajax();

	xmlhttp.open("GET", ConfigFormulario,true);
	xmlhttp.onreadystatechange=function() {
	
		if (xmlhttp.readyState==1){
			MM_showHideLayers('LayerAjax','','show');
			}
	
		if (xmlhttp.readyState==4){
			if(xmlhttp.status == '200'){
				var sXml = xmlhttp.responseXML;
				var campos = sXml.getElementsByTagName('campos');
				if (campos.length == 0) {
					bResultado = true;
				}
				
				for (var i = 0; i < campos.length; i++) {
					var nomeCampo = campos[i].getElementsByTagName('campo')[0].firstChild.nodeValue;
					var msgCampo = campos[i].getElementsByTagName('msg')[0].firstChild.nodeValue;
					var CampoFormulario = eval('formulario.'+nomeCampo);
					if(CampoFormulario.value == ''){
						alert(msgCampo);
						CampoFormulario.focus();
						bResultado = false;
						break;
						}
				}
			}else{
				bResultado = true;
				}
			
		}
	

	
	}

xmlhttp.send(null);

return bResultado;
	
}

//****************************************************************************//
//******** função que carrega os campos obrigatórios do formulário ***********//
//****************************************************************************//
function CarregaForms(){
	
var aForms = CarregaForms.arguments;

var Aviso = document.getElementById('avisoform');

if (Aviso != null){
	Aviso.innerHTML = 'Os campos marcados em <font color="red">vermelho</font> são obrigatórios';
	}

for(f=0;f<aForms.length;f++){
	var formulario = eval('document.'+aForms[f]);
	var ElementosFormulario = formulario.elements;
	var NomeFormulario = formulario.name;
	var ConfigFormulario = 'forms/'+NomeFormulario+'.xml';
	var xmlhttp = new Ajax();

	xmlhttp.open("GET", ConfigFormulario,true);
	xmlhttp.onreadystatechange=function() {
	
		if (xmlhttp.readyState==1){
			MM_showHideLayers('LayerAjax','','show');
			}
	
		if (xmlhttp.readyState==4){
			if(xmlhttp.status == '200'){
				var sXml = xmlhttp.responseXML;
				var campos = sXml.getElementsByTagName('campos');			
				for (var i = 0; i < campos.length; i++) {
					var nomeCampo = campos[i].getElementsByTagName('campo')[0].firstChild.nodeValue;
					document.getElementById(nomeCampo).className = 'obrigatorio';
				}
			}
			
		}
	}	

xmlhttp.send(null);
	
}

}
