/* Relógio */
/*
function hora()
{
	var dataDiv = document.getElementById("dataDiv");
	var horaDiv = document.getElementById("horaDiv");
	
	var now = new Date();
	var dia = now.getDate();
	var mes = now.getMonth() + 1;
	var ano = now.getFullYear();
	var data = "" + ((dia < 10) ? "0" + dia : dia)+ "/";
		data+= "" + ((mes < 10) ? "0" + mes : mes)+ "/";
		data+= ano;
	
	var hora 	= now.getHours();
	var minuto 	= now.getMinutes();
	var segundo	= now.getSeconds();
	
	var horas =  ((hora < 10) ? "0" : "") + hora;
		horas += ((minuto < 10) ? ":0" : ":") + minuto;
		horas += ((segundo < 10) ? ":0" : ":") + segundo;
	
	dataDiv.innerHTML = data;
	horaDiv.innerHTML = horas;
	setTimeout("hora()",1000);
}

/* Alterna fundo */
function alternaFundo(tr, color)
{
	tr.style.backgroundColor=color;
}


/**
 * Abre uma Janela no centro da Tela
 */
function abreJanela(url, nome, largura, altura, scrollbar, menubar, location, toolbar, statusbar, titlebar, resizable)
{
    x = (screen.width  / 2) - (largura / 2);
	y = (screen.height / 2) - (altura  / 2);
	
	if(scrollbar)
		scrollbar = "scrollbars=yes";
	else
		scrollbar = "scrollbars=no";
		
	if(menubar)
		menubar = "menubar=yes";
	else
		menubar = "menubar=no";
		
	if(location)
		location = "location=yes";
	else
		location = "location=no";
	
	if(toolbar)
		toolbar =  "toolbar=yes";
	else
		toolbar =  "toolbar=no";
		
	if(statusbar)
		statusbar =  "status=yes";
	else
		statusbar =  "status=no";
		
	if(titlebar)
		titlebar  = "titlebar=yes";
	else
		titlebar  = "titlebar=no";
		
	if(resizable)
		resizable = "resizable=yes";
	else
		resizable = "resizable=no";
	
	window.open(url, nome, 'width=' + largura + ',height=' + altura + ',' + location + ',' + menubar + ',' + statusbar + ',' + scrollbar + ',' + titlebar + ',' + resizable + ',left=' + x + ',top=' + y);
}

/**
 * Abre uma Janela Modal no centro da Tela
 */
function abrirJanelaModal(url, nome, largura, altura)
{
    x = (screen.width  / 2) - (largura / 2);
	y = (screen.height / 2) - (altura  / 2);

	if(window.showModalDialog)
		window.showModalDialog(url, nome, "dialogWidth:" + largura + "px;dialogHeight:" + altura + "px");
	else
	{
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
			window.open(url, nome, "width=" + largura + ",height=" + altura + ",resizable=no,modal=yes");
			return true;
		}
		catch (e) {
			window.open(url, nome, 'height=' + altura + ',width=' + largura);
			return false;
		}
	}
}

/**
 * Muda o foco do campo
 * @param campo, recebe o campo atual
 * @param proximo, id do campo que será focado
 * @param total, quantidade de caracteres digitados para mudar o foco
 */
function proximoCampo(src, proximo, total)
{
    if(src.value.length >= total)
    	document.getElementById(proximo).focus();
}

/**
 * Verifica se um determinado valor contém apenas números
 * @return bool
 */
function isInteiro(valor)
{
	var digitos = /^\d+$/;
	
	if(digitos.test(valor))
		return true;

	return false;
}

/**
 * Limpa uma String deixando apenas os numeros
 */
function deixaNumeros(src)
{
	if(src != '')
	{
		var i, letra, aux = '', total = src.length;

		for(i = 0; i < total; i++)
		{
			letra = src.charAt(i);

			if(isInteiro(letra))
				aux += letra;
		}

		return aux;
	}
}
/**
 * Tecla Enter com TAB
 * @example onkeydown="return enterComoTab(event, campoQueVaiReceberFoco)
 */
function enterComoTab(e, campo)
{
	var codigo;
	
	if(!document.all)
		codigo = e.which;
	else
		codigo = event.keyCode;

	if(codigo == 13)
		if(document.getElementById(campo))
			document.getElementById(campo).focus();
}

/**
 * Função que verifica se um determinado ano é bisexto
 */
function anoBisexto(ano)
{
	if(ano % 400 == 0)
		return true;
	else if(ano % 4 == 0 && ano % 100 != 0)
		return true;

	return false;
}

/**
 * Verifica é uma data está no formato dd/mm/aaaa e se a mesma é válida
 */
function verificarData(data, anoInicio, anoFim)
{
	var datas, formato;
	formato = /^\d{1,2}\/\d{1,2}\/\d{2,4}$/;

	if(!formato.test(data))
		return false;
	else
	{
		datas = data.split('/');

		if(validarData(datas[0], datas[1], datas[2], anoInicio, anoFim))
		{
			return true;
		}
		else
			return false;
	}

	return false;
}

/**
 * Verifica se uma data é válida
 */
function validarData(dia, mes, ano, anoInicio, anoFim)
{
	if(!anoInicio)
		anoInicio = 1970;

	if(!anoFim)
	{
		var aux = new Date();
		anoFim  = aux.getFullYear();
	}

	if(isInteiro(dia) && isInteiro(mes) && isInteiro(ano))
	{
		var diaFinal = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		
		if(anoBisexto(ano))
			diaFinal[1] = 29;

		data = new Date(ano, mes, dia);

		if(dia < 1 || dia > diaFinal[data.getMonth() - 1])
			return false;
		
		if(mes < 1 || mes > 12)
			return false;
		
		if(ano < anoInicio || ano > anoFim)
			return false;

		return true;
	}

	return false;
}

function mascaraGenerica(src, mask)
{
	var valor = src.value;
    var i = valor.length;
    var saida = mask.substring(0,1);
    var texto = mask.substring(i);

	if(texto.substring(0, 1) != saida)
    {
        src.value += texto.substring(0,1);
    }
}
/**
 * Inserre as barras na divisão de data, aceita um segunto argumento que indica 
 * qual o campo que será focado após o preenchimento
 * @example onKeyUp="barrasData(this, 'campo a tomar o foco')"
 */
function barrasData(src, proximo)
{
	var largura = src.value.length, inicio = largura - 1;
/*
	if(inicio < 0)
		inicio = 0;

	if(src.value.substring(inicio) == '/')
		src.value = src.value.substring(0, largura - 1);
*/
var limpar = deixaNumeros(src.value);

	if(largura == 2)
		src.value = limpar.substring(0, 2) + '/';
	else if(largura == 5)
		src.value = limpar.substring(0, 2) + '/' + limpar.substring(3, 2) + '/';
	else if(largura > 5)
		src.value = limpar.substring(0, 2) + '/' + limpar.substring(3, 2) + '/' + limpar.substring(5);
	else if(largura == 10)
		proximoCampo(src, proximo, 10);
}

/**
 * Script que verifica se em um determinado formulário existe pelo menos um checkbox selecionado para ser excluído
 */
function excluir(form)
{
	var i;
	var cont = 0;
	var f = document.getElementById(form);
	var total = f.elements.length;

	for(i = 0; i < total; i++)
	{
		if(f.elements[i].type.toLowerCase() == 'checkbox')
			if(f.elements[i].checked)
				cont++;
	} 

	if(cont == 0)
		alert('Selecione pelo menos um Registro para excluir');
	else if(confirm('Deseja realmente excluir os registros selecionados?'))
	    return true;

	return false;
}

//Função para criar o HTTPREQUEST
function criaAjax()
{
	var ajax = false;

    try
	{
        ajax = new XMLHttpRequest();
    }
	catch(ee)
	{
        try
		{
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
        }
		catch(e)
		{
            try{
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
            }
			catch(E)
			{
                ajax = false;
            }
		}
    }
	return ajax;
}

/**
 * Função que retorna todos os valores de um formulário para envio via GET ou POST
 */
function getValues(f)
{
    var i, valores = null, conf = -1, total;

	if(!f)
		total = document.forms[0].elements.length
	else
		total = document.getElementById(f).elements.length

	for(i = 0; i < total; i++)
	{
	    if(valores == null)
	        valores = document.getElementById(f).elements[i].name + "=" + url_encode(document.getElementById(f).elements[i].value);
		else
		    valores += "&" + document.getElementById(f).elements[i].name + "=" + url_encode(document.getElementById(f).elements[i].value);
	}

	return valores;
}

/**
 * Função que faz uma requisição via ajax
 */
function enviarPedido(url, func, valores)
{
    if(!ajax)
	{
	    alert("Seu browser não suporta ajax!");
		return false;
	}

	if(valores == "")
		valores = null;
	
   	ajax.open("POST", url, true);
	// Para envio via POST
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
    
	// Limpa o cache para novas requisições
	ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    ajax.setRequestHeader("Pragma", "no-cache");

    // Chama a função que vai tratar os dados
	ajax.onreadystatechange = func;

    //Envia os dados
	ajax.send(valores);
}

/**
 * Codifica os dados para envio via post por ajax
 *@version 1.0
 */
function url_encode(str) { 
    var hex_chars = "0123456789ABCDEF"; 
    var noEncode = /^([a-zA-Z0-9\_\-\.])$/; 
    var n, strCode, hex1, hex2, strEncode = ""; 

    for(n = 0; n < str.length; n++)
	{ 
        if(noEncode.test(str.charAt(n)))
            strEncode += str.charAt(n); 
		else
		{ 
            strCode = str.charCodeAt(n); 
            hex1 = hex_chars.charAt(Math.floor(strCode / 16)); 
            hex2 = hex_chars.charAt(strCode % 16); 
            strEncode += "%" + (hex1 + hex2); 
        } 
    } 
    return strEncode; 
}

/**
 * Decodifica dados vindo via ajax
 *@version 1.0
 */
/*function url_decode(str) { 
    var n, strCode, strDecode = ""; 

    for (n = 0; n < str.length; n++) { 
        if (str.charAt(n) == "%") { 
            strCode = str.charAt(n + 1) + str.charAt(n + 2); 
            strDecode += String.fromCharCode(parseInt(strCode, 16)); 
            n += 2; 
        } else { 
            strDecode += str.charAt(n); 
        } 
    } 
    return strDecode; 
}*/
/*
function validaForm(form){
	var d = form;//.getElementById['nome'].value;
	alert (d);
}
*/
function validaFaleConosco(form){
	numero = form.elements;
	f = form;
	if (f.remetente.value == ""){
		alert ("o campo 'Seu Nome' deve ser preenchido!");
		f.remetente.focus();
		return 
	}
	
	if (f.email_remetente.value == ""){
		alert("O campo email do remetente deve ser preenchido!");
        f.email_remetente.focus();
        return false;
    }
         //validar email(verificao de endereco eletrônico)
         parte1 = f.email_remetente.value.indexOf("@");
         parte2 = f.email_remetente.value.indexOf(".");
         parte3 = f.email_remetente.value.length;
         if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			 alert ("O email do remetente deve ser um endereço endereco eletronico válido!");
			 f.email_remetente.focus();
			 return false;
    }
	/*
	if (f.destinatario.value == ""){
		f.destinatario.focus();
		return alert ("o campo 'Destinatário' deve ser preenchido!");
	}
	
	if (f.email_destinatario.value == ""){
		alert("O campo email do desetinatario deve ser preenchido!");
        f.email_destinatario.focus();
        return false;
    }
         //validar email(verificao de endereco eletrônico)
         parte1 = f.email_destinatario.value.indexOf("@");
         parte2 = f.email_destinatario.value.indexOf(".");
         parte3 = f.email_destinatario.value.length;
         if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			 alert ("O email do desetinatario deve ser um endereço endereco eletronico válido!");
			 f.email_destinatario.focus();
			 return false;
    }*/
	return f.submit();	
}

function validaForm(form){
	numero = form.elements;
	f = form;
	if (f.remetente.value == ""){
		alert ("o campo 'Seu Nome' deve ser preenchido!");
		f.remetente.focus();
		return 
	}
	
	if (f.email_remetente.value == ""){
		alert("O campo email do remetente deve ser preenchido!");
        f.email_remetente.focus();
        return false;
    }
         //validar email(verificao de endereco eletrônico)
         parte1 = f.email_remetente.value.indexOf("@");
         parte2 = f.email_remetente.value.indexOf(".");
         parte3 = f.email_remetente.value.length;
         if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			 alert ("O email do remetente deve ser um endereço endereco eletronico válido!");
			 f.email_remetente.focus();
			 return false;
         }
	
	if (f.destinatario.value == ""){
		f.destinatario.focus();
		return alert ("o campo 'Destinatário' deve ser preenchido!");
	}
	
	if (f.email_destinatario.value == ""){
		alert("O campo email do desetinatario deve ser preenchido!");
        f.email_destinatario.focus();
        return false;
    }
         //validar email(verificao de endereco eletrônico)
         parte1 = f.email_destinatario.value.indexOf("@");
         parte2 = f.email_destinatario.value.indexOf(".");
         parte3 = f.email_destinatario.value.length;
         if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			 alert ("O email do desetinatario deve ser um endereço endereco eletronico válido!");
			 f.email_destinatario.focus();
			 return false;
    }
	return f.submit();	
}

function form_simples(ele){
	numero = ele.elements.length
	erro = "";
	for(i=0; i<numero; i++){
		if(ele.elements[i].alt == "yes"){
			if(ele.elements[i].name == "email" || ele.elements[i].name == "e-mail" || ele.elements[i].name == "mail"){
				if(ele.elements[i].value.indexOf('@')==-1 || ele.elements[i].value.indexOf('.')==-1){
				erro = erro + "Preencha o campo '"+ ele.elements[i].name.toUpperCase() +"' corretamente. \n"
				}
			}else{
				if(ele.elements[i].value==""){
				erro = erro + "Preencha o campo '"+ ele.elements[i].name.toUpperCase() +"'. \n"
				}
			}
		}
		if(ele.elements[i].title == "yes"){
			if(ele.elements[i].value==""){
			erro = erro + "Preencha o campo '"+ ele.elements[i].name.toUpperCase() +"'. \n"
			}
		}
	}

	if(erro != ""){
		alert("Erros:\n"+erro);
		return false
	}else{
		return true
	}
}

function displayDiv(aparece,oculta)
{
	var div = document.getElementById(aparece);
	var i = 0;
	if(div.style.display == "none")
	{
		div.style.display="block";
		while(oculta[i])
    	{
			document.getElementById(oculta[i]).style.display = "none";
        	i++;
    	}
	}
	else if(div.style.display == "block")
	{
		div.style.display="none";
	}
}

function ocultaDiv(oculta)
{
	var div = document.getElementById(oculta);
	var i = 0;
	div.style.display = "none";
}