<!--
  /* -------------------------------------------------------------
     Objetivo: Definicao de Variáveis Globais
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/
	var debug = document.domain == "notebook" || document.domain == "localhost" || document.domain == "desenv01" || document.domain == "desenv02" || document.domain == "webserver";

	var objUltEvento;
	var sBrowser;

	var docall;

	var ZoomWin;

  	var bAlterado = false;
	
	var focoPrimeiroCampo = true;

  /* -------------------------------------------------------------
     Objetivo: Comandos executados ao entrar na pagina
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/

	switch (navigator.appName){
		case "Microsoft Internet Explorer":
			sBrowser = "IE";
			break;
		case "Netscape":
			sBrowser = "NN";
			break;
		default:
			sBrowser = "unknown";
	}

	if (sBrowser == "IE") {
		docall = document.all;
	} else{
		docall = document.layers;
	}

	function evtKey(){
	  if (sBrowser == "IE") {
		  return window.event.keyCode;
	  } else {
		  return window.event.which;
	  }
	}

	function evtTarget(){
		if (sBrowser == "IE"){
			return window.event.srcElement;
			
		} else if (window.event) {
			return window.event.target;
		}
	}

  /* ------------------------------------------------------------- */
  function onLoad(){
  /* -------------------------------------------------------------
     Objetivo: Esta função é inserida na propriedade onLoad da tag
               <BODY> dos htmls.
     Autor: DSO
     Criação: 02/06/03
	 
     -------------------------------------------------------------*/
	campoFocus();

layerLoadingOff();
  }

  function campoFocus(){
  /* -------------------------------------------------------------
     Objetivo: aplica o focus no primeiro campo encontrado na tela
               que esteja habilitado e não for do tipo 'hidden'
     Autor: DSO
     Criação: 02/06/03
     -------------------------------------------------------------*/
	  if(focoPrimeiroCampo!=false){
	  
	  
				  var i;
					if (document.form || document.login)
					{
					  breakpoint:
					  {
					  if (document.login) {
						if (document.login.usuario){
							if ((document.login.usuario.type == "select-one" &&
								document.login.usuario.selectedIndex == 0)||
								document.login.usuario.value.length == 0 ){
								document.login.usuario.focus();
								break breakpoint;
							}
						}
						if (document.login.senha) {
							document.login.senha.focus();
							break breakpoint;}
						}
					  for (i = 0; i < document.form.elements.length; i++)
						{
						  if (document.form.elements[i].type != "hidden")
						  {
							if (document.form.elements[i].disabled == false && document.form.elements[i].readOnly == false)
							{
							  document.form.elements[i].focus();
							  break breakpoint;
							}
						  }
						}
					  }
					}
	  }
  }

  function foco(campofoco) {
  /* -------------------------------------------------------------
     Objetivo: aplica o focus campo especificado encontrado na tela
               que esteja habilitado e não for do tipo 'hidden'
     Autor: DSO
     Criação: 02/12/03
     -------------------------------------------------------------*/
	var i;
	if (campofoco == '') return false;

	if(document.form)
	{
	  breakpoint:
	  {
	  for (i = 0; i < document.form.elements.length; i++)
		{
		  if (campofoco == document.form[i].name)
		  {
			if (document.form[i].type != "hidden")
			{
			  if (document.form[i].disabled == false)
			  {
				document.form[i].focus();
				break breakpoint;
			  }
			}
		  }
		}
	  }
	}
  }

  function layerLoadingOff(){
  /* -------------------------------------------------------------
     Objetivo: Mostrar Listagem
     Autor: DSO
     Criação: 27/01/04
     -------------------------------------------------------------*/
	if(document.getElementById("layerLoading")){
		document.getElementById("layerLoading").style.display = "none";
	}
  }

  function FiltrarForm2(){
  /* -------------------------------------------------------------
     Objetivo: Mostrar Listagem
     Autor: DSO
     Criação: 12/08/03
     -------------------------------------------------------------*/
	desabilitaClique();
	document.body.style.cursor = "wait";
    document.form2.sAcao.value = "Filtrar";
    document.form2.submit();
  }


  function incluir(){
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Incluir" do form
     Autor: DSO
     Criação: 06/06/03
     -------------------------------------------------------------*/
	desabilitaClique();
	document.body.style.cursor = "wait";
    document.form.sAcao.value = "Incluir";
    document.form.submit();
  }

  function alterar(){
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Alterar" do form
     Autor: DSO
     Criação: 06/06/03
     -------------------------------------------------------------*/
    desabilitaClique();
	document.body.style.cursor = "wait";
    document.form.sAcao.value = "Alterar";
    document.form.submit();
  }

  function excluir(){
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Excluir" do form
     Autor: DSO
     Criação: 06/06/03
     -------------------------------------------------------------*/
	if (!confirm('Realmente deseja excluir este registro?')) {
	  window.event.returnValue = false;
    }
    else {
	  desabilitaClique();
	  document.body.style.cursor = "wait";
	  document.form.sAcao.value = "Excluir";
      document.form.submit();
	}
  }

  function gravar(){
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Incluir" do form
     Autor: DSO
     Criação: 06/06/03
     -------------------------------------------------------------*/
	desabilitaClique();
	document.body.style.cursor = "wait";
    document.form.sAcao.value = "Gravar";
    document.form.submit();
  }
  
  function cancelar(url) {
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Cancelar" do form
     Autor: DSO
     Criação: 13/06/03
     -------------------------------------------------------------*/
    self.location = url;
  }
  
  function submitUpload(progressID, formId) {
  /* -------------------------------------------------------------
     Objetivo: função que é chamada quando o usuário clica no botão
	           "Enviar" do form
     Autor: DSO
	 Criação: 25/04/05
     -------------------------------------------------------------*/

	var progressIDURL = "";
	if(!isNaN(progressID) && progressID > -1) {
		processIDURL = "&progressID=" & progressID;
		window.open("/Apps/UploadProgressBar.asp?progressID=" + progressID,
					"uploadProgress", 
					"SCROLLBARS=no,RESIZABLE=no,TOOLBAR=no,STATUS=no,MENUBAR=no,WIDTH=400,HEIGHT=100,TOP=20,LEFT=20");
	}

	document.body.style.cursor = "wait";
	
	var objForm;
	
	if (formId == null || formId == "") {
		objForm = document.form;
	} else {
		objForm = document.getElementById(formId);
	}
		
	with (objForm){
		var redirectURL = action;
		action = "../Apps/UploadFile.asp?urlRedirect=" + escape(redirectURL) + progressIDURL;
		submit();
	}
  }
  
  function ChecaTodos(obj,checa){
  /* -------------------------------------------------------------
     Objetivo: Funcao para a checagem ou deschecagem de elementos
	           obj do "form"
     Autor: DSO
     Criação: 13/06/03
     -------------------------------------------------------------*/
	var i;
	for(i = 0; i < document.form.elements.length; i++){
	  if(document.form.elements[i].name == obj){
        document.form.elements[i].checked = checa;
	  }
	}
  }

  function desabilitaClique(){
  /* -------------------------------------------------------------
     Objetivo: Desabilita ultimo objeto onde foi efetuada a acao
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/
	objUltEvento = evtTarget();
	
	if (objUltEvento) 
		objUltEvento.disabled = true;
  }
  
  function habilitaClique(){
  /* -------------------------------------------------------------
     Objetivo: Habilita ultimo objeto onde foi efetuada a acao
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/
	if(typeof objUltEvento == "object")
		objUltEvento.disabled = false;
  }
  
  function isDate(sData){
  /* -------------------------------------------------------------
     Objetivo: Retorna true se string passada é uma data
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/

	var mascara = /^(10|20|[0|1|2]?[1-9]|3[0-1])\/(0?[1-9]|10|11|12)\/([0-9]{2,4})$/;


	if (mascara.test(sData)){
		var aData = sData.match(mascara);
		var dData = new Date(aData[3], (aData[2] - 1), aData[1]);

		if (dData.getUTCFullYear() == aData[3] && 
		    (dData.getUTCMonth() + 1) == aData[2] &&
			dData.getUTCDate() ==aData[1]){
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
  }
  
  function parseDate(sData){
  /* -------------------------------------------------------------
     Objetivo: Converte uma string no formato brasileiro para uma data.
	 Returna: Objeto do tipo Date ou null caso nao seja uma data valida.
     Autor: FCR
     -------------------------------------------------------------*/

	var mascara = /^(10|20|[0|1|2]?[1-9]|3[0-1])\/(0?[1-9]|10|11|12)\/([0-9]{2,4})$/;

	if (mascara.test(sData)){
		var aData = sData.match(mascara);
		var dData = new Date(aData[3], (aData[2] - 1), aData[1]);
		if (dData.getUTCFullYear() == aData[3] && 
		    (dData.getUTCMonth() + 1) == aData[2] &&
			dData.getUTCDate() ==aData[1]){
			
			return dData;
		}
		
		return null;
	} else {
		return null;
	}
  }

  function parseDec( valor , casas , sep ){
  /* -------------------------------------------------------------
     Objetivo: Arredonda número do tipo float e define o separador
	           a ser utilizado.
     Autor: DSO
     Criação: 05/01/03
     -------------------------------------------------------------*/
	var novo = Math.round( valor * Math.pow( 10 , casas ) ) / Math.pow( 10 , casas );
	novo = novo.toString();
	novo = novo.replace(/\./, sep);
	return novo;
  }

  function chamaZoom(url, funcPos){
  /* -------------------------------------------------------------
     Objetivo: Abre janela de zoom, com a url especificada e seta
	           um intervalo para a funcao encerra zoom.
     Autor: DSO
     Criação: 20/08/03
     -------------------------------------------------------------*/
	  var width = 400;
	  var height = 450;

      if (ZoomWin){
	  	  window.clearInterval(timZoom);
		  try {
		  	  ZoomWin.close();
		  } catch (e){
			  //Ignora o erro.
		  }
	  }
  	  ZoomWin = window.open(url, "ZoomWin", "Heigth=" + height + "," +
	                                        "Width=" + width + "," + 
							            	"Top=" + (window.screen.height - height) / 2 + "," + 
											"Left=" + (window.screen.width - width) / 2 + "," + 
											"scrollbars=no," +
											"menubar=no," +
											"status=no," + 
											"resizable=yes");

	  timZoom = window.setInterval("encerraZoom(timZoom, '" + funcPos + "');", 1000);
  }

  function encerraZoom(timZoom, funcPos){
  /* -------------------------------------------------------------
     Objetivo: Ao ser fechada a janela ZoomWin, executa a função
	           recebida como parametro e cancela sua execução pro
			   gramada
     Autor: DSO
     Criação: 20/08/03
     -------------------------------------------------------------*/
      if (ZoomWin.closed) {
		  window.clearInterval(timZoom);
	      if (funcPos.length > 0) {
		      eval(funcPos);
		  }
	  } 
  }
  
  /* -------------------------------------------------------------
     Objetivo: Verificar quais as propriedades e metodos dentro de
	           uma classe, no caso 'document'
     Autor: DSO
     Criação: 16/09/03
     -------------------------------------------------------------*/
	bok = false;
	if (bok && debug) {
		for (mth in document){
			if (bok){
				bok = confirm(mth);
			}
		}
    }

  /* -------------------------------------------------------------
     Objetivo: Ação para a tecla 'F1'
     Autor: DSO
     Criação: 16/09/03
     -------------------------------------------------------------*/
	document.onhelp = function(){
		alert("A ajuda ainda não está disponível.");
		//alert("HEEEEELLLLPPP!!!!" + window.event.srcElement.name);
		window.event.returnValue = false;
	}

  /* -------------------------------------------------------------
     Objetivo: Ação para o menu de contexto
     Autor: DSO
     Criação: 16/09/03
     -------------------------------------------------------------*/
	document.oncontextmenu = function(){
		if (!debug) {
			var objUltEvento = evtTarget();
			if (objUltEvento.type != "undefined" &&
			    (objUltEvento.type == "text" ||
			     objUltEvento.type == "textarea"))
				window.event.returnValue = true;
			else
				window.event.returnValue = false;
		}
	}

  /* -------------------------------------------------------------
     Objetivo: Ação para a selecao de texto
     Autor: DSO
     Criação: 31/07/03
     -------------------------------------------------------------*/
	document.onselectstart = function(){
		var objUltEvento = evtTarget();
	    if (!objUltEvento.type &&
		    !debug               )
			window.event.returnValue = false;
	}

  /* -------------------------------------------------------------
     Objetivo: Ação antes do momento em que a página for
	           descarregada
     Autor: DSO
     Criação: 02/02/04
     -------------------------------------------------------------*/
	window.onbeforeunload = function(){
		if (document.form){
			with(document.form){
				if (document.form.sAcao){
					if (bAlterado){
						habilitaClique();
						document.body.style.cursor = "none";
						sAcao.value = "";
						window.event.returnValue = "Atenção !!!\n\nOs dados foram alterados e não foram salvos!!!\nDeseja sair sem salvar as alterações?";
					}
				}
			}
		}
	}

  /* -------------------------------------------------------------
     Objetivo: Função genérica de formatação de dados
     Autor: DSO
     Criação: 22/09/04
	 Obs.: 
     -------------------------------------------------------------*/
	function Format(sValor, sFormato){
		var sNovoValor = sValor.toString();

		switch(sFormato){
			case "NumConfirmacao":
				sNovoValor = sNovoValor.replace(/[^\d]/, "");
//				sNovoValor = sNovoValor.replace(/-/, "");
				sNovoValor = sNovoValor.replace(/^0*/, "");
				if (sNovoValor.length > 1){
					sNovoValor = String().concat(sNovoValor.substring(0, sNovoValor.length -1), "-",  sNovoValor.substring(sNovoValor.length -1, sNovoValor.length));
				}
				break;
			default:
				sNovoValor = sValor;
				break;
		}

		return sNovoValor;
	}


  /* -------------------------------------------------------------
     Objetivo: Detecta pelo código de uma tecla, se o valor
	           correspondente é numérico.
     Autor: DSO
     Criação: 22/09/04
	 Obs.: 
     -------------------------------------------------------------*/
	function isNumericKey(keyCode){
		if (keyCode >= 48 && 57 >= keyCode)
			return true;
		else
			return false;
	}
	/*---------------------------------------------------------------
	@descricao: Verifica se um frame esta ativado e entao chama  funcao Onload()
	
	*/
			function verificaFrame(frame){
		
		var topo = self.parent.frames[frame];
		
			
			if(topo == null){
			
			onLoad();
				
			}
		}
	
	
	function desabilitaFoco(){
		
		this.focoPrimeiroCampo = false;
		
		
		}

function randRange(lowVal, highVal) {
	
     return Math.floor(Math.random() * (highVal - lowVal + 1)) + lowVal;
}

/* -------------------------------------------------------------
     Objetivo: válida valor monetário (máx. 2 casas decimais, aceita "vírgula" ou "Ponto"
				como separador decimal, não aceita operadores matemáticos.
     Autor: DSO
     Criação: 22/09/04
	 Obs.: 
     -------------------------------------------------------------*/
function validaMoeda(valor){
		varDecimal = /^(\d+|(\d+(\,|\.)\d{1,2})|(\,|\.)\d{1,2})$/;
		if (varDecimal.test(valor)) {
			valor = valor.replace(/[,]+/g,'.');
			if (valor != 0) {
				return true;
			}else{
				return false;
			}
		}else{
			return false;
		}

	}
//-->
