﻿var	chave_ant="";
var	desc_ant="";
var	descricao_ant="";
var	canceladrop=false;

  	// Mouse hover dos botões
function hov(loc,cls){
	if(loc.className)
		loc.className=cls;
}

function editaFormulario( numForm,pNomeVista){
	//alert("editaFormulario:" +numForm +"|"+ pNomeVista);
	nomeVista="";
	if (pNomeVista!=undefined){
		nomeVista=pNomeVista;
	}
	dest = "FormEditor?frame=0&chave_fmfor="+numForm;
	dest = dest + "&clickName=sel&nomevista="+nomeVista+"&token="+Math.random();
	var win = window.open(dest,'_modelo',"width=900,height=650,scrollbars=yes,toolbar=no,status=yes,resizable=yes,menubar=no,location=no");
	win.focus();
}

function abrepopup(w,h,dest,winprops){
	if(w==''){w=800;}
	if(h==''){h=600;}
	if(w=='-1'){w=screen.width;}	/*Max*/
	if(h=='-1'){h=screen.height;}	/*Max*/
	uniqid=Math.floor(Math.random()*100);
    var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	if (dest!=''){
     	windim = 'height='+h+',width='+w+',top='+wint+',left='+winl;
		var win = window.open(dest,'popupwin'+uniqid,windim+" ,"+winprops);
		win.focus();
	}else{
		alert("Não foi possivel abrir a ligação. O url nao se encontra preenchido");
	}
}

function chamaEditFormParent(numeroForm,nomeVista){
	try {editaFormulario(numeroForm,nomeVista);
	} catch (e) {
		try {window.parent.editaFormulario(numeroForm,nomeVista);
		} catch (e) {alert('Não foi possivel editar o formulário. Contacte o administrador.')}
	}
}


function constroiStringForm(frm){

	elem = frm.elements;
	str= "";
	for( i = 0; i < elem.length ; i++ ){
		elemn = elem[i];
		name=elemn.name;
		if( name.length > 0 ){
			str = str + "&"+name+"=";
			if(elemn.value.lengh==0){
				str = str +"_";
			}else{
				str = str +elemn.value;
			}
		}
	}
	return str;
}

function limpaAmp( org ){
	s = new String(org);
	i = 0;
	while( s.indexOf("&amp;") > 0  && i < 20 ){
		s = s.replace("&amp;","&");
		i++;
	}
	return s;
}	

function inicializaCombo(comboId,comboName,comboChave,comboDesc,mul){
	pMul=0;
	if (mul!=undefined){
		pMul=mul;
	}

	str='RefreshCombo.asp?tiporesultado=3&comboid='+comboId+'&comboname='+comboName+'&combochave='+comboChave+'&combodesc='+comboDesc+'&ismul='+pMul;
	createPresto('presto_'+comboId+'_ini',str,comboId+'_cb1' );
	callServer('presto_'+comboId+'_ini','');
}

function setFocusRes(comboId,comboName){
	var podeCarregar = false;
	try{
		testeId = document.getElementById("cbo_"+comboId).id;
		podeCarregar = true;
	}catch(e){
		setTimeout("setFocusRes('"+comboId+"','"+comboName+"');",100);
	}		
	if( podeCarregar ){
		document.getElementById("cbo_"+comboId).focus();
	}
}
function obtemComboPesquisa(comboId,comboName){
	
	document.getElementById(comboId+"_ap").className='mynetDivVisible';
	str='RefreshCombo.asp?tiporesultado=2&comboid='+comboId+'&comboname='+comboName;
	createPresto('presto_'+comboId+'_ap',str,comboId+'_ap');
	callServer('presto_'+comboId+'_ap','');
	setFocusRes(comboId,comboName);
	document.getElementById(comboId+"_desc").className='mynetDivHidden mynetInput mynetPointerHand';	//Esconde input inicial	
}
function setFocusComboPesquisa(comboId,comboName){
	var podeCarregar = false;
	try{
		testeId = document.getElementById(comboId+"_cbo").id;
		podeCarregar = true;
	}catch(e){
		setTimeout("setFocusComboPesquisa('"+comboId+"','"+comboName+"');",100);
	}		
	if( podeCarregar ){
		document.getElementById(comboId+"_crit").focus();
	}
}
function obtemComboPesquisaFocus(comboId,comboName){
			document.getElementById(comboId+"_ap").className='mynetDivVisible';
			str='RefreshCombo.asp?tiporesultado=2&comboid='+comboId+'&comboname='+comboName;
			createPresto('presto_'+comboId+'_ap',str,comboId+'_ap');
			callServer('presto_'+comboId+'_ap','');	
			setFocusComboPesquisa(comboId,comboName)
			document.getElementById(comboId+"_desc").className='mynetDivHidden mynetInput mynetPointerHand';	//Esconde input inicial	
}
function obtemCombo(comboId,comboName){
	criterio = document.getElementById(comboId+"_crit").value;
	str='RefreshCombo.asp?tiporesultado=1&comboid='+comboId+'&comboname='+comboName+'&valor='+criterio;
	createPresto('presto_'+comboId+'_cbo',str,comboId+'_cbo');
	callServer('presto_'+comboId+'_cbo','');
	setFocusRes(comboId,comboName)
}
function isMultiple(comboId){
	isMul=false;
	if (document.getElementById("mul_"+comboId)!=null){
		isMul=true;
	}	
	return isMul;
}
function devolveItemCombo( comboId ,comboName,formtoken){
		if (!canceladrop){
			cboObj=document.getElementById("cbo_"+comboId);
			index=cboObj.selectedIndex
			text=cboObj.options[index].text;
			chave=cboObj.options[index].value;
			
			if ((chave !='' || chave !='-1') && chave.length>0){
				if (isMultiple(comboId)){
					poeDadosComboMul( comboId, chave, text);						
				}else{
						poeDadosCombo( comboId, chave, text);	
				}
				enviaValorServidor(comboId ,comboName, chave,formtoken);
			}
			hidePesquisa( comboId ,comboName);	
		}
		canceladrop=false;
		setDadosDropAnt("","","");
		
		
	return true;
}	

function devolveItemComboCriterio( comboId ,comboName){
	cboObj=document.getElementById(comboId);
	index=cboObj.selectedIndex
	chave=cboObj.options[index].value;
	enviaValorServidor(comboId ,comboName, chave);
}
function limpaResult( comboId ,comboName){

	if (isMultiple(comboId)){

	}else{
		text="[Seleccione]";
		chave="";
		poeDadosCombo( comboId, chave, text);
		enviaValorServidor(comboId ,comboName, chave);	
	}	
	return true;
}

function limpaResult( comboId ,comboName){

	if (isMultiple(comboId)){

	}else{
		text="[Seleccione]";
		chave="";
		poeDadosCombo( comboId, chave, text);
		enviaValorServidor(comboId ,comboName, chave);	
	}	
	return true;
}


function mostra_wnd_op(comboId ,comboName){
	divObj=document.getElementById("wnd_op_" +comboId);
	divObj.className='mynetDivVisible';
}
function poeDadosCombo( comboId , chave, descricao ){
	document.getElementById(comboId+"_chave").value=chave;
	document.getElementById(comboId+"_desc").value=descricao;
	document.getElementById(comboId+"_descricao").value=descricao;
}


function hidePesquisa( comboId ,comboName){
	obj_desc=document.getElementById(comboId+"_desc");
	document.getElementById(comboId+"_desc").className='mynetDivVisible mynetInput mynetPointerHand';
	document.getElementById(comboId+"_ap").className='mynetDivHidden';
}

function enviaValorServidor(comboId ,comboName,valor){
	str='RefreshCombo.asp?tiporesultado=99&comboid='+comboId+'&comboname='+comboName+'&valor='+valor;
	createPresto('presto_'+comboId+'_cbor',str,'');
	callServer('presto_'+comboId+'_cbor','');


}

function refreshCache(){
	str='MyNetComando.asp?accao=ignoracache';
	enviaMyNet( str );
	document.location = document.location;
}

function enviaMyNet(url){
	var xmlHttp = false;
	xmlHttp = new XMLHttpRequest();
	xmlHttp.open("GET", url, false);
	xmlHttp.send(null);
}



function alternaPesquisa( comboId ,comboName, formtoken){
	
	guardadadosanteriores(comboId ,comboName);
	
	obj=document.getElementById(comboId+"_ap");
	if (obj.className=='mynetDivHidden'){
		obtemComboPesquisa(comboId,comboName, formtoken);
	}else{
		hidePesquisa(comboId,comboName);
	}
}
function alternaPesquisaFocus( comboId ,comboName, formtoken){
	guardadadosanteriores(comboId ,comboName);
	obj=document.getElementById(comboId+"_ap");
	if (obj.className=='mynetDivHidden'){
		obtemComboPesquisaFocus(comboId,comboName, formtoken);
	}else{
		hidePesquisa(comboId,comboName);
	}
}
function isPesquisaOpen( comboId){
	obj=document.getElementById(comboId+"_ap");
	if (obj.className=='mynetDivVisible'){
		return true;
	}else{
		return false;
	}
}
function catchEnterPesquisas(e,numEvento,comboId,comboName,formtoken){
	res=true;
	if(e){
		e = e 
	} else {
		e = window.event
	} 
	if(e.which){ 
		var keycode = e.which
	} else {
		var keycode = e.keyCode 
	}
	if (numEvento==1){				//Input critérios
		switch(keycode){
		case 13:
			criterio = document.getElementById(comboId+"_crit").value;
			obtemCombo(comboId,comboName);
			break    
		case 27:hidePesquisa(comboId,comboName);break
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisa(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisa(comboId,comboName,formtoken);break														
		}
	}else if (numEvento==2){		//Input resultados
		switch(keycode){
		case 13:devolveItemCombo( comboId, comboName,formtoken);enviaFocusComboDesc( comboId );break    
		case 27:/*ESC*/
				cancelaEdicaoDd(comboId,comboName);
				break;
		case 46:limpaResult(comboId,comboName,formtoken);hidePesquisa(comboId,comboName);break	
		}
	}else if (numEvento==3){	//Botão pesquisar critérios
		switch(keycode){
		case 13:obtemCombo(comboId,comboName);break    
		case 27:hidePesquisa(comboId,comboName);break
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisa(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisa(comboId,comboName,formtoken);break														
		}
	}else if (numEvento==4){	//Botão para devolver resultados
		switch(keycode){
		case 13:devolveItemCombo( comboId, comboName,formtoken);enviaFocusComboDesc(comboId );break    
		case 27:hidePesquisa(comboId,comboName);break
		case 16:
			break;
		case 9:
			if (!e.shiftKey){
				
				hidePesquisa(comboId,comboName);
			}
			break				
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisa(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisa(comboId,comboName,formtoken);break														
		}
	}else if (numEvento==5){	//Input do formulário
		guardadadosanteriores(comboId ,comboName);
		switch(keycode){
		case 27:alternaPesquisa(comboId,comboName,formtoken);break
		case 13:
			if (isPesquisaOpen(comboId)){
				hidePesquisa(comboId,comboName);
			}else{
				obtemComboPesquisa(comboId,comboName,formtoken);
			}
			break
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisa(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisa(comboId,comboName,formtoken);break										
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisa(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisa(comboId,comboName,formtoken);break
		case 9:break
		case 16:break
		case 46:limpaResult(comboId,comboName,formtoken);break	
		default:obtemComboPesquisa(comboId,comboName,formtoken);			
		}
	}else if (numEvento==6){	//Input do formulário com critérios
		guardadadosanteriores(comboId ,comboName);
		switch(keycode){
		case 27:alternaPesquisaFocus(comboId,comboName,formtoken);break
		case 13:
			if (isPesquisaOpen(comboId)){
				hidePesquisa(comboId,comboName);
			}else{
				obtemComboPesquisaFocus(comboId,comboName,formtoken);
			}
			break
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisaFocus(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisaFocus(comboId,comboName,formtoken);break										
		case 37:hidePesquisa(comboId,comboName);break
		case 39:obtemComboPesquisaFocus(comboId,comboName,formtoken);break					
		case 38:hidePesquisa(comboId,comboName);break
		case 40:obtemComboPesquisaFocus(comboId,comboName,formtoken);break
		case 9:break
		case 16:break						
		case 46:limpaResult(comboId,comboName,formtoken);break			
		default:
			//obtemComboPesquisaFocus(comboId,comboName,formtoken);
		}
	}else if (numEvento==7){
		switch(keycode){
		case 13:
			pesquisa('');
			break
		}

	}//End if
	
	if (keycode==13){
		res=false;
	}
	return res;
}	
function  selectMenuLista(elementoId){
	parent.mostraMenu();
	menuArvore=parent.menuArvore;
	var n=0;
	var encontrado=false;
	for (n; n<menuArvore.aNodes.length; n++) {
		if (menuArvore.aNodes[n].idMenu==elementoId){
			encontrado = true;
			menuArvore.closeAll(); 
			menuArvore.openTo(menuArvore.aNodes[n].id,true,false);			
	/*
	 * <!-- v v v rmatos (07/08/2009) v v v -->
	 * Itens de menu não circuláveis através do uso do tab
	 * e rmatos (07/08/2009)
	 * Corrigir funcionamento do botão "retroceder" no formulário de registo:
	 */	
			//parent.alteraOpcaosELECT(menuArvore.aNodes[n].url);			
			parent.setIFrameSrc(menuArvore.aNodes[n].url);			
	/*
	 * <!-- ^ ^ ^ rmatos ^ ^ ^ -->
	 */	
		}
	}
	if( ! encontrado ){
		menuArvorefolhas=parent.menuArvorefolhas;
		aux = "";
		for (n=0; n<menuArvorefolhas.aNodes.length; n++) {
			aux += " "+menuArvorefolhas.aNodes[n].idMenu;
			ax=''+elementoId;
			if (menuArvorefolhas.aNodes[n].idMenu==ax){				
				encontrado = true;
				parent.alteraOpcaosELECT(menuArvorefolhas.aNodes[n].url);			
			}
		}
	}
}
function altdropmul(obj,nomebase,nb){
   	objnb=document.getElementById(nb);
	c=0;
	sz=obj.options.length;
	 for (i=0; i<sz; i++) {
    	objtrg=document.getElementById(nomebase+'_'+obj.options[i].value);
	    if (obj.options[i].selected) {valor='1';c+=1;}
	    else{valor='0';}
   		objtrg.value=valor;
  	}
	if (c>0){objnb.value=c;}else{objnb.value='';}  	
}
function altcheck(obj,nometrg,nb){
    	objnb=document.getElementById(nb);
    	if (objnb.value==''){c=0;}
    	else{c=parseFloat(objnb.value);}
    	objtrg=document.getElementById(nometrg);
	    if (obj.checked){valor='1';c+=1;}
	    else{valor='0';c-=1;}
		if (c>0){objnb.value=c;
		}else{objnb.value='';}
   		objtrg.value=valor;    	
}
function altcheckUnica(obj,nometrg){
    	objtrg=document.getElementById(nometrg);
	    if (obj.checked) {valor='1';}
	    else{valor='-1';}
   		objtrg.value=valor;    	
}
function altradio(nomesrc,nometrg){
		objsrc=document.getElementsByName(nomesrc);
    	objtrg=document.getElementById(nometrg);
    	for(var i = 0; i < objsrc.length; i++) {
			if(objsrc[i].checked) {objtrg.value=objsrc[i].value;}
		}
}

/*
 * function to show or hide elements changeing it's sytle directly
 * (without changing the whole style classes)
 
 * @param element can be string or object
 * @param showHide force "show" or "hide" state or, if "", just toggle it's state
 */
function directToggleShowHideElement( element, showHide ){
	try{
		if( document.getElementById(element) ) {
			element = document.getElementById(element);
		}
		if( typeof element == "object" ) {
			if(showHide != "show" && showHide != "hide"){
				showHide = (element.style.visibility == "hidden" ? "show" : "hide");
			}
			
			if(showHide == "show") {
				element.style.visibility = "visible";
				element.style.display = "block";
			} else if (showHide == "hide") {
				element.style.visibility = "hidden";
				element.style.display = "none";
			}
		}
	}catch(e){
		showHide = "?";
	}
	return showHide;
}

function wndmin_v2(root,uid){
	imgicon=document.getElementById("img_"+uid);
	imgicon.src=root+"Imagens/Bts/btmin.gif";
	target=document.getElementById("cnt_"+uid)
	label=document.getElementById("cnt_label_"+uid)
	
	targetClassNamesArray = target.className.split(" ");
	var i = 0;
	className = "";
	for( ; i < targetClassNamesArray.length ; i++ ) {
		if( targetClassNamesArray[i] == 'mynetDivHidden' || targetClassNamesArray[i] == 'mynetDivVisible' ) {
			className = targetClassNamesArray[i];
			break;
		}
	}
	
	if (className=='mynetDivHidden'){
		targetClassNamesArray[i] = 'mynetDivVisible';
		target.className = targetClassNamesArray.join(" ");
		if (tp==3){label.className='mynetDivHidden';}		
		imgicon.src=root+"Imagens/Bts/btmin.gif";		
	}else if(className=='mynetDivVisible'){
		targetClassNamesArray[i] = 'mynetDivHidden';
		target.className = targetClassNamesArray.join(" ");
		if (tp==3){label.className='mynetDivVisible';}
		imgicon.src=root+"Imagens/Bts/MaxRest.gif";
	}else {
		showHide = directToggleShowHideElement( target, '' );
		if (tp==3){
			directToggleShowHideElement( label, (showHide == 'show'? 'hide' : 'show'));
		}
		imgicon.src=root+"Imagens/Bts/" + (showHide == 'hide'? "MaxRest" : "btmin") + ".gif";
	}

	try {parent.resizeIframe("myframeB");}catch(e){}
}

function wndmin(iddiv){
	target=document.getElementById("ct"+iddiv)
	if (target.className=='mynetDivHidden'){
		target.className='mynetDivVisible';
	}else{
		target.className='mynetDivHidden';
	}		
}
function printPag(){
	print();
}
function altdet(id,objthis){
	divobj=document.getElementById(id);
	if (divobj.className=='mynetDivHidden'){
		divobj.className='mynetDivVisible';
		htm1=objthis.innerHTML;
		objthis.innerHTML=htm1.replace("Ver mais","Esconder");
	}else{
		divobj.className='mynetDivHidden';
		htm1=objthis.innerHTML;
		objthis.innerHTML=htm1.replace("Esconder","Ver mais");
	}
	parent.resizeIframe("myframeB");
}
function setDadosDropAnt(pc,pd1,pd2){	
			chave_ant=pc;
			desc_ant=pd1;
			descricao_ant=pd2;
}
function guardadadosanteriores(comboId ,comboName){	
			setDadosDropAnt(document.getElementById(comboId+"_chave").value, document.getElementById(comboId+"_desc").value,document.getElementById(comboId+"_descricao").value);
}
function cancelaEdicaoDd(comboId,comboName){
	document.getElementById(comboId+"_chave").value=chave_ant;
	document.getElementById(comboId+"_desc").value=desc_ant;
	document.getElementById(comboId+"_descricao").value=descricao_ant;
	hidePesquisa(comboId,comboName);
	canceladrop=true;
}
function enviaFocusComboDesc( comboId ){
	obj_desc=document.getElementById(comboId+"_desc");
	document.getElementById(comboId+"_desc").focus();	
}
function drawWnd_upload(UID,srvurl){
		titulo='';
		botoes='';
		window.parent.wndInit(UID,botoes,titulo,srvurl,'');
}
function mostraWnd_upload(UID,srvurl){	//Função alterada
	width='450';
	height='220';
	url="MyNetFileSystem.asp?tipo=mydocs&tk="+Math.random();
	try{
		window.parent.showWnd(UID,url,width,height,'','myframeB');
	}catch(e){
		abrepopup(width,height,url,' scrollbars=yes,toolbar=no,status=no,resizable=yes,menubar=no,location=no');
	}

}
	function showInputToolTip(event, objname, maxlen){
		var maxCaracter=maxlen;
				
		var selectText = objname.value;	
				
		var theDiv = document.getElementById('tooltip'); //Id referente ao tooltip	
		
		if(selectText.length<=maxCaracter){ //verificar se é preciso mostrar o tooltip
			if(theDiv!=null){
				if(theDiv.childNodes[0]!=null){ // se existir um tooltip apaga
					hideToolTip();
				}
			}
			return;
		}	
			
		if(theDiv==null){ // se não existir o div cria	
			createToolTip("tooltip");
			theDiv = document.getElementById('tooltip');
		}
			
		if(theDiv.childNodes[0]!=null){ // se existir um tooltip apaga
			hideToolTip();
		}
		
		if(selectText!=""){	// se o texto for vazio não cria tooltip
			if(theDiv.childNodes[0]!=null)
				theDiv.removeChild(theDiv.childNodes[0]); 
			
			var j = document.createTextNode(selectText);		
			theDiv.appendChild( j );
		}
		else{ // apaga tooltip
			if(theDiv.childNodes[0]!=null) // se existir um tooltip apaga
				hideToolTip();				
		}
	
		//show tooltip
		menuLayers.show('tooltip', event,this.id,1);
	
	}
    
	function showSelectToolTip(event, objname, maxlen){
		var maxCaracter=maxlen;		
				
		if(objname.selectedIndex==-1) objname.selectedIndex=0;        
		var selectText = objname.options[objname.selectedIndex].text;	
					
		var theDiv = document.getElementById('tooltip'); //Id referente ao tooltip	
		
		if(selectText.length<=maxCaracter){ //verificar se é preciso mostrar o tooltip
			if(theDiv!=null){
				if(theDiv.childNodes[0]!=null) // se existir um tooltip apaga
					hideToolTip();
			}
			return;
		}
		
		if(theDiv==null){ // se não existir o div cria	
			createToolTip("tooltip");
			theDiv = document.getElementById('tooltip');
		}
			
		if(theDiv.childNodes[0]!=null) // se existir um tooltip apaga
			hideToolTip();
		
		if(selectText!=""){	// se o texto for vazio não cria tooltip
			if(theDiv.childNodes[0]!=null)
				theDiv.removeChild(theDiv.childNodes[0]); 
			
			var j = document.createTextNode(selectText);		
			theDiv.appendChild( j );
		}
		else{ // apaga tooltip
			if(theDiv.childNodes[0]!=null) // se existir um tooltip apaga
				hideToolTip();
		}
	
		//show tooltip
		menuLayers.show('tooltip', event,this.id,1);
	}

	function createToolTip(objname){			
		var newdiv = document.createElement('div');
		newdiv.setAttribute('id',objname);
		newdiv.className = "menupop";
		
		newdiv.style.visibility = 'hidden';
		newdiv.style.width		= '500';

		document.body.appendChild(newdiv);

	}
	
	function hideToolTip(){	
		var theDiv = document.getElementById('tooltip'); //Id referente ao tooltip	
		if (theDiv!=null){
			if (document.getElementById) { // DOM3 = IE5, NS6 
				document.getElementById('tooltip').style.visibility = 'hidden'; 			
			}else { 
				if (document.layers) { // Netscape 4 
					document.theDiv.visibility = 'hidden'; 
				} 
				else { // IE 4 
					document.all.theDiv.style.visibility = 'hidden'; 
				}
			} 
		}
		
	}
function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}