//-------------------------------------------------
//DATA:		07/05/2003
//PROGR.:	Marcelo S. Pereira
//FUNÇÃO:	arquivo generico de funções JavaScript
//-------------------------------------------------

//VARIÁVEL QUE REFERENCIA A WINDOW ABERTA PELA FUNÇÃO openWin()
var objWin = null;

// ABRE JANELAS POPUP 
// url, largura, altura, scroll e name(target)
function openWin(page,w,h,s,name){	
	if(!w)w = 640; if(!h)h = 480;
	if(s)w += 20; if(!name)name = "";
	window.status = "AGUARDE, ABRINDO JANELA...";
	var x = (window.screen.availWidth - w ) / 2;
	var y = (window.screen.availHeight - h ) / 2;		
	objWin = window.open(page,name,"height="+h+",width="+w+",top="+y+",left="+x+(s ? ",scrollbars, resizable":""));
	window.status = "";
}

function openWin2(page){	
	window.status = "AGUARDE, ABRINDO JANELA...";
	var x = (window.screen.availWidth - 640 ) / 2;
	var y = (window.screen.availHeight - 480 ) / 2;		
	objWin = window.open(page,name,"height=480,width=640,top="+y+",left="+x+",resizable");
	window.status = "";

}

//FUNÇÃO QUE RETORNA A REFERENCIA AO OBJETO CONF. ID
//id: identificação do objeto
function getObj(id){
	return (document.getElementById) ? document.getElementById(id) : document.all[id];
}

//FUNÇÃO QUE CRIA UM COOKIE
//nome: nome do cookie, valor: valor atribuido ao cookie, dtexp: data de expiração DD/MM/AAAA
//dom: dominio de atuação, path: caminho de validação
function setCookie(nome, valor, dtexp){
	document.cookie = nome + "=" + escape(valor) + "; expires=" + escape(dtexp);
}

//FUNÇÃO QUE RETORNA O VALOR DE UM COOKIE
//nome: nome do cookie
function getCookie(nome){
	var v = document.cookie.split("; ");
	for(i=0;i<v.length;i++){
		v[i] = v[i].split("=");
 		if(v[i][0]==nome)return v[i][1];
	}
}

// VALIDA ENDEREÇO DE E-MAIL
function validaEmail(email){
	var er = /^[a-z0-9_\.-]+@([a-z0-9_-]+\.)+[a-z]{2,3}$/i;
	return (email.match(er) && email!="");
}

//FUNÇÃO QUE VALIDA FORMATO DE IMAGENS
//obj: referência ao input(file) da imagem
function validaImagem(obj){
	var er = /^.+\\[a-z0-9_]+\.(jpe?g|gif|png)$/i;
	if(!obj.value.match(er) && obj.value.length>3){
		var msg = "ATENÇÃO!\n\nO nome do arquivo de imagem NÃO deve conter espaços NEM caracteres acentuados,\n";
		msg += "DEVE também estar em formato JPG, GIF ou PNG. Se alguma dessas regras não forem\n";
		msg += "seguidas poderão ocorrer sérios problemas de acesso e performance em alguns navegadores."
		alert(msg);	obj.focus(); return false;
	}else
		return true;
}

//FUNÇÃO QUE VALIDA FORMATO DE NOMES DE ARQUIVOS
//obj: referência ao input(file) da imagem
function validaArquivo(obj){
	var er = /^.+\\[a-z0-9_]+\.[a-z0-9]{3}$/i;
	if(!obj.value.match(er) && obj.value.length>3){
		var msg = "ATENÇÃO!\n\nO nome do arquivo NÃO deve conter espaços NEM caracteres especiais ou acentuados,\n";
		msg += "DEVE ser formado por LETRAS (a-z) NÃO acentuadas e/ou NÚMEROS (0-9).\nA mesma regra ";
		msg += "vale para a extensão.\n\nExemplo: \n\t \"Nome Inválido.txt\" ==> \"nome_correto.txt\"";
		alert(msg);	obj.focus(); return false;
	}else
		return true;
}

//FUNÇÃO PARA VALIDAÇÃO DE DATAS
//data: Data de teste (dd/mm/yyyy ou dd/mm/yyyy hh:mm)
function isDate(data){
	if(data instanceof Date)return true;
	var adt = data.replace(/[\s\:\/\.\-]/g,"-").split("-");
	if(adt.length>3){
		var odt = new Date(adt[2],--adt[1],adt[0],adt[3],adt[4]);
		var hr = (odt.getHours()==adt[3] && odt.getMinutes()==adt[4]);
	}else 
		var odt = new Date(adt[2],--adt[1],adt[0]);		
	var dt = (odt.getFullYear()==adt[2] && odt.getMonth()==adt[1] && odt.getDate()==adt[0]);
	return (adt.length>3) ? dt && hr : dt;
}

//FUNÇÃO PARA EXIBIR UMA IMAGEM NUMA POPUP CENTRALIZADA E EM SEU TAMANHO NATURAL
//E SE PASSAR DE 800X600 GERA SCROLLBARS
function openImg(img_url,title){
	document.MyImg = new Image();
	document.MyImg.onload = function(){
		var img = document.MyImg.src;
		var w = document.MyImg.width, h = document.MyImg.height;
		var s = (h > 525 || w > 700) ? ",scrollbars,resizable" : "";
		w = (w > 700) ? 700 : w; h = (h > 525) ? 525 : h; if(title) h += 40;
		var x = (window.screen.availWidth - w) / 2, y = (window.screen.availHeight - h) / 2;
		var win = window.open("","imagens","left="+x+",top="+y+",width="+w+",height="+h+s);
	    win.document.open();
	    win.document.write("<html><head><title>Imagens - "+title+"</title></head>");
		win.document.write("<body bgcolor='white' style='margin:0px'><center>");
		if(title)win.document.write("<p style='font:bold 9pt verdana'><br>"+title+"");
	    win.document.write("<a href='javascript:window.close()'><img src='"+img+"' border='0'></a>");
	    win.document.write("</p></center></body></html>\n");
	    win.document.close();
	}
	document.MyImg.src = img_url;
}

//FUNÇÃO Q DISPARA O SALVAMENTO DOS DADOS ATUAIS DO FORM E REDIRECIONA 
//PARA O FORMULARIO DE INCLUSÃO DE IMAGENS OU ARQUIVOS
function exec(cod,cpai,act, tipo){
	if(act=="del")
		if(!confirm("Confirma a exclusão definitiva?"))return;
	var par = "codigo="+cod+"&act="+act+"&tp="+tipo+"&redir=";
	document.frm.param[0].value = par + document.location.pathname;
	if(document.frm.cod_txt_ind)
		document.frm.cod_txt_ind.value = cpai;
	salvar();
}

/***************************************/
//REDIRECINAMENTO DE FUNÇÕES
//window.onload = function(){
//	abre_img = openImg;
//}
/***************************************/


//OBTEM AS DIMENSÕES DA IMAGEM E AS ATRIBUI AO value DO obj_param
function getImgSize(obj_img,obj_param){
	document.NewImg = new Image();
	document.NewImg.onload = function(){
		obj_param.value = document.NewImg.width+"|";
		obj_param.value += document.NewImg.height;
	};
	document.NewImg.src = obj_img.value;
}