function HoraValida(theField) {
	if(theField.value==""){
		return true;
	}
	vDia = Number(theField.value);
	if (vDia >= 0 && vDia <= 23) {
		
		if (vDia >= 0 && vDia <= 9) {
			theField.value = "0" + vDia;
		}
		
		return true;
	}
	alert ("O Campo possui um valor de Horas inválido!");
	theField.value = "";
	theField.focus();
	return false;
}
 
function MinutoValido(campo) {
	if ((campo.value<0) || (campo.value>59) || (isNaN(campo.value))){
		alert("O campo possui um valor de Minutos inválido.");
		campo.value ="";
		campo.focus();
		return true;
	}else
		return false;
}

function namosw_exchange_src(name, rpath, nsdoc) 
{ 
  str = (navigator.appName == 'Netscape') ? nsdoc+'.'+name : 'document.all.'+name;
  img = eval(str);
  if (img) {
    if (img.altsrc == null) {
      img.altsrc = img.src;
      img.src    = rpath;
    } else {
      var temp   = img.src;
      img.src    = img.altsrc;
      img.altsrc = temp;
    }
  } 
}

function namosw_preload_img()
{ 
  var img_list = namosw_preload_img.arguments;
  if (document.preloadlist == null) 
    document.preloadlist = new Array();
  var top = document.preloadlist.length;
  for (var i=0; i < img_list.length; i++) {
    document.preloadlist[top+i]     = new Image;
    document.preloadlist[top+i].src = img_list[i];
  } 
}



function checkchars(textarea, nummax) { 
	var max=nummax; 
	if (textarea.value.length >= max) { 
	alert("O máximo de caracteres para uma nova idéia é de " + nummax + "."); 
	return false; 
	   } 
	else return true; 
} 


function VerificaNumero(jTheField)
{
	if (isNaN(jTheField.value))
	{
		alert("Por favor preencha com um Número Válido.");
       	jTheField.value="";
		jTheField.focus();
       	return (false);
    	}
	
  		return true;
}

function VerificaHora(theField)
 {
  	if (theField.value != "")
	{
	   vHora = Number(theField.value);
	   if (vHora >= 0 && vHora <= 23)
	   {
	      if (vHora >= 0 && vHora <= 9)
			{
	  			theField.value = "0" + vHora;
			}		
	      return true;
	   }
	   alert ("Hora Inválida!");
	   theField.value = "";
	   theField.focus();
	   return false;
	}	
 }
 
 function VerificaMinuto(theField)
 {
  if (theField.value != "")
	{
	   vMin = Number(theField.value);
	   if (vMin >= 0 && vMin <= 59)
	   {
	      if (vMin >= 0 && vMin <= 9)
		{
	  	theField.value = "0" + vMin;
		}
      return true;
   }
	   alert ("Minuto Inválido!");
	   theField.value = "";
	   theField.focus();
	   return false;
  	}
 }
 
 function VerificaCopiaHora(theField, Data)
 {
   vHora = Number(theField.value);
   if (vHora >= 0 && vHora <= 23)
   {
      if (vHora >= 0 && vHora <= 9)
		{
  			theField.value = "0" + vHora;
		}
		Data.value = theField.value
      	return true;
   }
   alert ("Hora Inválida!");
   theField.value = "";
   theField.focus();
   return false;
 }
 
 function VerificaCopiaMinuto(theField, Data)
 {
   vMin = Number(theField.value);
   if (vMin >= 0 && vMin <= 59)
   {
      if (vMin >= 0 && vMin <= 9)
		{
		  theField.value = "0" + vMin;
		}
		Data.value = theField.value
	    return true;
   }
   alert ("Minuto Inválido!");
   theField.value = "";
   theField.focus();
   return false;
 }

function VerificaDia(theField)
 {
   if (theField.value != "")
	{
	   vDia = Number(theField.value);
	   if (vDia >= 1 && vDia <= 31)
	   {
	      if (vDia >= 1 && vDia <= 9)
			{
	 		 theField.value = "0" + vDia;
			}
	      return true;
	   }
	   alert ("Dia inválido!");
	   theField.value = "";
	   theField.focus();
	   return false;
	 }
 }

 function VerificaMes(theField)
 {
  if (theField.value != "")
	{  vMes = Number(theField.value);
    if (vMes >= 1 && vMes <= 12)
    {
       if (vMes >= 1 && vMes <= 9)
 		{
 	   	theField.value = "0" + vMes;
 		}
       return true;
    }
    alert ("Mês inválido!");
    theField.value = "";
    theField.focus();
    return false;
  }
 }

 function VerificaAno(theField)
 {
   if (theField.value != "")
	{
		 vAno = Number(theField.value);
	     if (vAno >= 10 && vAno <= 99)
	     {
	        theField.value = 1900 + vAno;
	        return true;
	     }
	     else
	     {
	        if (vAno < 10)
	  		{
	     theField.value = "200" + vAno;
	  		}
	        return true;
	     }
	     alert ("Ano inválido!");
	     theField.value = "";
	     theField.focus();
	     return false;
	}
 }
 
  function VerificaCopiaDia(theField, Data)
    {
    	vDia = Number(theField.value);
     	if (vDia >= 1 && vDia <= 31)
     	{
        	if (vDia >= 1 && vDia <= 9)
			{
		  		theField.value = "0" + vDia;
			}
			Data.value = theField.value
        	return true;
     	}
     	alert ("Dia inválido!");
     	theField.value = "";
     	theField.focus();
     	return false;
   	}

   function VerificaCopiaMes(theField, Data)
   {
   		vMes = Number(theField.value);
     	if (vMes >= 1 && vMes <= 12)
      	{
        	if (vMes >= 1 && vMes <= 9)
		 	{
		    	theField.value = "0" + vMes;
		 	}
			Data.value = theField.value
         	return true;
      	}
      	alert ("Mês inválido!");
      	theField.value = "";
      	theField.focus();
      	return false;
   }

   function VerificaCopiaAno(theField, Data)
   {
       vAno = Number(theField.value);
       if (vAno >= 10 && vAno <= 99)
       {
          theField.value = 1900 + vAno;
          Data.value = theField.value
		  return true;
       }
       else
       {
          if (vAno < 10)
		  {
		     theField.value = "200" + vAno;
		  }
		  Data.value = theField.value
          return true;
       }
       alert ("Ano inválido!");
       theField.value = "";
       theField.focus();
       return false;
   }
 
 
//Funcao que retorna true caso exista o caracter <
function CaracterInvalido(campo, caracter, nome)
{
  if (campo.value.indexOf(caracter) >= 0)
	{
		alert("O campo "+ nome+ " possui o caractere inválido " + caracter + " .");
        campo.focus();
	    return true;
	}
}
//Fim da funcao



// Inicio da função TestaComboSelecionado
function TestaComboSelecionado(combo)
{
   indice = combo.selectedIndex; 
   selecionado = combo.options[indice].value; 
   return selecionado;
}
// Final da função TestaComboSelecionado
    
// Inicio da função TestaRadioSelecionado
function TestaRadioSelecionado(radio)
{
    selecionado = "";
    if (!(radio.length >= 1)) 
    {
        if (radio.checked) 
        {
            selecionado = radio.value;
        }
        else
        {
            selecionado = 0;
        }  
    }
    for (cont = 0; cont < radio.length; cont++)
    {
        if (radio[cont].checked) 
        {
            selecionado = radio[cont].value; 
            break;
        } 
        else
        {
            selecionado = 0;
        } 
    }
    return selecionado;
} 
// Final da função TestaRadioSelecionado


// Inicio da função ComparaDados
function ComparaDados(dado1, dado2)
{
    if (dado1 < dado2) 
    {   
        return 1;
    }
    if (dado1 > dado2) 
    {   
        return 2;
    }
    else
    {   
        return 0;
    }    
}
// Fim da função ComparaDados

// Inicio da função ChecaEmail
function ChecaEmail (emailStr, Mensagem) {
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
        alert(Mensagem + ' incorreto. Por favor, digite novamente.');
        return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    if (user.match(userPat)==null) {
        alert(Mensagem + ' incorreto. Por favor, digite novamente.')
        return false;
    }
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                alert(Mensagem + ' incorreto. Por favor, digite novamente.');
                return false;
            }
        }
        return true;
    }
    var domainArray=domain.match(domainPat);
    if (domainArray==null) {
        alert(Mensagem + ' incorreto. Por favor, digite novamente.');
        return false;
    }
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
       alert(Mensagem + ' incorreto. Por favor, digite novamente.');
       return false;
    }
    if (len<2) {
        var errStr=Mensagem + ' incorreto. Por favor, digite novamente.';
        alert(errStr);
        return false;
    }
    return true;
}
// Fim da função ChecaEmail



// Inicio da Função JavaTrim
function JavaTrim(String) {
    pos = 0; 
    str = String.substring(pos,pos+1); 
    cont = 0; 
    straux = String;

    while ((str==" ")&&(cont<=String.length)) {
        pos = pos + 1;
        straux = String.substring(pos, String.length); 
        str = String.substring(pos,pos+1); 
        cont = cont + 1;
    }

    String = straux;
    pos = String.length;
    str = String.substring(pos-1,pos);
    cont = 0;
    while ((str==" ")&&(cont<=String.length)) {
        pos = pos - 1;
        straux = String.substring(0, pos);
        str = String.substring(pos-1,pos);
        cont = cont + 1;
    }
    return straux;
}
// Final da Função JavaTrim



// Inicio da função TestaBranco
function TestaBranco(campo, nome)
{
   if (JavaTrim(campo.value)=="")
      {
       alert('Preencha corretamente o campo ' + nome + '.');
       campo.focus();
       return true;
       }
   return false;
}
// Final da função TestaBranco



// Inicio da Função ChecaCep
function ChecaCep(cep, tipo)
{
    if (tipo == 1)
    {
        if (cep.value.length != 8) 
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        if (isNaN(cep.value))
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;
        }
        return true;
    }
    else
    {
        if (cep.value.length != 9) 
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        cep1 = cep.value.substring(0,5);
        cep2 = cep.value.substring(6,9);
        traco = cep.value.substring(5,6);
        if (isNaN(cep1) || isNaN(cep2))
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        if (traco != '-')
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        return true;
    }
}


//Função responsável por testar tamanho máximo de caracteres digitados
// nas caixas TextArea.
function MaxText(texto, maximo) {
if (texto.value.length > maximo)
    //texto.value = texto.value.substring(0, maximo);
	return true;
}

// ###############Inicio da função Mensagem ##########################
// Função : Exibe Mensagem (alertBox) na tela
// Entrada : mensagem -> conteúdo da mensagem a ser exibida (string)
// Saída: Sem saída
// Ex de chamada: Mensagem('Login Inválido!');

function Mensagem(mensagem){
	alert(mensagem);
	history.back();
}
//################# fim da função Mensagem ###########################


// ###############Inicio da função MensagemComReload  ##########################
// Função : Exibe Mensagem (alertBox) na tela e dá um reload na página anterior
// Entrada : mensagem -> conteúdo da mensagem a ser exibida (string)
//		    pagina -> endereço da página que será aberta ou recarregada apos a mensagem
// Saída: Sem saída
// Ex de chamada: MensagemComReload('Dados Alterados com Sucesso!', 'pagina.asp');

function MensagemComReload(mensagem, pagina){
	alert(mensagem);
	window.location.replace(pagina);
}
//################# fim da função Mensagem ###########################


// ###############Inicio da função Confirma###########################
// Função:  Exibe mensagem pedindo confirmação de alguma operação 
// e retorna o resultado da confirmação
//
// Entrada: mensagem -> c conteúdo da mensagem a ser exibida (string)
// Saída: confirmacao -> true caso o usuário clique no botão OK
//						 false caso o usuário clique no botão Cancelar
// Ex de chamada: Confirma('Deseja realmente excluir este registo?')

function Confirma(mensagem){
	confirmacao = confirm(mensagem);
	return(confirmacao);
}
//################# fim da função Confirma ###########################



// ###############Inicio da função Excluir###########################
// Função:  Exibe mensagem pedindo confirmação de alguma operação e executa 
// abertura de página em caso de confirmação ou retorna para o formulario
// conservando os dados digitados em caso de cancelamento
//
// Entradas: mensagem -> conteúdo da mensagem a ser exibida (string)
//			 pagina -> 	 pagina a ser chamada em caso de confirmacao com ou sem parametros
//			 target ->   frame onde sera exibida a pagina chamada ( utilizar _self caso nao haja frames)
//			 
// Saída: Retorna sempre false pois esta funcao so podera ser utilizada dentro de submits de formularios
//        e, sendo assim, em caso de confirmacao "false" perimite que outra pagina seja aberta e em caso
//		  de cancelamento "false" perimte que o formulario nao seja atualizado, mantendo os dados digitados	

// Ex de chamada:  <input type="submit" name="fExcluir" value="Excluir" onclick="return Excluir('Deseja Realmente Excluir?','index.html?opcao=excluir','_self')"> 

function Excluir(mensagem, pagina, target)
    {
      if (Confirma(mensagem))
	  {
	  	window.open (pagina, target)
		return(false);
	  }
	return (false);  
    }
//################# fim da função Excluir ###########################

function ExcluirSemPaginacao(mensagem)
    {
      if (Confirma(mensagem))
	  {
		return(true);
	  }
	return (false);  
    }
//#################  função Excluir multiplas msgs ###########################
	
	
	function ExcluirMult(mensagem, pagina1,pagina2, target)
    {
      if (Confirma(mensagem))
	  {
	  	window.open (pagina1, target)
		return(false);
	  }
	window.open (pagina2, target) 
	return (false);  
    }
	
function Dica(TextoDica)
{
	window.open('dica.asp?TextoDica=' + TextoDica, 'ajuda');
}

function copyToList(from,to)
{
	fromList = eval('document.forms[0].' + from);
	toList = eval('document.forms[0].' + to);
	if (toList.options.length > 0 && toList.options[0].value == 'temp')
	{
		toList.options.length = 0;
	}
	var sel = false;
	for (i=0;i<fromList.options.length;i++)
	{
		var current = fromList.options[i];
		if (current.selected)
		{
		sel = true;
		if (current.value == 'temp')
		{
			alert ('Você não pode mover este item!');
			return;
		}
		txt = current.text;
		val = current.value;
		toList.options[toList.length] = new Option(txt,val);
		fromList.options[i] = null;
		i--;
		}
	}
	if (!sel) alert ('Selecione um item!');
}

function CheckAllControls(control_name, control_checked)
{
	try
	{
		for (i = 0; i < document.forms[0].elements.length; i++)
			if 	(document.forms[0].elements[i].id.indexOf(control_name) > -1)
			{
				document.getElementById(document.forms[0].elements[i].id).checked = control_checked;
			}
	} catch (ex) {}
	
	return !control_checked;
}
//##########################################Início Metodos Ajax###########################
//função que faz a requisição ajax
function getXmlReq()
{
	//variavel ajax
	var xmlhttp = false;
    //utilizado para requisições no browser Internet Explorer
    if (window.ActiveXObject) 
    {
        try
        {
            xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(e)
        {
            try
            {
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(e)
            {
                xmlhttp = false;
            }
        }
    }
    //utilizado como o padrão javascript para requisições AJAX.
    else if (!xmlhttp && typeof window.XMLHttpRequest!='undefined') 
    {                            
        try
        {
            xmlhttp = new XMLHttpRequest();
        }
        catch(e)
        {
            xmlhttp = false;
        }
    }
    else if (!xmlhttp && window.createRequest)
    {                            
        try
        {
            xmlhttp = window.createRequest();
        }
        catch(e)
        {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}
//gera um parametros dinamico para resolver problema de cache no ie
function urlDynamics(url)
{
    var date = new Date(); 
    var complx='complx' + encodeURI(Math.random().toString().replace('.','') + '=' + date.getTime());
    url += (url.match(/\?/) ? '&' : '?') + complx;
    return url;
}
//##########################################Fim Metodos Ajax###########################
