// JavaScript Document


//Remove caracteres nao numericos -- INICIO -- By Marcio Bandeira
var reDigits = /^\d+$/;
var arrayCampos = new Array();

function validaInt(campo){
	
	pStr = campo.value;
	if (reDigits.test(pStr)) {
		
	} else if (pStr != null && pStr != "") {
		campo.value = campo.value.substring(0,campo.value.length - 1);
	}
}
//Remove caracteres nao numericos -- FIM -- By Marcio Bandeira

//Remove caracteres nao numericos --INICIO-- By Marcio Bandeira
var reDecimalPt = /^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/;
var reDecimalEn = /^[+-]?((\d+|\d{1,3}(\,\d{3})+)(\.\d*)?|\.\d+)$/;
var reDecimal = reDecimalPt;


function validaFloat(campo, pLang){	
	 	
	pStr = campo.value;
			
	charDec = ( pLang != "En"? ",": "." );	
	eval("reDecimal = reDecimal" + pLang);
	
	if (reDecimal.test(pStr)) {
		//pos = pStr.indexOf(charDec);
		//decs = pos == -1? 0: pStr.length - pos - 1;				
		return;		
	}
	else if (pStr != null && pStr != "") {					
		campo.value = campo.value.substring(0,campo.value.length - 1);				
		return;		
	}
}
//Remove caracteres nao numericos --FIM--

function campo_onFocus(objCampo)
{
	_editandoCampo = true;
	if(!objCampo.readOnly && objCampo.type =='text')
	objCampo.className = 'caixaTexto_Focus';
	objCampo.style.backgroundColor = '#FCFEDE';
}

function campo_onBlur(objCampo,obrigatorio,somenteLeitura)
{
	_editandoCampo = false;
	objCampo.className = 'caixaTexto_Blur';
	objCampo.style.backgroundColor = (obrigatorio) ? '#f0fbff' : '#FFFFFF';
	if(somenteLeitura) objCampo.style.backgroundColor = '#E8E8E8';
}
function tooltip(texto,objCampo){
	divTooltip = document.getElementById('div_tooltip');
	divTooltip.innerHTML = texto;
	divTooltip.style.left = findPosX(objCampo) + 1;
	divTooltip.style.top = findPosY(objCampo) + 20;
	if(texto)divTooltip.style.display = '';
}

function abreHomePage(campo){
	url = campo.value;
	if(!url){
		alert('O campo deve estar preenchido!');
		campo.focus();
		return false;
	}
	if(url.indexOf('http://')!==0 && url.indexOf('https://')!==0)
		url = 'http://' + url;
	window.open(url);
}

function mandaEmail(campo){
	adr = campo.value;
	if(!adr){
		alert('O campo deve estar preenchido!');
		campo.focus();
		return false;
	}
	location = 'mailto:'+adr;
}
function retornaCamposRestricao(id){
	var valores = '';
	nomesCampoTabela = document.getElementById('_nomesCampoTabela_' + id).value;
	nomesCampoFormulario = document.getElementById('_nomesCampoFormulario_' + id).value;
	tipos = document.getElementById('_tipos_' + id).value;
	p = document.getElementById('_parent_' + id).value;
	if(nomesCampoFormulario){
		arrayNomes = nomesCampoFormulario.split(',');
		arrayParent = p.split(',');
		for(i=0;i<arrayNomes.length;i++){
			if(arrayParent[i]){
				valores += _root().document.getElementById(arrayNomes[i]).value + ',';
			} else {
				valores += document.getElementById(arrayNomes[i]).value + ',';
			}
		}
		valores = valores.substring(0,valores.length-1);

	}
	return '&nomesCampoTabela=' + nomesCampoTabela + '&tipos=' + tipos + '&valores=' + valores;
}
function _campoAlterado(id){
	eval(document.getElementById('_onChange_'+id).value);
	document.getElementById(id).value = '1';
}

function visibleCampo(idCampo, visible){
	document.getElementById('_tr_' + idCampo).style.display = (visible) ? '':'none';
}

function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength);
}
//método que adiciona o campo em uma array do javascript da class campo
//para seja possivel saber o proximo campo a se preenchido
//Dasio Giovanni - 30/04/2008
function adicionaCampoArrayCampos(campo){
			indiceCampos = arrayCampos.length;
			arrayCampos[indiceCampos] = campo;
}
//método que leva o focu para o proximo campo caso ele exista
//Dasio Giovanni - 30/04/2008
function proximoCampo(keyStroke,obj){
		var evento;
		if(navigator.appName == 'Microsoft Internet Explorer')
			evento = event;
		else
			evento = keyStroke;
		if(evento.keyCode == 13){
			for(var i = 0;i<arrayCampos.length; i++)
				if(arrayCampos[i] == obj.name){
					if(i < arrayCampos.length){
						document.getElementById(arrayCampos[i+1]).focus();
					}
				}
		}
}
//método que leva o focu para o proximo combo caso ele exista
//Dasio Giovanni - 30/04/2008
function proximoCampoCombo(objeto, selecione){
		for(var i = 0;i<arrayCampos.length; i++)
			if(arrayCampos[i] == objeto){
				if(i < arrayCampos.length){
					if(selecione == "descricao"){
						if(document.getElementById("_desc_"+arrayCampos[i+1])){
							document.getElementById("_desc_"+arrayCampos[i+1]).focus();
							/**
							removido pois combo filho entra em Loop quando é executada esta função
							Por Lucas
							30/05/2008							
							*/
							//document.getElementById("_imgHab_"+arrayCampos[i+1]).onclick();
						} else {
							if(document.getElementById(arrayCampos[i+1])){
								document.getElementById(arrayCampos[i+1]).focus();
							}
						}
					} else {
						if(document.getElementById(arrayCampos[i+1])){
							document.getElementById(arrayCampos[i+1]).focus();
						}
					}
				}
			}
}

//recebe um campo que deve ter no minino o tamanho passado como param.
//implementado para sanar problema quando o usuario clica no campo tel e nao digita nada ficando apenas um "("
function verificaTamanhoCampo(campo,tamanho){
	//quando tel e nao se digita nada fica somente o caracter '(' do ddd
	if(campo.value.length == 1 && campo.value.length < tamanho)
		campo.value = '';
	else if (campo.value.length < tamanho){		
		alert('Valor digitado para o campo está incorreto.')
		campo.value = '';
	}
} 
/**
 * verificaEspaco
 * @param {objeto} campo
 * @fileoverview Criado para verificar se exite espaço na primeira posição de um campo do tipo chave primaria
 * @author Por Fabiano Campos 25/05/2009
 * 
 */
 function verificaEspaco(campo) {
 	valor=campo.value;
 	var pos= valor.indexOf(' ');
 	if(pos==0){
 		alert('Não é permitido adicionar espaço na primeira posição deste campo!');
 	   campo.value='';
 	}
 	
 }
 