function ohs_aj(url,janela,formato) {
var janela=window.open(url,janela,formato);
if (janela)	{janela.focus();}
}

function confirmLink(theLink, mensagem ,theSqlQuery)
{
		var confirmMsg  = 'Deseja realmente '+ mensagem +' este registro';
		if (confirmMsg == '') {
			return true;
		}
		var is_confirmed = confirm(confirmMsg + ' :\n' + theSqlQuery);
		if (is_confirmed) {
			theLink.href += '&is_js_confirmed=1';
		}
		return is_confirmed;
}

function mudaVisibilidade(obj)
{
	if(document.getElementById(obj).style.display == 'block') {
	document.getElementById(obj).style.display = 'none';
	}
	else
	{
		document.getElementById(obj).style.display = 'block';
	}
	return false;
}

function limitaCaracteres(campo,caracteres,limite)
{
	var tamanhodocampo =  parseInt(campo.offsetWidth);
	var usados = campo.value.length;        

	if (usados > limite)
	{campo.value = campo.value.substring(0, limite);}
	else { 
		// mostra a barra com a quantidade usada
		var percentagem = parseInt(100 - (( limite - usados) * 100)/limite) ;
		document.getElementById(caracteres).style.width =  parseInt((tamanhodocampo*percentagem)/100)+"px";
		document.getElementById(caracteres).innerHTML=percentagem+"% usado"
	}
}

// inicia lytebox quando está dentro de um clueTip, de outra maneira não funciona
function startLytebox(href, title, rel, id) {
	var el   = document.getElementById(id);
	el.href  = href;
	el.title = title;
	el.rel = rel;
	myLytebox.start(el);
}

function soNumero(campo){
	var numeros="0123456789";
	var temporario;
	for (var i=0;i<campo.value.length;i++)
	{
		temporario=campo.value.substring(i,i+1);
		if (numeros.indexOf(temporario)==-1)
		{
			campo.value = campo.value.substring(0,i);
			break;
		}
	}
}
function soLetra(campo){
	var letras="abcdefghijklmnopqrstuvwxyz";
	var temporario;
	for (var i=0;i<campo.value.length;i++)
	{
		temporario=campo.value.substring(i,i+1);
		if (letras.indexOf(temporario)==-1)
		{
			campo.value = campo.value.substring(0,i);
			break;
		}
	}
}

function vazioNao(campo,rotulo)
{
	with (campo)
	{
		if (value==null||value=="")
		{
			alert("O campo '" + rotulo + "' é de preenchimento obrigatório!\nEnquanto ele não for preenchido, o formulário não poderá ser enviado!");
			//campo.focus();
			return false
		}
		else {return true}
	}
}
// -------------- máscara para campos -------------------------
// Oliveira Junior, membro #47.726
// http://forum.imasters.com.br/index.php?showtopic=222133
// ------------------------------------------------------------
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
	if(mascaraInteiro(cnpj)==false){
	event.returnValue = false;
	}
	return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
	if(mascaraInteiro(cep)==false){
	event.returnValue = false;
	}
	return formataCampo(cep, '00000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
	if(mascaraInteiro(data)==false){
	event.returnValue = false;
	}
	return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara de hora
function MascaraHora(hora){
	if(mascaraInteiro(hora)==false){
	event.returnValue = false;
	}
	return formataCampo(hora, '00:00:00', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){
	if(mascaraInteiro(tel)==false){
	event.returnValue = false;
	}
	return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
	if(mascaraInteiro(cpf)==false){
	event.returnValue = false;
	}
	return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
	exp = /\(\d{2}\)\ \d{4}\-\d{4}/
	if(!exp.test(tel.value))
	alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
	exp = /\d{5}\-\d{3}/
	//exp = /\d{2}\.\d{3}\-\d{3}/
	if(!exp.test(cep.value))
	alert('Numero de Cep Invalido!');
}

//valida data
function ValidaData(data){
	exp = /\d{2}\/\d{2}\/\d{4}/
	if(!exp.test(data.value))
	alert('Data Invalida!');
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
	var cpf = Objcpf.value;
	exp = /\.|\-/g
	cpf = cpf.toString().replace( exp, "" );
	var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
	var soma1=0, soma2=0;
	var vlr =11;

	for(i=0;i<9;i++){
	soma1+=eval(cpf.charAt(i)*(vlr-1));
	soma2+=eval(cpf.charAt(i)*vlr);
	vlr--;
	}
	soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
	soma2=(((soma2+(2*soma1))*10)%11);

	var digitoGerado=(soma1*10)+soma2;
	if(digitoGerado!=digitoDigitado)
	alert('CPF Invalido!');
}

//valida numero inteiro com mascara
function mascaraInteiro(){
	if (event.keyCode < 48 || event.keyCode > 57){
	event.returnValue = false;
	return false;
	}
	return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
	var cnpj = ObjCnpj.value;
	var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
	var dig1= new Number;
	var dig2= new Number;

	exp = /\.|\-|\//g
	cnpj = cnpj.toString().replace( exp, "" );
	var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

	for(i = 0; i<valida.length; i++){
	dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
	dig2 += cnpj.charAt(i)*valida[i];
	}
	dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
	dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

	if(((dig1*10)+dig2) != digito)
	alert('CNPJ Invalido!');
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
	var boleanoMascara;

	var Digitado = evento.keyCode;
	exp = /\-|\.|\:|\/|\(|\)| /g
	campoSoNumeros = campo.value.toString().replace( exp, "" );

	var posicaoCampo = 0;
	var NovoValorCampo="";
	var TamanhoMascara = campoSoNumeros.length;;

	if (Digitado != 8) { // backspace
		for(i=0; i<= TamanhoMascara; i++) {
			boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
			|| (Mascara.charAt(i) == "/") || (Mascara.charAt(i) == ":"))
			boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(")
			|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
			if (boleanoMascara) {
				NovoValorCampo += Mascara.charAt(i);
				TamanhoMascara++;
			}else {
				NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
				posicaoCampo++;
			}
		}
	campo.value = NovoValorCampo;
	return true;
	}else {
		return true;
	}
}

// ------------ fim máscara para campos ------------------------
