/*
* checkDiv(ID);
* Função para exibir apenas uma unica DIV
* Exemplo
* 	<select onChange="checkDiv(this.value);">...
*/
function checkDiv(ID,OBG) {
		
		var x = document.getElementsByTagName("span");

		if(OBG != "") {
			
				document.getElementById(OBG).style.display = "block";
			
		} else {

				for (var i = 0;i < x.length; i++) {
						
						if((x[i].id == ID) && (x[i].style.display == "none")) {
							document.getElementById(ID).style.display = "block";
						}
									
						if((x[i].id != ID) && (x[i].style.display == "block")) {
							document.getElementById(x[i].id).style.display = "none";
						}
								
				}
							
		}
		
}

/*
* messageAlert(mensagem,location,janela);
* Fun&ccedil;&atilde;o exibir uma mensagem personalizada e Redirecionar
*/
function messageAlert(mensagem,location,janela) {
	
	if ((mensagem != "") && (janela != "")) {
	
		if(confirm(''+mensagem+'')) {
			window.open(''+location+'','Janela','fullscreen=yes, scrollbars=yes');
		}
		
	} else if(mensagem != "") {
		
		if(confirm(''+mensagem+'')) {
			window.location.href = ''+location+'';
		}
		
	} else {
			if(janela == "") {
				window.location.href = ''+location+'';
			} else {
				window.open(''+location+'','Janela','fullscreen=yes, scrollbars=yes');
			}
	}
	
}
/*
* primeiro_campo(form);
* Função pra deixar o primeiro campo de um form em foco
*/
function primeiro_campo(TAG) {
	var numForm    = document.getElementsByTagName("form");
	var i;
	
	if(numForm.length != 0) {
	
		var numElement = eval(document.getElementById(TAG).length);
	
		for (i = 0; i < numElement; i++) {
			if (document.getElementById(TAG).elements[i].type == 'text' && document.getElementById(TAG).elements[i].disabled == false) {
					document.getElementById(TAG).elements[i].focus();
					break;
			}
		}
	}
}
/*************************************************************/
/* Funcao txtBoxFormat(objForm, strField, sMask, evtKeyPress)
/* 		descricao: formata um campo de acordo com a mascara informada.
/*		uso: <input type="text" name="data" onKeyPress="txtBoxFormat(formulario, 'data', '99/99/9999', event);">
/**************************************************************/
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	} else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) {
				return true;
		}
	}
	
	sValue = objForm[strField].value;
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++;
		} else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}
	
	objForm[strField].value = sCod;
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
		return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
	else { // qualquer caracter...
		return true;
	}
	} else {
		return true;
	}
}

function destacarBorda(obj){
	var classe_atual = obj.className;
	var classe_borda = "campo_selecionado";
	
	if(classe_atual == ""){
		obj.className = classe_borda;
	}else if(classe_atual == classe_borda){
		obj.className = "";
	}
}
/*
* Paginação
*/
function paginar(local){
	
	var nPage = "";
	//var nPage = document.getElementById("irpara").value;
	
	if(nPage != "") {
		window.location.href = local+"&pagina_atual="+nPage;
	} else {
		window.location.href = local;
	}
}
/*
* Verificando a pagina digitada
*/
function checkPage(total,digitado) {
	
	var page = eval(total);
	
	if(digitado > page) {
		document.getElementById("irpara").value = page;
	} else {
		document.getElementById("irpara").value = digitado;
	}
	
}

/************************/
/* Funcoes para formatar o campo de valor enquanto esta digitando
/************************/
function Limpar(valor, validos) {
	// retira caracteres invalidos da string
	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;
}

//Formata número tipo moeda usando o evento onKeyDown	
function Formata(campo,tammax,teclapres,decimal) {
	var tecla = teclapres.keyCode;
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=decimal
	
	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
	
	if (tecla == 8 )
	{ tam = tam - 1 ; }
	
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
	{
	
	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 ) ;}
	} 
	
}

/****************************************************/
/* Funcao para limpar os campos com 0,00 - formato moeda   */
/****************************************************/
function limparCampo(obj){
	if(obj.value == "0,00"){
		obj.value = "";
	}
}

/****************************************************/
/* Funcao para preencher os campos com 0,00 - formato moeda   */
/****************************************************/
function preencheCampo(obj){
	if(obj.value == ""){
		obj.value = "0,00";
	}
}

/*******************************************************/
/* Funcao converter um valor de 1.000,00 para 1000.00
/******************************************************/		
function converte_val(valor){
	valor = valor.replace('.','');
	valor = valor.replace(',','.');
	return valor;
}	

/*
* checkPassword(campo1, campo2);
* Função para verificar se um campo é identico do outro
*/
function checkPassword(ID1, ID2, CAMPO) {
	var valor1 = document.getElementById(ID1).value.toLowerCase();
	var valor2 = document.getElementById(ID2).value.toLowerCase();
	
	if (valor1 != valor2) {
		alert("Aviso:\n\n* A confirmação do campo "+CAMPO+" está incorreta!\n* Tente Novamente.");
		document.getElementById(ID2).focus();
		return false;
	} else {
		return true;
	}	
}

/*******************************************************/
/* Funcao para validar um e-mail
/******************************************************/		
function validarEmail(obj) {			
	if(obj.value != ""){
		if (obj.value.indexOf ('@',0) == -1 || obj.value.indexOf ('.',0) == -1){
			alert("Aviso:\n\n* Esse não é um e-mail válido!\n* Por favor, entre com um e-mail válido.");
			obj.focus();   
		}			
	}
}

/*
* checkForm(form);
* Função pra verificar os campos de um form basta atribuir a propriedade title="<nome do campo>" ao campo do form
*/
function checkForm(form) {
	var numElement = eval(document.getElementById(form).length);
	var i;
	var Obj = document.getElementById(form);
	var erro = "";
	
	for (i = 0; i < numElement; i++) {
		// VALOR DO SELECT
		var index = Obj.elements[i].selectedIndex;
		
		// CAMPO DE TEXTO
		if ((Obj.elements[i].type == "text") && (Obj.elements[i].title != "") && (Obj.elements[i].value == "")) {
			erro += "- "+Obj.elements[i].title+".\n";
			Obj.elements[i].focus();
			break;
		}
		
		// CAMPO DE SELECT
		if ((Obj.elements[i].type == "select-one") && (Obj.elements[i].title != "") && (Obj.elements[i].options[index].index == 0)) {
			erro += "- "+Obj.elements[i].title+" deve ser selecionado um item.\n";
			Obj.elements[i].focus();
			break;
		}
		
		// CAMPO PASSWORD
		if ((Obj.elements[i].type == "password") && (Obj.elements[i].title != "") && (Obj.elements[i].value == "")) {
			erro += "- "+Obj.elements[i].title+".\n";
			Obj.elements[i].focus();
			break;
		}
		
	}
	
	if (erro != "") {
		alert("Por favor, verifique o(s) campo(s) abaixo:\n\n"+erro);
		return false;
	} else {
		return true;
	}
}

/***********************************************/
/* Funcao apenasnumericos(caracter) 
/* 		descricao: permite apenas a digitação 
/*								de caracteres numericos.
/*		uso: <input type="text" name="onono" onKeyPress="return apenasnumericos(event);">
/************************************************/
function apenasnumericos(caracter) {
	if(document.all) { // Internet Explorer
		var tecla = event.keyCode;
	} else if(document.layers) { // Nestcape
		var tecla = caracter.which;
	} else {
		var tecla = caracter.which;				
	}
	
	if(tecla > 47 && tecla < 58) { // numeros de 0 a 9
		return true;
	} else {
		if (tecla != 8 && tecla != 0) { // backspace e tab
			return false;
		} else {
			return true;
		}
	}			
}

function check_date(DATA) {
	
	if (DATA.value!=''){
        var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
        var msgErro = 'Aviso:\n\n* Formato inválido de data.';
        var vdt = new Date();
        var vdia = vdt.getDay();
        var vmes = vdt.getMonth();
        var vano = vdt.getFullYear();
        if ((DATA.value.match(expReg)) && (DATA.value!='')){
                var dia = DATA.value.substr(0,2);
                var mes = DATA.value.substr(3,2);
                var ano = DATA.value.substr(6,4);
                if((mes==04 && dia > 30) || (mes==06 && dia > 30) || (mes==09 && dia > 30) || (mes==11 && dia > 30)){
                        alert("Aviso:\n\n* Dia incorreto!\n* O mês especificado contém no máximo 30 dias.");
                        DATA.focus();
                        return false;
                } else{ //1
                                if(ano%4!=0 && mes==2 && dia>28){
                                        alert("Aviso:\n\n* Data incorreta!\n* O mês especificado contém no máximo 28 dias.");
                                        DATA.focus();
                                        return false;
                                } else{ //2
                                                if(ano%4==0 && mes==2 && dia>29){
                                                                alert("Aviso:\n\n* Data incorreta!\n* O mês especificado contém no máximo 29 dias.");
                                                                DATA.focus();
                                                                return false;
                                                } else{ //3
                                                                if (ano > vano) {
                                                                                alert("Aviso:\n\n* Data incorreta!\n* Ano informado maior que ano atual.");
                                                                                DATA.focus();
                                                                                return false;
                                                                }else{ //4
                                                                        //alert ("Data correta!");
                                                                        return true;
                                                                } //4-else
                                                } //3-else
                                }//2-else
                }//1-else                       
        } else { //5
                        alert(msgErro);
                        DATA.focus();
                        return false;
        } //5-else
	}
}


/*********************************************/
/* Funcao de Mascara para Horas
/*  onkeypress=" txtFormatHora(this.id);"
/*********************************************/
function txtFormatHora(id){
	var f = document.getElementById(id).value;
	var s = document.getElementById(id).value;
	if(document.getElementById(id).value.length == 2){
		f = f + ":" + s.substr(2,2);
		document.getElementById(id).value = f;
	}
}

/*******************************************************/
/* Funcao para validar um CPF no formato 999.999.999-99
/******************************************************/
function validarCpf(pcpf){
	campo = pcpf;
	pcpf = pcpf.value;
	
	pcpf = pcpf.toString().replace( ".", "" );
	pcpf = pcpf.toString().replace( ".", "" );
	pcpf = pcpf.toString().replace( ".", "" );
	pcpf = pcpf.toString().replace( "-", "" );
	
	if (pcpf.length == 0) {return false;}
	if (pcpf.length != 11) {sim=false}
	else {sim=true}

	if (sim )  // valida o primeiro digito
	{
	for (i=0;((i<=(pcpf.length-1))&& sim); i++)
	{
	 val = pcpf.charAt(i)
	 if

 ((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4")

 &&    (val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
	 }

	 if (sim)
	{
	soma = 0
	for (i=0;i<=8;i++)
	{
	 val = eval(pcpf.charAt(i))
	 soma = soma + (val*(i+1))
	}

	resto = soma % 11
	if (resto>9) dig = resto -10
	else  dig = resto
	if (dig != eval(pcpf.charAt(9))) { sim=false }
	 else   // valida o segundo digito
	{

	 soma = 0
	for (i=0;i<=7;i++)
	 {
	 val = eval(pcpf.charAt(i+1))
		soma = soma + (val*(i+1))
	}

	 soma = soma + (dig * 9)
	resto = soma % 11
	 if (resto>9) dig = resto -10
	 else  dig = resto
	 if (dig != eval(pcpf.charAt(10))) { sim = false }
	else sim = true
	 }
	 }
	}

	if (sim) { 
		//alert("Valor Valido de CPF") ;
		return true;
	}else{
		alert("Aviso:\n\n* CPF Inválido!");
		campo.focus();
		return false;
	}
}

function validarBusca(){
	if(document.getElementById('text_busca').value != ""){
		document.form_busca.submit();
	}else{
		alert("Aviso:\n\n* O campo de busca está vazio.\n* Digite o nome do Artista, Diretor, Produtor, Roteirista ou Título do Filme que você está procurando.");	
		document.getElementById('text_busca').focus();
	}
}