// falta documentar o que cada função faz, aonde, etc
var fin={};
var modFinanOk={};
var modFinan={};
var selFinan;
var topFinan;
var ordAtual=null;
var ascAtual=false;
var arq='/ajax_finan.php';
var logging=true;
var logStack=new Array();
var waiting=false;
var sym;
var valImAtual='';
var valFinAtual='';
var valPercAtual='';
var viaAjax=true;
var lastSymParams='';
var sipeNome=null;
var codigoSimu=null;
var preSel=null;

// mauro
var grayedOut = {};
var trSimus = {};
var imgTROn = '/appimg/elipse_on.png'
var imgTROff = '/appimg/elipse_off.png'
var layoutPos = false;
var panelFormClosed = false;
var panelResultClosed = false;
var panelSimuClosed = true;
var panelMapClosed = true;
var colsHidden = new Array();
var panelTboxCols = false;
var arrPanels = new Array('divBox','panel-user','panel-prop');
var DfSSFechado = true; // para mostrar ou não o formulário de salvar simulação
var winModal;
var tituloPadraoSimulacao = 'Meus planos selecionados';
var trAtu = null;
var aTRid = null;
var detUmaLinha = false;
var arrLifis = new Array();
//var coddet = 0;
var simusAlteradas=true;
var propsAlteradas=true;
var cadAlterado=true;
var panelModal=null;
function saveSimCookie(){
	var sym=getValsFin();
	if (sym.usim!='' && sym.coim!='' && sym.valIm!=null && sym.idadeSeg!=null){
		if (sym.renda!=null || ((sym.valFin!=0 || sym.percFin!=null) && sym.mesesFin!=null)){
			var d = new Date();
			var p = '/';
			d.setDate(d.getDate()+365);
			setCookiePair('meta', sym.meta, d, p);
			setCookiePair('usim', sym.usim, d, p);
			setCookiePair('coim', sym.coim, d, p);
			setCookiePair('idadeSeg', sym.idadeSeg, d, p);
			if (sym.meta=='renda'){
				setCookiePair('rendaTotal', sym.renda, d, p);
				setCookiePair('idadeSegRenda', sym.idadeSeg, d, p);
			}else{
				setCookiePair('valIm', sym.valIm, d, p);
				setCookiePair('valFin', sym.valFin, d, p);
				setCookiePair('percFin', sym.percFin, d, p);
				setCookiePair('mesesFin', sym.mesesFin, d, p);
				setCookiePair('idadeSegParc', sym.idadeSeg, d, p);
			}
		}
	}
}
function loadValsFromCookie(){
	var usim=readCookieVal('usim');
	var coim=readCookieVal('coim');
	var valIm=readCookieVal('valIm');
	var idadeSeg=readCookieVal('idadeSeg');
	var idadeSegRenda=readCookieVal('idadeSegRenda');
	var idadeSegParc=readCookieVal('idadeSegParc');
	var renda=readCookieVal('renda');
	var valFin=readCookieVal('valFin');
	var percFin=readCookieVal('percFin');
	var mesesFin=readCookieVal('mesesFin');
	var meta=readCookieVal('meta');
	if (usim) $('usim').setValue(usim);
	if (coim) $('coim').setValue(coim);
	if (idadeSeg) $('idadeSeg').setValue(idadeSeg);
	if (meta=='renda'){
		$('rbMetaValorRenda').checked=true;
		setFormMeta('renda');
		if ($('rendaTotal') && renda) $('rendaTotal').setValue(renda);
		if (idadeSegRenda) $('idadeSeg').setValue(idadeSegRenda);
	}else{
		//if (meta=='taxaparc') $('rbMetaMenorParc').checked=true; else $('rbMetaMenorTaxa').checked=true;
		$('rbMetaMenorParc').checked=true;
		setFormMeta('taxaparc');
		if (valIm) $('valIm').setValue(valIm);
		if (valFin) $('valFin').setValue(valFin);
		if (percFin) $('percFin').setValue(percFin);
		if (mesesFin) $('mesesFin').setValue(mesesFin);
		if (idadeSegParc) $('idadeSeg').setValue(idadeSegParc);
	}
}
function readCookieVal(nome){
	var nameEQ = nome + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function setCookiePair(name, value, expires, path, domain, secure){
  document.cookie = escape(name) + '=' + escape(value)
    + (expires ? '; EXPIRES=' + expires.toGMTString() : '')
    + (path ? '; PATH=' + path : '')
    + (domain ? '; DOMAIN=' + domain : '')
    + (secure ? '; SECURE' : '');
}
function cospeMarcaModal_deprecada(titlecab){
	if(!titlecab) titlecab='financiamento.com.br';
	var himg = '<div id="div-cab"><div id="div-title-cab">'+titlecab+'</div></div>';
	return himg;
}
function inicializa(){
	if (origOnLoad) origOnLoad();
	var tooif=typeof(onInitFuncs);
	if (tooif!='undefined'){
		for (var i=0; i<onInitFuncs.length; i++){
			onInitFuncs[i]();
		}
	}
	var meta=getTipoMeta();
	if (inpMeta) meta=inpMeta;
	if (meta=='renda') {
		$('rbMetaValorRenda').checked=true;
		setFormMeta('renda');
	}else{
		$('rbMetaMenorParc').checked=true;
		setFormMeta('taxaparc');
	}
	if (inpValIm) $('valIm').value=inpValIm;
	if (inpValFin) $('valFin').value=inpValFin;
	if (inpPerc) $('percFin').value=inpPerc;
	if (inpPrazo) $('mesesFin').value=inpPrazo;
	if (inpRenda) $('rendaTotal').value=inpRenda;
	if (inpUsim) $('usim').setValue(inpUsim);
	if (inpCoim) $('coim').setValue(inpCoim);
	if (inpIdade) $('idadeSeg').setValue(inpIdade);
	trataValImChange();
	var pai=$('divBox');
	if (pai){
		// NA PÁGINA DO SIMULADOR
		trataMesesAnos();
		fazTabbedPanel();
		loadSimus();
	}
	$('botSimGo').enable();
	if (loadSipeCod){
		chamaSavedSimu(loadSipeCod, '');
	}else{
		if (waiting) doSimula();
		var sym=getValsFin();
		if (sym.usim=='' && sym.coim=='' && sym.valIm==null && sym.idadeSeg==null && sym.renda==null && sym.valFin==0 && sym.percFin==null && sym.mesesFin==null) loadValsFromCookie();	
	}
}
function ajeitaPanelPlan_deprecada(){
    var divboxsim = $('divBox');
	if (!divboxsim) return;
    if(!$('div-plano')){
		var pPlan = new Element('div',{'id':'div-plano'});
		divboxsim.appendChild(pPlan);
    } else {
		var pPlan = $('div-plano');
    }
    var tsw = 480;
    var tsh = 30;
    dbW = divboxsim.getWidth();
    dbH = divboxsim.getHeight(); 
    var ppW = 530;
    var ppH = dbH - 15;
    pPlan.style.position='absolute';
    pPlan.style.top ='6px';
    pPlan.style.right = '6px';
    pPlan.style.width = ppW + 'px';
    pPlan.style.height = ppH + 'px';
    pPlan.style.zIndex = 500;
}
function fechaDetPlano(id, trAtu){
    $(trAtu).removeClassName('tr-ativa');
    $(id).remove();
}
function cospeModal_deprecada(){
	formSalvaSim();
}
function doSimula(){
	saveSimCookie();
    waiting=false;
    trAtu=null;
    if($('div-plano')) $('div-plano').remove();
    if(verifCamposSimulador()){
		var params={};
		params.usim   = $F('usim');
		params.coim   = $F('coim');
		params.valIm    = getNumero($F('valIm'));
		params.percFin  = getNumero($F('percFin'));
		params.valFin   = getNumero($F('valFin'));
		if ((!params.valFin) || isNaN(params.valFin)) params.valFin = params.valIm * params.percFin / 100;
		params.mesesFin = getNumero($F('mesesFin'));
		params.idadeSeg = getNumero($F('idadeSeg'));
		params.meta     = ($('rbMetaMenorParc').checked?'menorParc':($('rbMetaValorRenda').checked?'renda':''));
		if (params.meta=='renda') params.renda = getNumero($F('rendaTotal')); else params.renda='';
		if (!checaLimites(params)) return false;
		var jparams=Object.toJSON(params);
		if (jparams!=lastSymParams){
			setWaiting(true);
			new Ajax.Request(arq,{
				method:'post',
				parameters:'format=js&class=simu&method=doSim&p='+jparams + '&l=' + logado + '&acai=' + acai,
				onFailure: function(){alert('Não conseguimos recuperar a resposta da simulação.');setWaiting(false);}
				,onSuccess: function(p){p.headerJSON;setWaiting(false);}
			})
		}
		lastSymParams=jparams;
	}
	formataMoedaFinan('valIm');
	formataMoedaFinan('valFin');
	trataMesesAnos();
	$('codgSimu').value="";
	return false;
}
function checaLimites(p){
	if (typeof(limites)=='undefined') return true;
	var l=limites[p.coim+'|'+p.usim];
	if (l.tem==false){
		alert('Não há planos para este tipo de imóvel e condição.');
		return false;
	}
	if (p.meta=='renda') return true;
	if (l.valfinmin && p.valFin<l.valfinmin){
		alert('Não há linhas de financiamento para este valor financiado.');
		return false;
	}
	if (l.valfinmax && p.valFin>l.valfinmax){
		alert('Não há linhas de financiamento para este valor financiado.');
		return false;
	}
	if (l.valimmin && p.valIm<l.valimmin){
		alert('Não há linhas de financiamento para este valor de imóvel.');
		return false;
	}
	if (l.valimmax && p.valIm>l.valimmax){
		alert('Não há linhas de financiamento para este valor de imóvel.');
		return false;
	}
	if (l.percfinmin && p.percFin<l.percfinmin){
		alert('Não há linhas de financiamento para este percentual financiado.');
		return false;
	}
	if (l.percfinmax && p.percFin>l.percfinmax){
		alert('Não há linhas de financiamento para este percentual financiado.');
		return false;
	}
	if (l.prazomin && p.mesesFin<l.prazomin){
		alert('Não há linhas de financiamento com este prazo.');
		return false;
	}
	if (l.prazomax && p.mesesFin>l.prazomax){
		alert('Não há linhas de financiamento com este prazo.');
		return false;
	}
	return true;
}
function verifCamposSimulador(){
    var meta=getTipoMeta();
    if($('usim').selectedIndex==0){
		alert('Por favor, defina o tipo de uso do imóvel');
		return false;
    }
    if($('coim').selectedIndex==0){
		alert('Por favor, defina a condição do imóvel');
		return false;
    }
    if(meta=='renda'){
		if($('rendaTotal').value==''){
			alert('Por favor, informe o valor da renda');
			$('rendaTotal').focus();
			return false;
		} else if($('idadeSeg').value==''){
			alert('Por favor, informe a idade do proponente');
			$('idadeSeg').focus();
			return false;
		}
    } else {
		var somaIdadePrazo = Number($('idadeSeg').value)*12 + Number($('mesesFin').value);
		var limiteIdadePrazo = 966;
		//$('rendaTotal').value='';
		if($('valIm').value==''){
			alert('Por favor informe o valor do imóvel');
			$('valIm').focus();
			return false;
		} else if($('percFin').value=='' && $('valFin').value==''){
			alert('Por favor, informe ou o valor do financiamento ou o percentual a financiar');
			$('percFin').focus();
			return false;
		} else if($('mesesFin').value==''){
			alert('Informe o prazo do financiamento em meses');
			$('mesesFin').focus();
			return false;
		} else if($('idadeSeg').value==''){
			alert('Informe a sua idade');
			$('idadeSeg').focus();
			return false;
		} else if(Number($('idadeSeg').value)<18){
			alert('A idade mínima para a contratação de um financiamento imobiliário é de 18 anos');
			$('idadeSeg').focus();
			return false;
		} else if(somaIdadePrazo > limiteIdadePrazo){
			alert('A soma da idade com o prazo de financiamento é maior do que 80 anos e 6 meses. Por favor, diminua o prazo do financiamento');
			return false;
		}
    }
    return true;
}
function mostraTabela(ord, force){
	if (typeof(force)=='undefined') force=false;
	if(sipeNome!=null && codigoSimu!=null){
		$('codgSimu').value = codigoSimu;
		$('div-toolbar-titulo').value=sipeNome;
		carregaImgEdita();		
	} else {
		$('div-toolbar-titulo').value = "";
		tituloLeitura();
		$('editSimu').update();
	}
	sipeNome=null;
	codigoSimu=null;
	if (det){
		var pd = getPostDataSimu();
		var pdr = pd.replace(/"/g,"&quot;");
	}
	var sym = getValsFin();
	$('uso').value=sym.usim;
	$('cond').value=sym.coim;
	$('valorimovel').value=sym.valIm;
	$('percentualfinan').value=sym.percFin;
	$('valfinan').value=sym.valFin;
	$('prazo').value=sym.mesesFin;
	$('idade').value=sym.idadeSeg;
	$('renda').value=sym.renda;
	$('meta').value=sym.meta;
	$('lifidata').value=pdr;
	var d=$('container-result');
    if (!d) return;
    var ordens=new Array('nome', 'agfi', 'taxaini', 'cet', 'primprest', 'ultprest', 'maiorRenda', 'meses', 'valIm');
	if (ordens.indexOf(ord) < 0){
	    ord='cet';
	    ascAtual=true;
    }
    var pls=selFinan.sortBy(function (el){return el[ord];})
    if (ord==ordAtual) if (force!=true) ascAtual=!ascAtual; else ascAtual=true;
    if (!ascAtual) pls.reverse();
    if(!$('container-tab-result')){
		var ctresult = new Element('div',{'id':'container-tab-result'});
		d.appendChild(ctresult);
    } else {
		var ctresult = $('container-tab-result');
    }
    if (!$('tab-result')) {
		var tab = new Element('table',{'id':'tab-result','class':'tabPlanos'});
		ctresult.appendChild(tab);
    }else {
		var tab=$('tab-result');
    }
	var thr;
    if (!$('thLista')){
		thr = new Element('thead', {'id':'thLista'});
		tab.appendChild(thr);
    } else {
		thr = $('thLista');
		while (thr.childNodes.length>0) thr.removeChild(thr.childNodes[0]);
	}
	var tr = new Element('tr', {'id':'trLista'});
	tr.className='tr-cab-lista';
	thr.appendChild(tr);
	var th = new Element('th',{'id':'thsel','class':'tdhPlanos'}).update('Sel.');
	tr.appendChild(th);
	var th = new Element('th',{'id':'thnome','class':'tdhPlanos'}).update('<div id="div-thnome" class="titulo-th" onclick="mostraTabela(\'nome\')">Linha de financiamento<br/>Agente Financeiro - Sistema de amortização</div>');
	tr.appendChild(th);
	var th = new Element('th',{'id':'thtaxaini','class':'tdhPlanos'}).update('<div id="div-thtaxaini" class="titulo-th" onclick="mostraTabela(\'taxaini\')">Taxa<br/>anual</div>');
	tr.appendChild(th);
	var th = new Element('th',{'id':'thcet','class':'tdhPlanos'}).update('<div id="div-thcet" class="titulo-th" onclick="mostraTabela(\'cet\')">CET<br/>anual</div>');
	tr.appendChild(th);
	var th = new Element('th',{'id':'thprimprest','class':'tdhPlanos'}).update('<div id="div-thprimprest" class="titulo-th"  onclick="mostraTabela(\'primprest\')">Primeira<br/>Parcela</div>');
	tr.appendChild(th);
	var th = new Element('th',{'id':'thultprest','class':'tdhPlanos'}).update('<div id="div-thultprest" class="titulo-th"  onclick="mostraTabela(\'ultprest\')">Última<br/>Parcela</div>');
	tr.appendChild(th);
	if (sym.meta=='renda'){
		var th = new Element('th',{'id':'thmeses','class':'tdhPlanos'}).update('<div id="div-thmeses" class="titulo-th" onclick="mostraTabela(\'meses\')">Prazo<br/>(meses)</div>');
		tr.appendChild(th);
		var th = new Element('th',{'id':'thvalIm','class':'tdhPlanos'}).update('<div id="div-thvalIm" class="titulo-th" onclick="mostraTabela(\'valIm\')">Valor do imóvel<br/>Valor financiado</div>');
		tr.appendChild(th);
	}else{
		var th = new Element('th',{'id':'thmaiorRenda','class':'tdhPlanos'}).update('<div id="div-thmaiorRenda" class="titulo-th"  onclick="mostraTabela(\'maiorRenda\')">Renda Bruta<br/>Mensal</div>');
		tr.appendChild(th);
	}
    if (!$('tbbLista')){
		var tbb = new Element('tbody',{'id':'tbbLista'});
		tab.appendChild(tbb);
    } else {
		var tbb = $('tbbLista');
    }
    if (!$('tbbListaPlus')){
		var tbbp = new Element('tbody',{'id':'tbbListaPlus'});
		tab.appendChild(tbbp);
    } else {
		var tbbp = $('tbbListaPlus');
    }
	tbbp.style.display='none';
    var c=tbb.firstChild;
    while (c) {
		tbb.removeChild(c);
		c=tbb.firstChild;
    }
    var c=tbbp.firstChild;
    while (c) {
		tbbp.removeChild(c);
		c=tbbp.firstChild;
    }
    coddet=0; 
    arrLifis.clear(); 
    //---------------------------
	var cont=0;
	var limite=12;
	var qtos=pls.length;
	if (qtos-limite<4) limite=qtos;
	limite=qtos;
	var saldo=qtos-limite;
    if (force==true){
		var colunas=['taxaini','cet','primprest','ultprest','maiorRenda'];
		var menortaxaini=null;
		var menorcet=null;
		var menorprimprest=null;
		var menorultprest=null;
		var menormaiorRenda=null;
		var maiorvalim=null;
		var maiormeses=null;
		pls.each(function(p){
			if ((!menortaxaini) || menortaxaini>p.mod.taxaini) menortaxaini=p.mod.taxaini;
			if ((!menorcet) || menorcet>p.cet) menorcet=p.cet;
			if ((!menorprimprest) || menorprimprest>parseInt(p.primprest*100)) menorprimprest=parseInt(p.primprest*100);
			if ((!menorultprest) || menorultprest>parseInt(p.ultprest*100)) menorultprest=parseInt(p.ultprest*100);
			if ((!menormaiorRenda) || menormaiorRenda>p.maiorRenda) menormaiorRenda=p.maiorRenda;
			if ((!maiorvalim) || maiorvalim<p.valIm) maiorvalim=p.valIm;
			if ((!maiormeses) || maiormeses<p.mesesFin) maiormeses=p.mesesFin;
		});
		var menores={'maiorvalim':maiorvalim,'menorcet':menorcet,'menortaxaini':menortaxaini,'menorprimprest':menorprimprest,'menorultprest':menorultprest,'menormaiorRenda':menormaiorRenda};
		var bgdestaque='#ddffdd';
		pls.each(function(p){
			cont++;
			var ativo=cont<=limite;
			arrLifis.push(p.cod);
			var r=new Element('tr',{'id':'trR-'+p.cod, 'class':'tr-div-result trTabInAtiva'});
			var td = new Element('td',{'id':'','class': 'td-r-simula td-result-sel'}).update('<input title="Não usar esta linha de financiamento" name="lifi1_cod[]" value="'+p.cod+'" id="chkBox-'+p.cod+'" onclick="getTR(\''+p.cod+'\');" type="checkbox" />');
			r.appendChild(td);
			var td = new Element('td',{'id':'tdNom' + p.cod + '','class': 'td-r-simula td-result-nome'}).update(
				'<div style="position:relative;" id="dn-cod-'+p.cod+'">' +
				'<div class="colesqlifi" onclick="detLinhaFinanciamento(' + p.cod + ')"><a class="spanlinha">' + p.nome + '</a>' +
				'<div style="font-size: .8em"><span style="font-weight: bold">' + p.agfi + '</span> - Sist. de amortização: <span style="font-weight: bold">' + p.mofi + '</span>)</div>' +
				'</div>' +
				'<a href="javaScript:void(0);" title="Clique para ver detalhes" class="detalhes" onclick="detLinhaFinanciamento(' + p.cod + ')"><img src="/appimg/adiciona.png" class="detalhes" alt="Clique para ver detalhes" title="Clique para ver detalhes"/></a>' +
				'</div>'
				);
			r.appendChild(td);
			var td = new Element('td',{'class':'td-result-taxaini'}).update('<div id="boxTaxaIni'+p.cod+'">'
				+(p.mod.taxafin && p.mod.taxafin!=p.mod.taxaini?' <span class="txVar">':'')+ formataNumero(p.mod.taxaini*100,2)+'% '
				+(p.mod.taxafin && p.mod.taxafin!=p.mod.taxaini?'por '
				+p.mod.prazo2+' meses<br> '+formataNumero(p.mod.taxafin*100,2)+'% no restante</span>':''));
			if (p.mod.taxaini==menores.menortaxaini) td.style.backgroundColor=bgdestaque;
			r.appendChild(td);
			if (det) td.observe('click', function(){det(p.cod, sym, pdr)});
			var td = new Element('td',{'class':'td-result-cet'}).update('<b>' + formataNumero(p.cet*100,2)+'%</b>');
			if (p.cet==menores.menorcet) td.style.backgroundColor=bgdestaque;
			r.appendChild(td);
			var td = new Element('td',{'class':'td-result-primprest'}).update('' + formataNumero(p.primprest,2)+'');
			if (parseInt(p.primprest*100)==menores.menorprimprest) td.style.backgroundColor=bgdestaque;
			r.appendChild(td);
			var td = new Element('td',{'class':'td-result-ultprest'}).update('' + formataNumero(p.ultprest,2)+'');
			if (parseInt(p.ultprest*100)==menores.menorultprest) td.style.backgroundColor=bgdestaque;
			r.appendChild(td);
			if (sym.meta=='renda'){
				var td = new Element('td',{'class':'td-result-meses'}).update('' + p.mesesFin + '');
				if (p.meses==menores.meses) td.style.backgroundColor=bgdestaque;
				r.appendChild(td);

				var td = new Element('td',{'class':'td-result-valim'}).update('R$ ' + formataNumero(p.valIm,2) + '<br/>R$ ' + formataNumero(p.valFin,2) + '');
				if (p.valIm==menores.maiorvalim) td.style.backgroundColor=bgdestaque;
				r.appendChild(td);
			}else{
				var td = new Element('td',{'class':'td-result-maiorRenda'}).update('R$ ' + formataMoeda(p.maiorRenda) + '');
				if (p.maiorRenda==menores.menormaiorRenda) td.style.backgroundColor=bgdestaque;
				r.appendChild(td);
			}
			trSimus[p.cod]=r;
			if (ativo) {
				tbb.appendChild(r);
			}else{
				tbbp.appendChild(r);
			}
		});
	}else{
		pls.each(function(p){
			cont++;
			var ativo=cont<limite;
			arrLifis.push(p.cod);
			tbb.appendChild(trSimus[p.cod]);
		});
	}
    if (!$('tbbListaPlusOpener')){
		var tbbpo = new Element('div', {'id':'tbbListaPlusOpener'});
	    ctresult.appendChild(tbbpo);
    } else {
		var tbbpo = $('tbbListaPlusOpener');
    }
	if(tbbp.childNodes.length>0){
		tbbpo.style.display='';
		tbbpo.update('Estão disponíveis mais '+saldo+' outros planos. Clique na seta ao lado para exibir');
		tbbpo.observe('click', function(ev){$('tbbListaPlus').style.display='';tbbpo.style.display='none';});
	}else{
		tbbpo.style.display='none';
	}
	//if($('tbox-cols-tab-lst')) $('tbox-cols-tab-lst').update('trazer a lista de colunas com o marcador se estão ou não visíveis');

	//cria o div no bottom com botões para salvar simulação e preencher proposta
	if(!$('div-submit-planos')){
		var ds2 = new Element('div', {'id':'div-submit-planos'}).update($('div-submit-planos-top').innerHTML);
		ds2.className='div-foot-lista';
    } else {
		var ds2 = $('div-submit-planos');
    }
	/*
	if(!$('boxShowPlano')){
		var bsp = new Element('div',{'id':'boxShowPlano', 'style':'display: none','class':'panels'});
    } else {
		var bsp = $('boxShowPlano');
    }
    if(!$('chart')){
		var dc = new Element('div',{'id':'chart', 'style':'display: none','class':'panels'});
    }else{
		var dc = $('boxShowPlano');
    }
	*/
	if(!$('div-disclaimer')){
		var dsc = new Element('div', {'id':'div-disclaimer'}).update('IMPORTANTE: Os resultados obtidos no presente website não constituem qualquer forma de proposta financeira bem como não vinculam quaisquer partes e/ou instituições financeiras anunciadas, tratando-se apenas de simulações não vinculantes. A formalização do crédito e financiamento estão sujeitos a análises e aprovações de crédito, a serem realizadas de forma independente pelas respectivas instituições financeiras. As condições anunciadas poderão ser alteradas e/ou extintas pelas respectivas instituições financeiras a qualquer momento e sem prévio aviso.');
    } else {
		var dsc = $('div-disclaimer');
    }
	//ctresult.appendChild(bsp);
	ctresult.appendChild(dsc);
    d.appendChild(ds2);
	//d.appendChild(dc);
	try{
		$('div-th'+ordAtual).removeClassName('setadown');
		$('div-th'+ordAtual).removeClassName('setaup');
	} catch(e){
	}
	$('div-th'+ord).addClassName((ascAtual?'setadown':'setaup'));
	for (var go in grayedOut){
		if (typeof(go)=='undefined') continue;
		if (grayedOut[go]==true){
			grayedOut[go]=false;
			getTR(go);
		}
	}
    d.appear({from: 0.0, to: 1.0,  duration: 0.5 });
	ordAtual=ord;
	if (preSel) selecionaPlanos(preSel);

}
function limpaTabela(){
	var tbb = $('tbbLista');
	if (tbb){
		var c=tbb.firstChild;
		while (c) {
			tbb.removeChild(c);
			c=tbb.firstChild;
		}
	}
	var tbbp = $('tbbListaPlus');
	if (tbbp){
		tbbp.style.display='none';
		var c=tbbp.firstChild;
		while (c) {
			tbbp.removeChild(c);
			c=tbbp.firstChild;
		}
	}
}
function selecionaPlanos(l){
	for (var i=0; i<l.length; i++){
		if ($('chkBox-'+l[i])) {
			$('chkBox-'+l[i]).checked=true;
			getTR(l[i]);
		}
	}
	preSel=null;
}
function propRendaMinVal_deprecada(){
	var minVal=$('valFinRenda').value;
	var passa=true;
	if (minVal=='') passa=false;
	minVal=getNumero(minVal);
	if (parseFloat(minVal)==0) passa=false;
	if (!passa){
		alert('Por favor, defina um valor limite válido.');
		return;
	}
	var temAlgum=false;
	selFinan.each(function(p){
		if (p.valFin<minVal){
			$('chkBox-'+p.cod).checked=false;
			getTR(p.cod);
		}else{
			$('chkBox-'+p.cod).checked=true;
			getTR(p.cod);
			temAlgum=true;
		}
	})
	if (temAlgum==false){
		alert('Este valor exclui todos os planos. Defina um valor financiado menor, por favor.');
		return;
	}
	$('form-result').elements['minValFin'].value=minVal;
	$('form-result').elements['action'].value='formPropMinVal';
	submitFormProp();
}
function propRendaMaxVal(){
	$('form-result').elements['action'].value='formPropMaxVal';
	submitFormProp();
}
function submitFormProp(){
	temLinha = false;
	arrLifis.each(function(lifi1_cod){
		if($('chkBox-'+lifi1_cod).checked==true) temLinha = true;
	});
	if(!temLinha){
		alert("Selecione ao menos uma linha de financiamento");	//REVER
		return false;
	}else{
		if(logado){
			$('form-result').submit();
		}else{
			getFormLogin('prop');
		}
	}
}
function descrCoim(coim){
	switch(coim){
		case 'usado':
			return 'Usado';
		case 'novo':
			return 'Novo';
		case 'ter':
			return 'Terreno';
		case 'ver':
			return 'Veraneio';
	}
	return coim;
}
function descrUsim(usim){
	switch(usim){
		case 'res':
			return 'Residencial';
		case 'com':
			return 'Comercial';
		case 'ter':
			return 'Terreno';
		case 'ver':
			return 'Veraneio';
	}
	return usim;
}
function detLinhaFinanciamento(c){
    var pl = selFinan.find(function (p){return(p.mod.cod==c);})
    //if(coddet>0) $('nd' + coddet).remove();
    //coddet=c;
	var mofi=pl.mofi[0];
	switch(mofi){
		case 'SAC':
			mofi='Sistema de Amortização Constante (SAC)';
			break;
		case 'PRICE':
			mofi='Parcelas Fixas (Tabela Price)';
			break;
		case 'MIX':
			mofi='Taxas variáveis';
			break;
	}
	var tarini=(pl.dfi.tarcont || pl.mip.tarcont?'R$ ' + formataMoeda(pl.dfi.tarcont + pl.mip.tarcont) + ' (seguros) + ':'') + (pl.mod.tarini && pl.mod.tarini>0?'R$ ' + formataMoeda(pl.mod.tarini) + ' (financiamento)':'');
	var tarmen=(pl.dfi.tarmen  || pl.mip.tarmen ?'R$ ' + formataMoeda(pl.dfi.tarmen  + pl.mip.tarmen ) + ' (seguros) + ':'') + (pl.mod.tarmen && pl.mod.tarmen>0?'R$ ' + formataMoeda(pl.mod.tarmen) + ' (financiamento)':'');
	var html='' +
    '<table id="tab-det-um-plano" cellpadding="2" align="center">' +
    '<tr><td style="border-bottom: solid 1px black;" colspan="2"><div style="text-align:center;padding-bottom:3px;"><b style="font-size:14px;">' + pl.mod.agfi + '</b><br/>' +
	'<b style="font-size:13px;color:green;">' + pl.mod.nome + '</b></div></td></tr>' +
    '<tr><td class="col-tit-det-plan">Imóvel:</td><td><span>' + descrCoim(pl.mod.coim) + ' - ' + descrUsim(pl.mod.usim) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Valor de avaliação:</td><td><span>R$ ' + formataMoeda(pl.valIm) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Valor financiado:</td><td><span>R$ ' + formataMoeda(pl.valFin) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Plano de Amortização:</td><td><span>' + mofi + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Prazo:</td><td><span>' + descreveMesesEmAnos(pl.mesesFin) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Parcela inicial:</td><td><span>R$ ' + formataMoeda(pl.primprest) + '</span></td></tr>' +
	'<tr><td class="col-tit-det-plan">Parcela Final:</td><td><span>R$ ' + formataMoeda(pl.ultprest) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Maior parcela:</td><td><span>R$ ' + formataMoeda(pl.maiorPrest) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Renda requerida:</td><td><span>R$ ' + formataMoeda(pl.maiorRenda) + ' (Comprometimento de ' + (pl.mod.compr*100) +  '%)</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Taxa de juros nominal anual:</td><td><span>' + formataNumero(pl.mod.taxaini*100, -4) + ' %'+(typeof pl.mod.taxafin != 'undefined' && typeof pl.mod.taxafin!=typeof pl.mod.taxaini?' - taxa a partir de '+pl.mod.meses2+'meses: ' + formataNumero(pl.mod.taxafin*100, 4) + ' %':'') + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Custo efetivo total:</td><td><span>' + formataNumero(pl.cet*100, 4) + ' % anual (' + formataNumero(pl.cetMes*100, 4) + ' % mensal)' + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Taxa seguro imóvel (DFI):</td><td><span>' + formataNumero(pl.dfi.taxa*100, -6) + ' % (R$ ' + formataMoeda(pl.parcdfi) + ' - decresce com o saldo)</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Taxa seguro pessoal (MIP):</td><td><span>' + formataNumero(pl.mip.taxa*100, -6) + ' % (R$ ' + formataMoeda(pl.parcmip) + ')</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Tarifa inicial:</td><td><span>' + (tarini==''?'Sem tarifa inicial':tarini) + '</span></td></tr>' +
    '<tr><td class="col-tit-det-plan">Custo / Taxa de Administração mensal:</td><td><span>' + (tarmen==''?'Sem taxa mensal':tarmen) + '</span></td></tr>' +
    '</table>';
	abreModal(html);
	return;
}
function remDetLinhaFinanciamento_deprecada(eu){
	coddet=0;
    eu.remove();
}
function getBotCloseCol(idCol, cl, idTh){
	var esseId = 'bot-' + idCol;
	var papi = $(idCol);
	var bc = new Element('div',{'id': esseId, 'class':'bot-close-col','onclick':'closeCol(\''+ cl + '\',\''+ idTh + '\')'}).update('<img src="/appimg/bot-close-col.png" id="img-bc-'+idCol+'" alt="" />');
	papi.appendChild(bc);
}
function getBotCloseWindow(idWindow){
	var bcw = new Element('div',{'id':'bcwindow','class':'bot-close','onclick':'winModal.close()'}).update('<img src="/appimg/bot_close_modal.png" id="img-bcw" alt="" />');
	$(idWindow).appendChild(bcw);
}
function closeCol(cl, th){
	$(th).style.display='none';
	$$('td.' + cl).invoke('hide');
	colsHidden.push(cl+'_'+th);
}
function getTR(cod){
	var idTR='trR-'+cod;
	var idCHKB='chkBox-'+cod;
	if($(idCHKB).checked){
		$(idTR).addClassName('trTabAtiva');
		$(idTR).removeClassName('trTabInAtiva');
		$(idCHKB).title='Usar esta linha de financiamento'
		grayedOut[cod]=false;
	} else {
		if($('div-plano')) fechaDetPlano($('div-plano'), idTR);
		$(idTR).addClassName('trTabInAtiva');
		$(idTR).removeClassName('trTabAtiva');
		$(idCHKB).title='Não usar esta linha de financiamento'
		grayedOut[cod]=true;
	}
}
function formataNumero(val, numcasas){
	//alert(val + ' - ' + numcasas);
	var limpa=false;
	if (!parseFloat(val)) return '';
	if (typeof numcasas == 'undefined') numcasas=0;
	if (!parseInt(numcasas)) return '';
	if (numcasas<0){
		numcasas*=-1;
		limpa=true;
	}
	var str=val.toFixed(numcasas);
	if (numcasas==0) return str;
	var caseador=Math.pow(10,numcasas+2);
	var re = /\./g;
	var fm = str.replace(re, ",");
	var pos = fm.indexOf(",");
	if (pos==-1){
		fm+=',00';
		pos = fm.indexOf(",");
	}else{
		fm+='00';
		fm = fm.substring(0,pos+numcasas+1);
	}
	if (limpa && pos>0){
		while (fm[fm.length-1]=='0') fm=fm.substring(0,fm.length-1);
		if (fm[fm.length-1]==',') fm=fm.substring(0,fm.length-1);
	}
	for (var i=pos-3; i>0; i-=3){
		fm=fm.substring(0, i) + '.' + fm.substring(i, fm.length); 
	}
	return fm;
}
function setFormMeta(qual){
	lastSymParams=null;
	if ($('container-result')) $('container-result').style.display='none';
	if ($('container-cart')) $('container-cart').style.display='none';
	//limpaCarrinho();
	limpaTabela();
	$$('tr.renda').each(function(el){
	    el.style.display=(qual=='renda'?'':'none');
	});
	$$('tr.taxaparc').each(function(el){
	    el.style.display=(qual=='taxaparc'?'':'none');
	});
	if (qual=='renda'){
		var idadeSegRenda=readCookieVal('idadeSegRenda');
		if (idadeSegRenda) $('idadeSeg').value=idadeSegRenda;
	}else{
		var idadeSegParc=readCookieVal('idadeSegParc');
		if (idadeSegParc) $('idadeSeg').value=idadeSegParc;
	}
	var idadeSegParc=readCookieVal('idadeSegParc');

	if (false && !waiting){
		if (qual=='renda'){
			$('rendaTotal').value='';
		}else{
			$('valIm').value='';
			$('percFin').value='';
			$('valFin').value='';
			$('mesesFin').value='';
		}
	}
}
function setDadosForm(usim, coim, meta, renda, valIm, percFin, valFin, meses, idade){
	$('usim').setValue(usim);
	$('coim').setValue(coim);
	if (meta=='menorTaxa'){
		$('rbMetaMenorTaxa').checked=true;
	}else if (meta=='menorParc'){
		$('rbMetaMenorParc').checked=true;
	}else if (meta=='valorRenda'){
		$('rbMetaValorRenda').checked=true;
	}
	$('rendaTotal').setValue(renda);
	$('valIm').setValue(valIm);
	$('percFin').setValue(percFin);
	$('valFin').setValue(valFin);
	$('mesesFin').setValue(meses);
	$('idadeSeg').setValue(idade);
	waiting=true;
}

function getFormProposta_deprecada(){
	document.location('index.php?action=formproposta');
}
function trataPercChange(){
	var txtImValue=$('valIm').value.replace(/[^\d]/g, "");
	var txtFinValue=$('valFin').value.replace(/[^\d]/g, "");
	var txtPercValue=$('percFin').value.replace(/,/g, ".");
	var valPercValue=parseFloat(txtPercValue);
	if (txtFinValue + '-' + txtImValue=='-') return;
	if (txtImValue==''){
		var valFinValue=parseInt(txtFinValue.replace(/^0*/mg, ""))/100;
		var valImValue=valFinValue/valPercValue*100;
		$('valFin').value=formataNumero(valImValue,2);
		return;
	}else{
		var valImValue=parseInt(txtImValue.replace(/^0*/mg, ""))/100;
		var valFinValue=valImValue*valPercValue/100;
		$('valFin').value=formataNumero(valFinValue,2);
		return;
	}
	return;
}
function trataValImChange(){
	var txtImValue=$('valIm').value.replace(/[^\d]/g, "");
	var txtFinValue=$('valFin').value.replace(/[^\d]/g, "");
	var txtPercValue=$('percFin').value.replace(/,/g, ".");//porcentagem tratada de forma diferente porque não deverá ser maior do que 100
	if (txtImValue==''){
		$('valIm').value='';
		return;
	}
	var valImValue=parseInt(txtImValue.replace(/^0*/mg, ""))/100;
	$('valIm').value=formataMoeda(valImValue);//já formato o campo
	if (txtFinValue + '-' + txtPercValue=='-') return;//os outros campos estão vazios
	if (txtPercValue==''){ // não havendo porcentagem, calculamos a dita
		var valFinValue=parseInt(txtFinValue.replace(/^0*/mg, ""))/100;
		var valPercValue=valFinValue/valImValue*100;
		if (valPercValue>100) valPercValue=100;
		if (valPercValue-parseInt(valPercValue)<0.005){
			valPercValue=parseInt(valPercValue);
			$('percFin').value=valPercValue;
		}else{
			$('percFin').value=formataNumero(valPercValue,2);
		}
		return;
	}else{ // havendo porcentagem, calculamos o valor financiado por ela
		var valPercValue=parseFloat(txtPercValue.replace(/^0*/mg, ""));
		if (valPercValue>100) {
			valPercValue=100;
			$('percFin').value=formataNumero(valPercValue,2);
			trataPercChange();
			return;
		}
		var valFinValue=valImValue*valPercValue/100;
		$('valFin').value=formataNumero(valFinValue,2);
		return;
	}
	return;
}
function trataValFinanChange(){
	var txtImValue=$('valIm').value.replace(/[^\d]/g, "");
	var txtFinValue=$('valFin').value.replace(/[^\d]/g, "");
	var txtPercValue=$('percFin').value.replace(/,/g, ".");//porcentagem tratada de forma diferente porque não deverá ser maior do que 100
	if (txtFinValue==''){
		$('valFin').value='';
		return;
	}
	var valFinValue=parseInt(txtFinValue.replace(/^0*/mg, ""))/100;
	$('valFin').value=formataMoeda(valFinValue);//já formato o campo
	if (txtImValue + '-' + txtPercValue=='-') return;//os outros campos estão vazios
	// no caso do valor financiado, calculamos sempre a porcentagem
	var valImValue=parseInt(txtImValue.replace(/^0*/mg, ""))/100;
	var valPercValue=valFinValue/valImValue*100;
	if (valPercValue-parseInt(valPercValue)<0.005){
		valPercValue=parseInt(valPercValue);
		$('percFin').value=valPercValue;
	}else{
		$('percFin').value=formataNumero(valPercValue,2);
	}
	return;
}
function formataMoeda(val){
	if (val==0) return '0,00';
	var fVal=formataNumero(val, 2);
	if (fVal=='') return '';
	return fVal;
}
function getNumero(valtxt){
	valtxt=valtxt.replace(/\./g,"");
	valtxt=valtxt.replace(/\,/g,'.');
	num = parseFloat(valtxt);
	if (isNaN(num)) return null; else return num;
}
function formataMoedaFinan(elementId){
	var elemento = $(elementId).value;
	elemento = elemento.replace(/\D/g,"");			//permite digitar apenas números
	elemento = elemento.replace(/(\d{2})$/,",$1"); 		//Coloca a virgula
	elemento = elemento.replace(/(\d+)(\d{3},\d{2})$/g,"$1.$2"); //Coloca o primeiro ponto
	var qtdLoop = (elemento.length-3)/3;
	var count = 0;
	while (qtdLoop > count){
		count++;
		elemento=elemento.replace(/(\d+)(\d{3}.*)/,"$1.$2"); //Coloca o resto dos pontos
	}
	$(elementId).value = elemento;
}

function getNumFromValCampo(val){
	var pv=val.lastIndexOf(',');
	var pp=val.lastIndexOf('.');
	if (pp+pv<-1) return parseInt(val);
	var val2='';
	if (pp>pv){
		val2=val.toString().replace(/\,/g,'');
		var parts=val2.split('.');
		var dec=parts.pop();
		val2=parts.join('')+'.'+dec;
		return parseFloat(val2);
	}else{
		val2=val.toString().replace(/\./g,'');
		var parts=val2.split(',');
		var dec=parts.pop();
		val2=parts.join('')+'.'+dec;
		return parseFloat(val2);
	}
}

function trataMesesAnos(){
	if($('mesesFin').value > 0){
		var prazo = $('mesesFin').value;
		$('anosFin').innerHTML = '('+descreveMesesEmAnos(prazo)+')';
	}
}
function descreveMesesEmAnos(meses){
	return Math.floor(meses/12) + ' anos' + (meses%12!=0?' e '+(meses%12)+' mes'+(meses%12>1?'es':''):'')
}
function updateSimu(){
	var nome = encodeURI($('div-toolbar-titulo').value);
	var codigo = $('codgSimu').value;
	if(!nome){
		alert("Preencha o nome da simulação");
		return false;
	}else{
		setWaiting(true);
		new Ajax.Request(arq,{
			method:'get',
			parameters:'format=js&method=updateSimu&class=simu&codigo='+codigo+'&nome='+nome,
			onFailure: function(){
				setWaiting(false);
				alert('Desculpe-nos! Não conseguimos ler alguns dados. Recarregue a página, por favor.');
			},
			onSuccess: function(resp){
				setWaiting(false);
				simusAlteradas=true;
				tituloLeitura();
				carregaImgEdita();
				loadSimus(codigo);
			}
		});
	}
	return true;
}

function deleteSimu(cod, nom){
    if(confirm('Eliminar a simulação "' + nom + '"? esta ação não poderá ser desfeita. Confirma?')){
		setWaiting(true);
		new Ajax.Request(arq,{
			method:'get',
			parameters:'format=js&method=deleteSimu&class=simu&cod=' + cod,
			onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não conseguimos ler alguns dados. Recarregue a página, por favor.');},
			onSuccess: function(resp){
				resp.headerJSON;
				setWaiting(false);
				if($('codgSimu').value==cod){
					removeSavedSimu();
				}
			}
		});
    }
}
function loadSimus(cod){
	if ((!document.waitingHandler) && document.observe('mousemove',moveWaiting)) document.waitingHandler = true;
	if (simusAlteradas){
		var dest=cod;
		setWaiting(true);
		new Ajax.Request(arq,{
			method:'get',
			parameters:'format=html&method=getSimus&class=simu&l=' + logado + '&acai='+acai,
			onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não conseguimos ler alguns dados. Recarregue a página, por favor.');}
			,onSuccess: function(resp){
				$('cont-simu-prop').simuHtml=resp.responseText;
				$('cont-simu-prop').update($('cont-simu-prop').simuHtml);
				if ($('simu'+dest)){
					$('simu'+dest).style.backgroundColor='#ddffdd';
					var someCor=function(){$('simu'+dest).style.backgroundColor='';};
					var some=setTimeout(someCor, 2000);
				}
				simusAlteradas=false;
				setWaiting(false);
			}
		})
		setWaiting(true, 'Não conseguimos carregar suas simulações.');
	}else{
		$('cont-simu-prop').update($('cont-simu-prop').simuHtml);
	}
	$('tab-simu').addClassName('tabOn');
	$('tab-simu').removeClassName('tabOff');
	$('tab-prop').addClassName('tabOff');
	$('tab-prop').removeClassName('tabOn');
	$('tab-cad').addClassName('tabOff');
	$('tab-cad').removeClassName('tabOn');
}
function deleteProp(cod){
    if(confirm('Eliminar esta proposta. Confirma?')){
	new Ajax.Request(arq,{
		method:'get',
		parameters:'format=js&method=deleteProp&class=prop&cod=' + cod,
		onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não conseguimos ler alguns dados. Recarregue a página, por favor.');},
		onSuccess: function(resp){	}
	});
    }
}function loadProps(){
    if ((!document.waitingHandler) && document.observe('mousemove',moveWaiting)) document.waitingHandler = true;
    if (propsAlteradas){
	    new Ajax.Request(arq,{
		    method:'get',
		    parameters:'format=html&method=getProps&class=prop&l=' + logado + '&acai=' + acai,
		    onFailure: function(){alert('Desculpe-nos! Não conseguimos ler alguns dados. Recarregue a página, por favor.');}
		    ,onSuccess: function(resp){
				$('cont-simu-prop').propHtml=resp.responseText;
				$('cont-simu-prop').update($('cont-simu-prop').propHtml);
				propsAlteradas=false;
				setWaiting(false);
			}
	    })
	    setWaiting(true, 'Não conseguimos carregar suas propostas.');
    }else{
		$('cont-simu-prop').update($('cont-simu-prop').propHtml);
	}
	$('tab-simu').addClassName('tabOff');
	$('tab-simu').removeClassName('tabOn');
	$('tab-prop').addClassName('tabOn');
	$('tab-prop').removeClassName('tabOff');
	$('tab-cad').addClassName('tabOff');
	$('tab-cad').removeClassName('tabOn');
}
function loadCad(){
    if ((!document.waitingHandler) && document.observe('mousemove',moveWaiting)) document.waitingHandler = true;
    if (true || cadAlterado){
	    new Ajax.Request(arq,{
		    method:'get',
		    parameters:'format=html&method=getCad&class=cad&l=' + logado + '&acai=' + acai,
		    onFailure: function(){alert('Desculpe-nos! Não conseguimos carregar os dados de seu cadastro. Recarregue a página, por favor.');}
		    ,onSuccess: function(resp){
				$('cont-simu-prop').cadHtml=resp.responseText;
				$('cont-simu-prop').update($('cont-simu-prop').cadHtml);
				cadAlterado=false;
				setWaiting(false);
			}
	    })
	    setWaiting(true, 'Não conseguimos carregar seu cadastro.');
    }else{
		$('cont-simu-prop').update($('cont-simu-prop').cadHtml);
    }
	$('tab-simu').addClassName('tabOff');
	$('tab-simu').removeClassName('tabOn');
	$('tab-prop').addClassName('tabOff');
	$('tab-prop').removeClassName('tabOn');
	$('tab-cad').addClassName('tabOn');
	$('tab-cad').removeClassName('tabOff');
}
function setWaiting(onoff, msg){
    if (typeof (document.waiting) == 'undefined') criaWaiting();
    if (onoff){
	    $('waiting').style.display='';
	    $('waiting').show();
    }else{
	    //document.stopObserving('mousemove',moveWaiting);
	    $('waiting').hide();
    }
}
function criaWaiting(){
	var w = new Element('span',{'id':'waiting','style':'display:none;padding:0px;text-align:center;position:absolute;height:20px;border:solid 0px gray;z-index:9999;'}).update('<img src="/appimg/ajax-loader.gif" />');
	document.body.appendChild(w);
	document.waiting=w;
}
function moveWaiting(ev){
	document.xMouse=ev.clientX;
	document.yMouse=ev.clientY;
	if (!$('waiting')) return;
	if (typeof (document.waiting) == 'undefined') return;
	$('waiting').style.left=document.xMouse+'px';
	$('waiting').style.top=(document.yMouse-20)+'px';
}
function getLayoContainers_deprecada(){
	if(layoutPos==false){
		$('container-form').removeClassName('main-container');
		$('container-result').removeClassName('main-container');
		$('container-form').addClassName('main-container-form');
		$('container-result').addClassName('main-container-result');
		$('divBox').addClassName('panels-pos');
		$('divBox').removeClassName('div-box-form');
		$('div-layo-conts').addClassName('bot-layo-conts-b');
		$('div-layo-conts').removeClassName('bot-layo-conts-a');
		layoutPos=true;	
	} else {
		$('container-form').addClassName('main-container');
		$('container-result').addClassName('main-container');
		$('container-form').removeClassName('main-container-form');
		$('container-result').removeClassName('main-container-result');
		$('divBox').addClassName('div-box-form');
		$('divBox').removeClassName('panels-pos');
		$('div-layo-conts').addClassName('bot-layo-conts-a');
		$('div-layo-conts').removeClassName('bot-layo-conts-b');
		layoutPos=false;
	}
}
function togPanel_deprecada(estado){
	if(panelFormClosed==false){
	    if(estado!=1){
			panelFormClosed	=true;
			$('div-layo-seta').addClassName('bot-layo-seta-down');
			$('div-layo-seta').removeClassName('bot-layo-seta-up');
			//Effect.SlideUp('div-panels', { duration: 0.1 });
			$('div-panels').hide();
	    }
	} else {
		$('div-layo-seta').addClassName('bot-layo-seta-up');
		$('div-layo-seta').removeClassName('bot-layo-seta-down');
		//Effect.SlideDown('div-panels', { duration: 0.1 });
		$('div-panels').show();
		panelFormClosed	=false;
	}
}
function togPanelResult_deprecada(){
	if(panelResultClosed==false){
		panelResultClosed=true;
		$('div-layo-seta-res').addClassName('bot-layo-seta-down');
		$('div-layo-seta-res').removeClassName('bot-layo-seta-up');
		Effect.SlideUp('container-tab-result', { duration: 0.1 })	
	} else {
		$('div-layo-seta-res').addClassName('bot-layo-seta-up');
		$('div-layo-seta-res').removeClassName('bot-layo-seta-down');
		Effect.SlideDown('container-tab-result', { duration: 0.1 })
		panelResultClosed=false;
	}
}
function togPanelSimus_deprecada(){
	var d = $('minhas-simus');
	if(panelSimuClosed==false){
		panelSimuClosed=true;
		$('div-layo-seta-sim').addClassName('bot-layo-seta-down');
		$('div-layo-seta-sim').removeClassName('bot-layo-seta-up');
		//Effect.SlideDown(d, { duration: 0.1 })
		d.style.display='none';
	} else {
		loadSimus();
		$('div-layo-seta-sim').addClassName('bot-layo-seta-up');
		$('div-layo-seta-sim').removeClassName('bot-layo-seta-down');
		//Effect.SlideUp(d, { duration: 0.1 })	
		d.style.display='block';
		panelSimuClosed=false;
	}
}
function togPanelMap_deprecada(){
	var m = $('div-maps');
	if(panelMapClosed==false){
		$('div-layo-seta-map').addClassName('bot-layo-seta-down');
		$('div-layo-seta-map').removeClassName('bot-layo-seta-up');
		m.style.display='none';
		panelMapClosed=true;
	} else {
		$('div-layo-seta-map').addClassName('bot-layo-seta-up');
		$('div-layo-seta-map').removeClassName('bot-layo-seta-down');
		m.style.display='block';
		panelMapClosed=false;
	}
}
function showTboxCols_deprecada(){
	if(panelTboxCols){
		$('tbox-cols-tab-lst').hide();
		panelTboxCols=false;
		return false;
	} else{
		$('tbox-cols-tab-lst').appear();
		panelTboxCols=true;
		return false;
	}
}
function switchPanel_deprecada(id){
	arrPanels.each(function(item) {
		if(item != id){
			$(item).style.display='none';
		} else {
			$(id).style.display='';
		}
	});
}
function criaNomeSipe(){
    var data = new Date();
    var dia = data.getDate();
    if (dia<10) dia = '0' + dia;
    var mes = data.getMonth()+1; 
    if(mes < 10) mes='0' + mes;
    var ano = data.getFullYear();
    var hora = data.getHours();
    var min = data.getMinutes();
    var sec = data.getSeconds();
	var sym=getValsFin();
	var nomeSipe;
	if (sym.meta=='renda'){
		nomeSipe = 'Renda bruta de ' + formataMoeda(sym.renda) + ' com ' + sym.idadeSeg + ' anos';
	}else{
		nomeSipe = sym.percFin + '% de ' + formataMoeda(sym.valIm) + ' em ' + sym.mesesFin + ' meses';
	}
    return nomeSipe;
}
function toggleFormSalvaSimDiv(){
	if (logado && $('codgSimu') && $('codgSimu').value!=''){
		salvaSimu();
	}else if(logado){
		if(DfSSFechado){
			$('div-form-salva-sim').removeClassName('hide-dfss');
			$('div-form-salva-sim').addClassName('show-dfss');
			Effect.SlideDown('div-form-salva-sim', { duration: 0.5 });
			DfSSFechado = false;
		} else {
			//fechaFormSalvaSimDiv();
			salvaSimu();
		}
	}else if(!logado){
		getFormLogin('simu');
	}else{
		var logOrCad='cad';
		if ($('C-LOGIN') && $('C-LOGIN').value!='') logOrCad='log';
	}
}
function fechaFormSalvaSimDiv(){
	if(!DfSSFechado){
		$('div-form-salva-sim').addClassName('hide-dfss');
		$('div-form-salva-sim').removeClassName('show-dfss');
		Effect.SlideUp('div-form-salva-sim', { duration: 0.2 })	
		DfSSFechado = true;
	}
}

function formSalvaSim_deprecada(){
	// esquema da janela modal. o outro esquema será com a montagem do formulario sobre o resultado     
	if(!winModal){
		var wm = new Element('div',{'id':'win-modal','class':'panels-modal'});
		document.body.appendChild(wm);
		winModal = new Control.Modal(wm,{
			overlayOpacity: 0.30,
			className: 'caixa-modal-tipica',
			fade: false
		});
	}
	winModal.open($('win-modal'));
	getFormSalvaSimu();
	getBotCloseWindow('win-modal');
}
function criaUser(){
	var login=$F('cadrap-login');
	var email=$F('cadrap-email');
	var senha=$F('cadrap-senha');
	var senha2=$F('cadrap-senha2');
	doCriaUser(login, email, senha, senha2);
}
function criaUserCad(){
	var login=$F('cad-login');
	var email=$F('cad-email');
	var senha=$F('cad-senha');
	var senha2=$F('cad-senha2');
	doCriaUser(login, email, senha, senha2);
}
function doCriaUser(login, email, senha, senha2){
	if (!checaLoginSenha(login, email, senha, senha2)) return;
	setWaiting(true);
    new Ajax.Request(arq,{
	method:'post',
	parameters:'format=js&method=newUser&class=simu&login=' + login + '&pw=' + senha + '&email=' + encodeURIComponent(email) + '&pw2=' + senha2 + '&acai=' + acai,
	onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não foi possível cadastrar seu usuário.');},
	onSuccess: function(resp){
	    setWaiting(false);
	}
    });
}
function posCriaUser_deprecada(){
	alert('Já criei o usuário (function posCriaUser)');
}
function loginUser(){
	var login=$F('C-LOGIN');
	var senha=$F('C-PASSWD');
	setWaiting(true);
	//if (!checaLoginSenha(login, senha)) return;
    new Ajax.Request(arq,{
		method:'post',
		parameters:'format=js&method=loginUser&class=simu&login=' + login + '&pw=' + senha + '&acai='+acai,
		onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não foi possível efetuar seu login.');},
		onSuccess: function(resp){setWaiting(false);}
    });
}

function toggleLogado(cod, un, md5){
	logado=cod;
	acai=md5;
	fechaModal();
	Event.fire(window, 'fin:quitlogin',{complete:true});
	Event.stopObserving(window, 'fin:quitlogin');
}
function afterLogin(ok, action){
	if (ok){
		switch(action){
			case 'prop':
				submitFormProp();
				break;
			case 'simu':
				toggleFormSalvaSimDiv();
				break;
		}
	}else{
		return;
	}
}
function checaLoginSenha(l, e, s, s2){
	if (typeof(l)=='undefined' || (!l)){
		alert('Escolha um nome de usuário.');return false;
	}
	if (typeof(e)=='undefined' || (!e)){
		alert('Informe um e-mail para contato.');return false;
	}
	if (typeof(s)=='undefined' || (!s)){
		alert('Informe a senha.');return false;
	}
	if (typeof(s2)=='undefined' || (!s2)){
		alert('Confirme a senha.');return false;
	}
	if (s2!=s){
		alert('A senha não confere com a confirmação.');
		return false;
	}
	if (s.length<3){
		alert('Escolha uma senha com pelo menos 3 caracteres ou dígitos.');
		return false;
	}
	if (e.replace(/\S+@\S+\.\S+/g, "")!=''){
		alert('O e-mail não parece ser um endereço válido');
		return false;
	}
	return true;
}
function showFormCadastro_deprecada(qual){
	$('div-form-login').style.display='none';
	$('div-form-cadastro').style.display='none';
	$('div-form-salva').style.display='none';
	switch(qual){
		case 'log':
			$('div-form-login').style.display='block';
			break;
		case 'sim':
			$('sipe2_nom').value=criaNomeSipe();
			$('div-form-salva').style.display='block';
			break;
		default:
		case 'cad':
			$('div-form-cadastro').style.display='block';
			break;
	}
}
function salvaSimu(){
	var pd = getPostDataSimu();
	var cod='';
	if ($('codgSimu') && $('codgSimu').value!='') {
		cod='&sipe2_cod='+$('codgSimu').value;
		if ($('div-toolbar-titulo').value==''){
			$('div-toolbar-titulo').value=criaNomeSipe();
		}
		$('sipe2_nom').value=$('div-toolbar-titulo').value;
	}else{
		/*
	    if($('sipe2_nom').value!=''){
			$('div-toolbar-titulo').value = $('sipe2_nom').value;
		}else{
			$('div-toolbar-titulo').value ="";
		}
		*/
	}
	var sym=getValsFin();
	var selLifis=new Array();
	$$('#tbbLista :checked').each(function(n){selLifis.push(n.value)});
	var lifi='';
	if (selLifis.length>0){
		lifi='&lifi1_cod[]='+selLifis.join('&lifi1_cod[]=');
	}else{
		lifi='&lifi1_cod[]=';
	}
    new Ajax.Request(arq,{
	method:'post',
	parameters:'format=js&method=saveSimu&class=simu&sipe2_nom=' + encodeURIComponent($('sipe2_nom').value) + lifi + cod + '&lifis=' + pd + '&params=' + Object.toJSON(sym),
	onFailure: function(){alert('Desculpe-nos! Não foi possível salvar a simulação');},
	onSuccess: function(resp){
		simusAlteradas=true;
		carregaImgEdita();
		resp.headerJSON;
		}
    })
	return false;
}
function retornoSalvaSimu(cod, nom){
	codigoSimu = cod;
	$('codgSimu').value=cod;
	$('div-toolbar-titulo').value = nom;
	fechaFormSalvaSimDiv();
	loadSimus(cod);
}
function getTipoMeta(){
	var meta = ($('rbMetaMenorParc').checked?'menorParc':($('rbMetaValorRenda').checked?'renda':''));
	return meta;
}
function getValsFin(){
	var sym={};
	sym.usim   = $F('usim');
	sym.coim   = $F('coim');
	sym.valIm    = getNumero($F('valIm'));
	sym.percFin  = getNumero($F('percFin'));
	sym.valFin   = getNumero($F('valFin'));
	if ((!sym.valFin) || isNaN(sym.valFin)) sym.valFin = sym.valIm*sym.percFin/100;
	sym.mesesFin = getNumero($F('mesesFin'));
	sym.idadeSeg = getNumero($F('idadeSeg'));
	sym.renda    = getNumero($F('rendaTotal'));
	sym.meta     = getTipoMeta();
	return sym;
}
function getPostDataSimu(){
	var pd=new Array();
	var s=this;
	for (var i = 0, len = selFinan.length; i < len; ++i) {
		var fc = selFinan[i];
		var f={};
		f.lifi=fc.cod;
		f.mip=fc.mip.cod;
		f.dfi=fc.dfi.cod;
		f.mofi=fc.mofi;
		f.sifi=fc.sifi;
		f.cet=fc.cet;
		f.valfin=fc.valFin;
		f.valim=fc.valIm;
		f.meses=fc.mesesFin;
		pd.push(f);
	}
	return Object.toJSON(pd);
}
var chamaSavedSimu=function(cod, nomeSimu){
	setWaiting(true, 'Não conseguimos carregar a simulação');
	lastSymParams=null;
	new Ajax.Request(arq,{
		method:'get',
		parameters:'format=js&method=getSavedSimu&class=simu&cod=' + cod,
		onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não conseguimos achar sua simulação.');},
		onSuccess: function(){sipeNome = nomeSimu; codigoSimu = cod;}
	});
}
var chamaSavedProp=function(cod){
	setWaiting(true, 'Não conseguimos carregar a proposta');
	new Ajax.Request(arq,{
		method:'get',
		parameters:'format=js&method=getSavedProp&class=prop&cod=' + cod,
		onFailure: function(){setWaiting(false);alert('Desculpe-nos! Não conseguimos recuperar esta proposta.');}
	});
}
function fazTabbedPanel(){
    pai = $('divBox');
	if(!pai){
		return false;
	}
    filhoCont = new Element('div',{'id':'cont-simu-prop','class':'c-cont-simu-prop'});
    tabSimu = new Element('div',{'id':'tab-simu','class':'c-tab-cont-simu-prop tabOn'}).update('Minhas Simulações');
    tabProp = new Element('div',{'id':'tab-prop','class':'c-tab-cont-simu-prop tabOff'}).update('Minhas Propostas');
	tabCad = new Element('div',{'id':'tab-cad','class':'c-tab-cont-simu-prop tabOff'}).update((logado)?('Meu Cadastro'):('Cadastro Rápido'));
    pai.appendChild(filhoCont);
    pai.appendChild(tabSimu);
    pai.appendChild(tabProp);
	pai.appendChild(tabCad);
	$("tab-simu").on('click', function(event){
		loadSimus();
	});
	$("tab-prop").on('click', function(event){
		loadProps();
	});
	$("tab-cad").on('click', function(event){
		loadCad();
	});
	return true;
}
function editaSimu(){
	tituloEdita();
	var imgConfirma = new Element ('img',{'alt':'Editar','src':'/appimg/ok.png','id':'confEdit','title':'Confirmar'});
	$('editSimu').update();
	$('editSimu').appendChild(imgConfirma);
	
	$('confEdit').on('click', function(event){
		updateSimu();
	});
}
function carregaImgEdita(){
	var imgEdita = new Element ('img',{'alt':'Editar','src':'/appimg/edit.png','id':'editarSimu','title':'Editar'});
	$('editSimu').update();
	$('editSimu').appendChild(imgEdita);
	
	$('editarSimu').on('click', function(event){
		editaSimu();
	});
}
function tituloLeitura(){
	$('div-toolbar-titulo').removeClassName('editar');
	$('div-toolbar-titulo').readOnly=true;
}
function tituloEdita(){
	$('div-toolbar-titulo').addClassName('editar');
	$('div-toolbar-titulo').readOnly=false;
	$('div-toolbar-titulo').focus();
}
function removeSavedSimu(){
	$('div-toolbar-titulo').value="";
	$('editSimu').update();
	$('codgSimu').value="";
	codigoSimu=null;
}

// funções apenas para facilitar desenvolvimento
function tempPreencheSim(){
    if($('valIm').value==''){
		$('coim').value='usado';
		$('usim').value='res';
		$('valIm').value=35000000;
		$('percFin').value=80;
		$('mesesFin').value=300;
		$('idadeSeg').value=45;
		$('valFin').value=28000000;
		formataMoedaFinan('valIm');
		formataMoedaFinan('valFin');
    } else {
		$('valIm').value='';
		$('percFin').value='';
		$('mesesFin').value='';
		$('idadeSeg').value='';
		$('valFin').value='';
    }
}

// Função para mensagens de erro,  abre relativa ao elemento clicado.
function divErrorMsg_deprecada(elem, msg){
	var divError = new Element('div',{'id':'divErrorMsg'}).update(msg+'<span class="bot-close">X</span>');
	var filho = $(elem);
	var pai = filho.parentNode;
	if(!$('divErrorMsg')){
		$(pai).appendChild(divError);
	}
	observaJanelaDiv();
}
function observaJanelaDiv(){
	if($('divErrorMsg')){
		$('divErrorMsg').observe('click',function(event){
			$('divErrorMsg').remove();
		})
	}
}

var j;
var origOnLoad=window.onload;
window.onload=inicializa;

