//Vars de controle do slide no imóvel
var atual = 0;
var timer = null;
var tempo = 5000;

jQuery(function($) {
	try {
		$("select.selectPontoReferenciaAluguel, select.selectPontoReferenciaVenda, select.selectDormtoriosMinAluguel, select.selectDormtoriosMaxAluguel, select.selectDormtoriosMinVenda, select.selectDormtoriosMaxVenda").msDropDown();
	} catch(e) {
	}

	$('input[type=text],input[type=password],textarea').focus(function(){
		$(this).parent().addClass('foco');
	}).blur(function(){
		$(this).parent().removeClass('foco');
	});
	
	//Ouvindo o evento change para estilizar os labels dos checkboxes e radios
	$('input[type=checkbox],input[type=radio]').change(function(){
		if ($(this).attr('checked') == true) $(this).parent().addClass('ligado');
		else $(this).parent().removeClass('ligado');
		//Removendo dos outros radios
		$('input[type=radio][name="'+$(this).attr('name')+'"]:not(:checked)').parent().removeClass('ligado')
	});

	//Marcando os labels que já vem selecionados
	$('input[type=checkbox],input[type=radio]').each(function(){
		if ($(this).attr('checked') == true) $(this).parent().addClass('ligado');
	});

	//escondendo o form de aluguel se o vendas estiver selecionado
	if($('#transacaoVenda')[0].checked == true) $('#formAlugueis').hide();
	
	//Rolagem automática para o resultado
	if ($('#titulo').text() == 'Aluguéis' || $('#titulo').text() == 'Vendas' || $('#titulo').text() == 'Imóvel') irPara('#titulo');

	Cufon.replace('.renderDemi', { 
		fontFamily: 'Franklin Gothic Demi Cond'
	});
	Cufon.replace('.renderMedium, #conteudo h2, #conteudo h3', { 
		fontFamily: 'Franklin Gothic Medium Cond'
	});
	Cufon.replace('.renderThin', { 
		fontFamily: 'Helvetica Neue'
	});
	Cufon.replace('#menuTopo .menu a', { 
		fontFamily: 'Franklin Gothic Demi Cond',
		hover: { color: '#fff' }
	});

});

function irPara(sel) {
	var top = $(sel).offset().top;
	$('html,body').animate({ scrollTop: top-20 }, 'slow');
};

function trocaImagemTimer(){
	clearTimeout(timer);
	if($('.thumbnails a').length > 0) {
		if (++atual >= $('.thumbnails a').length) atual = 0;
		$('.thumbnails a:eq(' + atual + ')').click();
	}
}

Shadowbox.init({
	language: 'pt-br',
	handleOversize: 'drag',
	continuous: true,
	players: ['img', 'html', 'iframe', 'qt', 'wmp', 'swf', 'flv'],
	onFinish: function() {
		$('#sb-wrapper').show();
		if($('img',Shadowbox.getCurrent().el).attr('alt') != '' && $('img',Shadowbox.getCurrent().el).attr('alt') != undefined) {
			if($('#sb-caption').html() == null) $('#sb-body').after('<div id="sb-caption"><div id="sb-caption-inner"></div></div>');
			$('#sb-caption-inner').html($('img',Shadowbox.getCurrent().el).attr('alt'));
			$('#sb-caption').css({
					position: 'absolute',
					textAlign: 'center',
					color: '#FFFFFF',
					background: 'url(/legba/site/imgs/legendas.png) top',
					top: ($('#sb-body').position().top+$('#sb-body').height()-$('#sb-caption').height()+1) + 'px', //1 da borda
					width: ($('#sb-body').width()) + 1 + 'px'
				}).hide().slideDown('fast');
		}else{
			$('#sb-caption').hide('fast');
		}
	},
	onClose: function() {
		$('#sb-caption').hide();
	}
});

imgPopUpWindowNumber = 0;
	function imgPopUp(vImg,vLegenda,vCreditos,vWidth,vHeight) {
		if (vLegenda.length > 0) {
			vHeight += 65;
		}
		if (vCreditos.length > 0) {
			vHeight += 20;
		}
		vHeight += 2;
		vWidth += 2;
		imgPopUpWindow = window.open('/imagem.asp?vImg='+vImg+'&vLegenda='+vLegenda+'&vCreditos='+vCreditos,'img'+imgPopUpWindowNumber++,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+vWidth+',height='+vHeight)
	}

	function aniversariante(nome) {
	    var janela = null
	    janela = window.open('/aniversariantes/mensagem.asp?nome='+nome,'niver'+imgPopUpWindowNumber++,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,menubar=no,width=367,height=222')
	}

	function verifica(dForm) {
		var dormitorios_min = parseFloat(dForm.dormitorios_min.options[dForm.dormitorios_min.selectedIndex].value);
		var dormitorios_max = parseFloat(dForm.dormitorios_max.options[dForm.dormitorios_max.selectedIndex].value);
		var val_min = dForm.val_min.value, val_max = dForm.val_max.value, tipo = dForm.tipo;
		var todos = dForm.todos, bairro = dForm.bairro, erro = false, msg_erro = "ERRO:\n";
		var aoMenosUmTipo = false, entrouNoLoop = false;
		var vCod = dForm.vCodImovel.value;

		for (i=0;i<tipo.length;i++){
			entrouNoLoop = true;
			if (tipo[i].checked) {
				aoMenosUmTipo = true;
			}
		}
		if (!entrouNoLoop) {
			if (tipo.checked) {
				aoMenosUmTipo = true;
			}
		}
		if (!aoMenosUmTipo) {
			erro = true;
			msg_erro += "\nSelecione ao menos um dos tipos de imóvel.";
		}
		aoMenosUmBairro = todos.checked;
		entrouNoLoop = false;
		for (i=0;i<bairro.length;i++){
			entrouNoLoop = true
			if (bairro[i].checked) {
				aoMenosUmBairro = true;
			}
		}
		if (!entrouNoLoop) {
			if (bairro.checked) {
				aoMenosUmBairro = true;
			}
		}
		if (!aoMenosUmBairro) {
			erro = true;
			msg_erro += "\nSelecione ao menos um dos bairros.";
		}
		if (dormitorios_max < dormitorios_min) {
			erro = true;
			msg_erro += "\nO número mínimo de dormitórios deve ser menor que o máximo.";
		}
		if (isNaN(parseInt(val_min)) || val_min == "") {
			erro = true;
			msg_erro += "\nO valor mínimo do aluguel deve ser numérico.";
		}
		if (isNaN(parseInt(val_max)) || val_max == "") {
			erro = true;
			msg_erro += "\nO valor máximo do aluguel deve ser numérico.";
		}
		if (erro && vCod == "") {
			alert(msg_erro);
			return false;
		}
	}
	
	function marcaBairros(dForm) {
		var bairro = dForm.bairro, entrouNoLoop = false;
		for (i=0;i<bairro.length;i++){
			entrouNoLoop = true;
			bairro[i].checked = false;
		}
		if (!entrouNoLoop) bairro.checked = false;
		$('input[type=checkbox]').change();
	}

	function desmarcaTodos(dForm) {
		var bairro = dForm.bairro, todos = dForm.todos, algumMarcado = false, entrouNoLoop = false;
		for (i=0;i<bairro.length;i++){
			entrouNoLoop = true;
			if (bairro[i].checked) algumMarcado = true;
		}
		if (!entrouNoLoop) if (bairro.checked) algumMarcado = true;
		todos.checked = !algumMarcado;
		$('input[type=checkbox]').change();
	}

	function iniciarChat() {
		var largura = 350, altura = 400;
		janelaDeChat = window.open("/legba/suporteOnline/",'chat'+imgPopUpWindowNumber++,'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width='+largura+',height='+altura);
		
		if(janelaDeChat == null) {
			alert("Seu navegador bloqueou a janela do chat.\nDesligue seu bloqueador de pop-ups para este site.");
		}
	}

	function telaCheia() {
		imgPopUpWindow = window.open('/imovel/telaCheia.asp?vLat='+coordsCentral.lat()+"&vLng="+coordsCentral.lng(),'mapa'+imgPopUpWindowNumber++,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes')
	}

	/*----------------------------------------------------------------------------
	Formatação para qualquer mascara
	-----------------------------------------------------------------------------*/
	function formatar(src, mask){
	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i)
		if (texto.substring(0,1) != saida)
		{
			src.value += texto.substring(0,1);
		}
	}
	jQuery.validator.addMethod("cpf", function(value, element, param) {
		value = value.replace('.','');
		value = value.replace('.','');
		cpf = value.replace('-','');
		if (!param) return true;
		if (cpf.length == 0) return true;
		while(cpf.length < 11) cpf = "0"+ cpf;
		var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
		var a = [];
		var b = new Number;
		var c = 11;
		for (i=0; i<11; i++){
			a[i] = cpf.charAt(i);
			if (i < 9) b += (a[i] * --c);
		}
		if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
		b = 0;
		c = 11;
		for (y=0; y<10; y++) b += (a[y] * c--);
		if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) return false;
		return true;
	}, "Informe um CPF v&aacute;lido."); // Mensagem padrão 

	jQuery.validator.addMethod("dateBR", function(value, element, param) {
		//contando chars
		if (!param) return true;
		if(value.length!=10) return false;
		// verificando data
		var data 		= value;
		var dia 		= data.substr(0,2);
		var barra1		= data.substr(2,1);
		var mes 		= data.substr(3,2);
		var barra2		= data.substr(5,1);
		var ano 		= data.substr(6,4);
		if(data.length!=10||barra1!="/"||barra2!="/"||isNaN(dia)||isNaN(mes)||isNaN(ano)||dia>31||mes>12)return false;
		if((mes==4||mes==6||mes==9||mes==11) && dia==31)return false;
		if(mes==2  &&  (dia>29||(dia==29 && ano%4!=0)))return false;
		if(ano < 1900)return false;
		return true;
	}, "Informe uma data v&aacute;lida");  // Mensagem padrão 

	jQuery.validator.addMethod("dateTimeBR", function(value, element, param) {
		//contando chars
		if (!param) return true;
		if(value.length!=16) return false;
		// dividindo data e hora
		if(value.substr(10,1)!=' ') return false; // verificando se há espaço
		var arrOpcoes = value.split(' ');
		if(arrOpcoes.length!=2) return false; // verificando a divisão de data e hora
		// verificando data
		var data 		= arrOpcoes[0];
		var dia 		= data.substr(0,2);
		var barra1		= data.substr(2,1);
		var mes 		= data.substr(3,2);
		var barra2		= data.substr(5,1);
		var ano 		= data.substr(6,4);
		if(data.length!=10||barra1!="/"||barra2!="/"||isNaN(dia)||isNaN(mes)||isNaN(ano)||dia>31||mes>12)return false;
		if ((mes==4||mes==6||mes==9||mes==11) && dia==31)return false;
		if (mes==2  &&  (dia>29||(dia==29 && ano%4!=0)))return false;
		// verificando hora
		var horario 	= arrOpcoes[1];
		var	hora 		= horario.substr(0,2);
		var doispontos 	= horario.substr(2,1);
		var minuto 		= horario.substr(3,2);
		if(horario.length!=5||isNaN(hora)||isNaN(minuto)||hora>23||minuto>59||doispontos!=":")return false;
		return true;
	}, "Informe uma data e uma hora v&aacute;lida");	



	/*
	 *
	 * NOVO METODO PARA O JQUERY VALIDATE
	 * VALIDA CNPJ COM 14 OU 15 DIGITOS
	 * A VALIDAÇÃO É FEITA COM OU SEM OS CARACTERES SEPARADORES, PONTO, HIFEN, BARRA
	 *
	 * ESTE MÉTODO FOI ADAPTADO POR:
	 * 
	 * Shiguenori Suguiura Junior <junior@dothcom.net>
	 * 
	 * http://blog.shiguenori.com
	 * http://www.dothcom.net
	 * 
	 */
	jQuery.validator.addMethod("cnpj", function(cnpj, element, param) {
		// DEIXA APENAS OS NÚMEROS
		cnpj = cnpj.replace('/','');
		cnpj = cnpj.replace('.','');
		cnpj = cnpj.replace('.','');
		cnpj = cnpj.replace('-','');
		
		if (!param) return true;
		if (cnpj.length == 0) return true;
		var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
		digitos_iguais = 1;
		
		if (cnpj.length < 14 && cnpj.length < 15){
			return false;
		}
		for (i = 0; i < cnpj.length - 1; i++){
			if (cnpj.charAt(i) != cnpj.charAt(i + 1)){
				digitos_iguais = 0;
				break;
			}
		}
		
		if (!digitos_iguais){
			tamanho = cnpj.length - 2
			numeros = cnpj.substring(0,tamanho);
			digitos = cnpj.substring(tamanho);
			soma = 0;
			pos = tamanho - 7;
			
			for (i = tamanho; i >= 1; i--){
				soma += numeros.charAt(tamanho - i) * pos--;
				if (pos < 2){
					pos = 9;
				}
			}
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(0)){
				return false;
			}
			tamanho = tamanho + 1;
			numeros = cnpj.substring(0,tamanho);
			soma = 0;
			pos = tamanho - 7;
			for (i = tamanho; i >= 1; i--){
				soma += numeros.charAt(tamanho - i) * pos--;
				if (pos < 2){
					pos = 9;
				}
			}
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(1)){
				return false;
			}
			return true;
		}else{
			return false;
		}
	}, "Informe um CNPJ v&aacute;lido."); // Mensagem padrão 

	jQuery.validator.addMethod("notEqual", function(value, element, param) {
		return value == $(param).val() ? false : true;
	}, "Este valor n&atilde;o pode ser igual"); // Mensagem padrão 
		
	$(function(){
		//máscaras de formulário
		$.mask.options = {
			attr: 'alt', // an attr to look for the mask name or the mask itself
			mask: null, // the mask to be used on the input
			type: 'fixed', // the mask of this mask
			maxLength: 5000, // the maxLength of the mask
			defaultValue: '', // the default value for this input
			textAlign: true, // to use or not to use textAlign on the input
			selectCharsOnFocus: true, //selects characters on focus of the input
			setSize: true, // sets the input size based on the length of the mask (work with fixed and reverse masks only)
			autoTab: false, // auto focus the next form element
			fixedChars : '[(),.:/ -]', // fixed chars to be used on the masks.
			onInvalid : function(){},
			onValid : function(){},
			onOverflow : function(){}
		};
		$.mask.masks = {
			'ddd'     : { mask : '99' },
			'fone'     : { mask : '9999-9999' },
			'foneddd'     : { mask : '(99) 9999-9999' },
			'cpf'       : { mask : '999.999.999-99' },
			'data'      : { mask : '39/19/2999' },
			'cep'       : { mask : '99999-999' },
			'ano'      : { mask : '2999' }
		};
		$('input:text').setMask();

	$("#formularioCadastro").validate({
		// Define as regras
		rules:{
			nome:{
				// nome será obrigatório (required) e terá tamanho mínimo (minLength)
				required: true, minlength: 2
			},
			sobrenome:{
				// campoEmail será obrigatório (required) e precisará ser um e-mail válido (email)
				required: true
			},
			cpf:{
				// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
				required: true,
				cpf: true,
				remote:'/promocao/ajax.asp'
				
			},
			data_nasc:{
				required: false, dateBR:true
			},
			cep:{
				required: true, minlength: 9
			},
			telefone:{
				required: true, minlength: 14
			},
			endereco:{
				required: true, minlength: 2
			},
			numero:{
				required: true, minlength: 1,maxlenght:5, number: true
			},
			complemento:{
				required: false
			},
			bairro:{
				required: true, minlength: 2
			},
			cidade:{
				required: true, minlength: 2
			},
			email:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_0:{
				minlength: 2
			},
			iemail_0:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_1:{
				minlength: 2
			},
			iemail_1:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_2:{
				minlength: 2
			},
			iemail_2:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_3:{
				minlength: 2
			},
			iemail_3:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_4:{
				minlength: 2
			},
			iemail_4:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			resposta:{
				required: true				
			}
		},
		// Define as mensagens de erro para cada regra
		messages:{
			nome:{
				required: "Digite o seu nome",
				minlength: "O seu nome deve conter, no mínimo, 2 caracteres"
			},
			sobrenome:{
				required: "Digite o seu e-mail para contato",
				email: "Digite um e-mail válido"
			},
			cpf:{
				required: "Digite seu CPF",
				minlength: "Seu CPF deve conter, no mínimo, 14 caracteres",
				remote: "Este CPF já esta concorrendo no mês atual. Cadastre-se novamente apos o dia 1º. "
				
			},
			data_nasc:{
				
			},
			cep:{
				required: "Digite seu CEP",minlength:"CEP precisa ter ao menos 9 caracteres"
			},
			telefone:{
				required: "Digite seu telefone",minlength:"Telefone precisa ter ao menos 14 caracteres"
			},
			endereco:{
				required: "Digite seu endereço",minlength:"Endereço precisa ter ao menos 2 caracteres"
			},
			numero:{
				required: "Digite o número",minlength:"Número precisa ter ao menos 1 caracteres",maxlenght:"Número precisa ter no máximo 5 caracteres"
			},
			complemento:{
				
			},
			bairro:{
				required: "Digite seu bairro",minlength:"Bairro precisa ter ao menos 2 caracteres"
			},
			cidade:{
				required: "Digite sua cidade",minlength:"Cidade precisa ter ao menos 2 caracteres."
			},
			email:{
				required: "Digite seu e-mail",
				email: "Formato inválido",
				remote: "E-mail Já existente na base de dados"
			},
			inome:{
				
			},
			iemail_0:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_1:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_2:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_3:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_4:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			resposta:{
				required: "Digite sua resposta."			
			}
		}
	});

	$("#formularioIndicados").validate({
		// Define as regras
		rules:{
			inome_0:{
				minlength: 2
			},
			iemail_0:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_1:{
				minlength: 2
			},
			iemail_1:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_2:{
				minlength: 2
			},
			iemail_2:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_3:{
				minlength: 2
			},
			iemail_3:{
				email: true,
				remote:'/promocao/ajax.asp'
			},
			inome_4:{
				minlength: 2
			},
			iemail_4:{
				email: true,
				remote:'/promocao/ajax.asp'
			}
		},
		// Define as mensagens de erro para cada regra
		messages:{
			iemail_0:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_1:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_2:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_3:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			},
			iemail_4:{
				email: "Digite um e-mail válido",
				remote: "E-mail Já existente na base de dados"
			}
		}
	});
	
});

