var campoData;
var calendario;
var DataHora;
var tipoMask;
var objeto


if(self.Init){
	Init();
}
/**********************************************
*  VALIDAÇÕES DAS FUNÇÕES CONFORME O BROWSER **
**********************************************/
	//if (IsIE()){
		//window.alert 	= alerta;
		//window.confirm 	= confirma;
	//}

	
/**********************************************/
/********************************************************************
* Método: aviso()												   	*
* Funcionalidade: Abre mensagens de alert em uma janela específico  *
* Descrição:	-Recebe uma string que será apresentada			   	*
*********************************************************************/
function aviso(msg,raiz) {
	
	if ((raiz == true) || (raiz != null)){
		var urlAviso = 'lib/aviso.html?' + "random="+Math.random();	
	}else{
		var urlAviso = '../lib/aviso.html?' + "random="+Math.random();	
	}
	var queryString = '?MENSAGEM='+msg + '&TITULO='+ titulo;
	var re  = /\n/gi;
	msg = msg.replace(re, "<br>");
	msg = msg.replace('ƒ', "<br>");
	altura = montaAltura(msg);
	msg = escape(msg);
	var titulo = ""; //variável que receberá o titulo da página que está sendo exibida
	if(document.all.tituloPagina){
		titulo = escape(document.all.tituloPagina.innerText);
	}else if(parent.document.all.tituloPagina){
		titulo = escape(parent.document.all.tituloPagina.innerText);
	}	
	
	// exibe alerta
	showModalDialog(urlAviso,queryString,'unardorned:no;scroll:no;resizable:no;status:no;center=yes;help:no;dialogWidth:350px;dialogHeight:'+altura+ 'px;');
//	showModalDialog(urlAviso,queryString,'unardorned:no;scroll:no;resizable:yes;status:no;center=yes;help:no;dialogWidth:350px;dialogHeight:245px;');
}


function montaAltura(msg){
	var resW = screen.availWidth
	var resH = screen.availHeight
	var altura = 160
	var str = msg;
	var delim = "/gi"
	var regexp = eval("/" + "<br>" + delim)
	
	var resultArray = str.match(regexp)
	if (resultArray) {
		if (resultArray.length > 1){
			altura = (altura + (resultArray.length * 11));
		}
	} 
	
	return altura
}


/********************************************************************
* Método: alerta()												   	*
* Funcionalidade: Abre mensagens de alert em uma janela específico  *
* Descrição:	-Recebe uma string que será apresentada			   	*
*********************************************************************/
function alerta(msg,raiz) {
	if ((raiz == true) || (raiz != null)){
		var urlAlerta = './lib/alert.html?' + "random="+Math.random();	
	}else{
		var urlAlerta = './lib/alert.html?' + "random="+Math.random();	
	}
	var queryString = '?MENSAGEM='+msg + '&TITULO='+ titulo;
	var re  = /\n/gi;
	msg = msg.replace(re, "<br>");
	msg = msg.replace('ƒ', "<br>");
	msg = escape(msg);
	var titulo = ""; //variável que receberá o titulo da página que está sendo exibida
	if(document.all.tituloPagina){
		titulo = escape(document.all.tituloPagina.innerText);
	}else if(parent.document.all.tituloPagina){
		titulo = escape(parent.document.all.tituloPagina.innerText);
	}	
	
	// exibe alerta
	showModalDialog(urlAlerta,queryString,'unardorned:no;scroll:no;resizable:no;status:no;center=yes;help:no;dialogWidth:350px;dialogHeight:150px;');
}





function pop(msg){
	var popup = window.createPopup();
	var popupBody = popup.document.body
	popupBody.style.border = "solid 2px black"
	popupBody.style.padding = "5px"
	popupBody.height = "200";
	
	popupBody.innerHTML = msg;
	popup.show(200,100, 200,popupBody.height,document.body)
}





/********************************************************************
* Método: confirma()												*
* Funcionalidade: Abre mensagens de confim em uma janela específico *
* Descrição:	-Recebe uma string que será apresentada	como msg   	*
*********************************************************************/
function confirma(msg,raiz) {
	if ((raiz == true) || (raiz != null)){
		var urlConfirma = 'lib/confirm.html?' + "random="+Math.random();	
	}else{
		var urlConfirma = '../lib/confirm.html?' + "random="+Math.random();
	}
	var queryString = '?MENSAGEM='+msg + '&TITULO='+ titulo;
	var re  = /\n/gi;
	msg = msg.replace(re, "<br>");
	msg = escape(msg);
	var titulo = ""; //variável que receberá o titulo da página que está sendo exibida
	var retorno = showModalDialog(urlConfirma,queryString,'unardorned:no;scroll:no;resizable:no;status:no;center=yes;help:no;dialogWidth:350px;dialogHeight:150px;');
	return retorno;
}





function imprimir(){  
//NETSCAPE = NO
// Descrição: Função de impressão
	var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
	window.onerror=printerrortrap;  // Configura o tratamento de erros na impressão do documento
	WebBrowser1.ExecWB(6, 2);
	window.onerror = null ;  //  Libera o tratamento de erros
	WebBrowser1.outerHTML = "";  
}

function printerrortrap(){
//NETSCAPE = NO
// Descrição: Função de tratamento de erro de impressão
	alert("Impressão do documento não ocorreu.");
	window.onerror = null ;
	WebBrowser1.outerHTML="";
	return true;
}

//EXEMPLO DE PREENCHIMENTO DE FUNÇÃO GENE
function preencheComboMotivo(){
	if(document.forms.length > 0){
		document.body.insertAdjacentHTML("beforeEnd", "<iframe name='ifrmCarregaComboMotivo' width=0 height=0></iframe>");
		document.forms[0].action = "../../utils/combos.jsp?acao=CARREGA_MOTIVO_RECUSA&RANDOM="+Math.random();
		document.forms[0].method = "post";
		document.forms[0].target = "ifrmCarregaComboMotivo";
		submitForm(document.forms[0]);
		if(document.forms[0].cmbMotivo == '[object]'){
			document.forms[0].cmbMotivo.length = 1;
		}	
	}
}

function helpOnline() {
	alert ("Funcionalidade não Implementada!");
}

/*
	funcao que retorna, sem acentos, a string passada como parâmetro
*/
function retiraAcentos(par) {
		var retorno = "";
		for (ind=0;ind<=par.length -1;ind++){
			 if ( (par.charCodeAt(ind)>=236) &&
            	  (par.charCodeAt(ind)<=239) ) 
			 {
			      retorno = retorno + "i"
			 } else { if ( (par.charCodeAt(ind)>=232) &&
            		       (par.charCodeAt(ind)<=235) ) 
					  {
			              retorno = retorno + "e";
			 	      }else{ if ( (par.charCodeAt(ind)>=242) &&
            		      	      (par.charCodeAt(ind)<=246) )
						     {
								retorno = retorno + "o";
							 }else { if ( (par.charCodeAt(ind)>=249) &&
            		      	      		  (par.charCodeAt(ind)<=252) )
							  		 {
							 			  retorno = retorno + "u";
							 		 }else{ if ( (par.charCodeAt(ind)>=204) &&
            		      	      		         (par.charCodeAt(ind)<=207) ) 
										    {
									 			  retorno = retorno + "I";
									 		}else{ if ( (par.charCodeAt(ind)>=200) &&
            		      	      		                (par.charCodeAt(ind)<=203) ) 
													{
									 			  		 retorno = retorno + "E";
													}else{ if ( (par.charCodeAt(ind)>=210) &&
								            		      	    (par.charCodeAt(ind)<=214) )
															{
											 			  		 retorno = retorno + "O";
															}else{  if ( (par.charCodeAt(ind)>=217) &&
								            		      	   		     (par.charCodeAt(ind)<=220) )
																	{
		    											 			  	  retorno = retorno + "U";
																	}else { if ( (par.charCodeAt(ind)==168) ||
																		        (par.charCodeAt(ind)==180) ||
																				(par.charCodeAt(ind)==96) ||
																				(par.charCodeAt(ind)==94) ||
																				(par.charCodeAt(ind)==126) ||
																				(par.charCodeAt(ind)==39) ||
																				(par.charCodeAt(ind)==34) )
																			{
																				retorno = retorno + " ";
																			} else { if ( (par.charCodeAt(ind)>=224) &&
								            		      	   		                      (par.charCodeAt(ind)<=228) )
																				     {
																				          retorno = retorno + "a";
																				     }else{ if ( (par.charCodeAt(ind)>=192) &&
								            		      	   		                             (par.charCodeAt(ind)<=196) )
																					 		{
																								  retorno = retorno + "A";
																					 		}else{
																								retorno = retorno + par.charAt(ind);
																							}
																			         }
																			}
																	}
																
															}													
													
													
													}
											
											}
																			 

									 }

							 }

					 }

			   }
		}
		return (retorno); 
}

function abreCalendario(campo, flag, tipo) {
	//if(!campo.disabled){
	    DataHora = flag;
		tipoMask = dateMask;
		campoData =campo;
		showModalDialog('../utils/Calendar.jsp?random='+Math.random(),window,'unardorned:no;scroll:no;resizable:no;status:no;center=yes;help:no;dialogWidth:245px;dialogHeight:249px;');
	//}
}


function atualizarData(dataRetorno){
	campoData.value = dataRetorno;
	if (campoData.disabled) {
		//campoData.onblur();
	} else {
		campoData.select();
	}
}


function RequestQuery (p_str, p_query) {
	var i = p_str.indexOf('?');
	if (i >= 0) {
		var str = p_str.substring (i, p_str.length);
		i = str.indexOf (p_query + "=");
		if (i >= 0) {
/*			if (str.charAt ((i + p_query.length + 1)) == "" ||
			    str.charAt ((i + p_query.length + 1)) == '&') {
			    return ("");
			};
*/
			str = str.substring ((i + p_query.length + 1), str.length);
			i = str.indexOf ('&');
			if (i >= 0) {
				str = str.substring (0, i);
			};
			return (String (str));
		} else {
			return ("");
		};
	} else {
		return ("");
	};
	return ("");
}

//V2PandP2V.js

// Converte virgula para ponto
// Input : txValor - valor entrada
// Output: string com pontos no lugar de virgulas
//
function V2P (pValor) {
   var txRetorno = "";
   var txValor = new String (pValor);

   for (i = 0; i < txValor.length; i++) {
       if (txValor.substring (i, i + 1) == ",") {
          txRetorno += ".";
       } else {
          txRetorno += txValor.substring (i, i + 1) ;
       }
   }
   return (txRetorno);
}

// Converte ponto para virgula
// Input : txValor - valor entrada
// Output: string com no virgulas lugar de pontos
//
function P2V (pValor) {
   var txRetorno = "";
   var txValor = new String (pValor);

   for (i = 0; i < txValor.length; i++) {
       if (txValor.substring (i, i + 1) == ".") {
          txRetorno += ",";
       } else {
          txRetorno += txValor.substring (i, i + 1) ;
       }
   }
   return (txRetorno);
}

			

function toTrueFalse(sValor){
	if(sValor.toUpperCase() == "S"){
		return true;
	}else{
		return false;
	}
}


//**************************************************************
// função que emula o comportamento SLEEP , adiando a execução
// de linhas posteriores a chamada de sleep(msec) por 
// msec milisegundos.
//
//  parâmetros:
//	   msec - inteiro indicando a quantidade de milisegundos
//			  que o processador deve 'dormir'
//**************************************************************
function sleep(msec) {
	// variáveis auxiliares
	var ini,agora; 

	// obtem tempo inicial e seta agora = inicial
	ini = new Date().getTime();	
	agora = ini;	
	
	// laço que assegura msec tempo passou
	while( (agora-ini) < msec ) {
		// atualiza o tempo agora
		agora = new Date().getTime();
	}
}

//**************************************************************
// função responsável por selecionar uma opção na combo
//     objCombo	- objeto que deverá receber o valor
//     sValor	- valor para ser selecionado
//**************************************************************
function marcaCombo(objCombo, sValor){
	//alert('as');
	if(sValor){
		objCombo.value = sValor;
	}
}