function gebi(id) {
  return document.getElementById(id);
}

function XMLHTTPRequest() {
  try {
    return new XMLHttpRequest();
  } catch(ee) {
    try {
      return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        return new ActiveXObject("Microsoft.XMLHTTP");
      } catch(E) {
        return false;
      }
    }
  }
}

function calcForm(acao){
	
	var frm_elements = gebi('frm_irenda').elements;
	var qtdElementos = frm_elements.length;
	
	
	
	for (var i = 0; i< qtdElementos; i++){
		frm_elements[i].readOnly = acao;
	}
	
	if(acao){
	
		var ajax = XMLHTTPRequest();
		
		ajax.open("POST", "irenda/result_irenda.php", true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send(BuscaElementosForm("frm_irenda"));
		
		ajax.onreadystatechange = function() {
			if(ajax.readyState==4){
				var r = ajax.responseText, ttAplAno, i=0;
				
				gebi('evlPatri1').style.display = 'inline';
				gebi('result_evlPatri1').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
							
				r = r.substring(++i);
				gebi('evlPatri2').style.display = 'inline';
				gebi('result_evlPatri2').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				r = r.substring(++i);
				ttAplAno = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				gebi('ttAplAno').style.display = 'inline';
				gebi('result_ttAplAno').innerHTML = ttAplAno;
				
				r = r.substring(++i);
				gebi('ttGanhosLiq').style.display = 'inline';
				gebi('result_ttGanhosLiq').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				r = r.substring(++i);
				gebi('subtotal').style.display = 'inline';
				gebi('result_subtotal').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				r = r.substring(++i);
				gebi('ttGanhos').style.display = 'inline';
				gebi('result_ttGanhos').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				gebi('ttUsos').style.display = 'inline';
				gebi('result_ttUsos').innerHTML = ttAplAno;
				
				r = r.substring(++i);
				gebi('vlTributado').style.display = 'inline';
				gebi('result_vlTributado').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				r = r.substring(++i);
				gebi('gastoMedio').style.display = 'inline';
				gebi('result_gastoMedio').innerHTML = 'R$ ' + r.substring(0, (i = r.indexOf('|')));
				
				r = r.substring(++i);
				gebi('msg').style.display = 'block';
				gebi('msg').innerHTML = r.substring(0, (i = r.indexOf('|')));
			}
		};
		
		gebi('btCalcula').value = "Limpar";
		gebi('btCalcula').onclick = function(){calcForm(false);};
		
	}else{
		
		for (var i = 0; i< qtdElementos; i++){
			if(frm_elements[i].type=="text"){
				frm_elements[i].value = "";
			}
		}
		
		gebi('evlPatri1').style.display = 'none';
		gebi('evlPatri2').style.display = 'none';
		gebi('ttAplAno').style.display = 'none';
		gebi('ttGanhosLiq').style.display = 'none';
		gebi('subtotal').style.display = 'none';
		gebi('ttGanhos').style.display = 'none';
		gebi('ttUsos').style.display = 'none';
		gebi('vlTributado').style.display = 'none';
		gebi('gastoMedio').style.display = 'none';
		gebi('msg').style.display = 'none';
		gebi('msg').innerHTML = '';
		gebi('btCalcula').value = "Calcular";
		gebi('btCalcula').onclick = function(){calcForm(true);};
	}
	
}

function BuscaElementosForm(idForm) {
    var elementosFormulario = gebi(idForm).elements;
    var qtdElementos = elementosFormulario.length;
    var queryString = "";
    var elemento;

    //Cria uma funcao interna para concatenar os elementos do form
    this.ConcatenaElemento = function(nome,valor) {
                                if (queryString.length > 0) {
                                    queryString += "&";
                                }
                                queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
                             };

    //Loop para percorrer todos os elementos
    for (var i = 0; i < qtdElementos; i++) {
        //Pega o elemento
        elemento = elementosFormulario[i];
        if (!elemento.disabled) {
            //Trabalha com o elemento caso ele nao esteja desabilitado
            switch(elemento.type) {
                //Realiza a acao dependendo do tipo de elemento
                case 'text': case 'password': case 'hidden': case 'textarea':
					this.ConcatenaElemento(elemento.name,elemento.value);
                    break;
                case 'select-one':
                    if (elemento.selectedIndex>=0) {
                        this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
                    }
                    break;
                case 'select-multiple':
                    for (var j = 0; j < elemento.options.length; j++) {
                        if (elemento.options[j].selected) {
                            this.ConcatenaElemento(elemento.name,elemento.options[j].value);
                        }
                    }
                    break;
                case 'checkbox': case 'radio':
                    if (elemento.checked) {
                        this.ConcatenaElemento(elemento.name,elemento.value);
                    }
                    break;
            }
        }
    }
    return queryString;
}
