//_________________________________________________________________________________________________
//função para aceitar somente numeros
//_________________________________________________________________________________________________

function numeros(evento,Objeto)
{
	var keypress=(window.event)?event.keyCode:evento.which;
	if ((keypress!=13)&&(keypress!=8)&&(keypress!=0)&&(keypress!=8)&&(keypress!=0)&&((keypress < 48) || (keypress > 57)))
	{
		(window.event)?event.returnValue = false:evento.preventDefault();
	} 
}

function emailValido(Campo)
{
  var Valor = Campo.value;
  if (Campo.value=="")
    return (true)
  else
  if ( (Valor.indexOf("@") == -1) || (Valor.indexOf(".") == -1) || (Valor.length < 5) )
  {  alert("Este e-mail não é válido.  Por favor, digite novamente.");
     Campo.focus();
     return (false);  
  }
  else
     return (true);
}

function validarEmail(form,classe){
	var errados = Array()
	form.email.className = classe
	if (!(/^\w+([\_.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.email.value))){
		errados[0] = "email"
		exibirErros(classe,form,errados)
		return false
	}
	return true
}





//_________________________________________________________________________________________________
// função para trocar o foco do campo automaticamente
//_________________________________________________________________________________________________

function trocaCampo(campo1,campo2,limite){
	if(campo1.value.length == limite){
	campo2.value = ''
	campo2.focus()
    } 
 } 
 
 
 
 
 
//_________________________________________________________________________________________________
// função para validar formularios
//_________________________________________________________________________________________________

function validarFormulario(form,classe){
	var errados = Array()
	var erro = false
	var args = form.length
	for(cont=0;cont<args;cont++){
		if((form.elements[cont].type!="checkbox")&&(form.elements[cont].type!="radio")){
			form.elements[cont].className = classe
		}
		switch(form.elements[cont].alt){
			case "email": if (!(/^\w+([\_.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.elements[cont].value))){ 
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break
			case "cnpj":  if(!validarCNPJ(form.elements[cont].value)){
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break	
			case "cpf":  if(!validarCPF(form.elements[cont].value)){
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break	
			case "senha": if((form.elements[cont].value!=form.confirmaSenha.value)||(form.elements[cont].value=='')){
						  errados.push(form.elements[cont].name)
						  errados.push("confirmaSenha")
						  erro = true
						  }
						  break
			case "cep":   re = /\d{5}([-])\d{3}/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break
			case "data":  re =/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break
			case "tel":  re = /^\(\d{2}\)\ \d{4}\-\d{4}$/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break						  
			case "requerido": if(form.elements[cont].value==''){
              				  	errados.push(form.elements[cont].name)
						  		erro = true
						  	  }	
						  	  break						  
		}
	}
	if(erro){
		exibirErros(classe,form,errados)
		return false
	}
	for(cont=0;cont<args;cont++){
		if(form.elements[cont].disabled){
			form.elements[cont].disabled = false
		}
	}
}





//_________________________________________________________________________________________________
// Função para exibir erros do formulário
//_________________________________________________________________________________________________

function exibirErros(classe,form,errados){
	var args1 = form.length
	var args2 = form.length
	for(cont=0;cont<args1;cont++){
		for(cont2=0;cont2<args2;cont2++){
			if(form.elements[cont].name==errados[cont2]) form.elements[cont].className = "invalido"
	 	}
	}
	alert("Preencha os campos corretamente")
} 





//_________________________________________________________________________________________________
//função para abrir janelas popup centralizada na página independente da resolução
//_________________________________________________________________________________________________

function abrirpopup(pagina,tamVert,tamHoriz) {
	h = tamVert
	w = tamHoriz
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	features = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',fullscreen=no,toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=yes,resizable=0'
	win = window.open(pagina,"tabela",features);
}





//_________________________________________________________________________________________________
//função para limpar um campo texto quando clica (box)
//_________________________________________________________________________________________________

function limparCampo(campo){
	campo.value=''
}





//_________________________________________________________________________________________________
//função para mascarar campo de telefone
//_________________________________________________________________________________________________

function AjustarTelefone(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		if (Objeto.value.indexOf("-") == -1)
	  {
      if ((event.keyCode = 45) && ((Objeto.value.length == 9) || (Objeto.value.length == 8)))
      {
        Objeto.value = Objeto.value + "-";
      }
	  }
		event.returnValue = false;
	} 
	else 
	{	 	  
		if (Objeto.value.length == 0)
		{
			Objeto.value = "(" + Objeto.value;
		}
		else if ((Objeto.value.length == 1) && (Objeto.value.indexOf("(") == -1))
		{
		  Objeto.value = "(" + Objeto.value;
		}
		else if (Objeto.value.length == 3)
		{
			Objeto.value = Objeto.value + ") ";
		}				
		else if (Objeto.value.length == 4)
		{
			Objeto.value = Objeto.value + " ";
		}
		else if ((Objeto.value.length == 9) && (Objeto.value.indexOf("-") == -1))
    {
      Objeto.value = Objeto.value + "-";
    }
    else if ((event.keyCode!=13)&&(Objeto.value.length == 13) && (Objeto.value.indexOf("-") == 8))
		{
		  event.returnValue = false;
		}
		else if ((Objeto.value.length == 14)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para mascarar campo de CEP
//_________________________________________________________________________________________________

function AjustarCep(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if(Objeto.value.length == 5)
		{		
			Objeto.value = Objeto.value + "-";
		}
		else if((Objeto.value.length == 9)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para aceitar somente numeros
//_________________________________________________________________________________________________

function numeros(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
}





//_________________________________________________________________________________________________
//função para mascarar campo de CPF
//_________________________________________________________________________________________________

function AjustarCPF(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if ((Objeto.value.length == 3) || (Objeto.value.length == 7))
		{
			Objeto.value = Objeto.value + "." ;
		}
		else if (Objeto.value.length == 11)
  	{		
			Objeto.value = Objeto.value + "-" ;
		}
		else if ((Objeto.value.length == 14)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para mascarar campo de CNPJ
//_________________________________________________________________________________________________

function AjustarCNPJ(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if((Objeto.value.length == 2) || (Objeto.value.length == 6))
		{
			Objeto.value = Objeto.value + "." ;
		}
		else if(Objeto.value.length == 10)
  	{		
			Objeto.value = Objeto.value + "/" ;
		}		
		else if(Objeto.value.length == 15)
  	{		
			Objeto.value = Objeto.value + "-" ;					
		}
		else if((Objeto.value.length == 18)&&(event.keyCode!=13))
  	{		
			event.returnValue = false;
		}		
	}		
}





//_________________________________________________________________________________________________
//função para mascarar campo de Data
//_________________________________________________________________________________________________

function AjustarData(Objeto) 
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57))) 
	{
		event.returnValue = false; 
	}
	else 
	{
		if ((Objeto.value.length == 2) || (Objeto.value.length == 5))
		{
			Objeto.value = Objeto.value + "/";
		}
		else if ((Objeto.value.length == 10)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para desabilitar ou habilitar campos
//_________________________________________________________________________________________________

function habilitarCampos(){
	var args = arguments.length
	for(cont=0;cont<args;cont++){
		if(arguments[cont].disabled==false){
			arguments[cont].disabled=true
		}
		else{
			arguments[cont].disabled=false
		}
	}
}





//_________________________________________________________________________________________________
//função para validar CPF
//_________________________________________________________________________________________________

function validarCPF(numeroCPF) {
	cpf = numeroCPF.substr(0,3)
	cpf+= numeroCPF.substr(4,3)
	cpf+= numeroCPF.substr(8,3)
	cpf+= numeroCPF.substr(12,2)	
    erro = new String;
    if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n"; 
    if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
    	erro += "Numero de CPF invalido!"
    }
    var a = [];
    var b = new Number;
    var c = 11;
    for (i=0; i<11; i++){
    	a[i] = cpf.charAt(i);
        if (i < 9) b += (a[i] * --c);
    }
    if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
    b = 0;
    c = 11;
    for (y=0; y<10; y++) b += (a[y] * c--); 
    if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
    	erro +="Digito verificador com problema!";
    }
    if (erro.length > 0){
        return false;
	}
    return true;
}





//_________________________________________________________________________________________________
//função para validar CNPJ
//_________________________________________________________________________________________________

function validarCNPJ(numeroCNPJ) {
	CNPJ = numeroCNPJ;
    erro = new String;
    if (CNPJ.length < 17) erro += "É necessario preencher corretamente o número do CNPJ1! \n\n"; 
    if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
    	if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ2! \n\n";
    }
                 //substituir os caracteres que não são números
   	x = CNPJ.substring(0,2);
    x += CNPJ. substring (3,6);
    x += CNPJ. substring (7,10);
    x += CNPJ. substring (11,15);
    x += CNPJ. substring (16,18);
    CNPJ = x; 
   	CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace ("-","");
    CNPJ = CNPJ. replace ("/","");
    var nonNumbers = /\D/;
    if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n"; 
    var a = [];
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    for (i=0; i<12; i++){
    	a[i] = CNPJ.charAt(i);
    	b += a[i] * c[i+1];
 	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
    b = 0;
    for (y=0; y<13; y++) {
    	b += (a[y] * c[y]); 
	}
    if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
    if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
    	erro +="Dígito verificador com problema!";
    }
    if (erro.length > 0){
	    return false;
    }
    return true;
}

//_________________________________________________________________________________________________
//função para rolar a tela
//_________________________________________________________________________________________________

function rolar(pixVert,pixHor)
{
	self.scrollBy(pixHor,pixVert)
}



function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function telefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function exibir()
    {
        document.getElementById('senhanova').style.display="";
        document.getElementById('csenhanova').style.display="";
    }

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful.

			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}

	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;

	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}



function FormataCNPJ(Campo, Campo2)
{
   var CNPJ = '';

   CNPJ = CNPJ + Campo.value;
   
   if((CNPJ.length == 2) && (Campo2 != 8) && (Campo2 != 46) && (Campo2 != 47))
   {
      CNPJ = CNPJ + '.';
      Campo.value = CNPJ;
   }
   if((CNPJ.length == 6) && (Campo2 != 8) && (Campo2 != 46) && (Campo2 != 47))
   {
      CNPJ = CNPJ + '.';
      Campo.value = CNPJ;
   }
   if((CNPJ.length == 10) && (Campo2 != 8) && (Campo2 != 46) && (Campo2 != 47))
   {
      CNPJ = CNPJ + '/';
      Campo.value = CNPJ; 
   }
   if((CNPJ.length == 15) && (Campo2 != 8) && (Campo2 != 46) && (Campo2 != 47))
   {
      CNPJ = CNPJ + '-';
      Campo.value = CNPJ; 
   }

   if(CNPJ.length == 18)
   {
      var Valor1 = (CNPJ.substring(0,2));
      var Valor2 = (CNPJ.substring(3,6));
      var Valor3 = (CNPJ.substring(7,10));
      var Valor4 = (CNPJ.substring(11,15));
      var Valor5 = (CNPJ.substring(16,18));
      var Valor6 = Valor1 + Valor2 + Valor3 + Valor4 + Valor5;
      
      if(soNumeros(Valor6))
      { 
         if(cnpjValido(Valor6))
         {
            return;
         }
         else
         {
            Campo.focus();
            alert("O número do CNPJ digitado não é válido. Por favor, digite novamente.");
            Campo.value = '';
         }
      }
      else
      {
         Campo.focus();
         alert("O campo CNPJ aceita apenas números. Por favor, digite novamente.");
         Campo.value = "";      
      }
   }    
    //return true;
}

function cnpjValido(Campo)
{
   var CNPJ = Campo;
   var valido = false;
   var soma = 0;

   if ( soNumeros(Campo, "CNPJ") == false )
      return false;

   if ( CNPJ == "00000000000000" )
      CNPJ = "0";

   if (CNPJ.length == 14)
   {
      for (i=0, j=5; i < 12; i++)
      {  soma += j-- * (CNPJ.charAt(i) - '0');
         if (j < 2) j = 9;
      }
      soma = 11 - (soma % 11);
      if (soma > 9) soma = 0;
      if (soma == (CNPJ.charAt(12) - '0'))
      {
         soma = 0;
         for (i=0, j = 6; i < 13; i++)
         {  soma += j-- * (CNPJ.charAt(i) - '0');
            if (j < 2) j = 9;
         }
      }
      soma = 11 - (soma % 11);
      if (soma > 9) soma = 0;
	
	  algarismoDiferente = false;
      primeiraVez = true;
	  for (i=0; i <= 13; i++){
         	//VERIFICA SE EXISTE ALGARISMOS DIFERENTES NA SEQUÊNCIA QUE COMPÕEM O CNPJ     	
         	if (algarismoDiferente == false){
	             //ARMAZENO O PRIMEIRO ALGARISMO
		         if (primeiraVez == true){
		         	primeiroAlgarismo = CNPJ.charAt(i);
		         	primeiraVez = false;
		         }else{
		            //VERIFICA SE O ALGARISMO CORRENTE É DIFERENTE DO PRIMEIRO
					//alert(primeiroAlgarismo);
					//alert(CNPJ.charAt(i));
					
		         	if (primeiroAlgarismo != CNPJ.charAt(i)){
		      			algarismoDiferente = true;   		
		         	}
		         }
			}    
         }
	  
      if (soma == (CNPJ.charAt(13) - '0') && (algarismoDiferente == true))
         return true;
   }
   else
      valido = false;

   if (valido)
   {  
   	  Campo.focus();
      alert("O número do CNPJ não foi digitado ou não é válido!");
   }
   return (valido);
}


function FormataCEP(Campo){

	var CEP = '';

	if (Campo.value.length == 5){
		Campo.value += "-";
	}

	CEP = Campo.value ;   
	
	if(CEP.length == 9)
	{
	      var Valor1 = (CEP.substring(0,5));
	      var Valor2 = (CEP.substring(6,9));
	      var Valor3 = Valor1 + Valor2;
	
              if(!soNumeros(Valor3))
              {
              		Campo.focus();
			alert("O campo CEP aceita apenas números. Por favor, digite novamente.");
			Campo.value = "";      
              }
        }

}

function cepValido(Campo)
{
   if ((soNumeros(Campo,"CEP")==false) || (Campo.value==""))
   {  return (false); 
   }   
   else
   if (Campo.value.length != 8) 
   {  Campo.focus();
      alert("O número do CEP digitado não é válido. Por favor, digite novamente.");
      return false;
   }
   else
      return true;
}


function ValidarData(CampoData)
{
   if (CampoData.value == '')
   		return true;
   		
   var Dia = '';
   var Mes = '';
   var Ano = '';
      
   Situacao = true;
   ErroBisexto = "";
   
   Dia = (CampoData.value.substring(0,2));
   Mes = (CampoData.value.substring(3,5));
   Ano = (CampoData.value.substring(6,10));

   	if ( (Mes == '01') || (Mes == '03') || (Mes == '05') || (Mes == '07') || (Mes == '08') || (Mes == '10') || (Mes == '12') ){
		NumMaxDias = 31;
	
	}else if ( (Mes == '04') || (Mes == '06') || (Mes == '09') || (Mes == '11') ){
		NumMaxDias = 30;
	
	}else {
		
		//Verifica se o ano informado é Bisexto
	   if (isAnoBisexto(Ano) == true) {
	   		NumMaxDias = 29;
			if (Dia > 29) {
				ErroBisexto += "O ano Bisexto possui apenas 29 dias para o mês de Fevereiro.";
				Situacao = false;
	   		}
		}else{
			NumMaxDias = 28;
			if (Dia > 28) {
				ErroBisexto += "O ano de " + Ano + " não é Bisexto, portanto, possui apenas 28 dias para o mês de Fevereiro.";
				Situacao = false;
	  		}
	   	}
	}	
	
	// Verifica se: 
	//		Campo data informado possui 10 posições (dd/mm/yyyy)
	//		Campo Mês infomado está no intervalo entre 1(um) e 12(doze)
	//		Campo Dia infomado está no intervalo previsto para o Mês/Ano passado
	//		Não houve validações fracassadas anteriormente
   if ((CampoData.value.length < 10) || (Mes > 12) || (Mes < 1) || (Dia > NumMaxDias) || (Dia < 1) || (!Situacao)){
   		Situacao = false;
   }else{ 		
	   try {
	   		var data = new Date(Ano, Mes-1, Dia);
	   		//alert (data);
	   		Situacao = (data != 'NaN') && (data != 'Invalid Date');
	   }catch (e){
	   		Situacao = false;
	   }
   }
   if (!Situacao){
   	  var CampoDataDigitada = CampoData.value;
	  CampoData.value = '';
	  alert("Data inválida: " + CampoDataDigitada + ". " + ErroBisexto);
      CampoData.focus();
   }
      
   return Situacao;
}

/* Verifica se o ano passado é bisexto */
function isAnoBisexto(intAno) {
	if (intAno % 100 == 0){
		if (intAno % 400 == 0){ 
			return true; 
		}
	}else{
		if ((intAno % 4) == 0){
			return true;
		}
	}
	return false;
}


//_________________________________________________________________________________________________
//valida data de nascimento
//_________________________________________________________________________________________________
function validaNascimento(data){
	re =/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/
	if(!re.test(data)){
		return false;
	}
    hoje = new Date();
    anoAtual = hoje.getFullYear();
	mesAtual = hoje.getMonth()+1;
	diaAtual = hoje.getDate();	
    barras = data.split("/");
    dia = barras[0];
    mes = barras[1];
	ano = barras[2];
	resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= (anoAtual-23) && mes <= mesAtual && dia <= diaAtual && ano >= 1900));
	if(ano<(anoAtual-18)) return true
	else if(ano==(anoAtual-18)){
		if(mes<mesAtual) return true
		else if(mes==mesAtual){
			if(dia<=diaAtual) return true
		}
	}
}

