function mostraCarregando(id, dirInterno){
    Element.update(id,"<span class='txtNormal'><img src='/html/images/carregando.gif'/> Aguarde...</span>");
}

function mostraCarregandoLi(id){
    Element.update(id,"<li class='txtNormal'><img src='/html/images/carregando.gif'/>Aguarde...</li>");
}

function removeElemento(id) {
    Element.remove(id);
}
	
function doSetCrtVal(obj, total) {
	var crt = document.getElementById('crt');		
	crt.value = total - doCaracteres(obj);
	
	if (crt.value <= 0) {
		obj.value = obj.value.substr(0,total);
		return false;
	}
	return true;
}

function doCaracteres(obj){ 
   return obj.value.length;
}

function atualizaListaCidades(idOrigem, idDestino, url, selecionado, classe_obj, texto_zero){
	if (document.getElementById('gambi') != undefined && idDestino == "instituicao_cidade")
		document.getElementById('gambi').style.display = 'none';
	if (texto_zero == undefined)
		texto_zero = 'Selecione';
	if (classe_obj == undefined)
		classe_obj = 'Campo';
	Element.update(idDestino, "<img src='http://espacoviver.com.br/html/images/carregando.gif' border='0'> Aguarde...");
    new Ajax.Updater(idDestino, url,{
        asynchronous:true, parameters: "estado="+$F(idOrigem)+"&cidade="+selecionado+"&texto_zero="+texto_zero+"&classe_obj="+classe_obj, evalScripts:true, method:"get"});
}

function atualizaLista(idOrigem, idDestino, url, selecionado){

    Element.update(idDestino, "Aguarde...");
    new Ajax.Updater(idDestino, url,{
        asynchronous:true, parameters: idOrigem+"="+$F(idOrigem)+"&selecionado="+selecionado, evalScripts:true, method:"get"});
}

function selecionar_principal (obj, url, falecido_id) {
	document.getElementById("div_aguarde").style.display = 'inline';
	new Ajax.Request(url +'/foto/selecionar_principal/', 
	{asynchronous:true, parameters:'?falecido_id='+ falecido_id +'&foto_id='+ obj.value, evalScripts:true, method:'post', 
	onComplete:function(request) {
		document.getElementById("div_aguarde").style.display = 'none';
	}});
	return false;
}

function atualiza_lista_fotos (url, falecido_id, inicio) {
	mostraCarregando("conteudo", true);
	new Ajax.Updater("conteudo", url +"/foto/", 
		{asynchronous:true, parameters: "?id="+ falecido_id +"&fotos_tipo_id=3&inicio="+ inicio, evalScripts:true, method:"get"});
}

function NewWindow(mypage,myname,w,h,bars) {

	
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='status=yes,';		
	settings +='left='+winl+',';
	settings +='resizable=no,';
	settings +='scrollbars='+bars;

	win=window.open(mypage,myname,settings);
	
	if(parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

function nivelUsuarioChange (objN, objTI, nivel_instituicao) {

	if (objTI == undefined || objN == undefined)
		return;

	if (objN.value == nivel_instituicao || nivel_instituicao == -1) {
		objTI.disabled = false;
	} else {
		objTI.disabled = true;
		objTI.value = 0;
	}
}

function formata_campo (field, e, tipo_pessoa) {

	if (field == undefined || tipo_pessoa != 1 && tipo_pessoa != 2 || field.readonly)
		return false;
	
	if (e != null && e != undefined) {
		if (tipo_pessoa == 1) {
			return doFormatarCampo(field, '§§§.§§§.§§§-§§', e);
		} else {
			return doFormatarCampo(field, '§§.§§§.§§§/§§§§-§§', e);
		}
	} else if (field.value != '') {
		var doc;
		if (tipo_pessoa == 1) {
			doc = formata_doc(field, '§§§.§§§.§§§-§§');
		} else {
			doc = formata_doc(field, '§§.§§§.§§§/§§§§-§§');
		}
		field.value = doc;
	}
}

function doFormatarCampo(field, mask, e) {
	if (navigator.appName == "Netscape")
		key = e.which;
	else
		key = e.keyCode;

	string = field.value;
	i = string.length;

	keys = (key == 8 || key == 9 || key == 13 || key == 46 || key == 0 || (key > 36 && key < 41));

	if (i < mask.length) {
		if (mask.charAt(i) == '§')
			return (keys || key > 47 && key < 58);
		else {
			if (mask.charAt(i) == '!')
				return true; 

			for (c = i; c < mask.length; c++) {
				if (mask.charAt(c) != '§' && mask.charAt(c) != '!')
					field.value = field.value + mask.charAt(c);
				else if (mask.charAt(c) == '!')
					return true;
				else
					return (key > 47 && key < 58);
			}
		}
	} else 
		return keys;
}

function formata_doc(field, mask) {
	var doc = '', cs = 0;
	var string = field.value;
	for (i = 0; i < mask.length; i++) {
		if (mask.charAt(i) == '§')
			doc += string.charAt(cs++);
		else {
			doc += mask.charAt(i);
	}	}
	return doc;
}

function tipo_pessoa_change (objTP) {

	if (objTP == undefined)
		return;

	document.getElementById('cpf_cnpj').value = '';
	document.getElementById('cpf_cnpj').disabled = false;
	
	if (objTP.value == 2) {
		//document.getElementById('lblTD').innerHTML == 'CNPJ';
	} else {
		//document.getElementById('lblTD').innerHTML == 'CPF';
	}
}

function verifica_documento(tp, objDoc) {
	if (objDoc.value == '') 
		return true;
	var objD = new Object();
	objD.value = setNumberOnly(objDoc);
	if (tp == 1) {
		return CheckCPF (objD.value);
	} else {
		return ConfereCIC(objD);
	}
}

function CheckCPF (thisCPF) {
	
	thisCPF = thisCPF.replace(".","");
	thisCPF = thisCPF.replace(".","");
	thisCPF = thisCPF.replace("-","");				

	cpf = thisCPF;
	erro = new String;
	if (cpf.length < 11) erro += "Sao necessários 11 digitos para verificação do CPF! \n\n"; 
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n"; 
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		erro += "Informe um CPF válido."
	}
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--); 
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		erro +="Informe um CPF válido.";
	}
	if (erro.length > 0){
		alert(erro);
		return false;
	}
	return true;
}

function DigitoCPFCNPJ(numCIC) {
	var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
	var novoCIC = numCIC.substring(0, numCIC.length-2);
	switch (numCIC.length){
		case 11 :
			numLim = 11;
			break;
		case 14 :
			numLim = 9;
			break;
		default : return false;
	}
	//
	var numSoma = 0;
	var Fator = 1;
	for (var i=novoCIC.length-1; i>=0 ; i--) {
		Fator = Fator + 1;
		if (Fator > numLim) {
			Fator = 2;
		}
		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}
	numSoma = numSoma/11;
	var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1) {
		numResto = 11 - numResto;
    }
    else {
		numResto = 0;
    }
    //-- Primeiro dígito calculado.  Fará parte do novo cálculo.
    //--
    var numDigito = String(numResto);
    novoCIC = novoCIC.concat(numResto);
    //--
	numSoma = 0;
	Fator = 1;
	for (var i=novoCIC.length-1; i>=0 ; i--) {
		Fator = Fator + 1;
		if (Fator > numLim) {
			Fator = 2;
		}
		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}
	numSoma = numSoma/11;
	numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1) {
		numResto = 11 - numResto;
    }
    else {
		numResto = 0;
    }
	//-- Segundo dígito calculado.
	numDigito = numDigito.concat(numResto);
	//
	if (numDigito == numDois) {
		return true;
	}
	else {
		return false;
	}
}

function ConfereCIC(objCIC) {
	var strCNPJPat = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;
	numCPFCNPJ = objCIC.value;
	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		alert("Informe um CNPJ válido.");
		return false;
	}
	return true; 
}

function setNumberOnly(Obj) {
	
	var data = new String(Obj.value);
	var dataok = '';
	var cont = 0;
	
	for (i = 0; i < data.length; i++) {
		if ((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) {
			dataok += data.charAt(i);
		} else {
			cont++;
	}	}
	
	return dataok;
}

/*function foto_popup () {

	window.open();

}*/

function criar_memorial (p1, p2, p3, p4, p5) {
	//if (confirm("Você realmente deseja criar o memorial desta pessoa?")) {
		NewWindow (p1, p2, p3, p4, p5);
	//	return true;
	//} else {
	//	return false;
	//}
}

function listar_pessoas (url) {
	mostraCarregando("conteudo", false);
	new Ajax.Updater("conteudo", url +"/falecido/", 
		{asynchronous:true, parameters: "", evalScripts:true, method:"get"});
}

function doValidaRadio(obj) {
	var is;

	if (obj.length > 0 ) { 

		for(i=0; i< obj.length; i++) 
    	{ 
    		if(obj[i].checked ==true) 
    		{ 
    			is = true; 
    			break; 
    		} else { 
    			is = false;
    		} 
    	}
	}
	else {
	
		if(obj.checked == true){ 
			is = true; 
		} else { 
			is = false;
		}
	}

	return is;
}

function whyValChecked(obj) {
	var is;

	if (obj.length > 0 ) { 

		for(i=0; i< obj.length; i++) 
    	{ 
    		if(obj[i].checked ==true) 
    		{ 
    			is = obj[i].value;
    			break; 
    		} else { 
    			is = 0;
    		} 
    	}
	}
	else {
	
		if(obj.checked == true){ 
			is = obj.value; 
		} else { 
			is = 0;
		}
	}
	return is;
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+
		num.substring(num.length-(4*i+3));
	return ( num + ',' + cents);
}

function aviso_logar (tipo_login, tag, piscar) {
	if (document.getElementById("tipo_login") != undefined)
		document.getElementById("tipo_login").value = tipo_login;
	if (document.getElementById("tag") != undefined)
		document.getElementById("tag").value = tag;
	if (piscar != undefined) {
		if (piscar) {
			if (document.getElementById("aviso_login") != undefined)
				document.getElementById("aviso_login").style.display = 'none';
			if (document.getElementById("email_login") != undefined)
				document.getElementById("email_login").focus();
			document.getElementById("mensagem_logar").style.display = "inline";
			window.setInterval ("pisca()", 300);
		} else
			document.getElementById("mensagem_logar").style.display = "none";
	} else
		document.getElementById("mensagem_logar").style.display = "none";
}

function pisca () {
	if (document.getElementById('mensagem_logar').style.color == '#ff0000') {
		document.getElementById('mensagem_logar').style.color = '#660000';
	} else {
		document.getElementById('mensagem_logar').style.color = '#FF0000';
	}
}

function contador_carac (limite, obj, obj_display) {
	var vlr_msg = obj;
	var vlr_cont = obj_display;
	vlr_cont.innerHTML = (limite - vlr_msg.value.length);
	if (vlr_msg.value.length >= limite) {
		vlr_msg.value = vlr_msg.value.substring(0, limite - 1);
 	}
}

function esconde_objeto (obj) {
	obj.style.display = 'none';
}

function habilita_campos() {
	if (document.getElementById('tipo') != undefined)
		document.getElementById('tipo').disabled = false;
	if (document.getElementById('nome') != undefined)
		document.getElementById('nome').disabled = false;
	if (document.getElementById('sexo') != undefined)
		document.getElementById('sexo').disabled = false;
	if (document.getElementById('nivel_id') != undefined)
		document.getElementById('nivel_id').disabled = false;
	if (document.getElementById('itp_id') != undefined)
		document.getElementById('itp_id').disabled = false;
	if (document.getElementById('cpf_cnpj') != undefined)
		document.getElementById('cpf_cnpj').disabled = false;
	if (document.getElementById('insc_estadual') != undefined)
		document.getElementById('insc_estadual').disabled = false;
}

function meus_dados(url, id) {
	mostraCarregando("conteudo", false); 
	new Ajax.Updater("conteudo", url +"/usuario/edit", 
	{asynchronous:true, parameters: "idmd="+ id, evalScripts:true, method:"get"});
	return false;
}

function mascara_data(campo, e) {
	var key = (e.which) ? e.which : e.keyCode;
	var len = campo.value.length;
	if ((key < 48 || key > 57) && key != 0 && key != 8 && key != 9 && key != 47)
		return false;
	if (key == 0 || key == 8 || key == 9)
		return true;
	if (len == 2 || len == 5) {
		if (key != 47)
			campo.value += "/";
		return true;
	} else if (key == 47 || len >= 10)
		return false;
	else
		return true
}

function valida_data(obj) {
	if (obj.value == '')
		return;
	var aux = obj.value.split('/');
	var data, dia = aux[0], mes = 0, ano = 0;
	if (aux[1] != undefined) mes = aux[1];
	if (aux[2] != undefined) ano = aux[2];
	data = ano.toString() +'-'+ mes.toString() +'-'+ dia.toString();
	if(!data.match(/^(((19|20)([13579][26]|[02468][048])-02-([0][1-9]|[12][0-9]))|((19|20)([02468][12356]|[013579][13579])-02-([0][1-9]|[1][0-9]|[2][0-8]))|(((19|20)[0-9][0-9])-((0[469]|11)-([0][1-9]|[12][0-9]|30)|(0[13578]|1[02])-([0][1-9]|[12][0-9]|3[01]))))$/)) {
		alert("Data inválida!");
		//obj.focus();
		return false;
	} else
		return true;
}

function cbfalecidos_change(objc, obju) {
	if (objc.checked)
		if (objc.name == 'tipo_listagem')
			obju.checked = false;
		else if (objc.name == 'tipo_listagem_')
			obju.checked = false;
}

function login_off_topo(on, tipo, usr_nome) {

	if (on) {
		if (document.getElementById("lg1") != undefined)
			document.getElementById("lg1").style.display = "none";
		document.getElementById("lg5").style.display = "none";
		document.getElementById("lg6").style.display = "none";
		if (usr_nome != '')
			document.getElementById("lg7").innerHTML = usr_nome;
		document.getElementById("lg2").style.display = "inline";
		document.getElementById("lg3").style.display = "inline";
		if (tipo <= 0) {
			document.getElementById("lg4").style.display = "none";
			//document.getElementById("lg8").style.display = "inline";
		} else { 
			document.getElementById("lg4").style.display = "inline";
			//document.getElementById("lg8").style.display = "none";
		} 
	} else { 
		if (document.getElementById("lg1") != undefined)
			document.getElementById("lg1").style.display = "inline";
		document.getElementById("lg5").style.display = "inline";
		document.getElementById("lg6").style.display = "inline";
		document.getElementById("lg2").style.display = "none";
		document.getElementById("lg3").style.display = "none";
		//document.getElementById("lg8").style.display = "none";
	}

}

function fck_atribui (a_campos) {
	var oEditor;
	for (w = 0; w < a_campos.length; w++) {
		oEditor = FCKeditorAPI.GetInstance(a_campos[w]);
		document.getElementById(a_campos[w]).value = oEditor.GetXHTML();
		//alert(document.getElementById(a_campos[w]).value);
	}
}

function abrir_secao (p) { //temp
}
