/*funcao que alterna entre informativo da caixa de texto e espaço em branco*/
function limpa_busca(id,str) {
	//recebe o valor da caixa de texto
	var vc_valor = document.getElementById(id).value.toLowerCase();
	
	//compara se foi preenchido algo ou nao e alterna valores
	if (vc_valor == str.toLowerCase()) {
		document.getElementById(id).value = "";
	}else if(vc_valor == ""){
		document.getElementById(id).value = str;
	}
}

/*funcao para selecionar o campo de uma select lista*/
function seleciona_lista(id_lista,bd_valor){
	var id = document.getElementById(id_lista);
	var it_linhas = id.length-1;
	var vc_valor = ""

	for(x=0; x<=it_linhas; x++){
		vc_valor = id.options[x].value;
		if (bd_valor == vc_valor){
			id.options[x].selected = true;
		}
	}
	
}

/* banner */
function contarBanner(bannerID) {
	codigo.location.href='codigos/banner.asp?bannerID='+bannerID;
}

/*# IFRAME VIRTUAL #*/
function iframe_virtual(vc_url) {
	// pega iframeVirtual pelo ID ou cria um iframeVirtual caso ñ exista
	var tempIFrame		= (document.getElementById('iframe_virtual')) ? document.getElementById('iframe_virtual') : document.createElement('iframe');
	
	with(tempIFrame) {
		style.border	= '0px';
		style.width		= '0px';
		style.height	= '0px';
	
		setAttribute('id','iframe_virtual');
		setAttribute('name','iframe_virtual');
		setAttribute('src',vc_url);
	}
	
	IFrameObj		= document.body.appendChild(tempIFrame);
}

/*funcao que verifica se o objeto esta selecionado
acao (entrar, sair)
tipo (texto, lista)
campo que vai ser verificado precisa ter um hidden com o valor antigo e precisa ter o idDoCampo_original como id do hidden*/
function troca_cor(id,acao,tipo){
	var id_obj = document.getElementById(id);
	var vc_valor = "";
	var id_obj_original = eval("document.getElementById('"+id+"_original')");
	
	//cores e classes que sao trocadas no focus ou blur
	var classNameNormal = "bx_04";
	var classNameSelecionado = "bx_06";
	var styleColorNormal = "";
	var styleColorSelecionado = "#000";

	//flag que indica se o conteudo foi alterado
	var flag_conteudo = 0;

	if (tipo == "texto"){
		vc_valor = id_obj.value;

		if (vc_valor != id_obj_original.value){
			flag_conteudo = 1;
		}

	}else if(tipo == "lista"){
		var indice = id_obj.options.selectedIndex;
		vc_valor = id_obj.options[indice].value;

		if (vc_valor != id_obj_original.value){
			flag_conteudo = 1;
		}

	}else if(tipo == "lista_multipla"){
		var it_selecionado = false;

		//loop para rodar todos itens do select-multiple
		for(i = 0; i<id_obj.length; i++){
			it_selecionado = id_obj.options[i].selected;

			//verifica se a option esta selecionado
			if (it_selecionado == true){
				if (vc_valor.length > 0){
					vc_valor += ","
				}

				vc_valor += id_obj.options[i].value;

			} //fim verifica se a option esta selecionado

		} //fim loop para rodar todos itens do select-multiple

		//verifica se a flag indica que o valor nao foi encontrado preenchido
		if(vc_valor != id_obj_original.value){
			flag_conteudo = 1;
		}


	}

	if (acao == 'sair'){
		
		id_obj.className = id_obj.className.replace(classNameSelecionado,classNameNormal);

		if (flag_conteudo == 1){
			id_obj.style.color = styleColorSelecionado;
		}else{
			id_obj.style.color = styleColorNormal;
		}
		
	} else if (acao == 'entrar'){
		id_obj.className = id_obj.className.replace(classNameNormal, classNameSelecionado);
	}
	
}

/*funcao que verifica se o objeto esta selecionado
acao (entrar, sair)
tipo (texto, lista)
campo que vai ser verificado precisa ter um hidden com o valor antigo e precisa ter o idDoCampo_original como id do hidden*/
function troca_cor_sembanco(id,acao,tipo,classNameNormal,classNameSelecionado){
	var id_obj = document.getElementById(id);
	var vc_valor = ""

	if (tipo == "texto"){
		vc_valor = id_obj.value;

	}else if(tipo == "lista"){
		var indice = id_obj.options.selectedIndex;
		vc_valor = id_obj.options[indice].value;

	}
	//var id_obj_original = eval("document.getElementById('"+id+"_original')");
	if (acao == 'sair'){		
		id_obj.className = id_obj.className.replace(classNameSelecionado,classNameNormal);		
	} else if (acao == 'entrar'){
		id_obj.className = id_obj.className.replace(classNameNormal, classNameSelecionado);
	}
	
}

/*verifica se o email é valido*/
function verificaEmail(id){
	var id_email = document.getElementById(id);
	if((id_email.value.indexOf('@', 0) == -1 || id_email.value.indexOf('.', 0) == -1) && (id_email.value.length >0)){
		alert("Preencha um e-mail válido");
		setTimeout("document.getElementById('"+id+"').focus()",250);
		setTimeout("document.getElementById('"+id+"').select()",260);
	}
}

/*# VALIDA E-MAIL [expressão regular] */
function verficaEmail(campo) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(campo)) {
		return	'';
	}
	return '- O E-MAIL digitado é inválido.\n';
}

/*# VERIFICA DATA #*/
//flag_formato serve para validar outro tipo de formato de data
// flag_formato = 1 DD/MM/AA
// flag_formato = 0 DD/MM/AAAA
function verificaData(vc_campo, flag_formato) { 
	if (vc_campo.value.length > 0) {
		it_dia		= (vc_campo.value.substring(0,2)); 
		it_mes		= (vc_campo.value.substring(3,5)); 
		
		if (flag_formato == 1){
			it_ano	= (vc_campo.value.substring(6,8));


		}else{
			it_ano	= (vc_campo.value.substring(6,10));

		}

		it_erro		= 0; 

		if ((it_dia < 01) || (it_dia < 01 || it_dia > 30) && (it_mes == '04' || it_mes == '06' || it_mes == '09' || it_mes == '11' ) || it_dia > 31) { 
			it_erro	= 1; 
		} 

		if (it_mes < 01 || it_mes > 12 ) { 
			it_erro	= 1; 
		} 

		if (it_mes == 2 && (it_dia < 01 || it_dia > 29 || (it_dia > 28 && (parseInt(it_ano / 4) != it_ano / 4)))) { 
			it_erro	= 1; 
		}

		if (flag_formato == 1){
			if ((it_ano < 00) || (it_ano>99)){
				it_erro	= 1;
			}
			if(vc_campo.value.length<=7){
				it_erro = 1;
			}

		}else{
			if ((it_ano < 1900) || (it_ano>2078)){
				it_erro	= 1;
			}
			if(vc_campo.value.length<=9){
				it_erro = 1;
			}

		}
		
		if (it_erro == 1) { 
			alert("Por favor, preencha uma data válida!"); 
			vc_campo.value	= '';
			setTimeout("document.getElementById('"+vc_campo.id+"').focus()",250); 
		}
	} 
}


/*# MASCARA #*/
function mascarar(vc_campo,vc_mascara, eventoTecla) {
	var nTecla;
	nTecla = (eventoTecla.which) ? eventoTecla.which : eventoTecla.keyCode;
	
	if(nTecla != 8){
		var i		= vc_campo.value.length;
		var x		= vc_mascara.substring(0,1);
		var y		= vc_mascara.substring(i);
		
		if (y.substring(0,1) != x) {
			vc_campo.value += y.substring(0,1);
		}
		
	}
}

/*somente numeros*/
/*# aceita só números digitados num campo */
function soNumero(evtKeyPress) {
	var nTecla;
	nTecla = (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;
	if((nTecla > 47 && nTecla < 58) || (nTecla >= 35 && nTecla <= 40) || nTecla == 8 || nTecla == 9 || nTecla == 46)
		return true;
	else
		return false;
}

/*Contagem de views de shopping*/
function conta_shopping(id, idSite) {
	codigo.location.href = 'codigos/shopping.asp?shoppingID='+id+'&siteID='+idSite+'';
}


/*funcao para mudar a borda das imagens
recebe o id da imagem,
a acao se é quando o mouse esta sobre ou fora da imagem
corE que é a cor qnd o mouse esta sobre
corS que e a cor qnd o mouse sai de cima da imagem*/
function mudaBorda(id_imagem,corE,corS,acao){
	if(document.getElementById(id_imagem).selecionado != true){
		if(acao == "entrar"){
			document.getElementById(id_imagem).style.borderColor = corE;
		}else{
			document.getElementById(id_imagem).style.borderColor = corS;
		}
	}
}

//funcao para centralizar imagem
function centralizaImagem(id_imagem){
	var it_width = parseInt(document.getElementById(id_imagem).width);
	var it_height = parseInt(document.getElementById(id_imagem).height);
	
	document.getElementById(id_imagem).style.marginTop = (it_height/2)*(-1)+"px";
	document.getElementById(id_imagem).style.marginLeft = (it_width/2)*(-1)+"px";
	
}

/*funcao para evitar problemas com carregamento do DOM no ie6 e 7
--> Descricao: no ie6 e 7 tem um problema com o carregamento de DOM no inicio da pagina

--> ela deve receber como parametro a funcao que ela vai rodar depois da pagina estar carregada
--> deve-se criar um intervalo para chama-la ate que o body esteja pronto
--> var vc_funcao = new String("funcaoQueDeveSerVerificada()")
-->	var it_carregar = setInterval("verificaDOM("+vc_funcao+")",200);
*/

function verificaDOM (vc_funcao){
	if (document.body){
		clearInterval(it_carregar);
		
		eval(vc_funcao);
		
		return true;
		
	}else{
		return false;
		
	}
}

function trim(texto){
	return texto.replace(/^\s+|\s+$/g,"");
}

/*limpa chars(.-) de string*/
function limpa_string(S){
    // Deixa só 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
}


/* VALIDAR CPF */
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;
	var bl_retorno = true
	
	if (s.length > 0) {	
    	for (i = 0; i < 9; i++){
        	d1 += c.charAt(i)*(10-i);
    	}
		if (d1 == 0) bl_retorno = false;
    
		d1 = 11 - (d1 % 11);
    
		if (d1 > 9) d1 = 0;
	    
		if (dv.charAt(0) != d1){
	        bl_retorno = 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){
	       bl_retorno = false;
	    }
		
	
	}
	if(bl_retorno == false){
		alert("Preencha um CPF válido ");
		setTimeout("document.getElementById('cpfVC').focus()",250);
	}
}

//funcao para selecionar apenas X opcoes numa select multiple
//tem que colocar no onBlur
function limitaSelecao(id_select, it_opcoes){
	var obj = document.getElementById(id_select);
	var it_length = obj.length;
	var it_select = 0;
	
	for(x=0; x<it_length; x++){
		if(obj.options[x].selected == true){
			it_select += 1;
		}
	}
	
	if (it_select > 3){
		alert("ATENÇÃO\n\nSelecionar no máximo "+it_opcoes+" opções!");
		setTimeout("document.getElementById('"+id_select+"').focus()",250);
		
	}
	
}

//funcao para validar todos os campos genericamente
//tem que passar o form 
//e nos campos obrigatorios tem que escrever dentro da tag obrigatorio='1' 
//e tem que colocar descricao='nomeDoCampo'
//em um grupo de checkbox ou radio so precisa colocar obrigatorio no primeiro, desde que todos tenham o mesmo NAME
function validaFormulario(id_form){
	var vc_erro = "";
	var form = document.getElementById(id_form);
	
	for (i=0;i<form.length;i++){
		var it_obg = form.elements[i].getAttribute("obrigatorio");
		var vc_type = form.elements[i].type
		var vc_nome = form.elements[i].getAttribute("descricao");
		var tagNome = "";
		var it_checked = 0;
		var indice = "";
		
		if (it_obg==1){
			if(vc_type=="password" || vc_type=="text" || vc_type=="textarea"){
				if (form.elements[i].value == ""){
					vc_erro += "- Preencha o campo "+vc_nome+" \n";
				}
			}
			
			if(vc_type=="select-one"){
				indice = form.elements[i].options.selectedIndex;
				if (form.elements[i].options[indice].value == ""){
					vc_erro += "- Selecione uma opção em "+vc_nome+" \n";
				}
			}
			
			if(vc_type=="select-multiple"){
				var it_length = form.elements[i].length;
				var it_flag = 0;
				for(x=0; x<it_length ; x++){
					if(form.elements[i].options[x].selected == true){
						it_flag = 1;
					}
				}
				
				if(it_flag == 0){
					vc_erro += "- Selecione ao menos uma opção em "+vc_nome+" \n";
				}
			}
			
			if(vc_type=="radio" || vc_type=="checkbox"){
				tagNome = document.getElementsByName(form.elements[i].name);
				
				for(x=0; x<tagNome.length; x++){
					if(tagNome[x].checked){
						it_checked++;
					}
				}
				
				if(it_checked==0){
					vc_erro += "- Selecione ao menos uma opção em "+vc_nome+" \n"
				}
			}
			
			
		} //fim da verificacao se eh obrigatorio (obg==1)
		
	}
	
	if(vc_erro==""){
		return true;
	}else{
		alert("ATENÇÃO\n\n"+vc_erro);
		return false;
	}
}

/*Contagem de views de arquivos*/
function conta_arquivo(id, arquivo) {
	location.href = 'codigos/downloads.asp?downloadID='+id+'&arquivo='+arquivo;
}

/*Popup para o cadastro de senhas*/
function abrirPopUp(arquivo,largura,altura){
//	var W = largura; 	
//	var H = altura;
//	var X = Math.ceil( (window.screen.height - H) / 2 ) - 50;
//	var Y = Math.ceil( (window.screen.width - W) / 2 ) - 16;
//	window.open('popup/'+arquivo+'.asp','_blank','width='+W+',height='+H+',top='+X+',left='+Y+',location=yes,status=no,menubar=no,scrollbars=no,resizable=no,directories=no,toolbar=no');
location.href = 'default.asp?actA=27';
}

/*Funções de validação de cadastre-se*/
function verificarFormulario(id_passageiro){
	var mensagem 		= 'Complete ou corrija os seguintes campos:\n\n';
	var frm				= document.getElementById('frm');
	if(id_passageiro == 0){
		if (frm.rgVC.value == '' || !validaRG(frm.rgVC.value)) {
			mensagem = mensagem + '- RG\n';
		} 
	}else{
		if (frm.emailVC.value == '') {
			mensagem = mensagem + '- E-MAIL\n';
		} else if (frm.emailVC.value.indexOf('@', 0) == -1 || frm.emailVC.value.indexOf('.', 0) == -1) {
			mensagem = mensagem + '- o E-MAIL deve ser válido\n';
		}
	}
	if (mensagem == 'Complete ou corrija os seguintes campos:\n\n') {
		return true;
	}else{
		alert(mensagem);
		return false;
	}
}

function validaRG(vc_rg) {
	var valido = true;
	if(vc_rg.length < 4) {
		valido = false;
	} else {
		for(i=0; i<8; i++) {
			if(isNaN(vc_rg.charAt(i))) {
				valido = false;
				break;
			}
		}
	}
	return valido;
}

/*funcao para acertar tamanho do cabecalho de acordo com a resolucao e inserir a coluna de shopping*/
function corrigeTamanhoSite(){
	var resolucaoX = screen.width;
//	var resolucaoX = 800;
	var div_principal 	= document.getElementById("div_conteudo_principal");
	var div_rodape		= document.getElementById("div_rodape");
	var div_telefone	= document.getElementById("div_telefone");
	var div_shopping	= document.getElementById("div_shopping");
	var div_link		= document.getElementById("div_link")

	if (resolucaoX <= 800){
		div_principal.className 	= div_principal.className.replace("dv_01_2","dv_01_1");
		div_rodape.className		= div_rodape.className.replace("dv_01_2","dv_01_1");
		div_telefone.className		= div_telefone.className.replace("dv_01_2","dv_01_1");
		div_link.className			= div_link.className.replace("dv_01_2","dv_01_1");
		div_shopping.style.display	= "none";
	}else{
		div_principal.className 	= div_principal.className.replace("dv_01_1","dv_01_2");
		div_rodape.className		= div_rodape.className.replace("dv_01_1","dv_01_2");
		div_telefone.className		= div_telefone.className.replace("dv_01_1","dv_01_2");
		div_link.className			= div_link.className.replace("dv_01_1","dv_01_2");
		div_shopping.style.display	= "block";

	}
}

/*funcao para enviar com o botao enter
tem que passar o evento da tecla
id do formulario
str_funcao string com a funcao de validacao
it_tipo_funcao indica se a funcao de validacao retorna true ou false ou se a funcao envia o formulario direto
	0 = retorna booleano
	1 = funcao envia o formulario direto
*/
function enviaFormulario(evtKeyPress,id_form, str_funcao, it_tipo_funcao) {
	var nTecla;
	nTecla = (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;
	var obj_form = document.getElementById(id_form);

	if (nTecla == 13){
		if(it_tipo_funcao == 0){
			if(eval(str_funcao)){
				obj_form.submit();
			}
		}else{
			eval(str_funcao);
		}
		
	}
}

/*funcao para mudar a cor de fundo, recebe objeto e acao(entrar, sair)
cor1 eh a cor background
cor2 eh a cor do texto
*/
function trocaCorMenu(obj,acao,cor1,cor2){
	var flagVC 	= obj.style.overflow;

	if(flagVC != "visible"){
		if (acao=="entrar"){
			obj.style.backgroundColor		= cor1;
			obj.firstChild.style.color		= cor2;
			//obj.firstChild.style.fontWeight	= "bold";
		}else{
			obj.style.backgroundColor		= cor1;
			obj.firstChild.style.color		= cor2;
			//obj.firstChild.style.fontWeight	= "normal";
		}
	}

}

/*preenche div flutuante de ajuda*/
function preencheDivTexto(id_text,id_div){
	var obj_texto = document.getElementById(id_text);
	var vc_valor = obj_texto.value;
	var it_comprimento = vc_valor.length;
	var it_maximo = 15;
	var obj_div = document.getElementById(id_div);
	
	if(it_comprimento > it_maximo){
		obj_div.style.display = "block";
		obj_div.innerHTML = vc_valor;
	}else{
		obj_div.style.display = "none";
	}
	
}

function setBG(id,cor){
	document.getElementById(id).style.backgroundColor = cor;
}

function abrirPopUpValeIngresso(){
	var W = 800; 	
	var H = 600;
	var X = Math.ceil( (window.screen.height - H) / 2 ) - 50;
	var Y = Math.ceil( (window.screen.width - W) / 2 ) - 16;
	window.open('formaclub/includes/vale_ingresso.asp','_blank','width='+W+',height='+H+',top='+X+',left='+Y+',location=no,status=no,menubar=no,scrollbars=no,resizable=ye,directories=no,toolbar=no');
}