// JavaScript Document
//funcoes que funcionam tanto em IE qto em Mozila
// object.focus();
//object.select();

/* nao funciona no Mozilla:
   browser_name = navigator.appName;
*/

//Shalmany 29.10.04 tive que cria essa variavel por causa da traducao
  msgCampoVazio = "";
function fnAvisaErro(campoerro, mensagem)
{
  alert(mensagem);
  campoerro.focus();
  campoerro.select();

  return false;
}
function fnValidaTelefone(numerico,vazio, comando)
{
    if(fnEhNumericoENaoVazio(document.forms[0].telefone))
    {
        document.forms[0].cmd.value=comando;
        return true;
    }
    else
    {
        return false;
    }
}

function fnEhNumericoENaoVazio(dados)
{
	 var Expressao = /^[0-9]+$/; //<!--Caracteres v?lidos-->
	 var strEndereco = dados.value;
     //Shalmany 04.08.04 if(fnEhVazio(dados)!= 1)
     //nao compara mais com um porque a funcao retorna um booleano
    if (!fnEhVazio(dados))
    {
       var matchArray = strEndereco.match(Expressao);

 	    if (matchArray==null)
	    {
		  //leila 12.04.05 fnAvisaErro(dados,"Este campo deve ser um n?mero decimal positivo.");
		  fnAvisaErro(dados,"Este campo deve conter somente números.");
		   return false;//Caracter nao numerico
	    }
	    return true;//OK!
	 }
}

function fnEhNumero(dados){

    var Expressao = /^[0-9]+$/; //<!--Caracteres v?lidos-->
	 var strEndereco = dados.value;
     //Shalmany 04.08.04 if(fnEhVazio(dados)!= 1)
     //nao compara mais com um porque a funcao retorna um booleano

       var matchArray = strEndereco.match(Expressao);

 	    if (matchArray==null)
	    {
		   fnAvisaErro(dados,"Este campo deve ser um número decimal positivo.");
		   return false;//Caracter nao numerico
	    }
	    return true;//OK!
}

function fnEhNumeroComCuringa(dados){

    var Expressao = /^[0-9%]+$/; //<!--Caracteres v?lidos-->
	 var strEndereco = dados.value;
     //Shalmany 04.08.04 if(fnEhVazio(dados)!= 1)
     //nao compara mais com um porque a funcao retorna um booleano

       var matchArray = strEndereco.match(Expressao);

 	    if (matchArray==null)
	    {
		   fnAvisaErro(dados,"Este campo deve ser um número decimal positivo.");
		   return false;//Caracter nao numerico
	    }
	    return true;//OK!
}

function fnHabilitaDesabControle(textname,bdisabled)
{
   //leila 09.06.04 var controle=eval("document.forms."+formname+"."+textname)
   var controle=eval("textname");
   controle.disabled=bdisabled;
}

//i07.03.03 - valida data e hora na mesma string
function fnValidaDataHora(textDtHora)
{
    strArrayDtHora=textDtHora.value.split(" ");
    strData=strArrayDtHora[0];
    if(!fnValidaData(strData,textDtHora))
    {
            return false;
    }
    strHora=strArrayDtHora[1];
    if(strHora != null && strHora != "")//21.03.03
    {
        if (fnValidaHoraFormatoHHmmSS(strHora,textDtHora)  == false)
        {
               return false;
        }
    }
    else
    {
        return fnAvisaErro(textDtHora,"Hora ausente!")
    }
    return true;
}

function fnValidaHoraFormatoHHmmSS(strHora,campoText)
{
    var timePat = /^(\d{1,2}):(\d{2}):(\d{2})$/;//leila
    var matchArray = strHora.match(timePat);
    if (matchArray == null)
    {
        alert("A hora deve estar no formato: \"HH:mm:SS\".");
        return false;
    }
    hour = matchArray[1];
    minute = matchArray[2];
    second = matchArray[3];

    if (second=="") { second = null; }

    if (hour < 0  || hour > 23)
    {
        return fnAvisaErro(campoText,"Hora deve estar entre 0 e 23.");
    }

    if (minute<0 || minute > 59)
    {
        return fnAvisaErro(campoText,"Minuto deve estar entre 0 e 59.");
    }
    if (second != null && (second < 0 || second > 59))
    {
        return fnAvisaErro(campoText,"Segundo deve estar entre 0 e 59.");
    }
    return true;
}

//ileila 21.03
function fnValidaHoraFormatoHHmm(strHora,campoText)
{
    var timePat = /^(\d{1,2}):(\d{2})$/;
    var matchArray = strHora.match(timePat);
    if (matchArray == null)
    {
        //alert("Time is not in a valid format.");
        alert("Hora inválida.");
        return false;
    }

    return true;
}

//fleila 21.03
function doDateCheck(from, to)
{
    if (Date.parse(from.value) <= Date.parse(to.value))
    {
        alert("As datas são válidas.");
    }
    else
    {
        if (from.value == "" || to.value == "")
            alert("As duas datas devem ser preenchidas.");
        else
            alert("Data final deve ocorrer após data inicial.");
    }
}

function LeapYear(yr) {
    if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
        return true;
    else
        return false;
}

//i07.03.03 - funcao para utilizar a string
function fnValidaData(strDate,datefield)
{
    //var strDatestyle = "US"; //United States date style
    var strDatestyle = "EU";  //European date style
    var strDateArray;
    var strDay;
    var strMonth;
    var strYear=null;
    var intday;
    var intMonth;
    var intYear;
    var booFound = false;

    var strSeparatorArray = new Array("-","/",".");//("-"," ","/",".");
    var intElementNr;
    var err = 0;

    if (strDate.length < 1)
    {
        return true;
    }
    //i21.03.03 - leila
    bNaOEncSeparadorValido=true;//n?o encontrou separador
	//24.03.04 browser_name=fnRetNomeBrowser();
    //f21.03.03
    for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
    {
        if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
        {
            strDateArray = strDate.split(strSeparatorArray[intElementNr]);
            bNaOEncSeparadorValido=false;//21.03.03 - leila
            if (strDateArray.length != 3)
            {
                err = 1;
                return fnAvisaErro(datefield,"Dia, mês ou ano incorreto!");//leila
            }
            else
            {
                strDay = strDateArray[0];
                strMonth = strDateArray[1];
                strYear = strDateArray[2];
            }
            booFound = true;
       }
    }

    //i21.03.03 - leila
    if(bNaOEncSeparadorValido == true)
    {
       //return fnAvisaErro(datefield,"Separador de data inválido!\nOs formatos de datas válidos são:\n\t- DD-MM-AAAA\n\t- DD\\MM\\AAAA\n\t- DD.MM.AAAA");
       return fnAvisaErro(datefield,"O formato da data deve ser: DD/MM/AAAA");
    }
    //f21.03.03 - leila
    if (booFound == false)
    {
        if (strDate.length>5)
        {
            strDay = strDate.substr(0, 2);
            strMonth = strDate.substr(2, 2);
            strYear = strDate.substr(4);
        }
                else
           {//i 06/11
                             err = 1;
                return fnAvisaErro(datefield,"Dia, mês ou ano incorreto!");//leila
           }
    }

        if(strYear != null)
        {
				 if (strYear.length != 4 ) //leila
				 {//se ano n?o tiver 4 digitos mostra erro
						err = 11;
						return fnAvisaErro(datefield,"O ano deve ter 4 digitos!");
                }
        }
    // US style
    if (strDatestyle == "US")
    {
        strTemp = strDay;
        strDay = strMonth;
        strMonth = strTemp;
    }
    intday = parseInt(strDay, 10);
    if (isNaN(intday))
    {
        err = 2;
        return fnAvisaErro(datefield,"O dia deve ser numérico!");
    }
    intMonth = parseInt(strMonth, 10);
    if (isNaN(intMonth))
    {
    /*
        for (i = 0;i<12;i++)
        {
            if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
            {
                intMonth = i+1;
                strMonth = strMonthArray[i];
                i = 12;
            }
        }
        if (isNaN(intMonth))
        {*/
            err = 3;
            return fnAvisaErro(datefield,"O mês deve ser numérico!");
        //}
    }
    intYear = parseInt(strYear, 10);
    exp = /\d{4}/;
    if (isNaN(intYear) || !exp.test(strYear))
    {
        err = 4;
        return fnAvisaErro(datefield,"O ano deve ser numérico!");
    }
    if (intMonth>12 || intMonth<1)
    {
        err = 5;
        return fnAvisaErro(datefield,"A faixa de valores válidas para o  mês vai de 1 a 12!");
    }
    if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8         || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
    {
        err = 6;
        return fnAvisaErro(datefield, "A faixa de valores válidas para o dia deste mês vai de 1 a 31!");
    }
    if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30         || intday < 1))
    {
        err = 7;
        return fnAvisaErro(datefield, "A faixa de valores válidas para o dia deste mês vai de 1 a 30!");
    }
    if (intMonth == 2)
    {
        if (intday < 1)
        {
            err = 8;
            return false;
        }
        if (LeapYear(intYear) == true)
        {
            if (intday > 29)
            {
                err = 9;
                return fnAvisaErro(datefield,"Ano bissexto. Valores para o dia deste mês vão de 1 a 29!");
            }
        }
        else
        {
            if (intday > 28)
            {
                err = 10;
                return fnAvisaErro(datefield,"A faixa de valores para o dia deste mês vai de 1 a 28!");
            }
        }
    }
    return true;
}

function chkdateNova(objName)
{
    var strDatestyle = "EU";  //European date style
    var strDate;
    var strDateArray;
    var strDay;
    var strMonth;
    var strYear=null;
    var intday;
    var intMonth;
    var intYear;
    var booFound = false;
    var datefield = objName;
    var strSeparatorArray = new Array("-","/",".");//("-"," ","/",".");
    var intElementNr;
    var err = 0;

    strDate = datefield.value;
    if (strDate.length < 1)
    {
        return true;
    }
    for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
    {
        if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
        {
            strDateArray = strDate.split(strSeparatorArray[intElementNr]);
            if (strDateArray.length != 3)
            {
                err = 1;
                return fnAvisaErro(datefield,"Dia, mês ou ano incorreto!");//leila
            }
            else
            {
                strDay = strDateArray[0];
                strMonth = strDateArray[1];
                strYear = strDateArray[2];
            }
            booFound = true;
       }
    }
    if (booFound == false)
    {
        if (strDate.length>5)
        {
            strDay = strDate.substr(0, 2);
            strMonth = strDate.substr(2, 2);
            strYear = strDate.substr(4);
        }
                else
           {//i 06/11
                             err = 1;
                return fnAvisaErro(datefield,"Dia, mês ou ano incorreto!");//leila
           }
    }

        if(strYear != null)
        {
				 if (strYear.length != 4 ) //leila
				 {//se ano n?o tiver 4 digitos mostra erro
							err = 11;
							return fnAvisaErro(datefield,"O ano deve ter 4 digitos!");
                }
        }
    // US style
    if (strDatestyle == "US")
    {
        strTemp = strDay;
        strDay = strMonth;
        strMonth = strTemp;
    }
    intday = parseInt(strDay, 10);
    if (isNaN(intday))
    {
        err = 2;
        return fnAvisaErro(datefield,"O dia deve ser numérico!");
    }
    intMonth = parseInt(strMonth, 10);
    if (isNaN(intMonth))
    {
/*        for (i = 0;i<12;i++)
        {
            if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
            {
                intMonth = i+1;
                strMonth = strMonthArray[i];
                i = 12;
            }
        }
        if (isNaN(intMonth))
        {
        */
            err = 3;
				return fnAvisaErro(datefield,"O mês deve ser numérico!");
        //}
        }
    intYear = parseInt(strYear, 10);
    if (isNaN(intYear))
    {
        err = 4;
        return fnAvisaErro(datefield,"O ano deve ser numérico!");
    }
    if (intMonth>12 || intMonth<1)
    {
        err = 5;
        return fnAvisaErro(datefield,"A faixa de valores válidas para o  mês vai de 1 a 12!");
    }
    if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8         || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
    {
        err = 6;
        return fnAvisaErro(datefield,"A faixa de valores válidas para o dia deste mês vai de 1 a 31!");
    }
    if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30         || intday < 1))
    {
        err = 7;
        return fnAvisaErro(datefield,"A faixa de valores válidas para o dia deste mês vai de 1 a 30!");
    }
    if (intMonth == 2)
    {
        if (intday < 1)
        {
            err = 8;
            return false;
        }
        if (LeapYear(intYear) == true)
        {
            if (intday > 29)
            {
                err = 9;
                return fnAvisaErro(datefield,"Ano bissexto. Valores para o dia deste mês vão de 1 a 29!");
            }
        }
        else
        {
            if (intday > 28)
            {
                err = 10;
                return fnAvisaErro(datefield,"A faixa de valores para o dia deste mês vai de 1 a 28!");
            }
        }
    }
    return true;
}




function fnEhVazio(dados)
{
//alert(dados.name);
    //Shalmany04.08.04 como n?o est? achando a propriedade length
    //coloquei pra comparar se o value ? vazio
    if(Trim(dados.value)== "" )
    {
    //a var global msgCampoVazio ? definida dentro dos forms
        fnAvisaErro(dados,msgCampoVazio);
         return true;//Campo vazio
    }
    return false;
}

function fnValidaFormCadGravCanal(strComando,objForm,strScriptAction,msgSelListaExpInc,msgSelListaExpExc, msgSelOperadores, msgGrupos)
{

    //i11.06 -leila - completar a valida??o
    if(fnValidaNome(document.forms[0].f_nomegrav,25)==false)
    {
        return false;
    }
    if(document.forms[0].f_grupo[0].value == "-1"){
    	alert(msgGrupos);
    	return false;
    }
    var campoTextDtInicio=document.forms[0].f_textDtInicio;//11.06
    strData=document.forms[0].f_textDtInicio.value;
    if(fnEhVazio(campoTextDtInicio))
    {
        return false;
    }

    if(!fnValidaData(strData,document.forms[0].f_textDtInicio))
    {
            return false;
    }
    textDtHora=document.forms[0].f_textHoraInicio;
    if(fnEhVazio(textDtHora))//11.06
    {
        return false;
    }
    strHora=textDtHora.value;
    if(strHora != null && strHora != "")
    {
        if (fnValidaHoraFormatoHHmmSS(strHora,textDtHora)  == false)
        {
               return false;
        }
    }
    //data hora t?rmino

    strDataTermino=document.forms[0].f_textDtTermino.value;
    if(fnEhVazio(document.forms[0].f_textDtTermino))//11.06
    {
        return false;
    }
    if(!fnValidaData(strDataTermino,document.forms[0].f_textDtTermino))
    {
            return false;
    }
    textDtHoraTer=document.forms[0].f_textHoraTermino;
    strHoraTer=textDtHoraTer.value;
    if(fnEhVazio(textDtHoraTer))//11.06
    {
        return false;
    }
    if(strHoraTer != null && strHoraTer != "")
    {
        if (fnValidaHoraFormatoHHmmSS(strHoraTer,textDtHoraTer)  == false)
        {
               return false;
        }
    }

    /* iRog?rio 22/07/2005 N?o ? mais obrigat?rio selecionar tipo chamada
    //ileila-12.06 pelo menos um dos tipos de chamadas devem estar selecionados
    //isto n?o pegava o array correto arrayCheckFiltrosTipoCham = document.forms[0]("f_tpfiltro");

    //iDani 30.03.04 arrayCheckFiltrosTipoCham = objForm("f_tpfiltro");
	arrayCheckFiltrosTipoCham = document.forms[0].f_tpfiltro;
	//fDani

    var bSel=false;
    //leila - coloquei isto, pois quando tem um s? item , n?o fica um array
    if(arrayCheckFiltrosTipoCham.checked == true)
    {
         bSel = true;
    }
    for (var i = 0; i < arrayCheckFiltrosTipoCham.length; i++)
    {
      if(arrayCheckFiltrosTipoCham[i].checked == true)
      {
            bSel = true;
      }
    }
    if(bSel == false)
    {
        alert("Pelo menos um tipo de chamada deve estar selecionado!");
        return false;
    }
    f Rog?rio 22/07/2005
    */
    //fleila-12.06
    //i Ricky - 25.06
    if(fnEhData1MenorData2(document.forms[0].f_textDtInicio,document.forms[0].f_textHoraInicio,document.forms[0].f_textDtTermino,document.forms[0].f_textHoraTermino,"de início","de término") == false)
    {
    	return false;
    }
    //f Ricky - 25.06

    //i Shalmany 04.01.05

    var bexclui = document.forms[0].checkExcluiLista.checked ;
    if(document.forms[0].checkExcluiLista.checked ){
        if(document.forms[0].selExcluiLista.selectedIndex == 0)
        {
           //alert("? preciso selecionar uma lista") ;
           alert(msgSelListaExpExc);
           return false;
        }
    }

    var bincluir = document.forms[0].checkIncluiLista.checked ;

    if(bincluir)
    {
    	//ileila 19.04.05 - bug 1240 do bugzilla
        //leila 19.04.05if(document.forms[0].selIncluiLista.value == 0)
       //alert('document.forms[0].selIncluiLista.value:'+document.forms[0].selIncluiLista.value);
        if(document.forms[0].selIncluiLista.selectedIndex == 0)
        {
           //alert("? preciso selecionar uma lista para ") ;
           alert(msgSelListaExpInc);

           return false;
        }
        //fleila 19.04.05 - bug 1240 do bugzilla
    }
	if(document.getElementById("ckProgOutrosUsuarios")==null){
		var bOperador = false;
	} else {
    	var bOperador = document.getElementById("ckProgOutrosUsuarios").checked ;
    }
	if(bOperador)
    {
    	if(document.getElementById("operadores").selectedIndex == 0)
        {
           //alert("? preciso selecionar uma lista para ") ;
           alert(msgSelOperadores);

           return false;
        }
    }

    if(bexclui && bincluir){

      if(document.forms[0].selExcluiLista.value == document.forms[0].selIncluiLista.value ){
           alert("As listas não podem ser iguais para inclusão e exclusão");
           return false;
      }
    }
    return fnAcessaServlet(strComando,strScriptAction);
}
//ileila 21.03.03

//iAlan 2009.11.11 - Correção do bug 10410 - ECRecord: ao realizar cópia de programação sem preencher o campo "Copiar Programação para o usuário" gera exception
function fnValidaCopiaCampanha(strComando, strScriptAction, msgOperSelecionado){
	/* iRogério 2010-02-12 
	 * Bug 11372 -  ECRecord: Não é permitido alterar o nome da programação no momento de realizar uma cópia.
	 *	Melhoria para permitir alterar nome na cópia de programação 
	 */
    if(fnValidaNome(document.forms[0].f_nomegrav,25)==false) {
        return false;
    }
    //fRogério
	
	//valida operador
	var operador = document.forms[0].operadores.value;
	if(operador == -1){
		fnAvisaErro(document.forms[0].operadores, msgOperSelecionado);
		return false;
	}
	//data hora inicial
	var campoTextDtInicio=document.forms[0].f_textDtInicio;//11.06
    strData=document.forms[0].f_textDtInicio.value;
    if(fnEhVazio(campoTextDtInicio))
    {
        return false;
    }

    if(!fnValidaData(strData,document.forms[0].f_textDtInicio))
    {
            return false;
    }
    textDtHora=document.forms[0].f_textHoraInicio;
    if(fnEhVazio(textDtHora))//11.06
    {
        return false;
    }
    strHora=textDtHora.value;
    if(strHora != null && strHora != "")
    {
        if (fnValidaHoraFormatoHHmmSS(strHora,textDtHora)  == false)
        {
               return false;
        }
    }
    //data hora termino
    strDataTermino=document.forms[0].f_textDtTermino.value;
    if(fnEhVazio(document.forms[0].f_textDtTermino))//11.06
    {
        return false;
    }
    if(!fnValidaData(strDataTermino,document.forms[0].f_textDtTermino))
    {
            return false;
    }
    textDtHoraTer=document.forms[0].f_textHoraTermino;
    strHoraTer=textDtHoraTer.value;
    if(fnEhVazio(textDtHoraTer))//11.06
    {
        return false;
    }
    if(strHoraTer != null && strHoraTer != "")
    {
        if (fnValidaHoraFormatoHHmmSS(strHoraTer,textDtHoraTer)  == false)
        {
               return false;
        }
    }
    
    if(fnEhData1MenorData2(document.forms[0].f_textDtInicio,document.forms[0].f_textHoraInicio,document.forms[0].f_textDtTermino,document.forms[0].f_textHoraTermino,"de início","de término") == false)
    {
    	return false;
    }
	return fnAcessaServlet(strComando,strScriptAction);
}
//fAlan 2009.11.11 - Correção do bug 10410 - ECRecord: ao realizar cópia de programação sem preencher o campo "Copiar Programação para o usuário" gera exception

//Valid??o para os filtros do form reprodu??o
function fnValidaFormReproducao(strComando,strScriptAction)
{
	//iJoãoVitor 03-03-2009 Correção Bug 7425
	if(fnEhVazio(document.forms[0].formDataInicial))
    {
        return false;
    }
    //fJoãoVitor 03-03-2009

    if(document.forms[0].formDataInicial.value != "")
    {
        if(!fnValidaData(document.forms[0].formDataInicial.value,document.forms[0].formDataInicial))
        {
                return false;
        }
    }
    /*else
    {//i25.08 - leila -
        alert("A data de in?cio deve estar preenchida!");
        return false;
    }//f25.08 - leila
    */
    if(document.forms[0].formHoraInicial.value != "")
    {
        if(!fnValidaHoraFormatoHHmmSS(document.forms[0].formHoraInicial.value,document.forms[0].formHoraInicial))
        {
                return false;
        }
    }
    if(document.forms[0].formDataFinal.value != "")
    {
        if(!fnValidaData(document.forms[0].formDataFinal.value,document.forms[0].formDataFinal))
        {
                return false;
        }
    }
    if(document.forms[0].formHoraFinal.value != "")
    {
        if(!fnValidaHoraFormatoHHmmSS(document.forms[0].formHoraFinal.value,document.forms[0].formHoraFinal))
        {
                return false;
        }
    }

    if(document.forms[0].formInterlocutor.value != ""){

	    if(!fnEhNumeroComCuringa(document.forms[0].formInterlocutor))
	    {
	            return false;
	    }
    }
    //ileila xx.12.04 - novo filtro duracao
    if(document.forms[0].formDuracaoMinima.value != "")
    {
        if(!fnValidaCampoFormatoHHmmSS(document.forms[0].formDuracaoMinima.value,document.forms[0].formDuracaoMinima,'A duração'))
        {
                return false;
        }
    }

    if(document.forms[0].formDuracaoMaxima.value != "")
    {
        if(!fnValidaCampoFormatoHHmmSS(document.forms[0].formDuracaoMaxima.value,document.forms[0].formDuracaoMaxima,'A duração'))
        {
                return false;
        }
    }//fleila xx.12.04 - novo filtro duracao

    if(document.forms[0].formConta.value != ""){
        if(!fnEhNumero(document.forms[0].formConta))
	    {
	            return false;
	    }
    }

    //iAlan 11.11.08 - inclusao do campo servico
    if(document.forms[0].formServico.value != ""){
    	if(document.forms[0].outros.checked){
	        if(!fnEhNumero(document.forms[0].formServico))
		    {
		            return false;
		    }
		}
    }
    //fAlan 11.11.08

    return fnAcessaServlet(strComando,strScriptAction);
}

function fnValidaFormPesquisaAlarmes(strComando,strScriptAction)
{
	if(fnEhVazio(document.forms[0].formDataInicial))
    {
        return false;
    }

    if(document.forms[0].formDataInicial.value != "")
    {
        if(!fnValidaData(document.forms[0].formDataInicial.value,document.forms[0].formDataInicial))
        {
                return false;
        }
    }
    if(document.forms[0].formHoraInicial.value != "")
    {
        if(!fnValidaHoraFormatoHHmmSS(document.forms[0].formHoraInicial.value,document.forms[0].formHoraInicial))
        {
                return false;
        }
    }
    if(document.forms[0].formDataFinal.value != "")
    {
        if(!fnValidaData(document.forms[0].formDataFinal.value,document.forms[0].formDataFinal))
        {
                return false;
        }
    }
    if(document.forms[0].formHoraFinal.value != "")
    {
        if(!fnValidaHoraFormatoHHmmSS(document.forms[0].formHoraFinal.value,document.forms[0].formHoraFinal))
        {
                return false;
        }
    }

    return fnAcessaServlet(strComando,strScriptAction);
}

//iDani
function fnAcessaServlet(strComando,strScriptAction)
{
    document.forms[0].cmd.value=strComando;
    document.forms[0].action = strScriptAction;
    document.forms[0].submit();
    return true;
}

//ileila 19.05.03
function fnValidaNomeAssocOperador(textNome)
{//04.09 - o param nTamMax foi retirado
    if(textNome != 0)
    {
        nTamMax=30;
        if(fnValidaNomeComArroba(textNome,nTamMax)==false)
        {
            return false;
        }
    }
    return true;
}

//leila 06.06.03
function fnValidaIdOperador(textIdOperador)
{
    if(fnEhVazio(textIdOperador))
    {
        return false;
    }
    //i11.06 - completa a validacao
    // Ian 2007-07-04 Id do operador pode ter 20 caracteres.
    if(fnValidaNomeComArroba(textIdOperador,20)==false)
    {
        return false;
    }
    //f11.06
    return true;
}
//leila-11.06
function fnValidaNome(campoTextNome,nTamMaxCaracteres)
{
    if (fnEhVazio(campoTextNome))
    	return false;

    if ((nTamMaxCaracteres != -1)  &&  ( fnVerifSeTemTamX(campoTextNome,nTamMaxCaracteres)==false))//quando coloca -1 n?o quer ver tam max
    {
       alert("Ultrapassou limite de caracteres do campo: "+nTamMaxCaracteres);
       return false;
   	}
   	//iJoão Vitor - Correção BUG 7680, 7681
   	valor = campoTextNome.value;
   	var RegExp = /^[0-9\w\*\_\ \-]+$/;

   	if (RegExp.test(valor) == true) {
       return true;
   	} else {
       return fnAvisaErro(campoTextNome,"Os Valores válidos são: caracteres alfanuméricos sem acento, e os caracteres '*' ' ' '-' '_'");
	}
   	//fJoãoVitor
   	return true;

    /*campoTextNome.value.toUpperCase();//transforma para maiuscula
    var padraoNaoPodeNoNome = /[\/\[\]\"\'\&\^\%\$\#\@\!\~`=+{}|\?:;\.,<>\(\)]/;
    result=campoTextNome.value.search(padraoNaoPodeNoNome);
    if(result != -1)
    {
         //se  encontrou os valores inv?lidos mostra mensagem de erro
         return fnAvisaErro(campoTextNome,"Os Valores válidos são: caracteres alfanuméricos sem acento, e os caracteres '*' ' ' '-' '_'");
    }*/
}

function fnValidaNomeComArroba(campoTextNome,nTamMaxCaracteres)
{
    if (fnEhVazio(campoTextNome)) return false;

    if ((nTamMaxCaracteres != -1)  &&  ( fnVerifSeTemTamX(campoTextNome,nTamMaxCaracteres)==false))//quando coloca -1 n?o quer ver tam max
    {
       alert("Ultrapassou limite de caracteres do campo: "+nTamMaxCaracteres);
       return false;
   	}
	//iJoão Vitor - Correção BUG 7680, 7681
   	valor = campoTextNome.value;
   	var RegExp = /^[0-9\w\*\@\_\ \-]+$/;

   	if (RegExp.test(valor) == true) {
       return true;
   	} else {
       return fnAvisaErro(campoTextNome,"Os Valores válidos são: caracteres alfanuméricos sem acento, e os caracteres '*' ' ' '@' '-' '_'");
	}
	//fJoãoVitor
   	return true;

  	//j? que no IE 5.0 d? problema ao fazer um match ,
	//faremos um search com valores inv?lidos para senha
    /*campoTextNome.value.toUpperCase();//transforma para maiuscula
    var padraoNaoPodeNoNome = /[\/\[\]\\\"\'\&\^\%\$\#\!\~`=+{}|\?:;\.,<>\(\)]/;
    result=campoTextNome.value.search(padraoNaoPodeNoNome);
    if(result != -1)
    {
         //se  encontrou os valores inv?lidos mostra mensagem de erro
         return fnAvisaErro(campoTextNome,"Os Valores válidos são: caracteres alfanuméricos sem acento, e os caracteres '*' ' ' '-' '_'");
    }
    return true;*/
}

function fnValidaFormCadastroGravador(strComando,strScriptAction)
{
  if ( (fnValidaNome(document.forms[0].form_nomegravador, 30)==true)
//          && (fnEhNumericoENaoVazio(document.forms[0].tam_hd)==false)
           && (fnEhNumericoENaoVazio(document.forms[0].form_qtcanais)==true)
           && (fnEhNumericoENaoVazio(document.forms[0].form_qtmixers)==true)
           && (fnEhNumericoENaoVazio(document.forms[0].form_tMaxDiario)==true)
     )

  {
    if(document.forms[0].tipoGrav.value == "ucg")
    {
      if(fnValidaNome(document.forms[0].form_nomesite, 30)==false)
      	return false;
    }
    if (Trim(document.forms[0].form_ip.value)== "" )
    {
    	fnAvisaErro(document.forms[0].form_ip, 'Este campo deve ser preenchido.');
	    return false;
    }
    else
    if (fnValidaEnderecoIP(document.forms[0].form_ip.value)==false)
    { alert('Verifique o formato do IP.')
      return false;
    }
    if (document.forms[0].form_qtcanais.text > 120)
    { alert("A quantidade máxima de canais é 120.");
      return false;
    }
    if (document.forms[0].form_qtmixers.text > 120)
    { alert("A quantidade máxima de mixers é 120.");
      return false;
    }
    if (document.forms[0].form_tMaxDiario.text > 1000)
    { alert("O tempo máximo de gravação diário é 1000 horas.");
      return false;
    }

    return fnAcessaServlet(strComando,strScriptAction);
  }else
  {
       return false;
  }

}

function fnValidaFormAltOperador(strComando,strScriptAction)
{
    if(fnValidaNomeAssocOperador(document.forms[0].form_nomeoperador) ==false)
    {
        return false;
    }
    return fnAcessaServlet(strComando,strScriptAction);
}
//fleila 19.05.03
function fnValidaFormCadastroOperador(strComando,strScriptAction)
{
    if(fnValidaIdOperador(document.forms[0].form_idoperador)==false)
    {//06.06.03
        return false;
    }
    //ileila 19.05.03
   if(fnValidaNomeAssocOperador(document.forms[0].form_nomeoperador) ==false)
    {
        return false;
    }
    //fleila 19.05.03
    //ileila 17.06.03 - estava faltando
    if(fnValidaCampoSenha(document.forms[0].form_senhaoperador)==false)
    {
        return false;
    }//fleila 17.06.03
    return fnAcessaServlet(strComando,strScriptAction);
}

function fnValidaStringCaracteresAlfabeticos(dados)
{
    var strCaracteresInvalidos = /[\-\/\[\]\\\"\'0123456789\*\&\^\%\$\#\@\!\~`_=+{}|;:\?.,<>\(\)]/;
    //dados = document.forms[0].form_idoperador;
    result=dados.value.search(strCaracteresInvalidos);
    if(result != -1)
    {
        //se  encontrou os valores inv?lidos mostra mensagem de erro
        return fnAvisaErro(dados,"Este campo deve ser composto por caracteres alfabéticos");
     }

    return true;
}


function fnValidaFormAssociaOperadorGrupo(strComando,strScriptAction ,strSelOperador,strSelGrupo)
{
    //ileila
    /*leila - n?o est? funcionando,
    if ( (document.forms[0].form_operadores.selectedIndex <= 0) ||
         (document.forms[0].form_opcoes_grupos.selectedIndex <= 0))
    {
        alert("Selecione um operador!")
        return false;
    }
    */
    if (document.forms[0].form_operadores.selectedIndex <=0)
    {// <=0 porque esta lista tem o ?ndice 0 como um item "" (vazio)
        alert(strSelOperador);
        return false;
    }//fleila
    //iDani 29.03.04 listaOrigem = formAssociaOperadorGrupo("form_opcoes_grupos");
	listaOrigem = document.forms[0].form_opcoes_grupos;
	//fDani
    var nCont = 0;//leila - n?o est? dando uma msg que um grupo deve ser selec.
    for (var i = 0; i < listaOrigem.length; i++)
    {
        //leila - isto zera toda vez nCont = 0;
        if(listaOrigem.options[i].selected == true)
        {
            nCont++;
        }
    }
    if(nCont <= 0)//leila faltava o '='
    {
       alert(strSelGrupo);
       return false;
    }
    //iDani 29.03.04 lista = formAssociaOperadorGrupo("form_grupos_associados");
	lista = document.forms[0].form_grupos_associados;
	//fDani
//    validaDuasSelectLists(listaopcoes, listaDestino);
    var indice=lista.length;
    var gruposOK = "";
    var sep = "";
    for (var i = 0; i < listaOrigem.length; i++)
    {
		var bJahExiste=false;
       if(listaOrigem.options[i].selected == true)
       {    //alert(lista.options[i].text);
            strCampoAinc = listaOrigem.options[i].text;
            //procura na lista de itens incluidos
            //se item a incluir ja existe
            for (var j = 0; j < lista.length; j++)
            {   //alert(lista.options[j].text);
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               //alert("Este campo n?o pode ser repetido!");
               //return false;
               continue;
            }
            else
            {
            	var podeAssociar = true;
               gruposOK = gruposOK + sep + listaOrigem.options[i].value;
               sep = "|";
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
	document.forms[0].associar.value = gruposOK;
    return (podeAssociar==true)? fnAcessaServlet(strComando,strScriptAction) : false;
}
function fnFormAssociaDispArm(strSelFs){
	listaOrigem = document.forms[0].form_disp;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelFs);
       return false;
    }
	lista = document.forms[0].form_armazenamento;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormAssociaDispRes(strSelFs){
	listaOrigem = document.forms[0].form_disp;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelFs);
       return false;
    }
	lista = document.forms[0].form_restore;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormAssociaStorage(strSelStor){
	listaOrigem = document.forms[0].form_disp;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
	lista = document.forms[0].form_utili;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormDesassociaStorage(strSelStor){
	listaOrigem = document.forms[0].form_utili;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
	lista = document.forms[0].form_disp;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}

//FHC [2009-06-04]
function disableOption(option){
	option.disabled = true;
	option.style['color'] = 'silver';
	option.selected = false;
}

function enableOption(option){
	option.disabled = false;
	option.style['color'] = '';
}

function fnFormAssociaDicionario(strSelStor){
	listaOrigem = document.forms[0].form_disp;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
	lista = document.forms[0].form_utili;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               //listaOrigem.remove(i);
               disableOption(listaOrigem.options[i]);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormDesassociaDicionario(strSelStor){
	listaOrigem = document.forms[0].form_utili;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
	lista = document.forms[0].form_disp;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
//FHC [2009-06-04]

function fnFormAssociaGravador(strSelStor, strSelGrav){
	listaOrigem = document.forms[0].grav_disp;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
    if(verificaUmg(listaOrigem)){
    	alert(strSelGrav);
    	return false;
    }
	lista = document.forms[0].grav_utili;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}

function verificaUmg(listaOrigem){
	var valor = listaOrigem.value;
	var isUmg = valor.split("|");
	if(isUmg[1] == 'false'){
		return true;
	}
	return false;
}

function fnFormDesassociaGravador(strSelStor, strUmg){
	listaOrigem = document.forms[0].grav_utili;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelStor);
       return false;
    }
    if(verificaUmg(listaOrigem)){
    	if(!confirm(strUmg)){
    		return false;
    	}
    }
	lista = document.forms[0].grav_disp;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormDesassociaDispArm(strSelFs){
	listaOrigem = document.forms[0].form_armazenamento;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelFs);
       return false;
    }
	lista = document.forms[0].form_disp;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}
function fnFormDesassociaDispRes(strSelFs){
	listaOrigem = document.forms[0].form_restore;
    var nCont = 0;
    for (var i = 0; i < listaOrigem.length; i++){
        if(listaOrigem.options[i].selected == true){
            nCont++;
        }
    }
    if(nCont <= 0){
       alert(strSelFs);
       return false;
    }
	lista = document.forms[0].form_disp;
    var indice = lista.length;
    for (var i = 0; i < listaOrigem.length; i++){
       if(listaOrigem.options[i].selected == true){
            strCampoAinc = listaOrigem.options[i].text;
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++){
               if(strCampoAinc == lista.options[j].text)
               {
                  bJahExiste=true;
               }
            }
            if(bJahExiste==true)
            {
               continue;
            }
            else
            {
               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               listaOrigem.remove(i);
               lista.options[indice]= option;
               indice++;
            }
    	}
    }
}

function fnValidaFormDesassociaOperadorGrupo(strComando,strScriptAction,strSelOperador)
{
    //iDani 29.03.04 listaopcoes = formAssociaOperadorGrupo("form_grupos_associados");
	listaopcoes = document.forms[0].form_grupos_associados;
	//fDani
	var texto = "";
	var separador = "";
    var nCont = 0;
    for (var i = 0; i < listaopcoes.length; i++)
    {
        if(listaopcoes.options[i].selected == true)
        {
            texto = texto + separador + listaopcoes.options[i].value;
        	separador = ",";
            nCont++;
        }
    }
   //se nao selecionaou nada, mostra mensagem
   if (nCont <= 0)
   { alert (strSelOperador);
     return false;
   }
   document.forms[0].desassociar.value = texto;
   return fnAcessaServlet(strComando,strScriptAction) //sempre true
}

function fnValidaFormReproducaoExcluir(strComando,strScriptAction)
{
   var contador = document.forms[0].contador.value;
	if(contador == 0){
       alert("Selecione uma gravação para ser excluída");
       return false;
    }
   	if(confirm('Confirma exclusão das ' + contador + ' gravações selecionadas?')== false){
   		return false;
   	}
   bSel = false;

    //26.05.03 leila  - cod.anterior
    //iDani 28/05/04 checkExcluir = formReproducao("formCheckboxLixeira");
	checkExcluir = document.forms[0].formCheckboxLixeira;
	//fdani

    //ileila - coloquei isto, pois quando tem um s? item , n?o fica um array
    if(checkExcluir.checked == true)
    {
    	bSel = true;
    }
    //fleila
    for (var i = 0; i < checkExcluir.length; i++)
    {
      if(checkExcluir[i].checked)
      {
            bSel = true;
      }
    }

    if(bSel == false)
    {
       alert("Selecione uma gravação para ser excluída");
       return false;
    }
    return fnAcessaServlet(strComando,strScriptAction);
}//fDani

function fnValidaFormReproducaoNovoKWS(strComando, strScriptAction, msg)
{
  var contador = document.forms[0].contador.value;

  if(contador == 0){
	alert(msg);
	return false;
  }

   return fnAcessaServlet(strComando,strScriptAction);
}

function fnSubmitForm(strScriptAction)
{
    document.forms[0].action = strScriptAction;
    document.forms[0].submit();
    return true;

}

//ileila 20.05.03
function fnAdicionaNaListaNovosRecursos(strNomeForm,strNomelistaDestino,listaOrigem,strMsg)
{
   var strNomeLista=strNomelistaDestino;
   lista = strNomelistaDestino;

    if (listaOrigem.selectedIndex == -1)
    {
         alert(strMsg);
         return;
    }

   validaDuasSelectLists(listaOrigem, lista);
    if(lista.options[0] != null)
    {
      if(lista.options[0].value == -1)
      { //remove o item em branco
        lista.options[0]=null;
      }//fecha do if(lista.options[0].value== "-1")
     }
}
/* verifica se o value do elemento a ser inserido
 * j? n?o est? na lista de inseridos
 * atrav?s do atributo VALUE*/
function validaDuasSelectLists(listaOrigem, lista)
{
    var indice=lista.length;
    for (var i = 0; i < listaOrigem.length; i++)
    {
       if(listaOrigem.options[i].selected == true)
       {
            strCampoAinc = listaOrigem.options[i].value;
            //procura na lista de itens incluidos
            //se item a incluir ja existe
            var bJahExiste=false;
            for (var j = 0; j < lista.length; j++)
            {
               //i Shalmany 10.01.05
               if(strCampoAinc == lista.options[j].value)
               {//f Shalmany 10.01.05
                  bJahExiste=true;
                  break;
               }
            }
            if(bJahExiste==true)
            {
               alert("Este campo não pode ser repetido!");
               return false;

            }
            else
            {

               option = new Option(listaOrigem.options[i].text, listaOrigem.options[i].value, false, false);
               lista.options[indice]= option;
               indice++;
            }
         }
        }

}

function fnExcluiDaListaNovosRecursos(strNomeForm,strNomeListaDestino)
{
       //idani 24/03/04 listadestino=strNomeForm(strNomeListaDestino);
	   listadestino=strNomeListaDestino;
	   //f
       for (var i = 0; i < listadestino.length; i++)
       {
          if(listadestino.options[i].selected ==true)
          {
              if(listadestino.length == 1)
              {
                option = new Option("                      " , -1, false, false);
                listadestino.options[i]= option;
                //listadestino.options[i]= null; //deleta
              }
              else
                listadestino.options[i]= null; //deleta
              i=i-1;//pois este foi deletado
          }
       }
}
//fleila 20.05.03
//ileila 21.05.03
function fnValidaFormCadGrupoUsrOper(strComando,strScriptAction)
{
    if(fnEhVazio(document.forms[0].form_nomegrupo))
    {
        return false;
    }
     //i11.06 -leila - completar a valida?ao
    if(fnValidaNome(document.forms[0].form_nomegrupo,15)==false)
    {
        return false;
    }//f11.06 -leila - completar a valida?ao

    //lista=formCadGrupoUsrOper("f_entisNovoGrupo");
    lista=document.forms[0].f_entisNovoGrupo;

    if(lista.length <= 0)
    {
        alert("O grupo deve possuir no mínimo um recurso! 1")
        return false;
    }
    else
    {
        if(lista.length == 1)
        {
            if(lista.options[0].value == -1)
            {
                alert("O grupo deve possuir no mínimo um recurso! 2");
                return false;
            }
        }
    }
    //agora selecionar toda a lista para pegar na classe
    for (var i = 0; i < lista.length; i++)
    {
        //i14.07 - leila  -n?o est? dando com a linha vazia que tem o value -1
        if(lista.options[0].value != -1)
        {//f14.07 - leila
            lista.options[i].selected =true;
        }
    }
    return fnAcessaServlet(strComando,strScriptAction);
}
//i22.05.03
//22.05.03- mudei o nome por causa do nome do form function fnValidaFormConfiguraGrupo(strComando,strScriptAction,strMsg)
function fnValidaformCadGrupoUsrAdmin(objForm,strComando,strScriptAction,strMsg,strMsgMaxGrav)
{

    //22.05if(fnEhVazio(document.forms[0].form_nomegrupo) || !fnValidaStringCaracteresAlfabeticos(document.forms[0].form_nomegrupo))
    if(fnEhVazio(document.forms[0].form_nomegrupo))//22.05
    {
        return false;
    }
    //i11.06 -leila - completar a valida??o
    if(fnValidaNome(document.forms[0].form_nomegrupo,15)==false)
    {
        return false;
    }//f11.06 -leila - completar a valida??ao
    //22.05lista=formConfiguraGrupo("f_lista[]");
    //i24.03.04 lista=objForm("f_entisNovoGrupo"); //22.05
	lista=document.forms[0].f_entisNovoGrupo;
	//iGeorge 28.06.2007
	form = document.forms[0].form_maxGravSimultaneas;
	if (form!=null){
		numMax = document.forms[0].form_maxGravSimultaneas.value;
		if (numMax!=""){
		    if (isNaN(numMax)){
		    	alert(strMsgMaxGrav);
		        return false;
		    }
		    if (numMax<=0){
		    	alert(strMsgMaxGrav);
		        return false;
		    }
		}
	}

    //fGeorge 28.06.2007
	//f24.03.04
    if(lista.length <= 0)
    {
        alert(strMsg)
        return false;
    }
    else
    {
        if(lista.length == 1)
        {
            if(lista.options[0].value == -1)
            {
                alert(strMsg);
                return false;
            }
        }
    }
    //agora selecionar toda a lista para pegar na classe
     for (var i = 0; i < lista.length; i++)
    {
        lista.options[i].selected =true;
    }
    return fnAcessaServlet(strComando,strScriptAction);

}

//iJoão Vitor 15-01-09: Substitui fnValidaformCadGrupoUsrOper e fnValidaformCadGrupoUsrAdmin
function fnValidaformCadGrupoUsr(objForm,strComando,strScriptAction,strMsg,strMsgMaxGrav,strMsgGrupo,idGrupoSel,idGrupo)
{
    if(fnEhVazio(document.forms[0].form_nomegrupo))//22.05
    {
        return false;
    }
    if(fnValidaNome(document.forms[0].form_nomegrupo,15)==false)
    {
        return false;
    }
	lista=document.forms[0].f_entisNovoGrupo;
	form = document.forms[0].form_maxGravSimultaneas;
	if (form!=null){
		numMax = document.forms[0].form_maxGravSimultaneas.value;
		if (numMax!=""){
		    if (isNaN(numMax)){
		    	alert(strMsgMaxGrav);
		        return false;
		    }
		    if (numMax<=0){
		    	alert(strMsgMaxGrav);
		        return false;
		    }
		}
	}

    if(lista.length <= 0)
    {
        alert(strMsg)
        return false;
    }
    else
    {
        if(lista.length == 1)
        {
            if(lista.options[0].value == -1)
            {
                alert(strMsg);
                return false;
            }
        }
    }
    //agora selecionar toda a lista para pegar na classe
     for (var i = 0; i < lista.length; i++)
    {
        lista.options[i].selected =true;
    }
    //Verifica se Grupo tem como grupo de origem ele mesmo.
	if(idGrupo == idGrupoSel){
    	alert(strMsgGrupo);
    	return false;
    }
    return fnAcessaServlet(strComando,strScriptAction);
}
//fJoão Vitor

//ikimie
function fnValidaTrocaDeSenha(strComando, strScriptAction)
{
     var strUsuario = document.forms[0].str_operador.value;
     //leila var strNovaSenha = document.formAlteraSenha.str_NovaSenha.value;
     var strNovaSenha = document.forms[0].str_NovaSenha.value;
     var strConfNovaSenha = document.forms[0].confirm_nova_senha_operador.value;
     var strSenhaAlterar = document.forms[0].senha_operador.value;

     if(fnValidaIdOperador(document.forms[0].str_operador)==false)
     {//06.06.03
        return false;
     }
     if(fnValidaCampoSenha(document.forms[0].str_NovaSenha)==false)
     {
        return false;
     }
     if(fnValidaCampoSenha(document.forms[0].confirm_nova_senha_operador)==false)
     {
        return false;
     }

     if(strNovaSenha != strConfNovaSenha)
     {  alert("Nova senha não confirmada");
        return false;
     }
     return fnAcessaServlet(strComando,strScriptAction);
}
//fkimie

//ileila  -11.06
function fnVerifSeTemTamMaxETamMin(campo,tammax,tammin)
{
     if(campo.value.length > tammax || campo.value.length < tammin)
     {
            strMsg="O tamanho mínimo deste campo é " + tammin +" e o máximo é "+tammax+"!";
            return fnAvisaErro(campo,strMsg);
     }
     return true;

}
function fnVerifSeTemTamX(campo,tammax)
{
     if(campo.value.length > tammax)
     {
            strMsg="O tamanho máximo deste campo é " + tammax;
            return fnAvisaErro(campo,strMsg);
     }
     return true;

}

function fnValidaCampoSenha(campoTextSenha)
{   //kimie: tam max da senha passou de 8 para 15, de acordo c Giovane
    if( fnVerifSeTemTamX(campoTextSenha,15)==false)
    {
       return false;
    }
    //Shalmany 04.08.04     if(fnEhVazio(campoTextSenha) == 1)
    //mudei porque a funcao fnEhVazio retorna um boolean
    if(fnEhVazio(campoTextSenha))
    {//se a senha ? vazia
        return false;
    }
    //j? que no IE 5.0 d? problema ao fazer um match ,
	 //faremos um search com valores inv?lidos para senha
    campoTextSenha.value.toUpperCase();//transforma para maiuscula
    //17.06 - nao est? validando var padraoNaoPodeNaSenha = /[\-\/\[\]\\\"\'\&\^\%\$\#\@\!\~`=+{}|\?,<>\(\)]/;
    var padraoNaoPodeNaSenha = /[\-\/\[\]\\\"\'\&\^\%\$\#\@\!\~`_=+{}|\?<>\(\)]/;
    result=campoTextSenha.value.search(padraoNaoPodeNaSenha);
    if(result != -1)
    {    //se  encontrou os valores inv?lidos mostra mensagem de erro
         return fnAvisaErro(campoTextSenha,"Os Valores válidos são:caracteres alfanuméricos sem acento,e os caracteres '*' '.' ',' ';' ' ' ':' '-' '_'");
    }
    return true;
}
//f11.06
//ileila - 13.06
function fnValidaInterlocutor(campoText)
{
    campoText.value.toUpperCase();//transforma para maiuscula
    var padraoNaoPodeInterlocutor = /[\-\/\[\]\\\"\'GHIJLMNOPQRSTUVXYWZghijlmnopqrstuvxywz\*\&\^\%\$\#\@\!\~`_=+{}|;:\?.,<>\(\)]/;
    //var padraoNaoPodeInterlocutor = /[\-\/\[\]\\\"\'ABCDEFGHIJLMNOPQRSTUVXYWZabcdefghijlmnopqrstuvxywz\*\&\^\%\$\#\@\!\~`_=+{}|;:\?.,<>\(\)]/;
    result=campoText.value.search(padraoNaoPodeInterlocutor);
    if(result != -1)
    {    //se  encontrou os valores inv?lidos mostra mensagem de erro
         return fnAvisaErro(campoText,"Valores válidos:0 - 9, A - F ");
    }
     return true;
}
//fleila - 13.06
//i Ricky - 25.06
// - Valida se data inicial ? maior que a final
function fnEhData1MenorData2(strDt1,strHora1,strDt2,strHora2,strMsgData1,strMsgData2)
{
 	//verificar se a data ? maior ou igual a atual
    arrayData1 = strDt1.value.split("/");
    nDiaDt1=parseInt(arrayData1[0],10);//dia - eval tranf. p/ inteiro
    nMesDt1=parseInt(arrayData1[1],10);//m?s
  	nAnoDt1=parseInt(arrayData1[2],10);//ano
    arrayHora1 =strHora1.value.split(":");
    nHoraDt1=parseInt(arrayHora1[0],10);//hora
    nMinDt1=parseInt( arrayHora1[1],10);//minuto
    date1=new Date(nAnoDt1,nMesDt1,nDiaDt1,nHoraDt1,nMinDt1, 0);//0 dos segundos
    strData1=date1.toGMTString();
    nSegDt1=Date.parse(strData1);

 	arrayData2 = strDt2.value.split("/");
    nDiaDt2=parseInt(arrayData2[0],10);//dia - eval tranf. p/ inteiro
    nMesDt2=parseInt(arrayData2[1],10);//m?s
 	nAnoDt2=parseInt(arrayData2[2],10);//ano
    arrayHora2 =strHora2.value.split(":");
    nHoraDt2=parseInt(arrayHora2[0],10);//hora
    nMinDt2=parseInt( arrayHora2[1],10);//minuto
    date2=new Date(nAnoDt2,nMesDt2,nDiaDt2,nHoraDt2,nMinDt2, 0);//0 dos segundos
    strData2=date2.toGMTString();
    nSegDt2=Date.parse(strData2);
    if (nSegDt1 >= nSegDt2)
    {//parse retorna o qtd de seg desde 1.1.1970
    	strMsg= "A data " +strMsgData1 +" deve ser menor que a data " + strMsgData2+"!";
    	alert(strMsg);
        return false;
    }
    return true;
}
//f Ricky - 25.06
function fnValidaFormAlarmes(objForm,strNomeArrayCheck,strComando,strScriptAction ,strMsgErro)
{
    //iDani 30.03.04 arrayCheckbox= objForm(strNomeArrayCheck);
	arrayCheckbox= document.forms[0].arrayCheckboxAlarmesSel;
	//fDani
    //var strMsgErro="Pelo menos um alarme deve ser selecionado para realizar esta opera??o!";

    //alert("arrayCheckbox:"+arrayCheckbox);
    if(fnValidaSeArrayCheckboxTemItemSel(arrayCheckbox,strMsgErro) ==false)
    {
        return false;
    }
    return fnAcessaServlet(strComando,strScriptAction);
}

function fnValidaSeArrayCheckboxTemItemSel(arrayCheckbox,strMsgErro)
{
    bSel = false;
    //ileila - coloquei isto, pois quando tem um s? item , n?o fica um array
    if(arrayCheckbox.checked == true)
    {
         bSel = true;
    }
    //fleila
    for (var i = 0; i < arrayCheckbox.length; i++)
    {
      if(arrayCheckbox[i].checked)
      {
            bSel = true;
      }
    }
    //alert("bSel:"+bSel);
    if(bSel == false)
    {
       alert(strMsgErro);
       return false;
    }

    return true;
}

//ikimie
function fnValidaSelectEAcessaServlet(strComando,strScriptAction,strSelGravacao,strConfirmaExclusao)
{
    //iDani 30.03.04 listaopcoes = formGeralGravs("f_gravacaocanal");
	listaopcoes = document.forms[0].f_gravacaocanal;
	//fDani
    var nCont = 0;//leila - n?o est? dando uma msg que um grupo deve ser selec.
    for (var i = 0; i < listaopcoes.length; i++)
    {
        //leila - isto zera toda vez nCont = 0;
        if(listaopcoes.options[i].selected == true)
        {
            nCont++;
            break;
        }
    }

   //se nao selecionaou nada, mostra mensagem
   if (nCont <= 0)
   { alert (strSelGravacao);
     return false;
   }
   if(strComando ==  "do-excluir_gravacao_canal")
   {   if(confirm(strConfirmaExclusao)== true)
       {  return fnAcessaServlet(strComando,strScriptAction) //sempre true
       }
   } else if (strComando == "alterar_gravacao_canal")
   {  return fnAcessaServlet(strComando,strScriptAction) //sempre true
   }
   return false;
}

function fnAbreArqHelpGravador(strHost, strNomeArq)
{
	var strCaminhoCompleto="http://"+strHost+"/help/gravador/"+strNomeArq;
	window.open(strCaminhoCompleto,'Ajuda');
}

/* Esta fun??o foi implementada pois estava dando erro qdo
 * o alert era colocado dentro dos jsps compilados - nao mostrava caracteres especiais
 * corretente */
function fnAlert(msg)
{
   alert(msg);
}

//mesmo motivo da funcao fnAlert
function fnConfirm(msg)
{
  return confirm(msg);
}

function fnValidaEnderecoIP(strEndereco)//23.05
{

        //26.05.04 leila - esta n?o funciona, ent?o voltaremos para a exp original var Expressao =/^(((2[0-5]{2})|([01]?\d{1,2}))\.){3}((2[0-5]{2})|([01]?\d{1,2}))$/;
       var Expressao = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
       var matchArray = strEndereco.match(Expressao);
       if (matchArray == null)
       {
          //alert("Valor inv?lido!");
          return false;
       }
       return true;
}

function fnValidaFormAlteraGravador(strComando,strScriptAction)
{
   if (fnValidaNome(document.forms[0].fnovo_nome, 30)==true)
   {
     if (fnValidaEnderecoIP(document.forms[0].fnovo_ip.value)==false)
     { alert('Verifique o formato do IP.')
       return false;
     }
       return fnAcessaServlet(strComando,strScriptAction);
   }else
       return false;
}
//retorna true tb para campo vazio
function fnEhNumerico(dados)
{ if (dados.value!="")
  {
	 var Expressao = /^[0-9]+$/; //<!--Caracteres v?lidos-->
	 var strEndereco = dados.value;
    var matchArray = strEndereco.match(Expressao);
	 if (matchArray==null)
	 {
		  //leila14.04.05 fnAvisaErro(dados,"Este campo deve ser um n?mero decimal positivo.");
		   fnAvisaErro(dados,"Este campo deve conter somente números.");
			return 2;//Caracter nao numerico
	 }
  }
	 return 0;//OK!
}

//retorna true tb para campo vazio
function fnEhNumericoComCuringa(dados)
{ if (dados.value!="")
  {
	 var Expressao = /^[0-9%]+$/; //<!--Caracteres v?lidos-->
	 var strEndereco = dados.value;
    var matchArray = strEndereco.match(Expressao);
	 if (matchArray==null)
	 {
		  //leila14.04.05 fnAvisaErro(dados,"Este campo deve ser um n?mero decimal positivo.");
		   fnAvisaErro(dados,"Este campo deve conter somente números.");
			return 2;//Caracter nao numerico
	 }
  }
	 return 0;//OK!
}

function fnValidaFormCadRecurso(strComando,strScriptAction)
{
	//ileila 10.06.04
	//alert("document.forms[0].f_radiotpativacao[0].checked:"+document.forms[0].f_radiotpativacao[0].checked);
    if(document.forms[0].f_radiotpativacao[4].checked && document.getElementById("f_comboganho") != null) //Com ecMonitor na posi??o 3, voz passa para a posi??o 4
	{//se for voz do tipo antigo
		//valida a histerese
		//alert("document.forms[0].f_texthisterese:"+document.forms[0].f_texthisterese);
		//ileila 22.06.04 - validacao que George pediu
		//alert("document.forms[0].f_combolimiaralto.value:"+document.forms[0].f_combolimiaralto.value);
		indSelLimiarBaixo=document.forms[0].f_combolimiarbaixo.selectedIndex;
		indSelLimiarAlto=document.forms[0].f_combolimiaralto.selectedIndex;
		if(parseInt(document.forms[0].f_combolimiaralto.options[indSelLimiarAlto].text) < parseInt(document.forms[0].f_combolimiarbaixo.options[indSelLimiarBaixo].text))
		{
			fnAlert("Valor do limiar alto deve ser maior que o do limiar baixo!");
			return false;
		}
		//fleila 22.06.04 - validacao que George pediu
	}

	//Valida valor histerese para novo vad
	/* iian 2006-03-28 N?o funciona sempre no cadastro de ramais! if(document.forms[0].f_radiotpativacao[5].checked ){ */
	//- s? valida se for incluir
	if (strComando =="incluir_recurso")
	{//fleila 10.06.04 - s? valida se for incluir
		var inicio = document.forms[0].form_inicio_enti;
		var fim = document.forms[0].form_fim_enti;
		// alert('fim length '+fim.length+'value '+fim.value);
		//alert('inicio length '+inicio.length+'value '+inicio.value);
		if ((fnEhNumericoENaoVazio(inicio)==true)
	       && (fnEhNumerico(fim)==0))
	  	{
	  		if (fim.value!="")
	    	{ //somente if(inicio.value > fim.value) nao funcionou
	      		var compara = fim.value - inicio.value ;
			  //alert('compara '+compara);
				if (compara < 0)
				{
					return fnAvisaErro(inicio, "Valor inicial da faixa é maior que o final!");
				}
				//ileila 11.06.04 - limitar a quantidade de recurso por vez em 100
				if (compara >= 100 )
				{
					return fnAvisaErro(inicio, "É permitido cadastrar até 100 recursos por vez!");
				}
				//fleila 11.06.04
	    	}
		}
		else
		{
	    	return false;
		}
	}//fecha do if (strComando =="incluir_recurso")
	//iJoãoVitor 20.03.2009 - Correção Bug 7532
	chkTipAtivacaoVoz=document.getElementById("f_radiotpativacao1");
	if(chkTipAtivacaoVoz && chkTipAtivacaoVoz.checked ){
		if(fnVerifSeValorDentroFaixa(document.forms[0].f_texthisterese,1,240)==false)
		{
			return false;
		}

		if(fnEhNumericoENaoVazio(document.forms[0].f_texthisterese)==false)
		{
			return false;
		}
	}
	chkTipAtivacaoVozNovo=document.getElementById("f_radiotpativacao5");
	if(chkTipAtivacaoVozNovo && chkTipAtivacaoVozNovo.checked ){
		if(fnVerifSeValorDentroFaixa(document.forms[0].f_texthistereseNovoVad,1,240)==false)
		{
			return false;
		}
		if(fnEhNumericoENaoVazio(document.forms[0].f_texthistereseNovoVad)==false)
		{
			return false;
		}
	}
	//fJoão Vitor 20.03.2009
  return fnAcessaServlet(strComando,strScriptAction);
}

function fnValidaFormPesquisaProgramacoes(strComando, strScriptAction)
{
	//alert(document.forms[0].form_entidade.value);
	var str = Trim(document.forms[0].form_entidade.value);
	document.forms[0].form_entidade.value = str;

	if(fnEhNumericoENaoVazio(document.forms[0].form_entidade))
	{
	    //Shalmany 10.08.04 seta variavel para pegar programa??es ativas
	    if(document.getElementById('checkAtivo').checked){
	       document.forms[0].checkAtivo.value = "ativo"    ;
	    }
		return fnAcessaServlet(strComando,strScriptAction);
	}
	return false;
}

//ileila 09.06.04
function fnHabilitaOuDesaCtrlsVox()
{
//	alert("document.forms[0].f_radiotpativacao[0].checked:"+document.forms[0].f_radiotpativacao[0].checked);

  	var voz = null;
	var vozVad = null;
	var habVoz = true;
	var habVozVad = true;
	if(document.getElementById("f_radiotpativacao1") != null){
		voz = document.getElementById("f_radiotpativacao1");
		if(voz.checked){
			habVoz = false; //? para habilitar
		}
		fnHabilitaDesabControle(document.forms[0].f_comboganho,habVoz);
		fnHabilitaDesabControle(document.forms[0].f_combolimiarbaixo,habVoz);
		fnHabilitaDesabControle(document.forms[0].f_combolimiaralto,habVoz);
		fnHabilitaDesabControle(document.forms[0].f_texthisterese,habVoz);
	}
	if(document.getElementById("f_radiotpativacao5") != null){
		vozVad = document.getElementById("f_radiotpativacao5");
		if(vozVad.checked){
			habVozVad = false; //? para habilitar
		}
		fnHabilitaDesabControle(document.forms[0].f_combovariancia,habVozVad);
		fnHabilitaDesabControle(document.forms[0].f_combopotencia,habVozVad);
		fnHabilitaDesabControle(document.forms[0].ck_spike,habVozVad);
		fnHabilitaDesabControle(document.forms[0].ck_considerafax,habVozVad);
		fnHabilitaDesabControle(document.forms[0].f_texthistereseNovoVad,habVozVad);
	}
/*

    // i Shalmany 05.01.05
    var indVoz = -1;
    for(i = 0 ; i < 6;i++ ){
       if(document.forms[0].f_radiotpativacao[i].value == 1){// eh voz
          indVoz = i;
          break;
       }
    }
    // f Shalmany 05.01.05
	if(document.forms[0].f_radiotpativacao[indVoz].checked)
	{//se for voz
		//alert("entrou em true");
		//bdisabled=true;
		bdisabled=false;//? para habilitar
	}
	else
	{
		//alert("entrou em false");
		bdisabled=true;//desabilitar
	}
//	fnHabilitaDesabControle(document.forms[0].f_comboganho,bdisabled);
	//alert("bdisabled:"+bdisabled);
	document.forms[0].f_comboganho.disabled=bdisabled;
	fnHabilitaDesabControle(document.forms[0].f_combolimiarbaixo,bdisabled);
	fnHabilitaDesabControle(document.forms[0].f_combolimiaralto,bdisabled);
	fnHabilitaDesabControle(document.forms[0].f_texthisterese,bdisabled);
*/


}
function fnVerifSeValorDentroFaixa(campo,valormin,valormax)
{
     //debug alert("parseInt(campo.value):" + parseInt(campo.value));
     if(parseInt(campo.value) > valormax || parseInt(campo.value) < valormin)
     {
            strMsg="O valor mínimo deste campo é " + valormin +" e o máximo é "+valormax+"!";
            return fnAvisaErro(campo,strMsg);
     }
     return true;

}
function fnHabOuDesabFimEntidade()
{
	if(document.forms[0].form_tiporecurso.value == "2")
	{//se for tronco
	  bdisabled=true;//desabilita
	}
	else
	{
	  bdisabled=false;//habilita
	}
	//fnHabilitaDesabControle(document.forms[0].form_fim_enti,bdisabled);
}
//fleila 09.06.04
//ileila 21.06.04 - faltava
function fnHabOuDesabTipoAtivacao()
{
    //i Shalmany 05.01.05  fiz essa alteracao para pegar pelo value - antes pega pela posicao
     var indVoz = -1;
     var indOcupacao = -1;
     var indMonitoracao = -1;
     var indAltaImp = -1;

	var altaImpedancia = document.getElementById("f_radiotpativacao4");
	var monitoracao = document.getElementById("f_radiotpativacao3");
	var ocupacao = document.getElementById("f_radiotpativacao2");
	var ecMonitor = document.getElementById("f_radiotpativacao6");
	var voz = null;
	var vozVad = null;
	if(document.getElementById("f_radiotpativacao1") != null){
		voz = document.getElementById("f_radiotpativacao1");
	}
	if(document.getElementById("f_radiotpativacao5") != null){
		vozVad = document.getElementById("f_radiotpativacao5");
	}
/*
      for(i =0;i < 6; i++){
           if(document.forms[0].f_radiotpativacao[i].value == 1){
               indVoz = i;
           }else if(document.forms[0].f_radiotpativacao[i].value == 2){
                indOcupacao = i;
           }
           else if(document.forms[0].f_radiotpativacao[i].value == 3){
                indMonitoracao = i;
           }
           else if(document.forms[0].f_radiotpativacao[i].value == 4){
                indAltaImp = i;
           }
      }
*/
     //f shalmany 05.01.05
	//alert("fnHabOuDesabTipoAtivacao");
	if(document.forms[0].form_tiporecurso.value == "0")
	{//se for ramal
	//alert("ocument.forms[0].form_tiporecurso.value:"+document.forms[0].form_tiporecurso.value)

		if(altaImpedancia.checked){
			monitoracao.checked = true;
		}

		fnHabilitaDesabControle(altaImpedancia,true);//desabilita o altaImpedancia
		fnHabilitaDesabControle(monitoracao,false);//habilita o monitora??o
		fnHabilitaDesabControle(ocupacao,false);//habilita o ocupa??o
		fnHabilitaDesabControle(ecMonitor,false);//habilita o ecMonitor
		if(voz != null){
			fnHabilitaDesabControle(voz,false);//habilita o voz antigo
		}
		if(vozVad != null){
			fnHabilitaDesabControle(vozVad,false);//habilita o VADNovo
		}

/*
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indMonitoracao],false);//habilita o monitora??o
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indVoz],false);//habilita o voz
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indOcupacao],false);//habilita o ocupacao
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indAltaImp],true);//desabilita  o alta impedancia
	  //fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[4],true);//desabilita o dupla ocupacao
*/
	}

	if(document.forms[0].form_tiporecurso.value == "1")
	{//se for pa
	//alert("ocument.forms[0].form_tiporecurso.value:"+document.forms[0].form_tiporecurso.value)
		monitoracao.checked = true;
		fnHabilitaDesabControle(altaImpedancia,true);//desabilita o altaImpedancia
		fnHabilitaDesabControle(monitoracao,false);//habilita o monitora??o
		fnHabilitaDesabControle(ocupacao,true);//desabilita o ocupa??o
		fnHabilitaDesabControle(ecMonitor,true);//desabilita o ecMonitor
		if(voz != null){
			fnHabilitaDesabControle(voz,true);//desabilita o voz antigo
		}
		if(vozVad != null){
			fnHabilitaDesabControle(vozVad,true);//desabilita o VADNovo
		}
/*
	 fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indVoz],true);//desabilita o voz
	 fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indOcupacao],true);//desabilita o ocupacao
     fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indMonitoracao],false);//habilita o monitora??o
	 fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indAltaImp],true);//desabilita o alta impedancia
*/
	}

	if(document.forms[0].form_tiporecurso.value == "2")
	{//se for tronco
	//alert("ocument.forms[0].form_tiporecurso.value:"+document.forms[0].form_tiporecurso.value)
		fnHabilitaDesabControle(altaImpedancia,false);//habilita o altaImpedancia
		fnHabilitaDesabControle(monitoracao,false);//habilita o monitora??o
		fnHabilitaDesabControle(ocupacao,false);//habilita o ocupa??o
		fnHabilitaDesabControle(ecMonitor,false);//habilita o ecMonitor
		if(voz != null){
			fnHabilitaDesabControle(voz,false);//habilita o voz antigo
		}
		if(vozVad != null){
			fnHabilitaDesabControle(vozVad,false);//habilita o VADNovo
		}

/*
  	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indMonitoracao],false);//habilita o monitora??o Rog?rio 15/07/2005 op 1082/2005
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indVoz],false);//habilita o voz
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indOcupacao],false);//habilita o ocupacao
	  fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[indAltaImp],false);//habilita o alta impedancia
	  //fnHabilitaDesabControle(document.forms[0].f_radiotpativacao[4],false);//habilita o dupla ocupacao

	// i Rogerio 18/07/2005 verifica??o n?o ? mais feita pois agora tamb?m pode ser monitora??o
	  //if(document.forms[0].f_radiotpativacao[indMonitoracao].checked == true)
	  //{//s? coloca p/ ocupacao se estiver como monitoracao
	//		  document.forms[0].f_radiotpativacao[indOcupacao].checked=true;//ocupacao
	  //}
	// f Rog?rio 18/07/2005
*/
	}

}
//ileila - corre??o bug 557
function fnAlert500Gravacoes()
{
	alert('A busca retornou mais de 500 gravações.\nFavor refinar os filtros de pesquisa!');
}
//fleila - corre??o bug 557

//ileila
function fnValidaCampoFormatoHHmmSS(strHora,campoText,strTextoDoCampo)
{
    var timePat = /^(\d{1,2}):(\d{2}):(\d{2})$/;//leila
    var matchArray = strHora.match(timePat);
    if (matchArray == null)
    {
        alert(strTextoDoCampo+ " deve estar no formato: \"HH:MM:SS\".");
        return false;
    }

    hour = matchArray[1];
    minute = matchArray[2];
    second = matchArray[3];

    if (second=="") { second = null; }

    if (hour < 0  || hour > 23)
    {
        return fnAvisaErro(campoText,"Hora deve estar entre 0 e 23.");
    }

    if (minute<0 || minute > 59)
    {
        return fnAvisaErro(campoText,"Minuto deve estar entre 0 e 59.");
    }
    if (second != null && (second < 0 || second > 59))
    {
        return fnAvisaErro(campoText,"Segundo deve estar entre 0 e 59.");
    }
    return true;
}
//fleila

function fnAlteraLista(strIdLista,strComando,strScriptAction)
{
// alert("strComando:"+strComando);
document.forms[0].idListaParaAlt.value=strIdLista;
 return fnAcessaServlet(strComando,strScriptAction);
}
function fnAlteraStorage(strIdStorage,strComando,strScriptAction)
{
document.forms[0].idStorageParaAlt.value=strIdStorage;
 return fnAcessaServlet(strComando,strScriptAction);
}

function fnAlteraBancoStorage(strIdBancoStorage,strComando,strScriptAction)
{
document.forms[0].idBancoStorageParaAlt.value=strIdBancoStorage;
 return fnAcessaServlet(strComando,strScriptAction);
}

function fnAlteraDicionario(strIdDicionario,strComando,strScriptAction)
{
 document.forms[0].idDicionarioParaAlt.value=strIdDicionario;
 return fnAcessaServlet(strComando,strScriptAction);
}

function fnHabilitaOuDesaCtrlsUtilizacao()
{

     var nindPublica = -1;
     var nindParticular = -1;
     for(i = 0 ; i < 2;i++){
       if(document.forms[0].tpAcesso[i].value == 0){
         nindParticular = i;
       }else if(document.forms[0].tpAcesso[i].value == 3){
         nindPublica = i;
       }

     }

     bdisabled=false;


	if(document.forms[0].tpAcesso[nindParticular].checked)
	{
		bdisabled=true; //para desabilitar

	}
	else
	{
		//alert("entrou em false");
		bdisabled=false;//habilitar
	}

	document.forms[0].tpAcesso1[0].disabled=bdisabled;
	document.forms[0].tpAcesso1[1].disabled=bdisabled;

//	fnHabilitaDesabControle(document.forms[0].tpAcesso1,bdisabled);

}

function fnAcessaRecurso(strComando,strScriptAction){
     document.forms[0].ativos.value =    document.forms[0].checkAtivos.checked;
     //alert(document.forms[0].ativos.value);
      return fnAcessaServlet(strComando,strScriptAction);
}

function inicializaFormularioCadRecurso(){
	fnHabOuDesabTipoAtivacao();
	fnHabilitaOuDesaCtrlsVox();
}

function fnValidaFormExclusaoCascata()
{
	tipoExclusao_canal = document.getElementById('tipoExclusao_1').checked;
	tipoExclusao_grupo = document.getElementById('tipoExclusao_2').checked;
	tipoExclusao_operador = document.getElementById('tipoExclusao_3').checked;
	tipoExclusao_recurso = document.getElementById('tipoExclusao_4').checked;

	if(!tipoExclusao_canal && !tipoExclusao_grupo && !tipoExclusao_operador && !tipoExclusao_recurso){
		fnAlert("Selecione uma modalidade de exclusão!");
	}
	else if(tipoExclusao_canal && document.getElementById('id_canal').options.length==0){
		fnAlert("Nenhuma Programação selecionada!");
	}
	else if(tipoExclusao_grupo && document.getElementById('id_grupo').options.length==0){
		fnAlert("Nenhum Grupo selecionado!");
	}
	else if(tipoExclusao_operador && document.getElementById('id_operador').options.length==0){
		fnAlert("Nenhum Operador selecionado!");
	}
	else if(tipoExclusao_recurso && document.getElementById('id_recurso').options.length==0){
		fnAlert("Nenhum Recurso selecionado!");
	}
	else {
		return true;
	}
	return false;
}