﻿/* Ver. 2.01.0010 */
/* ******************************************************************************************* */
if(typeof ligaSDK == 'undefined') 
  {
  ligaSDK = {};
  ligaSDK.basic = {};
  ligaSDK.merge = {};
  }
/* ******************************************************************************************* */
ligaSDK.merge.CopyPrintable = function(parDocument, parClass, parPosition)
  {
  var objElements = parDocument.getElementsByTagName("*");
  for(var counter=0; counter < objElements.length; counter ++)
    {
    var strlgsdk = objElements[counter].getAttribute("lgsdk");
    if(strlgsdk)
      {
      if(ligaSDK.basic.ReadAttribute(strlgsdk, "printable")) 
        {
        var objDiv = ligaSDK.basic.CreateDiv("section" + counter, parClass, parPosition);
        objDiv.innerHTML = objElements[counter].innerHTML;
        }
      }
    }
  }
/* ******************************************************************************************* */
ligaSDK.basic.CreateDiv = function(parId, parClassName, parPosition)
  {
  var objDiv = document.createElement("div");
  objDiv.id = parId;
  objDiv.className = parClassName;
  objDiv.style.position = parPosition;
  document.body.appendChild(objDiv);
  return(objDiv);
  }
/* ******************************************************************************************* */
ligaSDK.basic.ReadAttribute = function(parAttribute, parAttribName)
  {
  var aAttribute = parAttribute.split(";")
  for(var counter = 0; counter < aAttribute.length; counter ++)
    {
    if(aAttribute[counter].indexOf(parAttribName) > -1)
      {
      aAttribute[counter] = aAttribute[counter].split(":")[1];
      return(aAttribute[counter]);
      }
    }
  }



/* Ver. 2.01.0002 */
/* ******************************************************************************************* */
var aMenuItem = new Array(), iMenuItem = 0, strMenuAtivo = "", aSelectOne = null, bLoadMenu = false;
var bCancelDuplicate, iMenuObj = null, iMenuCur = null, aMenuBar = null, iCaretFirstControl = null;
var strPesquisaRapida, bClickMenu = false;

function writeMenus(){}
function FecharMyModal(parWindow){}
/* MENU ************************************************************************************** */
function Menu(parMenu)
  {
  this.MenuName = parMenu;
  this.addMenuItem = addMenuItem;
  } 
/* MENU ************************************************************************************** */
function createMenu(menuId)
  {
  objDiv = document.createElement("div");
  objDiv.id = menuId;
  objDiv.className = "mnuBox";
  objDiv.style.position = "absolute";
  objDiv.style.visibility = "visible";
  document.body.appendChild(objDiv);
  }
/* MENU ************************************************************************************** */
function addMenuItem(parMenuItemLabel, parMenuItemAction)
  { 
  if(! document.getElementById(this.MenuName)) 
    {
    createMenu(this.MenuName);
    }
  document.getElementById(this.MenuName).innerHTML += "<div class='mnuMenuItem' tabindex=11001 ONFOCUS='MenuItemOver(this)' onmouseover='MenuItemOver(this)' onblur='MenuItemOut(this)' onmouseout='MenuItemOut(this)' onkeydown='OnKeyDown(event, " + iMenuItem + ")' onclick='MenuItemClick(" + iMenuItem + ")'>" + parMenuItemLabel + "</div>";
  aMenuItem[iMenuItem] = parMenuItemAction;
  iMenuItem += 1;
  }
/* MENU ************************************************************************************** */
function MenuItemOver(parObj)
  { 
  parObj.className = "mnuItemOver";
  }
/* MENU ************************************************************************************** */
function MenuItemOut(parObj)
  { 
  parObj.className = "mnuItemOut";
  }
/* MENU ************************************************************************************** */
function MenuItemClick(parIndex)
  { 
  //alert(parIndex);
  try{eval(aMenuItem[parIndex])}catch(e){alert("MenuItemClick: " + e.description);}
  }
/* MENU ************************************************************************************** */
function showMenu(parMenu, parX, parY)
  { 
  if(! bLoadMenu)
    {  
    try
      {
      LoadMenu();
      bLoadMenu = true;
      }
    catch(e)
      { 
      alert("LoadMenu: Função Não Implementada ou com problema." + e.description);
      }
    }
  if (! aSelectOne) LoadSelectOne();
  changeSelectOne("hidden");
  if(parMenu.MenuName == strMenuAtivo)
    {
    HideMenuAtivo();
    return;
    }
  if(! strMenuAtivo == "")
    {
    HideMenuAtivo();
    changeSelectOne("hidden");;
    }
  bClickMenu = true;
  strMenuAtivo = parMenu.MenuName;
  try
    {
    document.getElementById(strMenuAtivo).style.left = String(parX) + "px";
    document.getElementById(strMenuAtivo).style.top  = String(parY) + "px"
    document.getElementById(strMenuAtivo).style.display = "inline";
    document.getElementById(strMenuAtivo).firstChild.focus();
    }
  catch(e){alert("showMenu: " + e.description);}
  if(window.event) window.event.cancelBubble = true;
  }
/* MENU ************************************************************************************** */
function HideMenuAtivo()
  { 
  if (strMenuAtivo == "") return;
  if(window.event)
    {
    try{document.getElementById(strMenuAtivo).style.display = "none"}catch(e){};
    strMenuAtivo = "";
    changeSelectOne("visible");
    SetCaretFirstControl();
    }
  else if (! bClickMenu)
    {
    try{document.getElementById(strMenuAtivo).style.display = "none"}catch(e){};
    strMenuAtivo = "";
    SetCaretFirstControl();
    }
  bClickMenu = false;
  }
/* IE **************************************************************************************** */
function LoadSelectOne()
  {
  if(! window.event) return;
  aSelectOne = new Array();
  aMenuBar   = new Array();  
  for(counter = 0; counter < document.all.length; counter ++)
    {
    if (document.all(counter).type == "select-one") aSelectOne[aSelectOne.length ++] = document.all(counter).name;
    else if (document.all(counter).className == "mnuBarItem") aMenuBar[aMenuBar.length ++] = counter;
    }
  }
/* IE **************************************************************************************** */
function changeSelectOne(parVisibility)
  {
  if(! window.event) return;
  for(counter = 0; counter < aSelectOne.length; counter ++)
    {
    document.all(aSelectOne[counter]).style.visibility = parVisibility;
    }
  }
/* ******************************************************************************************* */
function getPopUpXY(parObj)
  {
  try{return(getOffsetXY(parObj, 0, parObj.offsetHeight))}catch(e){};
  }
/* ******************************************************************************************* */
function getSubMenuXY(parObj)
  {
  try{return(getOffsetXY(parObj, parObj.offsetWidth, 0))}catch(e){}; 
  }
/* ******************************************************************************************* */
function getOffsetXY(parObj, parX, parY)
  {
  var lPos = {x:0, y:0};
  lPos.x += parX;
  lPos.y += parY;
  do 
    {
    lPos.x += parObj.offsetLeft;
    lPos.y += parObj.offsetTop;
    parObj = parObj.offsetParent;
    } while(parObj);
  return(lPos); 
  }
/* FORM ************************************************************************************** */
function MySubmit(parCommand, parhRef, parForm)
  {
  switch(parCommand.type)
    {
    case "button":
    case "submit":
      parCommand = parCommand.title;
      break;
    }
  if(! parForm) parForm = "frmPrincipal";
  var objForm =  document.getElementById(parForm);
  objForm.action = parhRef;
  try
    { 
    switch(objForm.className.toLowerCase())
      {
      case "frmedt":
      case "dlgedtform":
      case "mainform":
        edtOptions(parForm, parCommand);
        break;
      case "frmpsq":
      case "dlgpsqporm":
      case "queryform":
        psqOptions(parForm, parCommand);
        break;
      default:
        alert("MySubmit: Classe de Formulário desconhecida: " + objForm.className);
      }
    }
  catch(e)
    {
    alert("MySubmit: " + e.description);
    }
    
  }
/* FORM ************************************************************************************** */
function edtOptions(parForm, parCommand)
  {
  if(! parForm) parForm = "frmPrincipal";
  var objForm =  document.getElementById(parForm);
  switch (parCommand.toLowerCase())
    {
    case "salvar": 
    case "gravar": 
    case "gravar alterações": 
      Salvar(parForm, true);
      break;
    case "primeiro":
    case "primeira página":
    case "anterior":
    case "página anterior":
    case "proximo":
    case "próxima página":
    case "último":
    case "última página":
      MoverRegistro(parForm, parCommand);
      break;
    case "novo":
    case "novo registro":
      NovoRegistro(parForm)
      break;     
    case "pesquisar":
    case "lista":
    case "voltar para tela de listagem":
      try{objForm.submit();}catch(e){}
      break;
    case "excluir":
    case "excluir registro atual":
      Excluir(parForm) 
      break;
    case "refresh":
    case "atualizar":
    case "atualizar dados da tela":
    case "cancelar":
    case "cancelar alterações nos dados":
      try{objForm.submit();} catch(e){}
      break;
    default:
      alert("edtOptions: Função Não Implementada '" + parCommand + "'");
    }
  }
/* FORM ************************************************************************************** */
function psqOptions(parForm, parCommand)
  {
    if(! parForm) parForm = "frmPrincipal";
  switch(parCommand.toLowerCase())
    {
    case "primeiro":
    case "primeira página":
    case "anterior":
    case "página anterior":
    case "proximo":
    case "próxima página":
    case "ultimo":
    case "última página":
      MoverRegistro(parForm, parCommand);
      break;
    case "filtrar":
    case "pesquisar":
    case "filtrar listagem pelos critérios de busca":
      Procurar(parForm);
      break;
    case "refresh":
      try{parForm.submit();} catch(e){}
      break;
    case "todos":
    case "listar todos os registros":
      Procurar(parForm);
      break;
    case "excluir selecionados":
      ExcluirSelecionado(parForm);
      break;
    default:
      alert("psqOptions: Função Não Implementada '" + parCommand + "'");
  
    }
  } 
/* FORM ************************************************************************************** */
function Salvar(parForm, parSubmit)
  {
  if(! parForm) parForm = "frmPrincipal";
  var objForm =  document.getElementById(parForm);
  var bInsert = (objForm.codRegistro.value == 0);
  var bUpdate = (objForm.codRegistro.value != 0);
  if(! (window.AllowInsert || window.AllowUpdate))
    {
    alert("Este Formulário não Permite Inserção/Modificação de Dados");
    return(false);
    }
  if(bInsert && ! window.AllowInsert)
    {  
    alert("Este Formulário não Permite Inserção de Dados");
    return(false);
    }
  if(bUpdate && ! window.AllowUpdate)
    {
    alert("Este Formulário não Permite Modificação de Dados");
    return(false);
    } 
  if (! ValidarDados(parForm)) return(false);
  window.Alterado = false;
  if(parSubmit) objForm.submit();
  }
/* FORM ************************************************************************************** */
function MoverRegistro(parForm, parCommand)
  {
  var objForm =  document.getElementById(parForm);
  var curRecord, lastPage;
  if(! objForm.RecordCount) 
    {
    alert("O Campo 'RecordCount' não Existe neste Formulário");
    return;
    }
  if(objForm.RecordCount.value == 0) return;
  if(! objForm.AbsolutePage)
    {   
    alert("O Campo 'AbsolutePage' não Existe neste Formulário");
    return;
    }
  if(! objForm.PageSize.value)
    {
    alert("O Campo 'PageSize' não Existe neste Formulário");
    return;
    }
  switch(parCommand.toLowerCase())
    {      
    case "primeiro":
    case "primeira página":
    case "anterior":
    case "página anterior":
      if (objForm.AbsolutePage.value > 1) objForm.submit();
      break;

    case "proximo":
    case "próxima página":
      curRecord = objForm.AbsolutePage.value * objForm.PageSize.value;
      if (curRecord < objForm.RecordCount.value) objForm.submit();
      break; 
    case "ultimo":
    case "última página":
      lastPage = Math.round(objForm.RecordCount.value / objForm.PageSize.value);
      if (objForm.AbsolutePage.value < lastPage) objForm.submit();
      break;
    }
  }
/* FORM ************************************************************************************** */
function NovoRegistro(parForm)
  {
  var objForm =  document.getElementById(parForm);
  try
    {
    if(window.Tipo == "dlgPsq") dlgPsqNovoRegistro();
    else if (window.AllowInsert) objForm.submit();
    }
  catch(e){alert("NovoRegistro:" + e.description)}
  }
/* FORM ************************************************************************************** */
function dlgPsqNovoRegistro()
  {
  if(! window.opener.DetailNovo)
    {  
    alert("dlgPsqNovoRegistro: Recurso Não Implementado: 'DetailNovo'");
    return;
    }
  window.close();
  window.opener.DetailNovo.click();
  }
/* FORM ************************************************************************************** */
function Procurar(parForm)
  {
  if(! parForm) parForm = "frmPrincipal";
  var objForm =  document.getElementById(parForm)
  if(! window.aValidList)
    {  
    alert("A Variável 'window.aValidList' não existe nesta tela");
    return (false);
    }
  if(window.aValidList.length == 0)
    {
    objForm.submit();
    return;
    }
  try
    {
    if(PsqValidarDados())
      {
      objForm.submit();
      return(true);
      }
    }
  catch(e) 
    { 
    try
      {
      if (PsqValidarDados()) objForm.submit();
      } catch(e) {}
    }
  }
/* FORM ************************************************************************************** */
function Excluir(parForm)
  {
  var objForm = document.getElementById(parForm);
  if(! window.AllowDelete == true)
    {  
    alert("Este Registro não pode ser apagado");
    return;
    }
  if (confirm("Tem certeza que deseja apagar o Registro Atual?")) objForm.submit();
  }
/* FORM ************************************************************************************** */
function DelFrmPsq(parWCI, parPKeyValue, parPKeyName)
  {
  if (! confirm("Tem certeza que deseja apagar o Registro Selecionado ?")) return;
  if (! parPKeyName) parPKeyName = "codRegistro";
  parPKeyName = "&" + parPKeyName + "=";
  ExecutarMenu("pesquisa.aspx?WCI=" + parWCI + "&Mv=Refresh&Cmd=Excluir" + parPKeyName + parPKeyValue, "submit");
  }
/* NAVEGAO ********************************************************************************* */
function ChangeModule(parWCI)
  {
  ExecutarMenu("default.aspx?WCI=" + parWCI, "relURL");
  }
/* NAVEGAO ********************************************************************************* */
function OpenFrmPsq(parWCI)
  {
  ExecutarMenu("pesquisa.aspx?WCI=" + parWCI, "relURL");
  }
/* NAVEGAO ********************************************************************************* */
function OpenFrmEdt(parWCI, parPKeyValue, parPKeyName)
  {
  if(! parPKeyName) parPKeyName = "codRegistro";
  switch(parPKeyValue.toLowerCase())
    {
    case "submit":
    case "relurl":
      ExecutarMenu("cadastro.aspx?WCI=" + parWCI, parPKeyValue);
      return;
    }
  parPKeyName = "&" + parPKeyName + "=";
  ExecutarMenu("cadastro.aspx?WCI=" + parWCI + "&Mv=Sql" + parPKeyName + parPKeyValue, "submit");
  }
/* ******************************************************************************************* */
function PesquisarFrmEdt(parObject, parWCI)
  {
  MySubmit(parObject, 'cadastro.aspx?WCI=' + parWCI + '&Mv=Pesquisar');
  }
/* *************************************************************************** */
function ExecutarMenu(parAction, parType, parForm)
  {

  if(! parForm) parForm = "frmPrincipal";
  switch(parType.toLowerCase())
    {     
    case "action": 
      try{eval(parAction);}catch(e){alert("ExecutarMenu: '" + parAction + "' " + e.description)}
      break;
    case "relurl":
      location.href = parAction;
      break;
    case "submit":
      var objForm = document.getElementById(parForm);
      objForm.action = parAction;
      objForm.submit();
      break;
    default:
      alert("ExecutarMenu: Ação de Menu Não Implementada: " + parAction);  
    }
  }
/* Event:public ****************************************************************************** */
function formOnChange(parEvent)
  {
  if(! parEvent) return;
  if(parEvent.type == "propertychange") parEvent = parEvent.propertyName;
  switch(parEvent)
    {
    case "value":
      try{if(window.event.srcElement.type == "select-one") if (PesquisaRapida()==true) return;} catch (e){}
    case "checked":
      break;
    default:
      return;
    }
  window.Alterado = true;
  var objElement = window.event.srcElement;
  try{if (objElement.value.length != objElement.maxLength) return;}catch(e){return;}
  for(counter = objElement.sourceIndex + 1; counter < document.all.length; counter ++)
    {   
    switch(document.all(counter).type)
      {
      case "select-one":
      case "checked":
      case "text":
      case "textarea":
        window.document.all(counter).focus();
        return; 
      }
    }
  }
/* ******************************************************************************************* */
function PesquisaRapida()
  {
  var objElement = window.event.srcElement;
  if(objElement.options(objElement.selectedIndex).value != "?") return(false);
  strPesquisaRapida = prompt("Pesquisa Rápida - Entre o Critério de Pesquisa", "");
  if(strPesquisaRapida != null)
    {
    strPesquisaRapida = escape(strPesquisaRapida);
    document.all("A" + objElement.name).click();
    }
  objElement.selectedIndex = 0;
  return(true);
  }
/* ******************************************************************************************* */
function ValidarCampo(parTeste, parTexto)
  {
  this.Teste = parTeste;
  this.Texto = parTexto;   
  }
/* ******************************************************************************************* */
function ValidarDados(parForm)
  { 
  if (! parForm) parForm = "frmPrincipal";
  var objForm = document.getElementById(parForm);
  for(counter=0; counter < window.aValidList.length; counter ++)
    {   
    try
      {
      if(eval(window.aValidList[counter].Teste)) 
        {  
        alert(window.aValidList[counter].Texto);
        return (false);
        }
      }  
    catch(e)
      {  
      alert("ValidarDados: Expressão Inválida: " + window.aValidList[counter].Teste + "\n" + e.description);
      return (false);
      }
    }
  return (true); 
  }
/* ******************************************************************************************* */
function PsqValidarDados(parForm)
  {
  var objForm = document.getElementById(parForm);
  for(counter=0; counter < window.aValidList.length; counter ++)
     {
     try
       {  
       if (eval(window.aValidList[counter].Teste)) return (true);
       }  
     catch(e)
       {  
       alert("PsqValidarDados: Expressão Inválida: " + window.aValidList[counter].Teste + "\n" + e.description);
       return (false);
       }
     }
  alert("É Necessário Preencher ao menos 1 Campo como Critério de Pesquisa");
  return (false); 
  }
/* ******************************************************************************************* */
function OpenQueryWindow(parURL, parQwName, parWindowParams)
  {
  bCancelDuplicate = true;
  try
    {  
    if(! window.qwPesquisar)
      {  
      window.open(parURL, parQwName, parWindowParams);
      return;
      }
    if(! window.qwPesquisar.closed)
      {  
      if(window.qwPesquisar.name == parQwName) 
        {  
        window.qwPesquisar.focus();
        return;
        }  
      else
        window.qwPesquisar.close();
      }  
  window.open(parURL, parQwName, parWindowParams);
    } 
  catch(e){alert("OpenQueryWindow: " + e.description);} 
  }
/* ******************************************************************************************* */
function EditWindowURL(parURL, parCodigoDetalhe, parCodigo)
  {
  if (! parCodigo) return(parURL + 'Sql&codRegistroDetalhe=' + parCodigoDetalhe);
  if (parCodigoDetalhe == '') parCodigoDetalhe = 'cmd&Name=Novo'
  return(parURL + parCodigoDetalhe + '&codRegistro=' + parCodigo);
  }
/* Event ************************************************************************************* */
function onWindowUnload()
  {
  if (window.bLoseFocus) return;
  try
    {
    if(! window.qwPesquisar.closed)
      {
      window.qwPesquisar.close();
      window.qwPesquisar = null;
      }
    window.opener.ewEditar = null;
    } catch(e){}  
  try 
    { 
    var strTipo = window.Tipo.toLowerCase();
    if (strTipo == "frmedt" || strTipo == "frmpsq" || strTipo == "default" || strTipo == "logon") return;
    if (window.opener) window.opener.focus();
    } catch(e) {};
  }
/* Event ************************************************************************************* */
function CloseQuery()
  {
  if (window.Alterado == true) window.event.returnValue = "As alterações não Foram Salvas. Deseja Descartar as Alterações?"
  }
/* Event ************************************************************************************* */
function DlgEdtOnClose()
  {
  try {window.opener.ewEditar = null;} catch(e){}
  }
/* Event ************************************************************************************* */
function StatusChange(parAprovado, parCancelado, parAction, parModalAprovado, parModalCancelado)
  {
  var objForm = document.getElementById("frmPrincipal");
  if (parAction.toLowerCase().match(/cadastro.aspx\?wci=.*&mv=refresh&cmd=status/) == null) parAction = "Cadastro.aspx?WCI=" + parAction + "&Mv=Refresh&Cmd=Status";
  if(! objForm.Status) 
    {
    alert("O Campo 'Status' não Existe neste Formulário");
    return; 
    }
  if(window.Alterado == true) 
    {
    alert("É necessário salvar o registro antes de alterar seu Status");
    return;
    }
  try
    {  
    var strStatusValue = objForm.Status.options(objForm.Status.selectedIndex).value;
    var strStatusName =  objForm.Status.options(objForm.Status.selectedIndex).text;
    var StatusAprovado, StatusCancelado, modStatus = "";
    }
  catch(e)
    {
    alert("StatusChange: " + e.description);
    return;
    }
  StatusAprovado = (strStatusValue == parAprovado);
  StatusCancelado = (strStatusValue == parCancelado);
  if(StatusAprovado)
    if(! parModalAprovado == '')
      {  
      modStatus = window.showModalDialog(parModalAprovado, "StatusParams", "width:200px;height:300px");
      if (! modStatus) return;
      } 
  else if(StatusCancelado)
    if(! parModalCancelado == '')
      {  
      modStatus = window.showModalDialog(parModalCancelado, "StatusParams", "width:200px;height:300px");
      if (! modStatus) return;
      }
  else
    modStatus = "";
  if(StatusAprovado || StatusCancelado)
    {  
    if(confirm("Após mudar o status para '" + strStatusName + "' Não será mais possível altera-lo. Tem certeza que deseja continuar?"))
      {  
      objForm.action = parAction + modStatus;
      objForm.submit();
      }
    return;
    }
  objForm.action = parAction;
  objForm.submit();
  }
/* ******************************************************************************************* */
function OpenPrintDialog(parFormName, parWindow, parTipo, parForm)
  { 
  if(! parForm) parForm = "frmPrincipal";
  var objForm =  document.getElementById(parForm);
  var strCodRegistro = ((objForm.codRegistro)?"&codRegistro=" + objForm.codRegistro.value:"")
  showModalDialog("Modal.aspx?WCI=mdlSdkPrint&Mv=Imprimir&Tipo=" + parTipo + "&FormName=" + parFormName + strCodRegistro, "PrintDialog", "dialogHeight:190px;dialogWidth:400px;center:yes;directories:no;scrollbars:0;status:0");
  }
/* ******************************************************************************************* */
function OpenHelpDialog(parCodHelp, parFormName)
  { 
  var newWindow;
  var strWindowParams = "left=0px, top=0px, width=790px, height=590px, directories=no, scrollbars=0";
  newWindow = window.open("Modal.aspx?WCI=mdlSdkHelp&codHelp=" + parCodHelp + "&FormName=" + parFormName, "HelpDialog", strWindowParams);
  newWindow.focus();
  }
/* ******************************************************************************************* */
function CloseDialog()
  {
  try
    {  
    if(window.Alterado) window.Alterado = (! confirm("Os Dados não foram Salvos. Descartar Alterações?"))
    if(window.Alterado) return;
    } catch(e){alert("CloseDialog: " + e.description);}
  try
    {
    var strWindowOpenerTipo = window.opener.Tipo
    window.close();
    window.opener.qwEditar = null;
    if((window.Tipo == "dlgPsq") && (strWindowOpenerTipo == "frmEdt" || strWindowOpenerTipo == "dlgEdt"))
      if(! window.bRefresh) return;     
    if(window.opener.Refresh) 
      window.opener.Refresh.click();
    else
      window.opener.bPesquisar.click();
    }catch(e){}
  }
/* ******************************************************************************************* */
function AlterarSenha(parForm, parURL)
  {
  if(Trim(parForm.NovaSenha.value) == null) 
    {  
    alert("O Campo 'Nova Senha' Não Pode Ficar Vazio");
    return(false);
    }
  if(parForm.NovaSenha.value != parForm.ConfirmarSenha.value)
    {  
    alert("A Nova Senha e a Confirmação da Senha Não Conferem");
    return(false);
    }
  parForm.action = parURL;
  }
/* ******************************************************************************************* */
function ShowProp(parWCI, codRegistro)
  {
  var windowParams = "width:200px;height:300px;status:no";
  var strURL;
  if(bCancelDuplicate) 
    {  
    bCancelDuplicate = false;
    return;
    }
  if (codRegistro == "0") return;
  strURL = "cadastro.aspx?WCI=" + parWCI + "&Mv=Sql&codRegistro=" + codRegistro;
  window.showModalDialog(strURL, "ModalWindow", windowParams);
  }
/* ******************************************************************************************* */
function BloquearNaoSalvo()
  {
  if (window.Alterado == true) alert("É necessário Salvar o Formulário antes de usar esta função");
  return(Alterado);
  }
/* ******************************************************************************************* */
function TransferirText(parInput, parText)
  {
  try
    {
    parInput.value = parText;
    parInput.focus();
    } catch(e) {alert("TransferirText: " + e.description);}
  }
/* ******************************************************************************************* */
function TransferirCombo(parCombo, parValue, parText)
  {
  try
    {
    parCombo.options(parCombo.selectedIndex).value = parValue;
    parCombo.options(parCombo.selectedIndex).text  = parText;
    parCombo.focus();
    window.Alterado = true;
    } catch(e) {alert("TransferirCombo:" + e.description);}
  }
/* ******************************************************************************************* */
function newEditWindow(parJanela, parCodRegistro, parNomeCampo, parValue)
  {
  try
    {
    window.EditWindow(parJanela, '', parCodRegistro + "&" + parNomeCampo + "=" + parValue);
    window.qwPesquisar.close();
    window.qwPesquisar = null;
    } catch(e) {alert("newEditWindow: " + e.description);}
  }
/* ******************************************************************************************* */
function noDetailNovoWindow(parJanela)
  {
  qwEditar.close();
  qwEditar = null;
  alert("Janela não Implementada: " + parJanela);
  }
/* Event ************************************************************************************* */
function OnKeyDown(event, parMenuItem)
  {
  var windowParams = "width:200px;height:300px;status:no";
  if(window.event)
    {
    var objEvent   = window.event;
    var intKeyCode = objEvent.keyCode;
    var objElement = objEvent.srcElement;
    }
  else
    {
    var objEvent   = event;
    var intKeyCode = objEvent.keyCode;
    var objElement = objEvent.target;
    }
  switch(intKeyCode)
    {
    case 13:
      switch(objElement.type)
        {
        case "select-one":
        case "text":
          objEvent.keyCode = 9;
          break;
        }
        if (parMenuItem) MenuItemClick(parMenuItem);
        break;
    case 115:
      if (! aSelectOne) LoadSelectOne();
      iMenuCur = 0;
      try{document.getElementById(aMenuBar[iMenuCur]).click();} catch(e){};
      objEvent.keyCode = 0;
      objEvent.returnValue = false;
      break;
    case 27:
      HideMenuAtivo();
      break;
    case 38:
      switch(objElement.className) 
        {
        case "mnuItemOver":
        case "mnuItemOut":
          if(objElement.parentElement.firstChild.sourceIndex == objElement.sourceIndex)
            objElement.parentElement.lastChild.focus();
          else
            document.all(objElement.sourceIndex - 1).focus();
          break;
        }
      break;
    case 37:
      MoveMnuBar("Previous")
      break;
    case 39:
      MoveMnuBar("Next")
      break;
    case 40:
      switch(objElement.className) 
        {
        case "mnuBarItem":
             objElement.click();
             break;
        case "mnuItemOver":
        case "mnuItemOut":
          if(objElement.parentElement.lastChild.sourceIndex == objElement.sourceIndex)
            objElement.parentElement.firstChild.focus();
          else
            objEvent.keyCode = 9;
            break;
        }
      break;
    case 33:
      lgAction = ((objEvent.ctrlKey) ? "Primeiro": "Anterior");
      tBarClick(lgAction);
      break;
    case 34:
      lgAction = ((objEvent.ctrlKey) ? "Ultimo": "Proximo");
      tBarClick(lgAction);
      break;
    case 45:
      lgAction = ((objEvent.ctrlKey) ? "Novo": "");
      tBarClick(lgAction);
      break;
    case 46:
      lgAction = ((objEvent.ctrlKey) ? "Excluir": "");
      tBarClick(lgAction);
      break;
    case 117:
      tBarClick("bPesquisar");
      break;
    case 118:
      tBarClick("Sair");
      break;
    case 83:
      lgAction = ((objEvent.ctrlKey) ? "Gravar": "");
      tBarClick(lgAction);
      break;
    case 112:
      tBarClick("Ajuda");
      break;
    case 113:
      if (! objEvent.shiftKey) return;
      switch(objElement.type)
        {
        case "text":
        case "textarea":
          SetCookie("TextValue", objElement.value);
          var strReturnValue = window.showModalDialog("mdlZoom.htm", "Zoom", windowParams);
          if(strReturnValue) 
            {
            objElement.value = unescape(strReturnValue);
            formOnChange("value");                 
            }
        }
        break;
    case 119:
      try
        { 
        document.getElementById("A" + objElement.name).click();
        } catch(e){}
      break;
    } 
  }
/* ******************************************************************************************* */
function tBarClick(parAction)
  {
  if(parAction == "") return;
  try
    { 
    window.event.keyCode = 0;
    window.event.returnValue = false;
    document.all(parAction).click();
    } catch(e){}
  }
/* ******************************************************************************************* */
function MoveMnuBar(parMove)
  {
  if(strMenuAtivo == "") return;
  (parMove == "Next")? ++ iMenuCur: -- iMenuCur;
  if (iMenuCur >= aMenuBar.length) iMenuCur = 0;
  if (iMenuCur < 0) iMenuCur = aMenuBar.length - 1;
  try{document.all(aMenuBar[iMenuCur]).click()}catch(e){};
  window.event.keyCode = 0;
  window.event.returnValue = false;
  }
/* ******************************************************************************************* */
function SetCookie(sName, sValue)
  {
  document.cookie = sName + "=" + escape(sValue) + "; path=/"
  }
/* ******************************************************************************************* */
function GetCookie(sName)
  {
  var aCookie = document.cookie.split("; ");
  for(var i=0; i < aCookie.length; i++)
    {
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
    if (aCrumb[1]) return unescape(aCrumb[1]);
    }
  return "";
  }
/* ******************************************************************************************* */
function DisplayDetail(parDetail, parTD)
  {
  var counter, objGuiasRow, strImage;   
  if (detailInline == parDetail) return;
  var objForm = document.getElementById("frmPrincipal");
  try
    {
    document.getElementById(parDetail).style.display = "inline";
    if (detailInline) document.getElementById(detailInline).style.display = "none";
    detailInline = parDetail;
    objForm.SQLdetailInline.value = parTD;
    objGuiasRow = window.document.getElementById("Guias").rows[0];
    for(counter=0; counter < objGuiasRow.cells.length; counter ++)
      {   
      strImage = "url(images/abaInativa.gif)";
      if (counter == parTD) strImage = "url(images/abaAtiva.gif)";       
      objGuiasRow.cells[counter].style.backgroundImage = strImage; 
      }
    } catch(e){alert("DisplayDetail: " + e.description);}
  }
/* ******************************************************************************************* */
function onWindowFocus()
  {
  try{if (window.Tipo == "mdl") return;}catch(e){alert("onWindowFocus:" + e.description);}
  try
    {
    if(window.qwEditar.closed)
      {  
      window.qwEditar = null;
      window.focus();
      }
    else
      {  
      window.blur();
      window.qwEditar.focus();
      }    
    }
  catch(e){window.qwEditar = null;}
  }
/* ******************************************************************************************* */
function onDocumentClick(event)
  {
  HideMenuAtivo();
  if(window.event)
    {
    var objElement = window.event.srcElement;
    }
  else
    {
    var objElement = event.target;
    }
  if(objElement.tagName.toLowerCase() == "body") SetCaretFirstControl();
  if (objElement.className != "lblTD") return;
  var objRow = objElement.parentNode;
  try
    {
    for(counter=0; counter < objRow.cells.length; counter ++)
      {   
      if (objRow.cells[counter].innerText == objElement.innerText) break;
      }
    } catch(e){alert("onDocumentClick" + e.description);}
  var strURL = location.href.split("?");
  var strWCI = strURL[1].split("&"); 
  ExecutarMenu(strURL[0] + "?" + strWCI[0] + "&Mv=Refresh&DetailOrderBy=" + counter, "submit");
  }
/* ******************************************************************************************* */
function SetCaretFirstControl()
  {
  var objForm = document.getElementById("frmPrincipal");
  if (! objForm) return; 
  if(iCaretFirstControl) 
    {
    try{objForm.elements[iCaretFirstControl].focus()}catch(e){};
    return;
    }
  for(counter=0; counter < objForm.elements.length; counter ++)
    {   
    switch(objForm.elements[counter].type)
      {
      case "text":
      case "textarea":
        if (objForm.elements[counter].readOnly) break;
      case "select-one":
        iCaretFirstControl = counter
        try{objForm.elements[iCaretFirstControl].focus()}catch(e){};
        return;
      }
    }
  }
/* Event ************************************************************************************* */
function OnLoad()
  {
  if (window.Mensagem != "") alert(window.Mensagem);
  window.document.onkeydown = OnKeyDown;
  window.document.body.onclick = onDocumentClick;
  window.onfocus = onWindowFocus;
  window.onunload = onWindowUnload;
  try{window.OnWindowLoad()}catch(e){alert("OnWindowLoad: " + e);}
  var objForm = document.getElementById("frmPrincipal");
  try{objForm.insertAdjacentHTML("AfterBegin", "<INPUT TYPE='Hidden' NAME='cUserName' VALUE='" + GetCookie("cUserName") + "'>");} catch(e){}
  try
    { 
    switch(window.Tipo.toLowerCase())
      {
      case "frmedt":
        window.onbeforeunload = CloseQuery;
        break;
      case "dlgedt":
        window.onbeforeunload = CloseQuery;
        window.opener.qwEditar = window;
        window.focus();
        break;
      case "dlgpsq": 
        window.opener.qwPesquisar = window;
        window.focus(); 
        break;
      }
    } catch(e){}
  try
    { 
    if(window.document.getElementById("Guias")) 
      {    
      var nTD = new Number(objForm.SQLdetailInline.value);
      window.objGuias = window.document.getElementById("Guias");
      try{window.objGuias.rows[0].cells[nTD].click();} catch(e){DisplayDetail('Detail1', 0)}
      }
    } catch(e){alert("Guias: " + e);}
  SetCaretFirstControl();
  }
/* Mask ************************************************************************************** */
function Mask(parInput, parMask, parMaskType)
  {
  if(! parMaskType) parMaskType = "normal";
  if(isControlKey()) return;
  switch(parMaskType)
    {
    case "number":
      parInput.value = NumberMask(parInput.value, parMask);
      break;
    default:
      parInput.value = NormalMask(parInput.value, parMask);
      break;
    }
  }
/* Mask ************************************************************************************** */
function NumberMask(parValue, parMask)
  {
  var intLength = (parValue.length > parMask.length)? parMask.length: parValue.length;
  var intMask   = parMask.length - intLength;
  var strDigit, strMaskDigit;
  var retValue = "";
  for(counter = 0; counter < intLength; counter ++)
    {
    strDigit = parValue.substr(counter, 1);
    strMaskDigit = parMask.substr(intMask, 1);
    if (isNumeric(strDigit)) retValue += strDigit;
    if (! isNumeric(strMaskDigit)) retValue += strMaskDigit;
    ++ intMask;
    }
  return(retValue);
  }
/* Mask ************************************************************************************** */
function NormalMask(parValue, parMask)
  {
  var intLength = (parValue.length > parMask.length)? parMask.length: parValue.length;
  var strDigit, strMaskDigit;
  var retValue = "";
  for(counter = 0; counter < intLength; counter ++)
    {
    strDigit = parValue.substr(counter, 1);
    strMaskDigit = parMask.substr(counter, 1);
    if (! isNumeric(strMaskDigit)) retValue += strMaskDigit;
    if (isNumeric(strDigit)) retValue += strDigit;
    }
  return(retValue);
  }
/* Mask ************************************************************************************** */
function isNumeric(parNumber)
  {
  var fltNumber = parseInt(parNumber);
  return(! isNaN(fltNumber));
  }
/* Mask ************************************************************************************** */
function isControlKey()
  {
  if(window.Event) return(false);
  var intKeyCode = window.event.keyCode;
  switch(intKeyCode)
    {
    case 8: case 9: case 13: case 16: case 17: case 18: case 19: case 20: case 27: case 32:
    case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 45:
    case 46: case 95: case 113: case 114: case 116: case 118: case 119: case 120: case 121:
    case 122: case 123: case 144: case 145: case 255:
      return(true);
    default:
      return(false);
    }
  }
/* Mask ************************************************************************************** */
function ValidLength(parInput, parLabel)
  {
  if(parInput.value.length == 0) return;
  if(parInput.value.length == parInput.maxLength) return;
  alert("O Campo '" + parLabel + "' Não Foi Completamente Preenchido");
  parInput.focus();
  parInput.value = parInput.value; // move o caret para o final
  }
/* Ajax ************************************************************************************** */
function ajaxLoadLookup(parHttpRequest, parElement)
  {
  var objElement = document.getElementById(parElement);
  var xmlDocument = GetXmlDocument(parHttpRequest);
  if(! xmlDocument)
    {
    objElement.value = "Código Inexistente";
    }
  else if(xmlDocument.length == 0)
    {
    objElement.value = "Código Inexistente";
    }
  else
    {
    objElement.value = xmlDocument.item(0).attributes[1].value;
    }
  }
/* Ajax ************************************************************************************** */
function ajaxLookup(parText1, parText2, parCodFieldList)
  {
  var strWhere = parText1.name + "=" + parText1.value;
  var objElement = document.getElementById(parText2);
  objElement.value = "Carregando...";
  MakeRequest("modal.aspx?WCI=MdlSdkQuery&Mv=EvalFieldList&codFieldList=" + parCodFieldList + "&sqlWhere=" + strWhere, "", true, ajaxLoadLookup, parText2);
  }
/* Ajax ************************************************************************************** */
function ajaxLoadComboBox(parHttpRequest, parElement)
  {
  var objElement = document.getElementById(parElement);
  var xmlDocument = GetXmlDocument(parHttpRequest);
  objElement.options[objElement.options.length] = new Option("(Nenhum)", "0");
  if(!xmlDocument)
    {
    objElement.remove(0);
    return; 
    }
  for(counter=0; counter < xmlDocument.length; counter ++)
    {
    if(xmlDocument[counter].attributes)
      {
      var objAttribute = xmlDocument[counter].attributes;
      objElement.options[objElement.options.length] = new Option(objAttribute[1].value, objAttribute[0].value);
      }
    }
  objElement.remove(0);
  }
/* Ajax ************************************************************************************** */
function ajaxComboBox(parCombo1, parCombo2, parCodFieldList)
  {
  var strWhere = parCombo1.name + "=" + parCombo1.options[parCombo1.selectedIndex].value;
  objElement = document.getElementById(parCombo2);
  if(! objElement)
    {
    alert("Controle Inexistente: " + parCombo2);
    return;
    }
  while(objElement.length > 0) objElement.remove(0);
  objElement.options[0] = new Option("Carregando ...", "Carregando ...");
  MakeRequest("modal.aspx?WCI=MdlSdkQuery&Mv=EvalFieldList&codFieldList=" + parCodFieldList + "&sqlWhere=" + strWhere, "", true, ajaxLoadComboBox, parCombo2);
  }
/* Ajax ************************************************************************************** */
function parseXml(parXml, parXsl)
  {
  var objXml = loadXmlXsl(parXml);
  var objXsl = loadXmlXsl(parXsl);
  if(window.ActiveXObject)
    return(objXml.transformNode(objXsl));
  else if (document.implementation)
    {
    var xsltProcessor = new XSLTProcessor();
    xsltProcessor.importStylesheet(objXsl);
    objXml = xsltProcessor.transformToDocument(objXml);
    objXml = new XMLSerializer().serializeToString(objXml);
    return(objXml);
    }
  }
/* Ajax ************************************************************************************** */  
function MakeRequest(parUrl, parType, parAsync, parFunction, parExtParam) 
  {
  http_request = false;
  if(! parAsync) parAsync = false;
  if(window.XMLHttpRequest)
    { 
    http_request = new XMLHttpRequest();
    if(http_request.overrideMimeType) 
      {  
      http_request.overrideMimeType('text/xml');
      }
    }
  else if(window.ActiveXObject)
    {
    try
      {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } 
    catch (e) 
      {
      try 
        { 
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
      }
    }
  if(!http_request) 
    { 
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return(false);
    }
  if(parAsync) http_request.onreadystatechange = function() {ajaxContents(http_request, parFunction, parExtParam);};
  http_request.open('GET', parUrl, parAsync);
  try
    {
    http_request.send(null);
    }
  catch(e)
    {
    return("erro acessando: " + parUrl);
    }
  if(http_request.readyState != 4) return;
  if(! parType) return(http_request.responseText);
  if(parType == "xml") return(http_request.responseXML);
  }
/* Ajax ************************************************************************************** */
function ajaxContents(parHttpRequest, parFunction, parExtParam)
  {
  if(parHttpRequest.readyState == 4) 
    {
    if(parHttpRequest.status == 200) 
      {
      parFunction(parHttpRequest, parExtParam);
      }
    else 
      {
      alert('There was a problem with the request.');
      }
    }
  }
/* Ajax ************************************************************************************** */
function GetXmlDocument(parHttpRequest)
  {
  var retValue = parHttpRequest.responseXml;
  if(! retValue.lastChild)
    {
    alert(parHttpRequest.responseText);
    return;
    }
  if(! retValue.lastChild.childNodes[0])
    {
    return;
    }
  if(retValue.lastChild.childNodes[0].childNodes.length > 0 )
    { 
    retValue = retValue.lastChild.childNodes[1].childNodes; // vb 6.0 compatibility
    }
  else
    {
    retValue = retValue.lastChild.childNodes;
    }
  return (retValue);
  }
/* Ajax ************************************************************************************** */
function loadXmlXsl(parUrl)
  {
  if(window.ActiveXObject)
    {
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async=false;
    xmlDoc.load(parUrl);
    }
  else if (document.implementation)
    {
    xmlDoc = MakeRequest(parUrl, "xml", false);
    }
  else
    {
    alert('Your browser cannot handle this script');
    return;
    }
  return(xmlDoc);
  }
/* General *********************************************************************************** */
function Trim(parString)
  { 
  var strTrim = /\w/;
  return strTrim.exec(parString);
  }

/* ******************************************************************************************* */
/* ******************************************************************************************* */
/* ******************************************************************************************* */
function ExcluirSelecionado(parForm)
{
  if (confirm("Tem certeza que deseja apagar todos os Registros Selecionados?")) parForm.submit();

}
/* ******************************************************************************************* */

  function AbrirRegistro(tela) 
  {   
      window.location = 'cadastro.aspx?WCI='+tela+'&Mv=Sql&codRegistro=<WC@User.CodUsuario></WC@User.CodUsuario>';
  }
  
  function AbrirRegistroEmpresa(tela) 
  {      
      window.location = 'cadastro.aspx?WCI='+tela+'&Mv=Sql&codRegistro=<WC@asp.SessionStr("EmpCodigo")></WC@asp.SessionStr("EmpCodigo")>';
  }

/* RELATORIO ********************************************************************************* */
function OpenReport(parForm,parURL)
{
 
 if (! window.aValidList)
 {  
    alert("A Variável 'window.aValidList' não existe nesta tela");
    return (false);
 }

 if (window.aValidList.length == 0) parForm.submit();
 else 
 {
  try
  {
    if (parent.PsqValidarDados())
    {
	janelaRelatorio = window.open("", "janelaRelatorio", "status=yes, location=no, directories=no, scrollbars=yes, resizable");
       	window.frmPrincipal.target= "janelaRelatorio"; 
 	window.frmPrincipal.action=parURL;
      	window.frmPrincipal.submit();
      	return(true);
    }
  } catch(e) 
    { 
      try
      {
        if (PsqValidarDados()) window.frmPrincipal.submit();
      } catch(e) {}
    }
 }
}

/* ********************************************************************************* */

function GeraHistorico(parURL)
{
   window.frmPrincipal.action = parURL;
   window.frmPrincipal.submit();
}




/* PAGINACAO  ********************************************************************************* */

  function alterarPaginacao(valor){
     if (valor) {
         this.frmPrincipal.PageSize.value = -1;
     } else {
         this.frmPrincipal.PageSize.value = 0;
     }
  }

  function verificaPageSize(){
     if ( ('' + this.frmPrincipal.PageSize.value) == ('' + this.frmPrincipal.RecordCount.value)) {
         this.sempaginacao.checked =true;
     } else {
         this.sempaginacao.checked =false;
     }
  }









































