// JavaScript Document


// para aumentar ou diminuir o tamanho das fontes da tela
// -------------------------------------------------------------------------------------------------------------------------------------------------

	//Specify affected tags. Add or remove from list:
	var tgs = new Array( 'div' );
	
	//Specify spectrum of different font sizes:
	var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );
	var startSz = 2;
	
	function ts( trgt,inc ) {
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 4 ) sz = 4;
	startSz = sz;
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
	
	cEl.style.fontSize = szs[ sz ];
	
	for ( i = 0; i < tgs.length; i++ ) {
	cTags = cEl.getElementsByTagName( tgs[ i ] );
	for ( j = 0; j < cTags.length; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
	}


// AJAX   ----------------------------------------------------------------------------------------------------------------------------------------

function carregarRequest(url, idx, subm)
{
	idBusca = idx;
	http_request = false;
	if (window.XMLHttpRequest)
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
		{ http_request.overrideMimeType('text/xml'); }
	} else if (window.ActiveXObject)
	{ // IE
			try
			{ http_request = new ActiveXObject("Msxml2.XMLHTTP");	} 
			catch (e) 
			{
				try 
				{ http_request = new ActiveXObject("Microsoft.XMLHTTP");	} 
				catch (e) {}
			}
	}

	if (!http_request) 
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	http_request.send(subm);
	
}           

function alertContents() 
{
		if (http_request.readyState == 4){
				if (http_request.status == 200) 
				{
					document.getElementById(idBusca).innerHTML = http_request.responseText;
					proximaFuncao();
				}
				else if (http_request.status == 0)
				{
					document.getElementById(idBusca).innerHTML = http_request.responseText;
					proximaFuncao();
				}
				
				else
				
				{
					alert('There was a problem with the request.Status = ' + http_request.status);
				}
		}
}


// REALIZA PAULA ----------------------------------------------------------------------------------------------------------------------------------------
function pausecomp(millis) 
{
	var date = new Date();
	var curDate = null;
	
	do { curDate = new Date(); } 
	while(curDate-date < millis);
} 



// PROXIMA FUNÇÃO  ----------------------------------------------------------------------------------------------------------------------------------------
function proximaFuncao(){}


// RemoveCaracteres  --------------------------------------------------------------------------------------------------------------------------------------
function removeCaracteres(valor)
{
	var ad = valor.replace(/&/, "");
	var ad = ad.replace(/;/, "");
	var ad = ad.replace(/'/, "");
	var ad = ad.replace(/Ó/, "O");
	return ad
}

// Mascara de Campos  ----------------------------------------------------------------------------------------------------------------------------------------
function Mascara(tipo, campo, teclaPress) {	if (window.event)
	{
		var tecla = teclaPress.keyCode;
	} else {
		tecla = teclaPress.which;
	}
 
	var s = new String(campo.value);
	// Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
 
	tam = s.length + 1;
 
	if ( tecla != 9 && tecla != 8 ) {
		switch (tipo)
		{
		case 'CPF' :
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
		break;
 
		case 'CNPJ' :
 
			if (tam > 2 && tam < 6)
				campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
			if (tam >= 9 && tam < 13)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
			if (tam >= 13 && tam < 15)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
		break;
 
		case 'TEL' :
			if (tam > 2 && tam < 4)
				campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
			if (tam >= 7 && tam < 11)
				campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
		break;
 
		case 'DATA' :
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
			if (tam > 4 && tam < 11)
				campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
		break;
		
		case 'HORA' :
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0,2) + ':' + s.substr(2, tam);
		break;
		
		case 'CEP' :
			if (tam > 5 && tam < 9)
				campo.value = s.substr(0,5) + '-' + s.substr(5,tam);
		break;

		
		}
	}
}


// VALOR DE RADIOBOX  --------------------------------------------------------------------------------------------------------------------------------------
function valorRadio(campo){
var blnFlag = false;
radios = document.getElementsByName(campo);
for(i=0; i<radios.length; i++) // percorre os radios e verifica qual radio está marcado
	{
		if (radios[i].getAttribute("type") == "radio" && radios[i].checked == true) // se for input do tipo radio e estiver marcado           
		{resposta = radios[i].value; blnFlag = true;}
	}
		if (blnFlag == false) {
			var resposta = null;
			return resposta;
			stop;
		}
		return resposta;
}


// SOMENTE NUMEROS  ----------------------------------------------------------------------------------------------------------------------------------------
function SomenteNumero(e){
var tecla;   
  if (e.keyCode) { // IE   
    tecla = e.keyCode;   
  }   
  else if (e.which) { // Firefox
    tecla = e.which;
  }   
  else { // Sei lá! :P   
    return false;   
  }
  
    if ((tecla != 9) && (tecla != 8)){
  return !(tecla < 48 || tecla > 57);
  }
}



function removeNL(remover, valorCampo){
   var r = "";
   var erro = false;
   var str = valorCampo;
   
   for (i=0; i < str.length; i++) {
	 for (g=0; g < remover.length; g++)
	 {
	    if (str.charAt(i) == remover.charAt(g))
	 	{erro = true;}
	 }			
	 if (erro == false){
     	r += str.charAt(i);
	 }else{
	 	erro = false;
	 }
   	}
   return r;
   }

// VALIDAÇÕES ----------------------------------------------------------------------------------------------------------------------------------------
function ValidaData(cData, Identificacao){

	var data = cData.value;
    var tam = data.length;
	
	if(tam > 0 ){
	
    if (tam != 10) {
		alert(Identificacao + ' tamanho inválida');
		return false;}
	
    var dia = data.substr(0,2);
    var mes = data.substr(3,2);
    var ano = data.substr(6,4);
	
       if (ano < 2009) {
		   alert(Identificacao + ' ano inválido');
 		   return false;
        }
    if (ano > 2010)     {
		alert(Identificacao + ' ano inválido');
		return false;
        }

        switch (mes) {
  case '01':
         if  (dia <= 31) 
    return (true);
         break;
  case '02':
         if  (dia <= 29) 
    return (true);
         break;
  case '03':
         if  (dia <= 31) 
    return (true);
         break;
  case '04':
         if  (dia <= 30) 
    return (true);
         break;
  case '05':
         if  (dia <= 31) 
    return (true);
         break;
  case '06':
         if  (dia <= 30) 
    return (true);
         break;
  case '07':
         if  (dia <= 31) 
    return (true);
         break;
  case '08':
         if  (dia <= 31) 
    return (true);
         break;
  case '09':
         if  (dia <= 30) 
    return (true);
         break;
  case '10':
         if  (dia <= 31) 
    return (true);
         break;
  case '11':
         if  (dia <= 30) 
    return (true);
         break;
  case '12':
         if  (dia <= 31) 
    return (true);
         break;
        }
        {
  return false;
  alert(Identificacao + ' data inválida');
        }
        return true; 
}
}


// Funcao Valida Hora ---------------------------------------------------------------------------------------------------------------------------------------
function validaHora(cData, Identificacao){
var data = cData.value;

//alert('data = ' & data);

if (data){
var tam = data.length;
var hora = data.substr(0,2);
var minu = data.substr(3,2);

//alert ('tam = ' + tam);

	if(tam > 0 ){
		
		if (tam != 5) {
			alert(Identificacao + ' inválida');
			retorno = false;
			return retorno;}

			if ((hora < 00 ) || (hora > 23) || ( minu  < 00) ||( minu  > 59))
			{	
				alert(Identificacao + ' inválida');
				retorno = false;
				return retorno;
			}
	}
}
}

function ValidaEmail(campo){
	var resultado = true;
	if(campo.value.length > 0 ){
	var regexEmail = /^(([^<>()[\]\\.,;áàãâäéèêëíìîïóòõôöúùûüç:\s@\""]+(\.[^<>()[\]\\.,;áàãâäéèêëíìîïóòõôöúùûüç:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$$/;
	
     if (regexEmail.test(campo.value)) {
          return;
     }
     else{
		  
		  alert('e-mail inválido');
		  //campo.value = '';
		  resultado = false;
          return resultado;
     }
}
}


function validaCPF(campo) {
				if(campo.value.length > 0 ){
				cpf = removeNL('.-', campo.value);
                erro = new String;
                 if (cpf.length < 11) erro += "CPF inválido. \n"; 
                 var nonNumbers = /\D/;
                 if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \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 +="CPF Inválido!";
               }
               if (erro.length > 0){
                       alert(erro);
                       return false;
               }
               //return true;
       }
}

// Valida CNPJ ------------------------------------------------------------------------
function validaCNPJ(campo) {
				if(campo.value.length > 0 ){
				 CNPJ = removeNL('.-', campo.value);
                 erro = new String;
                 if (CNPJ.length < 14) erro += "Preencher corretamente o número do CNPJ \n\n"; 
				 
				 // Verifica se o usuário só digitou zeros
				 if (CNPJ == '00000000000000') erro += "Numero de CNPJ invalido";
				 
                 //substituir os caracteres que não são números
               if(document.layers && parseInt(navigator.appVersion) == 4){
                       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; 
               } else {
                       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){
                       alert(erro);
                       return false;
               } else {
                       //alert("CNPJ valido!");
               }
               return true;
       }
}



// Funcao Valida E-mail ------------------------------------------------------------------------------------------------------------------------------------
function ValidaEmail(campo){
	var resultado = true;

	if(campo.value.length > 0 ){
	var regexEmail = /^(([^<>()[\]\\.,;áàãâäéèêëíìîïóòõôöúùûüç:\s@\""]+(\.[^<>()[\]\\.,;áàãâäéèêëíìîïóòõôöúùûüç:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$$/;
	
     if (regexEmail.test(campo.value)) {
          return;
     }
     else{
		  
		  alert('e-mail inválido');
		  //campo.value = '';
		  resultado = false;
          return resultado;
     }
}
}


// Campo Obrigatório ---------------------------------------------------------------------------------------------------------------------------------------
function campoObrigatorio(campo, legenda, tamMin)
	{
		var retorno = true;
		var tamCampo = document.getElementById(campo).value.length;
		var campos = document.getElementById(campo).value;
		
		//alert('Valor do Campo = ' + campos + ' tamMin = ' + tamMin + ' tamCampo = ' + tamCampo);
		if (tamCampo < tamMin){
				if (legenda.length > 0 ){ alert(legenda);}
				retorno = false;
				return retorno;
		}
	}



// RADIO OBRIGATÓRIO ---------------------------------------------------------------------------------------------------------------------------------------
function radioObrigatorio(campo, legenda){
var tamNome = (legenda.length);
var blnFlag = false;
radios = document.getElementsByName(campo);
for(i=0; i<radios.length; i++) // percorre os radios e verifica qual radio está marcado
	{
		if (radios[i].getAttribute("type") == "radio" && radios[i].checked == true) // se for input do tipo radio e estiver marcado           
		{
			blnFlag = true;
		}
	}
	
	if (blnFlag == false) 
	{
		alert(legenda);
		retorno = false;
		return retorno;
	} 
}


// Determina o foco no campo de formulário ------------------------------------------------------------------------------------------------------------------
function foco(VAL){
	VAL.style.border = "2px solid #00FF00";
	VAL.style.backgroundColor = '#FFFFEA';}

function semfoco(VAL)	{
	VAL.style.border = "1px solid #AEAEE3";
	VAL.style.backgroundColor = '#FFFFFF';}


// Letras em caixa alta e caixa baixa
function CapsLock(inputString){
  return inputString.toUpperCase();}

function SmallCaps(inputString){
  return inputString.toLowerCase();}
  
