﻿// JScript File
//------------------------------------------------------------------------------------------
// Converte Texto - Maiuscula
//------------------------------------------------------------------------------------------

function ToUpper(parametro)
{
    parametro.toUpperCase();
}

//------------------------------------------------------------------------------------------
// Converte Texto - Minuscula
//------------------------------------------------------------------------------------------
function ToLower(parametro)
{
    parametro.toLowerCase();
}

// JScript File


//------------------------------------------------------------------------------------------
//Nome e Sobrenome
//	obs: utilizar com onKeyPress="return KeyNumber(event)"	
//------------------------------------------------------------------------------------------
function NomeCompleto(oSrc,args)
{
  var texto = args.Value;
  if (texto.length <= 0)
  {
    return args.IsValid = false;
  } 
  else 
  {
    var checa = false;
    var inicio, fim, cont = 0;
    var nome,sobrenome = "";
    for(x=0;x <= texto.length;x++)
    {
        if(texto.substrin(x,x) != "")
        {
            inicio = x;
        }
        else
        {
          cont ++;
        }
    }
  }
  return args.IsValid = true;
}


//------------------------------------------------------------------------------------------
//Aceita somente digitação de números
//	obs: utilizar com onKeyPress="return KeyNumber(event)"	
//------------------------------------------------------------------------------------------	
function NumberKey(oSrc,args)
{
  if (args.Value >= 0)
  {
    return args.IsValid = true;
  } 
  else 
  {
    return args.IsValid = false;
  }
}

// Validação de CPF e CNPJ
function valida_CPFCNPJ(oSrc,args)
{
  if (args.Value.length == 11)
  {
     valida_CPF(oSrc,args);
  } 
  else 
  if(args.Value.length == 11)
  {
    valida_CNPJ(oSrc, args);
  }
  else
  {
    return args.IsValid = false;
  }
}

//Validação de CPF
function valida_CPF(oSrc,args)
{
  s = args.Value;
  //args.isValid = (s >= 3);
  //document.write(oSrc.Value + ',' + args.Value);
  if (isNaN(s)) 
  {
    return args.IsValid = false;
  }
  var i;
  var c = s.substr(0,9);
  var dv = s.substr(9,2);
  var d1 = 0;
 
  for (i = 0; i < 9; i++) 
  {
     d1 += c.charAt(i)*(10-i);
  }

  if (d1 == 0)
  {
    return args.IsValid = false;
  } 

  d1 = 11 - (d1 % 11);

  if (d1 > 9) d1 = 0; 

  if (dv.charAt(0) != d1) 
  {
    return args.IsValid = false; 
  }

  d1 *= 2;

  for (i = 0; i < 9; i++) 
  {
    d1 += c.charAt(i)*(11-i);
  }

  d1 = 11 - (d1 % 11);

  if (d1 > 9) d1 = 0;

  if (dv.charAt(1) != d1) 
  {
    return args.IsValid = false;
  }

  return args.IsValid = true;

} 

//Validação de CNPJ

function valida_CNPJ(oSrc, args){

s = args.Value;

if (isNaN(s)) {

return args.IsValid = false;

}

var i;

var c = s.substr(0,12);

var dv = s.substr(12,2);

var d1 = 0;

for (i = 0; i <12; i++){

d1 += c.charAt(11-i)*(2+(i % 8));

}

if (d1 == 0) 

return args.IsValid = false;

d1 = 11 - (d1 % 11);

if (d1 > 9) d1 = 0;

if (dv.charAt(0) != d1){

return args.IsValid = false;

}

d1 *= 2;

for (i = 0; i < 12; i++){

d1 += c.charAt(11-i)*(2+((i+1) % 8));

}

d1 = 11 - (d1 % 11);

if (d1 > 9) 

d1 = 0;

if (dv.charAt(1) != d1){

return args.IsValid = false;

}

return args.IsValid = true;

} 


//----------------------------------------------------------------------------------------------------

//------------------------------------------------------------------------------------------
// Abre janela 
//------------------------------------------------------------------------------------------
	function janela(nome,url,titulo,bstatus,comprimento,altura)
	{
		var vnome;
		var vurl;
		var vtitulo;
		var vstatus;
		var vcomprimento;
		var valtura;
		vnome 		= nome;
		vurl 		= url;
		vtitulo		= titulo;
		vstatus 	= bstatus;
		vcomrimento	= comprimento;
		valtura		= altura;

		if (vcomprimento == "")
		{
			vcomprimento = 300;
			valtura		 = 62;
		}
		
		if (vstatus == "")
		{
			vstatus = "no";
		}

	    processando = window.open(vurl,vtitulo,"status=" + vstatus+ ",width=" + vcomprimento + ",height=" + valtura);
	}

//------------------------------------------------------------------------------------------
// Fecha janela de Mensagem de erro
//------------------------------------------------------------------------------------------

	function janelaclose()
	{
	  	 processando.close();
	}

//------------------------------------------------------------------------------------------
// Abre janela de Mensagem de erro
//------------------------------------------------------------------------------------------

	function janelaprocessando(url)
	{
		parent.msgstatus.location.href=url;
	}

//------------------------------------------------------------------------------------------
//Aceita somente digitação de números
//	obs: utilizar com onKeyPress="return KeyNumber(event)"	
//------------------------------------------------------------------------------------------	
	function KeyNumber(e)
	{
		if (document.all) // Internet Explorer
			var tecla = event.keyCode;
		else if(document.layers) // Nestcape
			var tecla = e.which;
			if (tecla > 47 && tecla < 58) // numeros de 0 a 9
				return true;
			else
				{
					if (tecla != 8) // backspace
						event.keyCode = 0;
						//return false;
					else
						return true;
				}
	}
	
//------------------------------------------------------------------------------------------
//Aceita somente digitação de texto com caracter especiais e acentos
//	obs: utilizar com onKeyPress="return KeyText(event)"	
//------------------------------------------------------------------------------------------
	function KeyText(e)
	{
		if (document.all) // Internet Explorer
			var tecla = event.keyCode;
		else if(document.layers) // Nestcape
			var tecla = e.which;
			if (tecla >= 58 && tecla <= 255 || tecla == 32) // Todos Caracter menos números
			{
				return true;
			}
			else
			{
				if (tecla != 8) // backspace
					event.keyCode = 0;
					//return false;
				else
					return true;
			}
	}				
		

//------------------------------------------------------------------------------------------
// Enibe Acentos
//------------------------------------------------------------------------------------------
function EnibeAcento(tc)
{
 	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;

  //----------------------------------------------------------------------	
  // ÿ
  if (tecla ==255) 
  {
	event.keyCode = 121;
  }  

  //----------------------------------------------------------------------	
  // ç
  if (tecla ==231) 
  {
	event.keyCode = 99;
  }  

  //----------------------------------------------------------------------	
  // Ç
  if (tecla ==199) 
  {
	event.keyCode = 67;
  }  

  //----------------------------------------------------------------------	
  // ñ
  if (tecla ==209) 
  {
	event.keyCode = 78;
  }  

  //----------------------------------------------------------------------	
  // ñ
  if (tecla==209) 
  {
	event.keyCode = 78;
  }  

  //----------------------------------------------------------------------	
  // Ñ
  if (tecla==241) 
  {
	event.keyCode = 110;
  }  

  //----------------------------------------------------------------------	
  // u
  if (tecla >=217 & tecla <=220) 
  {
	event.keyCode = 85;
  }  

  //----------------------------------------------------------------------	
  // u
  if (tecla >=249 & tecla <=252) 
  {
	event.keyCode = 117;
  }  

  //----------------------------------------------------------------------	
  // u
  if (tecla >=249 & tecla <=252) 
  {
	event.keyCode = 117;
  }  
	
  //----------------------------------------------------------------------	
  // o
  if (tecla >=242 & tecla <=246) 
  {
	event.keyCode = 111;
  }  

  //----------------------------------------------------------------------	
  // O
  if (tecla >=210 & tecla <=214) 
  {
	event.keyCode = 79;
  }  

  // a 		
  if (tecla >=224 & tecla <=228 || tecla == 226) 
  {
	event.keyCode = 97;
  }

  //----------------------------------------------------------------------	
  // A		
  if (tecla >=192 & tecla <=196) 
  {
	event.keyCode = 65;
  }  

  //----------------------------------------------------------------------	
  // e
  if (tecla >=232 & tecla <=235) 
  {
	event.keyCode = 101;
  }  

  //----------------------------------------------------------------------	
  // e
  if (tecla >=232 & tecla <=235) 
  {
	event.keyCode = 101;
  }  

  //----------------------------------------------------------------------	
  // E
  if (tecla >=200 & tecla <=203) 
  {
	event.keyCode = 69;
  }  

  //----------------------------------------------------------------------	
  // i
  if (tecla >=236 & tecla <=239) 
  {
	event.keyCode = 105;
  }  

  //----------------------------------------------------------------------	
  // I
  if (tecla >=204 & tecla <=207) 
  {
	event.keyCode = 73;
  }  

  
}
	
//------------------------------------------------------------------------------------------
// Enibe caracters
//------------------------------------------------------------------------------------------
function EnibeTecla(e)
{
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;
		// 33 (!) 34 (") 35 (#)  36 ($)  37 (%) 38 (&) 39 (') 40(()  41 ())  42 (*) 43 (+) 		
		// 44 (,) 45 (-) 46 (.)	 47 (/) 58 (:)  59 (;) 60 (<) 61(=)  62 (>)  63 (?) 64 (@)		
		// 91 ([) 93 (]) 94 (^)  96 (`) 
		// 123 ({) 125(}) 126 (~) 162 (¢) 168 (¨) 167 (§) 
		// 170 (ª) 172(¬) 176 (°) 178 (²) 179 (³) 185(¹) 186 (º) 180 (´) 

		if (tecla != 33 && tecla != 34 && tecla != 35 && tecla != 36 && tecla != 37 && tecla != 38 && tecla != 39 && tecla != 40 &&
			tecla != 41 && tecla != 41 && tecla != 42 && tecla != 43 && tecla != 44 && tecla != 45 && tecla != 46 && tecla != 47 &&
			tecla != 58 && tecla != 59 && tecla != 60 && tecla != 61 && tecla != 62 && tecla != 63 && tecla != 64 && tecla != 91 &&
			tecla != 94 && tecla != 96 && tecla != 123 && tecla != 125 && tecla != 126 && tecla != 162 && tecla != 167 && 
			tecla != 168 && tecla != 170 && tecla != 172 && tecla != 176 && tecla != 178 && tecla != 179 && tecla != 185 &&
			tecla != 186 && tecla != 180) // qualquer coisa diferente de  *
			return true;
		else
			{
				if (tecla != 8) // backspace
					event.keyCode = 0;
					//return false;
				else
					return true;
			}
}

//------------------------------------------------------------------------------------------
// MASCARA DE DATA / GERAL
// obs Utiliza com OnKeyPress="formatar(this, '##/##/####')"
//  onKeyUp="JavaScript:mascara_data(this.value, this.name)" onBlur="verifica_data(value,name)">
//------------------------------------------------------------------------------------------

	function formatar(src, mask) {
		var i = src.value.length;
		var saida = mask.substring(0,1);
		var texto = mask.substring(i)
		
		if (texto.substring(0,1) != saida) {
			src.value += texto.substring(0,1);
		}
	}

//------------------------------------------------------------------------------------------
// MASCARA DE HORA / GERAL
// obs Utiliza com onKeyUp="JavaScript:mascara_hora(this.value)"
//------------------------------------------------------------------------------------------

function mascara_hora(hora)
{ 
	var myhora = ''; 
	myhora = myhora + hora; 
    if (myhora.length == 2)
	{ 
	    myhora = myhora + ':'; 
	    document.forms[0].hora.value = myhora; 
    } 
    if (myhora.length == 5)
	{ 
        verifica_hora(); 
    } 
} 


//------------------------------------------------------------------------------------------
// MASCARA DE DATA
// obs Utiliza com OnKeyUp="masc_data(this.value,name)
// onKeyup="campo.value = masc_data(this.value,this.name,'form2')">
//------------------------------------------------------------------------------------------
function masc_data(data,nome,form)
{ 
			  //alert("Data: " + data);
			  //alert("Nome: " + nome);
			  //alert("Form: " + form);			  
              var mydata = ''; 
              mydata = mydata + data;
			  //alert( mydata.length)
			  //--Dia----------------
   	          if (mydata.length == 2)
			  { 
				  dia = parseInt(mydata)
				  if(mydata == 08 || mydata == 09)
				  {
			          mydata = mydata + '/'; 
				  }
				  else
				  {	
					  if(dia < 1 || dia > 31)
					  {
					  	alert("Dia deve estar no intervalo de  1 à 31");
						mydata = ""
					   }
					  else
					  {
    		              mydata = mydata + '/'; 
					  }	  
				  }
              } 
			  //--MES----------------
       	      if (mydata.length == 5)
			  { 
			  	  mes = (mydata.substring(3,5));
				  //mes = parseInt(mydata.substring(3,5));
				  //alert(mes);
				  if(mes >= 01 && mes <= 12)
				  {
    		              mydata = mydata + '/'; 				  
				  }
				  else
				  {
				  	alert("Mes deve estar no intervalo de 1 à 12");
					mydata = mydata.substring(0,3)
				  }	  
              } 
			  //--ANO / FORMATO DE DATA --------
       	      if (mydata.length == 10)
			  { 
			  	  //alert(mydata.substring(5,6));				  
				  ano = parseInt(mydata.substring(6,10))
				  if(ano <= 1900)
				  {
				  	alert("Ano deve ser maior que 1900");
					mydata = mydata.substring(0,6)
				  }	  
			  
				  //- Formato de data
				  if(mydata.substring(2,3) != '/' || mydata.substring(5,6) != '/')
				  {
				  	alert("O formato da data deve ser dd/mm/aaaa")
				  }
       	      } 
			  /*
			  //alert(mydata);
			  if (mydata.length > 11)
			  {
				  mydata = mydata.substring(0,10)
			  }
				*/
			  return mydata;			  
} 


//------------------------------------------------------------------------------------------
// VALIDA DATA
// obs Utiliza com OnKeyUp="masc_data(this.value,name)
//------------------------------------------------------------------------------------------
//utiliza da seguinte forma?
//	if (ValidaData(vDataFinal) == false)
function ValidaData(dateStr) 
{
   var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
   var ok = "SIM";
   var matchArray = dateStr.match(datePat); 
   
   if (matchArray == null) {
      ok = "NAO";
	  return false;
   }
   
   month = matchArray[3]; 
   mes   = month
   day   = matchArray[1];
   year  = matchArray[4];
   
   if (year.length < 4) {
   		ok = "NAO";
	}
	
   //alert("mes : " + mes)
   
   if (mes < 1 || mes > 12) {ok = "NAO";}
   
   if (day < 1 || day > 31) {
      ok = "NAO";
	  //alert("erro no dia");	  
   }
   
   if ((mes==4 || mes==6 || mes==9 || mes==11) && day==31) {
      ok = "NAO";
	  //alert('Erro em mes 4, 6, 9');
   }

   var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
   
   //alert("ano bis " + isleap);
   
   if ( mes == 2 && isleap == true)
   {	      
   		//alert("Fevereiro ano bi");	
   		if (day > 29)
		{
      		ok = "NAO";		
		}
   }
   
   if ( mes == 2 && isleap == false)
   {	      
   		//alert("Fevereiro ano nao bi");
   		if (day > 28)
		{
      		ok = "NAO";		
		}
   }
   
   if (ok=="NAO") {return false;} else {return true;}
       
}




//--------------------------------
// VALIDA CPF
//--------------------------------
// Como utilizar:      
//               if (!checaCPF(document.forms[0].CPF_CLIENTE.value)){return false}
//
//----------------------------
   function checaCPF (CPF)
   {

      if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
         CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" ||
         CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
         CPF == "88888888888" || CPF == "99999999999")
         return false;

      soma = 0;
      for (i=0; i < 9; i ++)
         soma += parseInt(CPF.charAt(i)) * (10 - i);
         resto = 11 - (soma % 11);
         if (resto == 10 || resto == 11)
            resto = 0;
         if (resto != parseInt(CPF.charAt(9)))
            return false;

      soma = 0;
      for (i = 0; i < 10; i ++)
         soma += parseInt(CPF.charAt(i)) * (11 - i);
         resto = 11 - (soma % 11);
         if (resto == 10 || resto == 11)
            resto = 0;
         if (resto != parseInt(CPF.charAt(10)))
            return false;
   		return true;
 	}

//--------------------------------
// FORMULÁRIO MESTRE / FILHO
//--------------------------------
// Como utilizar:      
//         As funçoes Campos tem o objetivo de pegar o nome de cada objeto que compoe o formulário
//		   ao utilizar esta função de retorno de vetores com os nome  dentro da validação do formulário
//		   o mesmo só irá validar os campos cuja propriedade alt seja igual a obr e o campo seja visivel
//
//----------------------------


	function Campos(form)
	{
		var qtd;
		var VetCampo;
		qtd			= form.length;
		VetCampoObr = new Array(qtd);
		//alert(qtd);
		for(x=0;x<VetCampoObr.length;x++)
		{
			VetCampoObr[x] = form[x].name;
			//alert(VetCampoObr[x]);
		}
		
		return VetCampoObr;
	}



//--------------------------------
// REFRESH - CAIXA COMBINAÇÃO
//--------------------------------
// Como utilizar:      
//         Simula o botão enviar para poder atualizar o formulário
//----------------------------


function RefreshCbo(url)
{
	document.forms[0].action = url;
	document.forms[0].submit();
}


function UrlDestino(url)
{
	RefreshCbo(url)
}


//--------------------------------
// EMAIL - VALIDANDO
//--------------------------------

function validaMail(mail)
{
	var mail
     if ((mail == "") ||
         (mail.indexOf('@', 0) == -1 ) ||
         (mail.indexOf('.', 0) == -1 ))
	{	 
		mail = false;
	}
	else
	{
		mail =  true;
	}
	return mail;
}


//--------------------------------
// CEP - MASCARA
//--------------------------------

function MascaraCEP (formato, keypress, objeto)
	{
	campo = eval (objeto);
	if (formato=='CEP')
		{
		caracteres = '01234567890';
		separacoes = 1;
		separacao1 = '-';
		conjuntos = 2;
		conjunto1 = 5;
		conjunto2 = 3;
		if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		(conjunto1 + conjunto2 + 1))
			{
			if (campo.value.length == conjunto1) 
			   campo.value = campo.value + separacao1;
			}
		else 
			event.returnValue = false;
		}
	}


//------------------------------------------------------------------------------------------
// MASCARA DE MOEDA / NÚMERO
// obs Utiliza com onSelect="formataMoeda(this);"  onKeyUp="formataMoeda(this);" 
// OU somente onBlur="formataMoeda(this); / ou somente onChange="formataMoeda(this);
//------------------------------------------------------------------------------------------

function formataMoeda(obj)
{

	var	newNumero, cont, tipo, string, newNumeroDec;
	
	string 			= obj.value;
	newNumero 		= "";
	newNumeroDec 	= "";
		
	//alert("String numerica: " + string);
	
	cont = string.length;
	
	//alert("Total de Caracter : " + cont);
	
	for(x=0;x<cont;x++)	
	{
		//Desconsidera 0
		//-------------------------------
		if (parseInt(string.charAt(x)))
		{
			newNumero = newNumero + string.charAt(x);
		}

		// Considera 0
		//-------------------------------
		if (string.charAt(x) == 0)
		{
			newNumero = newNumero + string.charAt(x);
		}
	}

	//alert("Novo numero : " + newNumero);
	
	string = newNumero;
	//alert("Nova Strin: " + string);	
	
	cont = string.length;
	cont = parseInt(cont);
	
	//alert("Total de Caracter : " + cont);
	
	ContMilhar 	= 0;
	ContDec		= 0;
	newNumero	= "";
	
	if(cont == 2)
	{
		ContDec = 1;
	}
	
	if(cont >= 3)
	{
		ContDec = 2;
	}
	
	//ContDec = 0;
	//alert("Tamanho geral " + cont + "\nDecimal : " + ContDec);
			
	if(cont >= 6)
	{
		for(x=(cont-(ContDec+1));x>=0;x--)	
		{
			ContMilhar++;		
					
			if (ContMilhar == 4)
			{
				ContMilhar	= 1;
				newNumero 	= "." + newNumero;
				newNumero   = string.charAt(x) + newNumero;				
			}
			else
			{
				newNumero   = string.charAt(x) + newNumero;
			}
			//alert(newNumero + "\nValor de x :" + x);
		}	
	}
	else
	{
		for(x=(cont-(ContDec+1));x>=0;x--)	
		{
			newNumero   = string.charAt(x) + newNumero;		
		}	
	}

	
	for(x=ContDec;x>0;x--)
	{
		cont--	
		newNumeroDec   = string.charAt(cont) + newNumeroDec;							
	}
	if(ContDec >= 1)
		newNumero   = newNumero + "," + newNumeroDec;	
			
	obj.value = newNumero;

}

//------------------------------------------------------------------------------------------
// ISNUMERIC  - 02/03/2006
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA
// 		-> NUMERO
//
// SAIDA:
// 		-> Retorna sempre true ou false
// 
// obs Utilizar na validaçao do form ou no evento somente onChange="if(IsNumeric(this.value)==false){alert('campo inválido');}
// Validação form	if(IsNumeric(camponumerico)==false) return false
//------------------------------------------------------------------------------------------

function IsNumeric(valor)
{
	if (valor.length > 0)
	{
		for(x=valor.length-1; x>=0; x--)
		{
			n = valor.charAt(x)
			//alert(n);
			if(n == '0' || n == '1' || n == '2' || n == '3' || n == '4' || n == '5' || n == '6' || n == '7' || n == '8' || n == '9' || n == '.' || n == ',')
				result = true;
			else
			{
				result = false;
				break;
			}
		}
		return result;
	}
	else
	{
		return false;
	}
}


//------------------------------------------------------------------------------------------
// VALIDATEL - 02/03/2006
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA
// 		-> NUMERO DE TELEFONE
//		-> ARRAY CONTENDO TABELA DE PREFIXO NAO ACEITO
//					arrayteste = new Array(1)
//					arrayteste[00] = "1111";	
//					arrayteste[01] = "2222";
//
// SAIDA:
// 		-> Retorna sempre true ou false// 
 
// obs Utilizar na validaçao do form Ex:
//	if(ValidaTel(campo,arrayteste)!= true)
//	{alert("telefone inválido"); nome.txtTel.select(); return false;//	}
//------------------------------------------------------------------------------------------

function ValidaTel(numero,listaPrefixo)
{
	if(numero == "")
		return false;
	
	if(numero.length <7)
		return false;
		
	if(IsNumeric(numero)==false)
		return false

	//-------------------------------------
	// TELEFONE - SEPARA SOMENTE NÚMEROS
	Telefone 	= "";
	caracTotal 	= numero.length	
	//alert(caracTotal)
	for(x=0; x<caracTotal; x++)
	{
		n = numero.charAt(x)
		//alert(n);
		if(n == '0' || n == '1' || n == '2' || n == '3' || n == '4' || n == '5' || n == '6' || n == '7' || n == '8' || n == '9')
			Telefone = Telefone + n;
	}
	//alert(Telefone);

	//-------------------------------
	// Prefixo e Sufixo - separando
	caracTotal 	= Telefone.length
	if(caracTotal >= 8)
	{
		varPrefixo	= Telefone.substring(0,4)
		varSufixo	= Telefone.substring(4,8)	
	}
	else
	{
		varPrefixo	= Telefone.substring(0,3)
		varSufixo	= Telefone.substring(3,7)	
	}	
	//alert("Prefixo : " + varPrefixo + "\n" + "Sufixo :" + varSufixo);
	
	//-------------------------------------
	// TELEFONE - VALIDACAO - PREFIXO

	if(listaPrefixo != '')
	{
		//-------------------------
		// ARRAY - CONSTRUINDO LISTA
		TelefoneArray = new Array(listaPrefixo.length);
		
		for(x=0;x<listaPrefixo.length;x++)
		{
			//alert(x + " - " + listaPrefixo[x]);
			TelefoneArray[x] = listaPrefixo[x];
		}
	
		//----------------------------------
		// PREFIXO - TESTE DE COMPARACAO
		for(x=0; x < TelefoneArray.length; x++)
		{
			//alert(x + " - " + TelefoneArray[x]);
			if(varPrefixo == TelefoneArray[x].substring(0,varPrefixo.length))
			{
				return false;	
				break;			
			}
		}
		
	}

	return true;
}
	
//------------------------------------------------------------------------------------------
// CompareArray(LstValor,FormaRetorno,ignoraNulo) - 03/03/2006
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA
// 		-> Array com valores a ser comparado
//					arrayteste = new Array(1)
//					arrayteste[00] = "1111";	
//					arrayteste[01] = "2222";
//		-> Numero - forma de retorno
//					0 = true / false
//					1 = array com o  valores iguais
//					2 = string unnica contendo os valores iguais
//		-> ignoraNulo
//					true -> ignora valor em branco
//					false-> compara valor em branco.
//
// SAIDA:
// 		-> Depende do parametro forma de retorno
 
// obs Utilizar na validaçao do form Ex:
// 	retorno = CompareArray(lista,2);
//	if(retorno == true)
//	{alert("Existem valores repetidos na lista");
//------------------------------------------------------------------------------------------
function CompareArray(LstValor,FormaRetorno,ignoraNulo)
{
	//---------------------
	//RETORNO - FORMA
	//---------------------	
	LstRetorno 		= new Array(0);	// Lista dos números iguais
	//result			= false;		// Retorna true (caso encontre) ou false (Caso não encontre)
	
	// CONTROLE
	strLstValor 	= ""
	
	//TESTE
	if(LstValor != "")
	{
		// ARRAY - CAREGANDO
		////////////////////
		LstArray = new Array(LstValor.length);
		for(x=0;x<LstArray.length;x++)
		{
			//alert(x + " - " + listaPrefixo[x]);
			LstArray[x] = LstValor[x];
		}
		
		// ARRAY - COMPARANDO
		////////////////////
		totalComparacao = 0;
		for(x=0;x<LstArray.length;x++)
		{
			totalComparacao = totalComparacao + (1 * x);
		}
		
		valorIgual  = false;
		cont		= 0;
		comp		= "";
		for(x=0;x<LstArray.length;x++)
		{
			comp = LstArray[x];
			vcompara = false
			if(ignoraNulo == true)				// IGNORA VALOR NULO OU CAMPO EM BRANCO
			{
				if(comp == '')
				{  vcompara = true }
			}	   
			
			if(vcompara == false)				// IGNORA VALOR NULO OU CAMPO EM BRANCO
			{
				for(y=x+1;y<LstArray.length;y++)
				{
					//alert(comp + " = " + LstArray[y]);
					if(comp == LstArray[y])
					{
						valorIgual 		= true;
						LstRetorno[cont]= comp;
						cont++;
						//break;
					}
					/*
					if(valorIgual == true)
					{
						break;
					}
					*/
				}
			}
		}

		// String unica de retorno
		if(LstRetorno.length > 0)
		{
			for(x=0;x<LstRetorno.length;x++)
			{
				strLstValor = strLstValor + LstRetorno[x] + ";";			
			}
			//alert("Numeros identicos: " + strLstValor);
		}
		if(strLstValor.length > 2)
			strLstValor = strLstValor.substring(0,strLstValor.length-1);

		////////////////////////
		// RETORNO FORMA
		///////////////////////
		//---------------------------
		// true / false
		if(FormaRetorno == 0)
		{
			if(LstRetorno.length <= 0) // não encontrou
			{
				return false
			}
			else
			{
				return true
			}
		}
		//---------------------------
		// array com valores 
		if(FormaRetorno == 1)
			return LstRetorno;

		//---------------------------
		//String única com a Lista		
		if(FormaRetorno == 2)	
			return strLstValor;

	}
}

//------------------------------------------------------------------------------------------
// TELA - RESOLUÇÃO DE TELA
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Nenhum
//
// SAIDA:
// 		-> Retorna Comprimento e altura separados por ;
// 
// obs 
// 
function Resolucao()
{
	var result
	result = ''
	result = result + ResolucaoWidth()
	result = result + ';' + ResolucaoHeight()
	return  result
}

//------------------------------------------------------------------------------------------
// TELA - RESOLUÇÃO DE TELA - COMPRIMENTO
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Nenhum
//
// SAIDA:
// 		-> Retorna  eComprimento da resolução de tela
// 
// obs 
// 
function ResolucaoWidth()
{
	var displaywidth = screen.width;
	return displaywidth;
}

//------------------------------------------------------------------------------------------
// TELA - RESOLUÇÃO DE TELA - ALTURA
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Nenhum
//
// SAIDA:
// 		-> Retorna Altura
// 
// obs 
// 
function ResolucaoHeight()
{
	var displayheight = screen.height;
	return displayheight;
}


//------------------------------------------------------------------------------------------
// NUMERO - TESTA SE E NUMERICO
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Valor ou texto
//
// SAIDA:
// 		-> true ou false
// 
// obs 
// 
function IsNumeric(valor)
{
	var vValor = valor;
	
	if(vValor <=0 || vValor >= 0)
	    return true;
	else
	    return false;
}

//------------------------------------------------------------------------------------------
// NUMERO - TESTA SE E NUMERICO POSITIVO
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Valor ou texto
//
// SAIDA:
// 		-> true ou false
// 
// obs 
// 
function IsNumericPos(valor)
{
	var vValor = valor;
	
	if(vValor >= 0)
	    return true;
	else
	    return false;
}

//------------------------------------------------------------------------------------------
// NUMERO - TESTA SE E NUMERICO NEGATIVO
//------------------------------------------------------------------------------------------
// PARAMETROS DE ENTRADA:
//		-> Valor ou texto
//
// SAIDA:
// 		-> true ou false
// 
// obs 
// 
function IsNumericNeg(valor)
{
	var vValor = valor;
	
	if(vValor <= 0)
	    return true;
	else
	    return false;
}

//------------------------------------------------------------------------------------------
// LAYER / CAMADA - TRABALHANDO COM LAYER
//------------------------------------------------------------------------------------------
// OCURTAR -> onClick="MM_showHideLayers('Layer1','','hide')" value="Ocultar"
// EXIBIR  -> onClick="MM_showHideLayers('Layer1','','show')" value="Mostrar"
// MOVER   -> onClick="MM_dragLayer('Layer1','',0,0,0,0,true,false,-1,-1,-1,-1,false,false,0,'alert(\'soltei\');',false,'')" value="Mover"


function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v4.01
  //Copyright 1998 Macromedia, Inc. All rights reserved.
  var i,j,aLayer,retVal,curDrag=null,curLeft,curTop,IE=document.all,NS4=document.layers;
  var NS6=(!IE&&document.getElementById), NS=(NS4||NS6); if (!IE && !NS) return false;
  retVal = true; if(IE && event) event.returnValue = true;
  if (MM_dragLayer.arguments.length > 1) {
    curDrag = MM_findObj(objName); if (!curDrag) return false;
    if (!document.allLayers) { document.allLayers = new Array();
      with (document) if (NS4) { for (i=0; i<layers.length; i++) allLayers[i]=layers[i];
        for (i=0; i<allLayers.length; i++) if (allLayers[i].document && allLayers[i].document.layers)
          with (allLayers[i].document) for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j];
      } else {
        if (NS6) { var spns = getElementsByTagName("span"); var all = getElementsByTagName("div"); 
          for (i=0;i<spns.length;i++) if (spns[i].style&&spns[i].style.position) allLayers[allLayers.length]=spns[i];}
        for (i=0;i<all.length;i++) if (all[i].style&&all[i].style.position) allLayers[allLayers.length]=all[i]; 
    } }
    curDrag.MM_dragOk=true; curDrag.MM_targL=targL; curDrag.MM_targT=targT;
    curDrag.MM_tol=Math.pow(tol,2); curDrag.MM_hLeft=hL; curDrag.MM_hTop=hT;
    curDrag.MM_hWidth=hW; curDrag.MM_hHeight=hH; curDrag.MM_toFront=toFront;
    curDrag.MM_dropBack=dropBack; curDrag.MM_dropJS=dropJS;
    curDrag.MM_everyTime=et; curDrag.MM_dragJS=dragJS;
    curDrag.MM_oldZ = (NS4)?curDrag.zIndex:curDrag.style.zIndex;
    curLeft= (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft; 
    if (String(curLeft)=="NaN") curLeft=0; curDrag.MM_startL = curLeft;
    curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop; 
    if (String(curTop)=="NaN") curTop=0; curDrag.MM_startT = curTop;
    curDrag.MM_bL=(cL<0)?null:curLeft-cL; curDrag.MM_bT=(cU<0)?null:curTop-cU;
    curDrag.MM_bR=(cR<0)?null:curLeft+cR; curDrag.MM_bB=(cD<0)?null:curTop+cD;
    curDrag.MM_LEFTRIGHT=0; curDrag.MM_UPDOWN=0; curDrag.MM_SNAPPED=false; //use in your JS!
    document.onmousedown = MM_dragLayer; document.onmouseup = MM_dragLayer;
    if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  } else {
    var theEvent = ((NS)?objName.type:event.type);
    if (theEvent == 'mousedown') {
      var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
      var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
      var maxDragZ=null; document.MM_maxZ = 0;
      for (i=0; i<document.allLayers.length; i++) { aLayer = document.allLayers[i];
        var aLayerZ = (NS4)?aLayer.zIndex:parseInt(aLayer.style.zIndex);
        if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;
        var isVisible = (((NS4)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);
        if (aLayer.MM_dragOk != null && isVisible) with (aLayer) {
          var parentL=0; var parentT=0;
          if (NS6) { parentLayer = aLayer.parentNode;
            while (parentLayer != null && parentLayer.style.position) {             
              parentL += parseInt(parentLayer.offsetLeft); parentT += parseInt(parentLayer.offsetTop);
              parentLayer = parentLayer.parentNode;
          } } else if (IE) { parentLayer = aLayer.parentElement;       
            while (parentLayer != null && parentLayer.style.position) {
              parentL += parentLayer.offsetLeft; parentT += parentLayer.offsetTop;
              parentLayer = parentLayer.parentElement; } }
          var tmpX=mouseX-(((NS4)?pageX:((NS6)?parseInt(style.left):style.pixelLeft)+parentL)+MM_hLeft);
          var tmpY=mouseY-(((NS4)?pageY:((NS6)?parseInt(style.top):style.pixelTop) +parentT)+MM_hTop);
          if (String(tmpX)=="NaN") tmpX=0; if (String(tmpY)=="NaN") tmpY=0;
          var tmpW = MM_hWidth;  if (tmpW <= 0) tmpW += ((NS4)?clip.width :offsetWidth);
          var tmpH = MM_hHeight; if (tmpH <= 0) tmpH += ((NS4)?clip.height:offsetHeight);
          if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ == null
              || maxDragZ <= aLayerZ)) { curDrag = aLayer; maxDragZ = aLayerZ; } } }
      if (curDrag) {
        document.onmousemove = MM_dragLayer; if (NS4) document.captureEvents(Event.MOUSEMOVE);
        curLeft = (NS4)?curDrag.left:(NS6)?parseInt(curDrag.style.left):curDrag.style.pixelLeft;
        curTop = (NS4)?curDrag.top:(NS6)?parseInt(curDrag.style.top):curDrag.style.pixelTop;
        if (String(curLeft)=="NaN") curLeft=0; if (String(curTop)=="NaN") curTop=0;
        MM_oldX = mouseX - curLeft; MM_oldY = mouseY - curTop;
        document.MM_curDrag = curDrag;  curDrag.MM_SNAPPED=false;
        if(curDrag.MM_toFront) {
          eval('curDrag.'+((NS4)?'':'style.')+'zIndex=document.MM_maxZ+1');
          if (!curDrag.MM_dropBack) document.MM_maxZ++; }
        retVal = false; if(!NS4&&!NS6) event.returnValue = false;
    } } else if (theEvent == 'mousemove') {
      if (document.MM_curDrag) with (document.MM_curDrag) {
        var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
        var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
        newLeft = mouseX-MM_oldX; newTop  = mouseY-MM_oldY;
        if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);
        if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);
        if (MM_bT!=null) newTop  = Math.max(newTop ,MM_bT);
        if (MM_bB!=null) newTop  = Math.min(newTop ,MM_bB);
        MM_LEFTRIGHT = newLeft-MM_startL; MM_UPDOWN = newTop-MM_startT;
        if (NS4) {left = newLeft; top = newTop;}
        else if (NS6){style.left = newLeft; style.top = newTop;}
        else {style.pixelLeft = newLeft; style.pixelTop = newTop;}
        if (MM_dragJS) eval(MM_dragJS);
        retVal = false; if(!NS) event.returnValue = false;
    } } else if (theEvent == 'mouseup') {
      document.onmousemove = null;
      if (NS) document.releaseEvents(Event.MOUSEMOVE);
      if (NS) document.captureEvents(Event.MOUSEDOWN); //for mac NS
      if (document.MM_curDrag) with (document.MM_curDrag) {
        if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&
            (Math.pow(MM_targL-((NS4)?left:(NS6)?parseInt(style.left):style.pixelLeft),2)+
             Math.pow(MM_targT-((NS4)?top:(NS6)?parseInt(style.top):style.pixelTop),2))<=MM_tol) {
          if (NS4) {left = MM_targL; top = MM_targT;}
          else if (NS6) {style.left = MM_targL; style.top = MM_targT;}
          else {style.pixelLeft = MM_targL; style.pixelTop = MM_targT;}
          MM_SNAPPED = true; MM_LEFTRIGHT = MM_startL-MM_targL; MM_UPDOWN = MM_startT-MM_targT; }
        if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);
        if(MM_dropBack) {if (NS4) zIndex = MM_oldZ; else style.zIndex = MM_oldZ;}
        retVal = false; if(!NS) event.returnValue = false; }
      document.MM_curDrag = null;
    }
    if (NS) document.routeEvent(objName);
  } return retVal;
}

function Foco()
{
    qtdcampos = document.forms[0].length;
    for(x=0;x<qtdcampos;x++)
    {
	    if(document.forms[0][x].value == '')
	    {
		    document.forms[0][x].focus();
		    x = qtdcampos + 10;
	    }
    }
}

//------------------------------------------------------------------------------------------
// ANIMAÇÃO - TRABALHANDO COM LAYER
//------------------------------------------------------------------------------------------
// bottom       -> Botão que dispara o evento
// Top          -> Distancia do Top
// ignoreSize   -> ??


// Move an element directly on top of another element (and optionally
// make it the same size)
function Cover(bottom, top, ignoreSize) 
{
    var location = Sys.UI.DomElement.getLocation(bottom);
    top.style.position = 'absolute';
    top.style.top = location.y + 'px';
    top.style.left = location.x + 'px';
    if (!ignoreSize) 
    {
        top.style.height = bottom.offsetHeight + 'px';
        top.style.width = bottom.offsetWidth + 'px';
    }
}