
//**************************//
// menu POPUP
//**************************//
var menuPopUpAberto = false;
//**************************//
function menuPopUp(nome,tit,vOp,ops,est) {
	var oM = null;
	if (typeof(tit)=='object') {
		this.obj = tit;
		this.obj.setAttribute('disp',1);
		oM = tit;
		tit='';
	}
	this.aberto = false;
	if (''+ops=='undefined') {
		ops = '';
	}
	this.evento = true;
	this.posEsq = 0;
	this.incX = 0;
	this.incY = 0;
	this.ops = ops;
	this.nome = nome;
	this.tit = tit;
	this.fecha = menuPopUp_fecha;
	this.abre = menuPopUp_abre;
	this.click = menuPopUp_click;
	this.click1 = menuPopUp_click1;
	this.vat = new Array;
	if (typeof(est)=='undefined') {
		est = 'menPop';
	}
	if (""+vOp=="undefined") {
		return;
	}
	//cria divisão conforme array
	document.write(
	'<DIV ID="'+this.nome+'" class='+est
	+' STYLE="POSITION: absolute; VISIBILITY: hidden; TOP: 0px; LEFT: 0px;">'
	+'<table class='+est+'>');
	var i = 'onclick='+this.nome+'.fecha(event);>';
	if (ops.indexOf('/nnova')==-1) {
		document.write('<tr><td class='+est+'Tit '+i+this.tit
		+'<td class='+est+'Fecha '+i
		+'x');
	} else {
		document.write('<tr><td class='+est+'Tit '+i+this.tit);
	}
	for (var i=0;i<vOp.length;i++) {
		var op = vOp[i];
		var ps,url;
		if ((ps=op.indexOf("~~"))!=-1) {
			this.vat[i] = op.substring(ps+2);
			url = substrAt(op,'~~');
			op = op.substring(0,ps);
		} else {
			this.vat[i] = op;
		}
		if (op=='-') {
			document.write('<tr><td class='+est+'Sp>');
		} else {
			var oc = ' onClick=javascript:'+this.nome+'.click('+i;
			document.write('<tr><td class='+est+oc+',false,event)>'
				+'&nbsp;<a href="'
					+(!vazio(url) && url.indexOf('{cod}')==-1
						?url
						:'javascript:'+this.nome+'.click('+i+',false,event);'
					)+'" class='+est+'>'+op+'</a>'
				+(ops.indexOf('/nnova')==-1?
				'<td class='+est+'N '+oc+',true,event)>'
				+'<a class='+est+'N>+</a>'
				:'')
			);
		}
	}
	document.write('</table></DIV>');
	//**************************//
	function menuPopUp_click(pos,nova,event) {
		if (event.ctrlKey) return;
		this.fecha();
		//lert('pos='+pos+' param='+this.param+" nova="+nova);
		var a = this.vat[pos],i;
		//lert('1='+a);
		if ((i=a.indexOf("{cod}"))!=-1) {
			a = a.substring(a,i)+this.param+a.substring(i+5);
		} else if (a.substring(0,11)=='javascript:') {
			//lert("eval="+a);
			eval(a);
			return;
		} else {
			a += this.param;
		}
		this.click1(a,nova);
	}
	//**************************//
	function menuPopUp_click1(a,nova) {
		//lert(a);
		if (nova) {
			window.open(a,"_blank");
		} else {
			window.location = a;
		}
	}
	//**************************//
	function menuPopUp_fecha(ev) {
		//objNav(ev);
		//lert(0);
		//ebJ(trace());
		if (typeof(ev)!='undefined' && ev.ctrlKey) {
			return;
		}
		menuPopUpAberto = false;
		this.aberto = false;
		browse.esconde(oM,false);
	}
	//**************************//
	function menuPopUp_abre(ob,pr,ev) {
		if (this.aberto) {
			this.fecha();
			return;
		}
		if (typeof(pr)=='object') {
			ev = pr;
			pr = '';
		}
		if (vazio(oM)) {
			oM = browse.getId(this.nome);
		}
		menuPopUpAberto = true;
		this.aberto = true;
		this.param = pr;
		//var o = browse.getId(this.nome);
		//objNav(o);
		var tx = browse.getTX(ob);
		var x,y;
		x = browse.getAbsX(ob)+((tx==-1)?30:tx);
		if (this.posEsq!=0) {
			x -= browse.getTX(oM)+tx-30;
		}
		y = browse.getAbsY(ob)+browse.getTY(ob);
		
		//abaixo - campo de listar possíveis conteúdos
		if (this.abaixo) {
			x = browse.getAbsX(ob);
			//browse.setTX(oM,browse.getTX(ob));
			//y = browse.getAbsY(ob);
			this.incX = 0;
			this.incY = 0;
			//lert('x='+x+' y='+y);
		}
		
		//tem evento
		if (!vazio(ev) && this.evento) {
			var xx = browse.eventoX(ev);
			if (xx!=-1) x = xx;
			xx = browse.eventoY(ev);
			if (xx!=-1) y = xx;
		}
		
		if (this.centrado) {
			//lert(browse.getTX(ob));
			x -= browse.getTX(oM)/2+browse.getTX(ob)/2;
		}
		if (this.acima) {
			y -= browse.getTY(oM);
		}
		if (this.esquerda) {
			browse.mostra(oM,false);
			//lert('esq='+browse.getTX(oM)+' '+browse.getTX(ob));
			//objNav(oM);
			x -= browse.getTX(oM)+(this.esquerda==2?browse.getTX(ob):0);
			//return;
		}
		if (this.posE) {
			x -= this.posE + browse.getTX(oM);
		}
		if (this.posS) {
			y -= this.posS + browse.getTY(oM);
		}
		//lert(oM);
		//lert('x='+x+' y='+y);
		browse.setX(oM,x+this.incX);
		browse.setY(oM,y+this.incY);
		browse.mostra(oM,false);
	}
}



	//*******************************//
	function resize(sObj,minX,minY) {
		//lert('resize='+sObj);
		if (nulo(sObj)) {
			var ob = window.document.body;
			//objNav(ob);
		} else {
			var ob = browse.getId(sObj);
		}
		var tX=ob.offsetWidth;
		var tY=ob.offsetHeight; 
		if (vazio(minX)) {
			tX += 80;
			tY += 50+(browse.ie?0:0)
		}
		
		//limita ao tam janela raiz...
		var jr = janRaiz();
		//objNav(jr);
		var mX = browse.tamWinX(jr);
		tX = tX>mX?mX:tX;
		var mY = browse.tamWinY(jr);
		//lert(mY);
		tY = tY>mY?mY:tY;
		
		//tam minimo linux: 423 x 208 e win 419x264
		if (vazio(minX)) minX = 420;
		if (vazio(minY)) minY = 210;
		//lert('x='+tX+' '+minX+' y='+tY+' '+minY+' '+jr.location);
		if (tX<minX) tX = minX;
		if (tY<minY) tY = minY;
		
		try {
			//lert('semOK x='+tX+' y='+tY);
			top.resizeTo(tX,tY);
		} catch (e) {
			alert('ERRO: resize win='+e);
		}
	}


	//*******************************
	function ascan(arr,vlr) {
		for (prop in arr) {
			if (arr[prop]==vlr) {
				return prop;
			}
		}
		return -1;
	}
	

	//*********************************
	function janRaiz() {
		if (vazio(top.opener)) {
			return top;
		}
		return top.opener.janRaiz();
	}
	//*********************************
	function janLocObj(nome) {
		var x;
		try {
			x = eval(nome);
		} catch (e) {
		}
		if (typeof(x)!='undefined') {
			return x;
		}
		if (vazio(top.opener)) {
			return null;
		}
		return top.opener.janLocObj(nome);
	}


//*******************************//
//controle de eventos
var acoesEvento = new Array(); 
regAcaoEvento('load','aAtalhos()');
var parente,objPai;
var obj_obj;
//imagePopUp.load();


//*******************************//
// janelas dependentes
//*******************************//
var wDep = new Array,wTip = new Array,wUrl = new Array,imprPdfTM;

//*******************************//
//*******************************//
//*******************************//
// CONTROLE DE JANELAS POPUP..
// TIPOS DE JANELA: 
// 0 - FECHA SÓ SE FECHAR A PRINCIPAL
// 1 - FECHA SE O FOCO VOLTAR A PRINCIPAL
// 2 - OBRIGA O FOCO NA SECUNDARIA (DIÁLOGO);
// 3 - TOTALMENTE INDEPENDENTE
//*******************************//
//*******************************//
//*******************************//
	function objParente() {
		return obj_obj;
	}
 
	//*******************************//
	function regAcaoEvento(acao,funct) {
		if (!acoesEvento[acao] || vazio(acoesEvento[acao])) {
			acoesEvento[acao] = new Array();
		}
		acoesEvento[acao][acoesEvento[acao].length] = funct;
	}
	//*******************************//
	function evento(s,ev) {
		//opção em js
		//if (window.addEventListener) window.addEventListener("load",func,false);
		//else if (window.attachEvent) window.attachEvent("onload",func);   
		//for (var f = 0; (formnode = document.getElementsByTagName('form').item(f)); f++) {
		//executa acoes registradas
		//lert(s+' '+ev);
		if (acoesEvento[s] && !vazio(acoesEvento[s])) {
			for (prop in acoesEvento[s]) {
				//lert(acoesEvento[s][prop]);
				var x = acoesEvento[s][prop];
				if (x.indexOf('(')==-1) {
					x += '()';
				}
				eval(x);
			}
		}
  
		if (s=='resize') {
		}
		if (s=='load') {
			//lert('l='+opener);
			if (objLen(opener)!=0) {
				parente = opener;
				objPai = opener.objParente();
			}
			//objLen(opener);
			if (!vazio(objPai) && !vazio(objPai.onLoad)) {
				eval(objPai.onLoad);
			}
		}
		if (s=='close') {
			if (!vazio(objPai) && objPai.pulaClose) {
				objPai.pulaClose = false;
				return;
			}
			//fecha todas as janelas dependentes
			for (i=0;i<wDep.length;i++) {
				if (wDep[i]!=0) {
					wDep[i].close();
					wDep[i] = 0;
				}
			}
			//informa a superior
			if (parente && !vazio(objPai)) {
				//lert('informa sup');
				parente.dRegistraWin(objPai.janPos);
			}
		}
		if (s=='focus') {
			//fecha janelas tipo 1 
			for (var i=0;i<wDep.length;i++) {
				if (wDep[i]!=0 && wTip[i]==1) {
					wDep[i].close();
					wDep[i] = 0;
				} else if (wDep[i]!=0 && wTip[i]==2) {
					try {
						wDep[i].focus();
					} catch(e) {
						//lert('Erro: '+e);
					}
				}
			}
		}
		if (s=='focusOut') {
			if (!vazio(objPai) && objPai.tipo==2) {
				//window.focus();
				//lert("tipo janela=1");
				//fecha somente se o foco volta para a mãe...
				//parente.dRegistraWin(janPos);
				//window.close();
			}
		}
	}
	//*******************************//
	function dRegistraWin(i) {
		if (typeof(i)=='string') {
			i = substrAt(i,'//');
			i = '/'+substrAt(i,'/');
			for (var i1=0;i1<wDep.length;i1++) {
				if (wDep[i1]!=0 && wUrl[i1]==i) {
					//lert('achei: '+wUrl[i1]);
					dRegistraWin(i1);
					return;
				}
			}
			alert('não achei: '+i+'\nem\n'+wUrl);
		} else if (wDep[i]!=0) {
			wDep[i].close();
			wDep[i] = 0;
		}
	}
	//*******************************//
	function registraWin(obj) {
		for (i=0;i<wDep.length;i++) {
			if (wDep[i]==0) {
				break;
			}
		}
		obj.janPos = i;
		wDep[i] = obj.obj;
		wTip[i] = obj.tipo;
		wUrl[i] = obj.url;
		obj_obj = obj;
	}
	//*******************************//
	function alertErro(e) {
		alert(erro(e));
	}
	//*******************************//
	function trace(a) {
		return troca(erro(new Error('trace '+a)),'\n\n','<hr>');
	}
	//*******************************//
	function centra(ob,noOb) {
		var xy = centraCoo(ob,noOb);
		//lert(xy);
		if (xy && xy.length>1) {
			if (vazio(ob)) {
				ob = top;
			}
			ob.moveTo(xy[0],xy[1]);
		}
	}
	//*******************************//
	function centraCoo(ob,noOb) {
		//if (!cli.centra) return;
		if (typeof(ob)=='undefined') {
			ob = top;
			noOb = janRaiz();
		} else if (typeof(noOb)=='undefined') {
			noOb = ob;
			ob = top;
		}
		if (browse.ie) {
			try {
				var pX = noOb.screenLeft+noOb.document.body.offsetWidth/2
				-ob.document.body.offsetWidth/2;
				var pY = noOb.screenTop+noOb.document.body.offsetHeight/2
				-ob.document.body.offsetHeight/2;
				return new Array(pX,pY);
			} catch (e) {
				alert('erro='+e);
			}
		} else {
			var pX = noOb.screenX+noOb.outerWidth/2-ob.outerWidth/2;
			var pY = noOb.screenY+noOb.outerHeight/2-ob.outerHeight/2;
			return new Array(pX,pY);
		}
		return new Array();
	}
 
	//*******************************
	function centraDiv(dv,win) {
		if (vazio(win)) {
			win = window;
		}
		var pX,pY;
		if (browse.ie) {
			pX = win.screenLeft+win.document.body.offsetWidth/2
				-browse.getTX(dv)/2;
			pY = win.screenTop+win.document.body.offsetHeight/2
				-browse.getTY(dv)/2;
		} else {
			//pX = win.screenX+win.outerWidth/2-browse.getTX(dv)/2;
			pX = win.outerWidth/2-browse.getTX(dv)/2;
			//pY = win.screenY+win.outerHeight/2-browse.getTY(dv)/2;
			pY = win.outerHeight/2-browse.getTY(dv)/2;
		}
		dv.style.position = 'fixed';
		dv.style.top = pY+'px';
		dv.style.left = pX+'px';
		//browse.setX(dv,pX);
		//browse.setY(dv,pY);
		//dv.offsetTop = pY;
		//dv.offsetLeft = pX;
		//objNav(dv);
		//lert(pX+'-'+pY+' pa='+dv.style.left+','+dv.style.top);
	}


	//*******************************//
	function existeWin(url) {
		for (var i=0;i<wDep.length;i++) {
			if (wDep[i]!=0 && wUrl[i]==url) {
				try {
					wDep[i].document.write('');
					//lert('vai focar..');
					wDep[i].focus();
				} catch(e) {
					//lert('e='+e);
					wDep[i]=0;
					return false;
				}
				return true;
			}
		}
		return false;
	}

	//**************************//
	function absoluteUrl(url,base) {
		if (vazio(base)) {
			base = window.location;
		}
		base=''+base;
		url=''+url;
		if (equals(url,'/')) {
			return url;
		}
		if (equals(url,'http://') || equals(url,'https://')) {
			return '/'+substrAt(substrAt(url,'//'),'/');
		}
		if (equals(base,'http://') || equals(base,'https://')) {
			base = '/'+substrAt(substrAt(base,'//'),'/');
		}
		if (base.indexOf('?')!=-1) {
			base = leftAt(base,'?');
		}
		base = leftRat(base,'/');
		url = trocaTudo(base+'/'+url,'//','/');
		url = troca(url,'/./','/');
		/*while (url.indexOf('..')==-1) {
		}
		*/
		return url;
	}

	//********************************
	//********************************
	function winDep(jan,url) {
		this.debug=false;
		this.jan = jan;
		this.url = url;
		this.tipo = 0;
		this.cascata = false;
		this.nome = '_blank';
		this.obj = null;
		this.pulaClose = false;
		this.janPos = -1;
		this.frame=false;
		this.centrada = true;
		this.scr = 'yes';
		this.stat = 'yes';
		//scroll
  
		this.w = 400;
		this.h = 400;
  
		this.abre = winDep_abre;
		this.centra = winDep_centra;
		this.on = winDep_on;
		this.fCascata = fCascata;
		this.html = html;
		//********************************
		function html(txH) {
			this.obj.innerHTML = txH;
		}
		//********************************
		function winDep_on(s) {
			if (this.frame) {
				//lert('não sei gravar em frame...');
				var d = browse.getId('frm',this.obj.document);
				//objNav(d);
				d.contentWindow.document.write(s);
			} else {
				this.obj.document.write(s);
			}
		}
		//********************************
		function winDep_centra() {
			if (browse.ie) {
				this.pX = this.jan.screenLeft+this.jan.document.body.offsetWidth/2
				-this.w/2;
				this.pY = this.jan.screenTop+this.jan.document.body.offsetHeight/2
				-this.h/2;
			} else {
				this.pX = this.jan.screenX+this.jan.outerWidth/2-this.w/2;
				this.pY = this.jan.screenY+this.jan.outerHeight/2-this.h/2;
			}
		}
		//********************************
		function fCascata() {
			if (browse.ie) {
				this.pX = this.jan.screenLeft+20;
				this.pY = this.jan.screenTop+30;
			} else {
				this.pX = this.jan.screenX+20;
				this.pY = this.jan.screenY+30;
			}
		}
		//********************************
		function winDep_abre() {
			if (existeWin(this.url)) {
				//lert('url existe='+url);
				return false;
			}
			if (this.centrada) {
				this.centra();
			}
			if (this.cascata) {
				this.fCascata();
			}
			//lert('x='+this.pX+' y='+this.pY);
			var d=(this.debug?"yes":"no");
			var t='width='+this.w+',height='+this.h
			+(this.pX?',screenX='+this.pX+',screenY='+this.pY:'')
			+',resizable=yes,scrollbars='+this.scr+','
			+'toolbar='+d+',menubar='+d+',status='+this.stat;
			//+'toolbar='+d+',menubar='+d+',status='+d;
			//ebJ(t);
			if (this.frame) {
				//lert('a');
				this.obj = window.open('about:blank',this.nome,t);
			} else {
				this.obj = window.open(this.url,this.nome,t);
			}
			//lert('ab');
			try {
				this.obj.focus();
				if (this.tipo!=3) {
					registraWin(this);
				}
				if (this.frame) {
					this.obj.document.write(
					'<html><frameset rows=100% border=1 framespacing=1 frameborder=0>'
					+'<frame id=frm src="'+this.url+'"></frameset>'
					+'</html>'
					);
				}
			} catch(e) {
			}
			return true;
		}
	}
//fim CTRLE JAN DEPENDENTES
