
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function mostraValidar() {

	var m = document.form_mostra;
	
	
	if ( m.empresa.value == 0 ) {
		alert('O campo [ Empresa Produtora ] não foi preenchido.');
		m.empresa.focus();
		return false;
	}


	if ( m.endereco.value == 0 ) {
		alert('O campo [ Endereço ] não foi preenchido.');
		m.endereco.focus();
		return false;
	}
	
	if ( m.cidade.value == 0 ) {
		alert('O campo [ Cidade ] não foi preenchido.');
		m.cidade.focus();
		return false;
	}
	
	
	if ( m.estado.value == 0 ) {
		alert('O campo [ Estado ] não foi preenchido.');
		m.estado.focus();
		return false;
	}
	

	if (m.ddd1.value == 0) {
		alert('O campo [ DDD ] não foi preenchido.');
		m.ddd1.focus();
		return false;
	}

	
	if (m.telefone.value == 0) {
		alert('O campo [ Telefone ] não foi preenchido.');
		m.telefone.focus();
		return false;
	}

	if (m.ddd2.value == 0) {
		alert('O campo [ DDD ] não foi preenchido.');
		m.ddd2.focus();
		return false;
	}


	if (m.fax.value == 0) {
		alert('O campo [ Fax ] não foi preenchido.');
		m.fax.focus();
		return false;
	}
	
	
	if  (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(m.email.value))) {
		alert('E-mail inválido');
		m.email.focus();
		return false;
	}
	
	
	if ( m.titulo.value == 0 ) {
		alert('O campo [ Título da Obra ] não foi preenchido.');
		m.titulo.focus();
		return false;
	}
	

	if ( m.ano_producao.value == 0 ) {
		alert('O campo [ Ano de Produção ] não foi preenchido.');
		m.ano_producao.focus();
		return false;
	}


	if ( (! m.tipov[0].checked ) && (! m.tipov[1].checked ) && (! m.tipov[2].checked ) && (! m.tipov[3].checked ) && (! m.tipov[4].checked ) && (! m.tipov[5].checked ) ) {
		alert('Escolha uma opção: \n - Longa (35mm) Ficção\n - Curta (35mm) Ficção\n - Longa (35mm) Documentário\n - Curta (35mm) Documentário\n - Curta (Digital) Ficção\n - Curta (35mm) Documentário.');
		m.tipov[0].focus();
		return false;
	}
	
	
	if ( m.produtor.value == 0 ) {
		alert('O campo [ Produtor ] não foi preenchido.');
		m.produtor.focus();
		return false;
	}
	

	if ( m.diretor.value == 0 ) {
		alert('O campo [ Diretor ] não foi preenchido.');
		m.diretor.focus();
		return false;
	}


	if ( m.roterista.value == 0 ) {
		alert('O campo [ Roterista ] não foi preenchido.');
		m.roterista.focus();
		return false;
	}


	if ( m.atores_p.value == 0 ) {
		alert('O campo [ Ator Protagonista ] não foi preenchido.');
		m.atores_p.focus();
		return false;
	}


	if ( m.atores_c.value == 0 ) {
		alert('O campo [ Ator Coadjuvante ] não foi preenchido.');
		m.atores_c.focus();
		return false;
	}

	
	if ( m.atrizes_p.value == 0 ) {
		alert('O campo [ Atriz Protaganista ] não foi preenchido.');
		m.atrizes_p.focus();
		return false;
	}


	if ( m.atrizes_c.value == 0 ) {
		alert('O campo [ Atriz Coadjuvante ] não foi preenchido.');
		m.atrizes_c.focus();
		return false;
	}

	
	if ( m.fotografia.value == 0 ) {
		alert('O campo [ Diretor de Fotografia ] não foi preenchido.');
		m.fotografia.focus();
		return false;
	}
	

	if ( m.arte.value == 0 ) {
		alert('O campo [ Diretor de Arte ] não foi preenchido.');
		m.arte.focus();
		return false;
	}
	
	
	if ( m.musica.value == 0 ) {
		alert('O campo [ Música ] não foi preenchido.');
		m.musica.focus();
		return false;
	}	
	

	if ( m.montagem.value == 0 ) {
		alert('O campo [ Montagem ] não foi preenchido.');
		m.montagem.focus();
		return false;
	}						


	if ( m.trilha.value == 0 ) {
		alert('O campo [ Trilha Son. Orig. / Compositor ] não foi preenchido.');
		m.trilha.focus();
		return false;
	}						
			

	if ( (! m.formato[0].checked ) && (! m.formato[1].checked ) && (! m.formato[2].checked ) ) {
		alert('Indique o formato: - Analógica Digital\n - Curta (película) \n - Longa (película).');
		m.formato[0].focus();
		return false;
	}
	
	if ( m.tempo.value == '' ) {
		alert('O campo [ Tempo de duração da obra audiovisual ] não foi preenchido.');
		m.tempo.focus();
		return false;
	}		

	if ( m.premios.value == 0 ) {
		alert('O campo [ Prêmios Conquist. em outros Festivais ] não foi preenchido.');
		m.premios.focus();
		return false;
	}		
	

	if ( (! m.material[0].checked ) && (! m.material[1].checked ) && (! m.material[2].checked ) && (! m.material[3].checked )) {
		alert('Escolha uma opção: Película | Fita VHS | DVD | CD.ROM .');
		m.material[0].focus();
		return false;
	}
	
	
	if ( (! m.devolucao.checked) && (m.outro.value == 0) ) {
		alert('O campo [ Endereço para Devolução do Filme ] não foi preenchido.');
		m.devolucao.focus();
		return false;
	}		


	if (! m.acordo.checked ) {
		alert('Você esta de acordo com o regulamento?');
		m.acordo.focus();
		return false;
	}		


}


function documentarioValidar() {

	var m = document.form_documentario;
	
	
	
	
	if ( m.proponente.value == 0 ) {
		alert('O campo [ Proponente ] não foi preenchido.');
		m.proponente.focus();
		return false;
	}


	if ( m.endereco.value == 0 ) {
		alert('O campo [ Endereço ] não foi preenchido.');
		m.endereco.focus();
		return false;
	}
	
	if ( m.cidade.value == 0 ) {
		alert('O campo [ Cidade ] não foi preenchido.');
		m.cidade.focus();
		return false;
	}
	
	
	if ( m.estado.value == 0 ) {
		alert('O campo [ Estado ] não foi preenchido.');
		m.estado.focus();
		return false;
	}
	

	if (m.ddd1.value == 0) {
		alert('O campo [ DDD ] não foi preenchido.');
		m.ddd1.focus();
		return false;
	}

	
	if (m.telefone.value == 0) {
		alert('O campo [ Telefone ] não foi preenchido.');
		m.telefone.focus();
		return false;
	}

	if (m.ddd2.value == 0) {
		alert('O campo [ DDD ] não foi preenchido.');
		m.ddd2.focus();
		return false;
	}


	if (m.fax.value == 0) {
		alert('O campo [ Fax ] não foi preenchido.');
		m.fax.focus();
		return false;
	}
	
	
	if  (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(m.email.value))) {
		alert('E-mail inválido');
		m.email.focus();
		return false;
	}
	
	
	if ( m.titulo.value == 0 ) {
		alert('O campo [ Título da Obra ] não foi preenchido.');
		m.titulo.focus();
		return false;
	}
	

	/*
	if ( (! m.tipov.checked ) ) {
		alert('Escolha uma opção: Longa | Curta | Analógica Digital.');
		m.tipov.focus();
		return false;
	}
	*/
	
	
	
	if ( m.produtor.value == 0 ) {
		alert('O campo [ Produtor ] não foi preenchido.');
		m.produtor.focus();
		return false;
	}
	

	if ( m.diretor.value == 0 ) {
		alert('O campo [ Diretor ] não foi preenchido.');
		m.diretor.focus();
		return false;
	}


	if ( m.roterista.value == 0 ) {
		alert('O campo [ Roterista ] não foi preenchido.');
		m.roterista.focus();
		return false;
	}


	if ( m.atores.value == 0 ) {
		alert('O campo [ Atores ] não foi preenchido.');
		m.atores.focus();
		return false;
	}
	
	
	if ( m.atrizes.value == 0 ) {
		alert('O campo [ Atrizes ] não foi preenchido.');
		m.atrizes.focus();
		return false;
	}
	
	
	if ( m.fotografia.value == 0 ) {
		alert('O campo [ Diretor de Fotografia ] não foi preenchido.');
		m.fotografia.focus();
		return false;
	}
	

	if ( m.arte.value == 0 ) {
		alert('O campo [ Diretor de Arte ] não foi preenchido.');
		m.arte.focus();
		return false;
	}
	
	
	if ( m.musica.value == 0 ) {
		alert('O campo [ Música ] não foi preenchido.');
		m.musica.focus();
		return false;
	}	
	

	if ( m.montagem.value == 0 ) {
		alert('O campo [ Montagem ] não foi preenchido.');
		m.montagem.focus();
		return false;
	}						


	if ( m.trilha.value == 0 ) {
		alert('O campo [ Trilha Son. Orig. / Compositor ] não foi preenchido.');
		m.trilha.focus();
		return false;
	}						
			
	

	if ( (! m.midia[0].checked ) && (! m.midia[1].checked ) && (! m.midia[2].checked ) && (! m.midia[3].checked ) && (! m.midia[4].checked ) ) {
		alert('Escolha uma opção: Celular | Mini Dv | Dv Cam | VSH | VHS-C.');
		m.midia[0].focus();
		return false;
	}




	if ( (! m.material[0].checked ) && (! m.material[1].checked ) ) {
		alert('Escolha uma opção: DVD | CD.ROM');
		m.material[0].focus();
		return false;
	}
	
	

	if (! m.acordo.checked ) {
		alert('Você esta de acordo com o regulamento?');
		m.acordo.focus();
		return false;
	}		


}

function eventosValidar() {


var e = document.form_eventos;


if ( (! e.evento1.checked) && (! e.evento2.checked) && (! e.evento3.checked) && (! e.evento4.checked) && (! e.evento6.checked) )  {
alert('Selecine pelo menos uma [ Oficina ] para participar do evento.');
e.evento1.focus();
return false
}


if (e.nome.value == 0) {
alert('O campo [ Nome ] não foi preenchido.');
e.nome.focus();
return false;
}


if ( (! e.horario[0].checked) && (! e.horario[1].checked) ) {
alert('Escolha uma opção no campo [ Turno ].');
e.horario[0].focus();
return false;
}


if (e.endereco.value == 0) {
alert('O campo [ Endereço ] não foi preenchido.');
e.endereco.focus();
return false;
}


if (e.bairro.value == 0) {
alert('O campo [ Bairro ] não foi preenchido.');
e.bairro.focus();
return false;
}	


if (e.cidade.value == 0) {
alert('O campo [ Cidade ] não foi preenchido.');
e.cidade.focus();
return false;
}	


if (e.estado.value == 0) {
alert('Nenhum [ Estado ] foi selecionado.');
e.estado.focus();
return false;
}	


if (e.cep.value == 0) {
alert('O campo [ C.E.P. ] não foi preenchido.');
e.cep.focus();
return false;
}	


if ( (e.ddd1.value == 0) || (e.telefone.value == 0) ) {
alert('O campo [ Telefone ] não foi preenchido.');
e.ddd1.focus();
return false;
}	


if ( (e.ddd2.value == 0) || (e.celular.value == 0) ) {
alert('O campo [ Celular ] não foi preenchido.');
e.ddd2.focus();
return false;
}	


if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(e.email.value))) {
alert('E-mail inválido.');
e.email.focus();
return false;
}	


if (! validar(e.cpf)) {
alert('CPF inválido.');
e.cpf.focus();
return false;
}

if (e.rg.value == 0) {
alert('O campo [ RG ] não foi preenchido.');
e.rg.focus();
return false;
}		

if ((e.dia.value == 0) || (e.mes.value == 0) || (e.ano.value == 0))  {
alert('Campo [ Data de Nascimento ] não foi preenchido.');
e.dia.focus();
return false;
}


if (e.trabalho.value == 0) {
alert('O campo [ Local de Trabalho ] não foi preenchido.');
e.trabalho.focus();
return false;
}

if (e.ocupacao.value == 0) {
alert('O campo [ Ocupação] não foi preenchido.');
e.ocupacao.focus();
return false;
}								
}


function formataCampo(obj, mascara)
{
	var valor = ''
	var tamValor = 0
	var tamMascara = 0
	var resultado = ''
	var aux1 = ''
	var aux2 = ''
	var posMas = 1
	var posVal = 1
	var tecla = obj.value.substr( obj.value.length - 1, 1)
	var masclen = mascara.length

	if(obj.value.length > mascara.length)
	{
		valor = _extraiNumero(obj.value.substring(0, obj.value.length-(obj.value.length-mascara.length)))
	} else {
		valor = _extraiNumero(obj.value)
	}

	//muda formatação somente quando receber uma tecla válida 
	if( !_teclaValida(tecla) && (obj.value != ''))
	{
		tamValor = valor.length
		tamMascara = mascara.length
		while((posVal <= tamValor) && (posMas <= tamMascara))
		{
			// percorre caracter por caracter no valor dado (do fim p/ começo)
			aux1 = valor.substring(tamValor - posVal, (tamValor - posVal) + 1)
			// percorre caracter por caracter na máscara (do fim p/ começo)
			aux2 = mascara.substring(tamMascara - posMas, (tamMascara - posMas) + 1)
			if(aux2 == 'X')
			{
				resultado = aux1 + resultado
				posVal = posVal + 1
			}else if((aux2 == '-') || (aux2 == '/') || (aux2 == '.' ) || (aux2 == '(') || (aux2 == ')') || (aux2 == ',')) // símbolos presentes nas máscaras
			{
				resultado = aux2 + resultado
			}
			posMas = posMas + 1
		}
		//  colocando "posMas" e "posVal" em suas posições atuais
		posVal = posVal - 1
		posMas = posMas - 1
		// caso especial para número de telefone (máscara começa com símbolo)
		if((posMas == tamMascara - 1) && (mascara.substring(0, 1) == '('))
		{
			resultado = '(' + resultado
		}
		
		if (obj.value != resultado)
		{
			if ( (resultado.length>=obj.maxLength) && (masclen>=resultado.length) )
			{
				if (masclen == resultado.length)
				{
					obj.maxLength = masclen
				} else{
					obj.maxLength = resultado.length+1
				}
			}
			obj.value = resultado
		}
		
	}
}


function _extraiNumero(dado)
{
	var aux = ''
	for(n=0; n < dado.length; n++){
		if(_somenteNumero(dado.substr(n,1))){
			aux += dado.substr(n,1)
		}
	}
	return aux
}



/**
descricao: retorna true quando for um número
*/
function _somenteNumero(numero)
{
	// numeros aceitos 0,1,2,3,4,5,6,7,8,9,37,38,39,40,46
	ER=/(^[0-2]$|^3[789]{0,1}$|^4[06]{0,1}$|^[5-9]$)/
	return ER.test(numero)
}



//  teclas que podem ser pressionadas
function _teclaValida(tecla)
{
	// 8  backspace			9  Tab				33 PageUp				34 PageDown	
	// 35 End				36 Home 			37 seta para esquerda	38 seta para cima 
	// 39 seta para direita 40 seta para baixo	46 Delete
	ER=/(^[8-9]$|^3[3-9]{1}$|^4[06]{1}$)/
	return ER.test(numero)
}


/**
descricao: retorna somente números [0..9]
*/
function validarNumero(obj)
{
	numero = _extraiNumero(obj.value)
	if (obj.value != numero)
	{
		obj.value = numero
	}
}


/**
descricao: função para tratamento do formato de cpf
*/
function formataCpf(obj)
{
	numero = _extraiNumero(obj.value)
	if (numero.length > 3) {
		formataCampo(obj, "XXX.XXX.XXX-XX")
	} else {
		if (obj.value != numero)
		{
			obj.value = numero
		}
	}
}


function validar(Form) {
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;

	var s;


// inicio de verificacao de cnpj ou cpf
	if (Form.value.length == 0) {
		//alert("O CNPJ/CPF é um campo obrigatório !");
		Form.focus();
		return false;	}
		
	s = limpa_string(Form.value);
	
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(Form.value) == false ) {
			//alert("O CPF não é válido !");
			Form.focus();
			return false;	}
     }
     
     // checa se é cgc
	else if (s.length == 14) {
		if (valida_CGC(Form.value) == false ) {
			//alert("O CNPJ não é válido !");
			Form.focus();
			return false;	}
			}
		else {
			//alert("O CPF/CNPJ não é válido !");
			Form.focus();
			return false;
		}

     return true;
}

	
function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	}
	} //for

	return temp
}
// fim da funcao


function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
        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 < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}

function valida_CGC(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;
}