$(function(){

	$('#form').submit(function(){
	    if (validarForm()) {
			redirecionar();
		}
		return false;
	});
});

var validarForm = function () {

	var erros = [];
	var tipo = $("input[name='idavolta']:checked").attr('id');
	
	// Origem e destino
	if (!origemDestinoEscolhidos()) {
		erros.push("Por favor, selecione um destino e uma origem");
	}
	else {
		if (!origemDestinoDiferente()) {
			erros.push("Por favor, selecione uma origem diferente do destino");
		}	
	}
	
	if (tipo === "iv") {
		// Partida
		if (!dataValida('#partida')) {
			erros.push('A data de partida não é válida.')
		}
		else {
			if (!dataFutura('#partida')) {
				erros.push('A data de partida deve ser maior ou igual a hoje');
			}
			if (!partidaEm330dias()) {
				erros.push('O período máximo para consulta de vôos é de 330 dias. Selecione sua data de partida dentro deste período');
			}
		}
		
		// Retorno
		if (!dataValida('#retorno')) {
			erros.push('A data de retorno não é válida')
		}
		else {
			if (!dataFutura('#retorno')) {
				erros.push('A data de retorno deve ser maior ou igual a hoje');
			}
			if (!retornoPosterior()) {
				erros.push('A data de retorno deve ser igual ou posterior a data de partida');
			}
		}
	}else if(tipo === "v")
	{
		if (!dataValida('#partida')) {
			erros.push('A data de partida não é válida.')
		}
		else {
			if (!dataFutura('#partida')) {
				erros.push('A data de partida deve ser maior ou igual a hoje');
			}
			if (!partidaEm330dias()) {
				erros.push('O período máximo para consulta de vôos é de 330 dias. Selecione sua data de partida dentro deste período');
			}
		}
	}					
				
	
	if (erros.length > 0) {
		mostrarErros(erros);
		return false;
	}
	return true;
};

var partidaEm330dias = function () {

	var 
	strPartida = $('#partida').val(),
	partida = eDate.getNew({'dd/mm/yyyy': strPartida}),
	diff = eDate.compareDay(partida, eDate.getToday());

	if (diff > 330) {
		return false;
	}
	return true;
};

var retornoPosterior = function () {
	
	var 
	strPartida = $('#partida').val(),
	strRetorno = $('#retorno').val(),
	partida = eDate.getNew({'dd/mm/yyyy': strPartida}),
	retorno = eDate.getNew({'dd/mm/yyyy': strRetorno}),
	diff = eDate.compareDay(retorno, partida);
	
	if (diff < 0) {
		return false;
	}	
	return true;
};

var dataFutura = function (seletor) {
	
	var 
	data = $(seletor).val(),
	diff = eDate.compareDay(eDate.getNew({'dd/mm/yyyy': data}), eDate.getToday());

	if (diff < 0) {
		return false;
	}
	return true;
};

var mostrarErros = function (erros) {

	var mensagem = 'Por favor, verifique os seguintes erros:\n\r\n\r';
	
	for (var i in erros) {
		mensagem = mensagem + erros[i] + '\r\n';
	}
	alert(mensagem);
	return false;
};

var dataValida = function(seletor){

	var data = $(seletor).val();
	
	if (data === '' || !eDate.isValid({'dd/mm/yyyy': data})) {
		return false;
	}
	return true;
''};


var origemDestinoEscolhidos = function () {
	
	var
	origem = $("input[name='dsAeroportoOrigem']").val(),
	destino = $("input[name='dsAeroportoDestino']").val();
	
	if (origem === '' || destino === '') {
		return false;
	}	
	return true;
};

var origemDestinoDiferente = function() {

	var
	tipo = $("input[name='idavolta']:checked").attr('id'),
	origem = $("input[name='dsAeroportoOrigem']").val(),
	destino = $("input[name='dsAeroportoDestino']").val();
	
	return (origem !== destino);
};

var redirecionar = function () {
	
	var 
	dsDataPartida = $('#partida').val().split('/'),
	dsDiaPartida = dsDataPartida[0],
	dsMesPartida = dsDataPartida[1],
	dsAnoPartida = dsDataPartida[2],
	dsDataRetorno = $('#retorno').val().split('/'),
	dsDiaRetorno = dsDataRetorno[0],
	dsMesRetorno = dsDataRetorno[1],
	dsAnoRetorno = dsDataRetorno[2],
	dsAeroportoOrigem = $("input[name='dsAeroportoOrigem']").val(),
	dsAeroportoDestino = $("input[name='dsAeroportoDestino']").val(),	
	qtAdult = $('#qtAdult option:selected').val(),
	qtInfant = $('#qtInfant option:selected').val(),
	qtChild =  $('#qtChild option:selected').val(),
	conteudo = 1,
	
	tipo = $("input[name='idavolta']:checked").attr('id');
	
	if (tipo === "iv"){
		var url = "http://www.tam.com.br/b2c/jsp/AlteraPais.jhtml?combo_pais=BR&redirect=/b2c/jsp/EscolherVooHorario.jhtml%3FadPessoaBanner=%26dsAnoPartida=" + dsAnoPartida + "%26dsAnoRetorno=" + dsAnoRetorno +  
	 "%26dataMarcada=1%26dataMarcada=0%26tipoBusca=%26tipoBusca=%26icIdaVolta=1%26icViajePontos=N%26dsDiaPartida=" + dsDiaPartida + "%26dsMesPartida=" + parseInt(dsMesPartida-1) +
	 "%26dsDiaRetorno=" + dsDiaRetorno + "%26dsMesRetorno=" + parseInt(dsMesRetorno-1) + "%26dsAeroportoOrigem=" + dsAeroportoOrigem + "%26dsAeroportoDestino=" + dsAeroportoDestino + 
	 "%26isLogado=0%26ida_volta=1%26aeroOrigem="+ dsAeroportoOrigem + "%26aeroDestino=" + dsAeroportoDestino + "%26hasTemplate=true%26dtPartida="
	+ dsDiaPartida + "/" + dsMesPartida + "/" + dsAnoPartida + "%26dsPeriodoPartida=0000%26dtRetorno=" + dsDiaRetorno + "/" + dsMesRetorno + "/" + dsAnoRetorno +  "%26dsPeriodoRetorno=0000%26qtAdult=" + qtAdult + "%26qtInfant=" + qtInfant + "%26qtChild=" + qtChild;
	}else if (tipo === "v"){
		var url = "http://www.tam.com.br/b2c/jsp/AlteraPais.jhtml?combo_pais=BR&redirect=/b2c/jsp/EscolherVooHorario.jhtml%3FadPessoaBanner=%26dsAnoPartida="+ dsAnoPartida + "%26dataMarcada=1%26dataMarcada=0%26tipoBusca=%26tipoBusca=%26icViajePontos=N%26dsDiaPartida="
		+ dsDiaPartida + "%26dsMesPartida=" + parseInt(dsMesPartida-1)+ "%26dsAeroportoOrigem=" + dsAeroportoOrigem + "%26dsAeroportoDestino=" +  dsAeroportoDestino + "%26isLogado=0%26ida_volta=0%26aeroOrigem=" + dsAeroportoOrigem + "%26aeroDestino=" + dsAeroportoDestino + "%26hasTemplate=true%26dtPartida=" + dsDiaPartida + "/" + dsMesPartida + "/" + dsAnoPartida+
		"%26dsPeriodoPartida=0000%26qtAdult="+qtAdult+"%26qtInfant="+qtInfant+"%26qtChild="+qtChild;
	}
	
	if($('#flex:checked').length === 1) {
		url += "%26chkFlexData=true"; 
	}
	
	
	window.open(url);
	
};

											
																
																
																
														
																
var paginacao = function (pag) {
	
	var v1, v2 = 0;
	
	if (pag == 2) {
		v1 = 1;
		v2 = pag;
		$('#pag-link img').attr('src','img/bt-ofertas-esq.gif');
	} 
	else {
		v1 = 2;
		v2 = pag;
		$('#pag-link img').attr('src','img/bt-ofertas-dir.gif');
	}
	
	$('#pag-link').attr('href','javascript:paginacao('+v1+')');
	$('#pagina'+v1).hide();
	$('#pagina'+v2).show();
};