//-----------
var ver    = parseFloat (navigator.appVersion.slice(0,4));
var verIE  = (navigator.appName == "Microsoft Internet Explorer" ? ver : 0.0);
var verNS  = (navigator.appName == "Netscape" ? ver : 0.0);
var verOP  = (navigator.appName == "Opera"    ? ver : 0.0);
var verOld = (verIE < 4.0 && verNS < 5.0);
var isMSIE = (verIE >= 4.0);
//-----------

function fGeneric(obj,e,format){
	var myKeyCode    = (!isMSIE) ? e.which : e.keyCode; 
	var mySrcElement = (!isMSIE) ? e.target : e.srcElement;
	if(kn = keyNumber(myKeyCode)){
		var keyPress = kn-1;
	} else {
		var keyPress =	String.fromCharCode(myKeyCode);
	}
	var sysKeys      = "0,8,9,17,16,91,45,46,36,35,33,34,0";
	var numbers      = "0123456789";
	var maiusculas   = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var minusculas   = "abcdefghijklmnopqrstuvwxyz";
	if(sysKeys.indexOf(","+myKeyCode+",")!== -1){
		return(true);
	} else {
		if(obj.value.length >= format.length){
			obj.value = obj.value.substr(0,format.length);
			return(false);
		} else {
			if(format.charAt(obj.value.length) == '#'){
				if(numbers.indexOf(keyPress) == -1) return (false);
			} else if(format.charAt(obj.value.length) == 'A'){
				if(maiusculas.indexOf(keyPress) == -1) return(false);
			} else if(format.charAt(obj.value.length) == 'a'){
				if(minusculas.indexOf(KeyPress) == -1) return(false);			
			} else if(format.charAt(obj.value.length) == '*'){
				return(true);
			} else {
				obj.value+=format.charAt(obj.value.length);
			}
			return(true);
		}
	}
}
function keyNumber(val){
	var arr= new Array(96,97,98,99,100,101,102,103,104,105);
	for(var i = 0; i<arr.length;i++) if(arr[i] == val) return(i+1);
	return(false);
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
		return curtop;
}

function removeAccents(str) {
	var accents = "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ";
	var noaccents = "SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy";
	var strArray = str.split("");
	var pos;
	for (var i = 0; i<strArray.length; i++) {
		var pos = accents.indexOf(strArray[i]);
		if (pos !== -1) strArray[i] = noaccents.charAt(pos);
	}
	return (strArray.join(''));
}
function genericFormat(obj,format){
	var txt = retNum(obj.value);
	var result = '';
	var ctr = 0;
	for(var i = 0; i<txt.length;i++){
		var chr = txt.charAt(i);
		var fmt = format.charAt(i+ctr);
		if(fmt != '#'){
			result+=fmt;
			ctr++;
		}
		result+=chr;
	}
	if(result.length > format.length){
		obj.value = result.substr(0,format.length);
	} else {
		obj.value=result;
	}
}

function getStyle(obj,status) {
	if (status == 1) obj.className='fox';
	if (status == 0) obj.className='normal';
	if (status == 9) obj.className='erro';
}

function fox_old(obj,status,remover,format) {
	getStyle(obj,status);
	if(format != 0) {
		genericFormat(obj,format);
	}
	if(remover == 'rem' || remover == 1) {
		str = obj.value;
		nval = removeAccents(str);
		obj.value = nval.toUpperCase();
	}
}

function fox(obj,status) {
	getStyle(obj,status);
	var mydiv = document.getElementById('help');
	if (status == 0) {
		if (mydiv) {
			mydiv.style.visibility = 'hidden';
		}
	} 
}

function errorBar() {
	var err = document.getElementById('errorbar');
	err.style.visibility = 'visible';
	err.style.display = 'block';
	err.innerHTML = 'Por favor, preencha corretamente os campos assinalados em vermelho.';
}

function showMsg(id){
	var msgs = {};
	
	msgs.razao_social 	= 'Razão Social deve conter duas palavras';
	msgs.cnpj			= 'Preencha seu CNPJ corretamente. Apenas números, quinze dígitos.';
	msgs.cidade			= 'Informe sua Cidade.';
	msgs.uf 			= 'Selecione o Estado.';
	msgs.fone 			= 'Telefone deve conter sete dígitos ao menos, com DDD.';
	msgs.email 			= 'Informe um e-mail válido, para sua segurança.';
	
	msgs.pes_nome		= 'Seu nome completo.';
	msgs.nome		= 'Digite seu nome.';
	msgs.pes_rg		= 'Preencha sua identidade (RG). Apenas números.';
	msgs.pes_rg_emissor	= 'Órgão emissor que consta em seu RG.';
	msgs.pes_cpf		= 'Preencha seu CPF corretamente. Apenas números.';
	msgs.pes_nome_mae	= 'Informe o nome de sua mãe com no mínimo um sobrenome.';
	msgs.resid_cep		= 'CEP de sua residência. Apenas números';
	msgs.resid_endereco	= 'Informe o endereço do local onde você mora. Logradouro mais nome.';
	msgs.resid_endereco_comp	= 'Caso necessário, informe o complemento do endereço.';
	msgs.resid_cidade 	= 'Informe o nome da cidade onde você mora.';
	msgs.cidade 		= 'Informe o nome da cidade onde você mora.';
	//msgs.resid_tempo_mes	= 'Desde quando reside neste endereço';
	msgs.resid_ddd			= 'DDD do telefone de sua residência.';
	msgs.resid_fone			= 'Telefone fixo de sua residência (sete dígitos no mínimo).';
	
	msgs.pro_empresa 	= 'Nome ou Razão Social da empresa onde você trabalha.';
	msgs.pro_profissao	= 'Cargo que você exerce na empresa onde trabalha.';
	msgs.pro_renda 		= 'Sua renda mensal.';
	msgs.pro_cep 		= 'CEP da empresa onde trabalha.';
	msgs.pro_endereco 	= 'Endereço da empresa em que você trabalha.';
	msgs.pro_endereco_comp	= 'Caso necessário, informe o complemento do endereço.';
	msgs.pro_cidade 	= 'Cidade na qual trabalha.';
	msgs.pro_ddd 		= 'DDD do telefone da sua empresa';
	msgs.pro_fone 		= 'Telefone fixo da sua empresa (sete dígitos no mínimo).';
	
	msgs.ref_nome 		= 'Informe o nome de alguém para obtermos suas referências.';
	msgs.ref_ddd 		= 'DDD do telefone da referência.';
	msgs.ref_fone 		= 'Telefone desta pessoa (sete dígitos no mínimo).';
	msgs.ref_banco 		= 'Número do banco onde você possui conta.';
	msgs.ref_ag			= 'Número da agência onde você tem conta.';
	msgs.card_titular 	= 'O nome que você deseja imprimir no seu cartão CredConstrução.';
	
	msgs.assunto 		= 'Qual o assunto da mensagem que você está por enviar.';
	msgs.msg 			= 'Escreva sua mensagem.';
	
	msg = msgs[id];
	
	var spacer = 280; // tamanho em pixels
	var obj = document.getElementById(id);
	var mydiv = document.getElementById('help');
	mydiv.style.left = findPosX(obj) + spacer + 'px';
	mydiv.style.top  = findPosY(obj) - 5 + 'px';
	mydiv.style.position = 'absolute';
	mydiv.style.visibility = 'visible';
	mydiv.innerHTML = msg;
	
	//alert();
	//alert(obj.offsetLeft + obj.offsetWidth + spacer + 'px');
	//alert(obj.offsetTop + 'px');
}


function kup(obj,remover,format) {
	if(format != 0) {
		genericFormat(obj,format);
	}
	if(remover == 'rem' || remover == 1) {
		str = obj.value;
		nval = removeAccents(str);
		obj.value = nval.toUpperCase();
	}
}

function fDate(obj){
	var d = retNum(obj.value);
	dd = d.substr(0,2);
	mm = d.substr(2,2);
	aa = d.substr(4,4);
	if (dd.length != 2 || mm.length != 2) {
		obj.className='erro';
		alert('Dia e Mês devem conter 2 números');		
		obj.focus();		
	} else if (aa.length != 4) {
		obj.className='erro';
		alert('O Ano deve conter 4 números');
		obj.focus();
	} else {
		d = d.substr(0,2) + '/' + d.substr(2,2) + '/' + d.substr(4,4);
		obj.value=d;
		obj.className='normal';
	}
}
function vDate(id) {
	var obj = document.getElementById(id);
	hoje = new Date();	
	anoAtual = hoje.getFullYear();
	barras = obj.value.split("/");
	if (barras.length == 3){
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
		if (!resultado) {
			alert('A data informada não é válida');
			return (false);
		}
	} else {
		alert('Faltam dados na data informada.');
		return (false);
		}
		return (true);
}
/*
fFone()
	Valida os campos de telefone do formulário
*/
function fFone(obj){
	var fone=retNum(obj.value);
	var len = fone.length;
	var format = '';
	switch(len){
		case(12): format = '+99(99)9999-9999';	break;
		case(11): format = '+99(99)999-9999';	break;
		case(10): format = '(99)9999-9999';		break;
		case( 9): format = '(99)999-9999' ;		break;
		case( 8): format = '9999-9999'; 		break;
		case( 7): format = '999-9999';			break;
	}
	var ctr=0;
	var txt='';
	for(var i = 0; i<len;i++){
		var chr = fone.charAt(i);
		var fmt = format.charAt(i+ctr);
		if(fmt != '9'){
			txt+=fmt;
			ctr++;
		}
		txt+=chr;
	}
	if(txt.length > format.length || format != ''){
		obj.value = txt.substr(0,format.length);
	} else {
		obj.value=txt;
	}
}
function vFone(id){
	var obj = document.getElementById(id);
	var fone=retNum(obj.value);
	var len = fone.length;
	if(len < 7){
		return (false);
	}
	return (true);
}
/*
vCpf()
	Valida o CPF no formulário
*/
function vCpf(id){
	var obj = document.getElementById(id);
	var cpf  = retNum(obj.value);
	var dig  = cpf.substr(9,11);
	var key  ="098765432";
	var soma = 0;
	var dkey, dcpf;
	for(var i=0;i<9;i++){
		dkey = key.charAt(i);
		dcpf = cpf.charAt(i);
		dkey = i==0 && dkey==0 ? 10 : dkey;
		soma+=dkey * dcpf;
	}
	resultado = soma % 11;
	dv1 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	var key = "1098765432";
	var cpf = cpf.toString() + dv1.toString();
	soma=0;
	for(var i=0;i<10;i++){
		dkey = key.charAt(i);
		dcpf = cpf.charAt(i);
		dkey = i==1 && dkey==0 ? 10 : dkey;
		dkey = i==0 && dkey==1 ? 11 : dkey;
		soma += dkey * dcpf;
	}
	resultado = soma % 11;
	dv2 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	newdig = dv1.toString() + dv2.toString();
	cpf = cpf.substr(0,9);
	cpf = cpf.substr(0,3)+'.'+cpf.substr(3,3)+'.'+cpf.substr(6,3)+'-'+newdig;
	return(dig == newdig ? cpf: false);
}
/*
fCep()
	Valida os campos de CEP no formulário.
*/
function fCep(obj){
	var cep = retNum(obj.value);
	cep = cep.substr(0,2) + '.' + cep.substr(2,3) + '-' + cep.substr(5,3);
	obj.value = cep;
}

function vCep(id){
	var obj = document.getElementById(id);
	var cep=retNum(obj.value);
	var len = cep.length;
	if(len < 8){
		return (false);
	}
	return (true);
}
/*
retNum()
	Retorna apenas os números de uma string.
*/
function retNum(t){
	var validchars = "0123456789";
	var newt="";
	for(var i = 0; i<t.length;i++){
		if(validchars.indexOf(t.charAt(i))!= -1){
			newt+=t.charAt(i);
		}
	}
	return(newt);
}

/*
vMoney()
	Valida os campos de currency no formulário.
*/
/*
function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}
*/
function vMoney(){
}
/*
vCnpj()
	Valida o CNPJ no formulário
*/
function vCnpj(id){
	var obj = document.getElementById(id);
	var cnpj = retNum(obj.value);
	var dig = cnpj.substr(12,2);
	var cnpj = cnpj.substr(0,12);
	var key = "543298765432";
	var soma = 0;
	for(var i = 0; i < cnpj.length;i++){
		soma += (new Number(cnpj.charAt(i)) * new Number(key.charAt(i)));
	}
	var resultado = soma % 11;
	var dv1 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	cnpj = cnpj.toString() + dv1.toString();
	var key = "6543298765432";
	var soma = 0;
	for(var i=0;i<cnpj.length;i++){
		soma += cnpj.charAt(i) * key.charAt(i);
	}
	var resultado = soma % 11;
	var dv2 = resultado == 0 || resultado == 1 ? 0 : 11 - resultado;
	
	var newdig = dv1.toString() + dv2.toString();
	cnpj = newdig == dig ? cnpj.toString() + dv2.toString() : false;
	return(cnpj);
}

function vNome(id) {
	var obj = document.getElementById(id);
	if (retNum(obj.value) > 0) return (false);
	var len = obj.value.length;	
	if(len < 2){
		return (false);
	}
	if (obj.value.indexOf(" ") < 1) {
		return (false);
	}
	return (true);
}

function vEmail(id) {
	var obj = document.getElementById(id);
	parte1 = obj.value.indexOf("@");
	parte2 = obj.value.indexOf(".");
	parte3 = obj.value.length;
	if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
		return (false);
	}
	return (true);
}

function vNum(id){
	var obj = document.getElementById(id);
	var numbers = "0123456789";
	var txt = obj.value;
	var ret = '';
	for(var i=0;i<txt.length;i++) if(numbers.indexOf(txt.charAt(i)) !== -1) ret+=txt.charAt(i);
	if(txt == ret){
		return(txt);
	} else {
		return(false);
	}
}

function setStyleError(id) {
	var obj = document.getElementById(id);
	obj.className='erro';	
}

function vCommon(id){
	var obj = document.getElementById(id);
	if(obj.value.length < 1){
		return(false);
	} else {
		return(obj.value);
	}
}

function popper(pg,w,h) {
	var open = void(window.open(''+pg+'','','width='+w+',height='+h+''));	
}

function shide(id,arr) {
	var os = document.getElementById(id).style;
	var disp = os.display;
	var tmp = id.split('-');
	var n = tmp[1];
	for(var i=0; i<arr; i++) {
		if(i == n) {
			if(disp == 'none') {
				os.display = 'block';
			} else {
				os.display = 'none';
			} 
		} else {
			var otherid = 'idf-'+i;
			document.getElementById(otherid).style.display = 'none';
		}
	}
	
	
}