//Função de redirecionamento
function redireciona(url){
	window.location.replace(url);
}
//#################################################################

// Função que retira caracteres invalidos da string
function Limpar(valor, validos) {
	var result = "";
	var aux;
	for (var i=0; i < valor.length; i++) {
   	aux = validos.indexOf(valor.substring(i, i+1));
		if (aux>=0) {
			result += aux;
		}
	}
	return result;
}
//#################################################################

//Função Formata Valor
function FormataValor(campo,tammax,teclapres) {
	var tecla = tecla=(window.event)?teclapres.keyCode:teclapres.which;
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=2;
	if (tam < tammax && tecla != 8) { tam = vr.length + 1;}
	if (tecla == 8 ) { tam = tam - 1; }
	if ( tecla == 8 || tecla >= 48 && tecla <= 57){
		if (tam <= dec) { campo.value = vr; }
		if ( (tam > dec) && (tam <= 5 ) ){ campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ); }
		if ( (tam >= 6 ) && (tam <= 8 ) ){ campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
		if ( (tam >= 9 ) && (tam <= 11) ){ campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
		if ( (tam >= 12) && (tam <= 14) ){ campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); }
		if ( (tam >= 15) && (tam <= 17) ){ campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ); }
		return true;
	}
	return false;
}
//#################################################################

//Função para bloquear teclas não numéricas
function Tecla(e){
    var tecla=(window.event)?event.keyCode:e.which;
    
	if ( tecla > 47 && tecla < 58 )
	{
		return true;
	}
    else
	{
    	if (tecla != 8 && tecla != 46)
		{
			return false;
		}
	    else 
		{
			return true;
		}
    }
}
//#################################################################

// Função de máscara de campo text
String.prototype.mask = function(m, campo) {
	function fnVerificaChar(char){
		if (char != ""){
			formatacao = " .-/,():|!\@$%&*_}][{?;".split("");
			
			for (var pos=0; pos<formatacao.length; pos++){
				if (char == formatacao[pos])
					return true;
			}
			
			return false;
		}		
	}
	
	if (this.length > 0){
		var str = this.split("");
		var result="";
	    for(var i = 0; i < str.length; i++){
			if (!fnVerificaChar(str[i])){
				result += str[i];
			}
		}
				
		valor = result;
	}else{
		valor = "";
	}

	var m, l = (m = m.split("")).length, s = valor.split(""), j = 0, h = "";
    for(var i = -1; ++i < l;)
        if(m[i] != "#"){
            if(m[i] == "\\" && (h += m[++i])) continue;
            h += m[i];
            i + 1 == l && (s[j - 1] += h, h = "");
        }else{
            if(!s[j] && !(h = "")) break;
            (s[j] = h + s[j++]) && (h = "");
        }
		
    document.getElementById(campo).value = s.join("") + h;
};
//#################################################################

//Função máscara numérico
String.prototype.formatNumber = function(dec){
	var str = this;
	if (dec == 0 || dec == null)
	{
		dec = 2;
	
	}
	if (str != null)
	{
		str = str.Clear("d");
		var div = "";
		var result = "";
		var cont = 0;
		for (var i = str.length; i>-1;i--)
		{
			cont++;
			if (result.length == dec && div == "")
			{
				div = ",";
				result = div + result;
				div = ".";
				cont = 0;
			}else
				if (cont == 3)
				{
					result = div + result;
					cont = 0;
				}
				
			result = str.charAt(i) + result;
		}

		if (result == "undefined") result = " ";
		
		return result;
	}
}
//#################################################################

String.prototype.Clear = function(char)
{
	var str = this;
	if (char == "d")
		var dig = /[0-9]/;
	else if(char == "c")
		var dig = /[A-Z]/i;
		
	if (str != null)
	{
		var text = '';
		var result = '';
		for (var i=0; i<str.length;i++)
		{
			text = str.charAt(i);
			if (char == "d" || char == "c")
			{
				if (dig.test(text))
					result += text;
			}
			else
			{
				if (text != char)
					result += text;
			}
		}
		
		if (result == "undefined") result = " ";
		return result;
	}
}
//#################################################################

//Função para testar se e-mail é válido
function checkMail(mail){
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; } else {
			alert('Por favor, informe um endereço de e-mail válido.');
			return false;
		}
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
			return true;
		} else {
			alert('Por favor, informe um endereço de e-mail válido.');
			return false;
		}
    }else{
		alert('Por favor, informe um endereço de e-mail válido.');
        return false;
	}
}
//#################################################################

//Função para testar se e-mail é válido
function validaEmail(campo){
	regexp_email = /^[a-z0-9\-](\.?\w)*(\-?\w)*@[a-z0-9\-]+(\.[a-z0-9]+)*(\.[a-z0-9]{2,4})$/i;
	
	if (document.getElementById(campo).value == ""){
		alert ('Por favor insira seu email');
		document.getElementById(campo).focus();
		return false;
	}else if (!regexp_email.test(document.getElementById(campo).value)){
		alert('Por favor, digite um e-mail válido')
		document.getElementById(campo).focus();
		return false;
	}
}
//#################################################################

//Função para testar se o formato do arquivo é permitido
function verifica_extencao(campo){
	
	var extensoesOk = ",.doc,.pdf,";
	var extensao = "," + document.getElementById(campo).value.substr(document.getElementById(campo).value.length - 4 ).toLowerCase() + ",";
	
	if(document.getElementById(campo).value == ''){
		alert('Este campo é de preenchimento obrigatório!');
		document.getElementById(campo).focus();
		return false;
	}else if(extensoesOk.indexOf( extensao ) == -1 ){ 
		alert(document.getElementById(campo).value + '\nNão possui uma extensão válida!\nSó serão aceitos arquivos .doc ou .pdf!');
		document.getElementById(campo).focus();
		return false;
	}
}

//Função para validar campos radio e checkbox
function ValidarRadio(form, nome, tipo)
{
	if ((form != "") && (nome != ""))
	{
		var forms = document.getElementById(form);
		
		for (var i=0; i<forms.elements.length; i++)
		{
			if ((forms.elements[i].type == tipo) && (forms.elements[i].name == nome))
			{
				if (forms.elements[i].checked)
				{
					return true;
				}
			}
		}
		
		return false;
	}
	else
	{
		return false;
	}
}

//INICIO FUNÇOES UTILIZADAS NO ENVIO DE NEWSLETTER
function limparBD(pagina,acao,id){
	
	if (document.getElementById('newsgrupos').value == ""){
		alert('Selecione o grupo de usuários que deseja preparar para o envio!');
		document.getElementById('newsgrupos').focus();
		return false;
	}else{
		var grupo = (document.getElementById('newsgrupos').value);
		var url = pagina+'?acao='+acao+'&newsgrupo='+grupo+'&id='+id;
		redireciona(url);
	}
}	
function validarEnvioNews(){
	if (document.getElementById('email_de').value == ''){
		alert('Obrigatório o preenchimento do campo E-mail de');
		document.getElementById('email_de').focus();
		return false;
	}
	
	if (ValidarRadio('frmnews','tipo','radio') == false){
		alert('Obrigatório a seleção do tipo de envio');
		document.getElementById('tipo1').focus();
		return false;
	}
	
	if ( (document.getElementById('tipo1').checked) && (document.getElementById('newsgrupos').value == '') ){
		alert('Selecione o grupo de usuários que deseja enviar!');
		document.getElementById('newsgrupos').focus();
		return false;
	}else if ( (document.getElementById('tipo2').checked) && (document.getElementById('email').value == '') ){
		alert('Obrigatório informar o e-mail do usuário');
		document.getElementById('email').focus();
		return false;
	}
}
function MostraEnviarPara(){
	document.getElementById('trEnviarPara').style.display = '';		
	document.getElementById('newsgrupos').disabled = '';		
	document.getElementById('btLimpar').style.display = '';		
}
function EscondeEnviarPara(){
	document.getElementById('trEnviarPara').style.display = 'none';		
	document.getElementById('newsgrupos').disabled = 'disabled';		
	document.getElementById('btLimpar').style.display = 'none';		
}
//FIM FUNÇOES UTILIZADAS NO ENVIO DE NEWSLETTER

//Criado por: Ulisses Teles
//Data: 24/02/2010
//Modificado por: Ulisses Teles
//Data: 07/04/2010
//Projeto: TTG, Grotadas, Somer
//Objetivo: valida form de contato antes de enviá-lo
function validarFormContato(){
	
	regexp_email = /^[a-z0-9\-](\.?\w)*(\-?\w)*@[a-z0-9\-]+(\.[a-z0-9]+)*(\.[a-z0-9]{2,4})$/i;
	
	if(document.getElementById("nome").value == ""){
		alert('Por favor, insira seu nome');
		document.getElementById("nome").focus();
		return false;
	}

	if(document.getElementById("fone").value == ""){
		alert('Por favor, insira seu telefone');
		document.getElementById("fone").focus();
		return false;
	}

	if (document.getElementById("email").value == ""){
		alert ('Por favor, insira seu email');
		document.getElementById("email").focus();
		return false;
	}else if (!regexp_email.test(document.getElementById("email").value)){
		alert('Por favor, digite um e-mail válido')
		document.getElementById("email").focus();
		return false;
	}

	if(document.getElementById("msg").value == ""){
		alert('Por favor, digite sua mensagem');
		document.getElementById("msg").focus();
		return false;
	}

	return true;
	
}
// FIM FUNÇÃO validarFormContato ####

//Criado por: Ulisses Teles
//Data: 24/02/2010
//Modificado por:
//Data:
//Projeto: TTG
//Objetivo: valida form de envio de currículo antes de enviá-lo
function validarFormCurriculo(){
	
	regexp_email = /^[a-z0-9\-](\.?\w)*(\-?\w)*@[a-z0-9\-]+(\.[a-z0-9]+)*(\.[a-z0-9]{2,4})$/i;
	
	if(document.getElementById("nome2").value == ""){
		alert('Por favor, insira seu nome');
		document.getElementById("nome2").focus();
		return false;
	}
	
	if (document.getElementById("email2").value == ""){
		alert ('Por favor, insira seu email');
		document.getElementById("email2").focus();
		return false;
	}else if (!regexp_email.test(document.getElementById("email2").value)){
		alert('Por favor, digite um e-mail válido')
		document.getElementById("email2").focus();
		return false;
	}
	
	if (document.getElementById('arquivo').value == ""){
		alert ('Por favor, selecione o arquivo do seu currículo!');
		document.getElementById('arquivo').focus();
		return false;
	}else{
		var extensoesOk = ",.doc,.pdf,";
		var extensao = "," + document.getElementById('arquivo').value.substr(document.getElementById('arquivo').value.length - 4 ).toLowerCase() + ",";
		
		if(extensoesOk.indexOf(extensao) == -1 ){ 
			alert(document.getElementById('arquivo').value + '\nNão possui uma extensão válida!\nSó serão aceitos arquivos .doc ou .pdf!');
			document.getElementById('arquivo').focus();
			return false;
		}
	}
	
	return true;
}
// FIM FUNÇÃO validarFormCurriculo ####

//Criado por: Ulisses Teles
//Data: 25/02/2010
//Modificado por:
//Data:
//Projeto: TTG
//Objetivo: valida form de suporte antes de enviá-lo
function validarFormSuporte(){
	
	regexp_email = /^[a-z0-9\-](\.?\w)*(\-?\w)*@[a-z0-9\-]+(\.[a-z0-9]+)*(\.[a-z0-9]{2,4})$/i;
	
	if(document.getElementById("nome").value == ""){
		alert('Por favor, insira seu nome');
		document.getElementById("nome").focus();
		return false;
	}
	
	if (document.getElementById("equipamento").value == ""){
		alert ('Por favor, informe seu equipamento');
		document.getElementById("equipamento").focus();
		return false;
	}

	if (document.getElementById("contador").value == ""){
		alert ('Por favor, informe o contador');
		document.getElementById("contador").focus();
		return false;
	}

	if (document.getElementById("email").value == ""){
		alert ('Por favor, informe seu email');
		document.getElementById("email").focus();
		return false;
	}else if (!regexp_email.test(document.getElementById("email").value)){
		alert('Por favor, digite um e-mail válido')
		document.getElementById("email").focus();
		return false;
	}
	
	if(document.getElementById("telefone").value == ""){
		alert('Por favor, insira seu telefone');
		document.getElementById("telefone").focus();
		return false;
	}
	
	if(document.getElementById("msg").value == ""){
		alert('Por favor, digite sua mensagem');
		document.getElementById("msg").focus();
		return false;
	}
	
	return true;
}
// FIM FUNÇÃO validarFormSuporte ####


//Criado por: 
//Data: 
//Modificado por: Ulisses Teles
//Data: 06/04/2010
//Projeto: SOS dos Fogões; Somer
//Objetivo: validar CNPJ
function validarCnpj(s){
	var i;
	
	s = limpa_string(s);
	
	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 false;
	
	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) d1 = 0;
	
	if (dv.charAt(0) != d1){ return 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 false; }
	
	return true;
}
// FIM FUNÇÃO validarCnpj ####


function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	var inti;	
	
	for (var i=0; i<S.length; i++) {
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0){ temp = temp + digito }
	} //for
	return temp
}


//Criado por: Ulisses Teles
//Data: 06/04/2010
//Modificado por: 
//Data: 
//Projeto: Somer
//Objetivo: valida form de cadastro de cliente do sysadmin antes de enviá-lo
function validarFormCadCliente(){

	regexp_email = /^[a-z0-9\-](\.?\w)*(\-?\w)*@[a-z0-9\-]+(\.[a-z0-9]+)*(\.[a-z0-9]{2,4})$/i;

	if(document.getElementById('clienteRazaoSocial').value == ""){
		alert('O campo Razão Social é obrigatório!');
		document.getElementById('clienteRazaoSocial').focus();
		return false;
	}

	var cnpj = document.getElementById("clienteCnpj").value;
	if(cnpj == ""){
		alert('O campo CNPJ é obrigatório!');
		document.getElementById('clienteCnpj').focus();
		return false;
	}else{
		var resultado = validarCnpj(cnpj);
		if (resultado == false){
			alert('Por favor, digite um CNPJ válido');
			document.getElementById('clienteCnpj').focus();
			return false;
		}
	}

	if(document.getElementById('clienteEmail').value == ""){
		alert('O campo E-mail é obrigatório!');
		document.getElementById('clienteEmail').focus();
		return false;
	}else if(!regexp_email.test(document.getElementById("clienteEmail").value)){
		alert('Por favor, digite um e-mail válido')
		document.getElementById("clienteEmail").focus();
		return false;
	}
	
	return true;

}
// FIM FUNÇÃO validarFormCadCliente ####

//Criado por: Ulisses Teles
//Data: 15/04/2010
//Modificado por: 
//Data: 
//Projeto: Somer
//Objetivo: valida form de data
function validarFormData(){
	
	if(document.getElementById("marcacaoData").value == ""){
		alert('Por favor, informe uma data');
		document.getElementById("marcacaoData").focus();
		return false;
	}
	
	return validaData('marcacaoData');

}
// FIM FUNÇÃO validarFormData ####

//Criado por: 
//Data: 
//Modificado por: Ulisses Teles
//Data: 15/04/2010
//Projeto: Epoca, Somer
//Objetivo: valida data
function validaData(pStr){

	var reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	
	vr = document.getElementById(pStr).value;

	if (reDate.test(vr)){
	}else if (vr != null && vr != ""){
		alert("A data digitada NÃO está correta.\nVerifique se está digitada no formato dd/mm/aaaa");
		document.getElementById(pStr).focus();

		return false;
	}

	return true;
}
// FIM FUNÇÃO validaData ####

//Criado por: Ulisses Teles
//Data: 15/04/2010
//Modificado por: 
//Data: 
//Projeto: Somer
//Objetivo: valida form de agendamento de consulta antes de enviá-lo
function validarFormAgenda(marcacaoData){
	var hoje = new Date();

	var ano = hoje.getFullYear();
	var mes = hoje.getMonth() + 1; if(mes<10) mes = "0" + mes;
	var dia = hoje.getDate(); if(dia<10) dia = "0" + dia;

	var marcacaoDataSplit = marcacaoData.split("/");
	if(marcacaoDataSplit[2]+marcacaoDataSplit[1]+marcacaoDataSplit[0]<ano+mes+dia){
		alert('A data não pode ser anterior à data de hoje.\nPor favor, informe outra data');
		return false;
	}

	if(!document.formAgendar.marcacaoHorario[0].checked && 
		!document.formAgendar.marcacaoHorario[1].checked &&
		!document.formAgendar.marcacaoHorario[2].checked &&
		!document.formAgendar.marcacaoHorario[3].checked &&
		!document.formAgendar.marcacaoHorario[4].checked &&
		!document.formAgendar.marcacaoHorario[5].checked &&
		!document.formAgendar.marcacaoHorario[6].checked &&
		!document.formAgendar.marcacaoHorario[7].checked &&
		!document.formAgendar.marcacaoHorario[8].checked &&
		!document.formAgendar.marcacaoHorario[9].checked &&
		!document.formAgendar.marcacaoHorario[10].checked &&
		!document.formAgendar.marcacaoHorario[11].checked &&
		!document.formAgendar.marcacaoHorario[12].checked &&
		!document.formAgendar.marcacaoHorario[13].checked &&
		!document.formAgendar.marcacaoHorario[14].checked &&
		!document.formAgendar.marcacaoHorario[15].checked &&
		!document.formAgendar.marcacaoHorario[16].checked &&
		!document.formAgendar.marcacaoHorario[17].checked &&
		!document.formAgendar.marcacaoHorario[18].checked &&
		!document.formAgendar.marcacaoHorario[19].checked &&
		!document.formAgendar.marcacaoHorario[20].checked &&
		!document.formAgendar.marcacaoHorario[21].checked &&
		!document.formAgendar.marcacaoHorario[22].checked &&
		!document.formAgendar.marcacaoHorario[23].checked &&
		!document.formAgendar.marcacaoHorario[24].checked &&
		!document.formAgendar.marcacaoHorario[25].checked &&
		!document.formAgendar.marcacaoHorario[26].checked &&
		!document.formAgendar.marcacaoHorario[27].checked &&
		!document.formAgendar.marcacaoHorario[28].checked &&
		!document.formAgendar.marcacaoHorario[29].checked &&
		!document.formAgendar.marcacaoHorario[30].checked &&
		!document.formAgendar.marcacaoHorario[31].checked &&
		!document.formAgendar.marcacaoHorario[32].checked &&
		!document.formAgendar.marcacaoHorario[33].checked &&
		!document.formAgendar.marcacaoHorario[34].checked &&
		!document.formAgendar.marcacaoHorario[35].checked &&
		!document.formAgendar.marcacaoHorario[36].checked &&
		!document.formAgendar.marcacaoHorario[37].checked &&
		!document.formAgendar.marcacaoHorario[38].checked &&
		!document.formAgendar.marcacaoHorario[39].checked &&
		!document.formAgendar.marcacaoHorario[40].checked &&
		!document.formAgendar.marcacaoHorario[41].checked &&
		!document.formAgendar.marcacaoHorario[42].checked &&
		!document.formAgendar.marcacaoHorario[43].checked &&
		!document.formAgendar.marcacaoHorario[44].checked &&
		!document.formAgendar.marcacaoHorario[45].checked &&
		!document.formAgendar.marcacaoHorario[46].checked &&
		!document.formAgendar.marcacaoHorario[47].checked){
		alert('Por favor, informe o horário do exame');
		return false;
	}

	if (document.getElementById("nomeFuncionario").value == ""){
		alert ('Por favor, informe o nome do funcionário');
		document.getElementById("nomeFuncionario").focus();
		return false;
	}

	if (document.getElementById("funcaoFuncionario").value == ""){
		alert ('Por favor, informe a função do funcionário');
		document.getElementById("funcaoFuncionario").focus();
		return false;
	}

	if(document.getElementById("setorFuncionario").value == ""){
		alert('Por favor, informe o setor do funcionário');
		document.getElementById("setorFuncionario").focus();
		return false;
	}
	
	if(!document.formAgendar.naturezaExame[0].checked && 
		!document.formAgendar.naturezaExame[1].checked &&
		!document.formAgendar.naturezaExame[2].checked &&
		!document.formAgendar.naturezaExame[3].checked &&
		!document.formAgendar.naturezaExame[4].checked &&
		!document.formAgendar.naturezaExame[5].checked){
		alert('Por favor, informe a natureza do exame');
		return false;
	}
	
	return true;
}
// FIM FUNÇÃO validarFormAgenda ####

//Criado por: Ulisses Teles
//Data: 03/05/2010
//Modificado por: 
//Data: 
//Projeto: Somer
//Objetivo: selecionar todos checkbox de um formulário
function selecionarTudo(){
   for (i=0; i<document.formAgendar.elements.length; i++)
      if(document.formAgendar.elements[i].type == "checkbox"){
		  document.formAgendar.elements[i].checked=1;
	  }
}
// FIM FUNÇÃO selecionarTudo ####

//Criado por: Ulisses Teles
//Data: 03/05/2010
//Modificado por: 
//Data: 
//Projeto: Somer
//Objetivo: deselecionar todos checkbox de um formulário
function deselecionarTudo(){
   for (i=0; i<document.formAgendar.elements.length; i++)
      if(document.formAgendar.elements[i].type == "checkbox"){
		  document.formAgendar.elements[i].checked=0;
	  }
} 
// FIM FUNÇÃO deselecionarTudo ####


