$(document).ready(function() {
    if($('#id_horarios-hoje_modalidade_aula').val() != 0){
        filtrarAula($('#id_horarios-hoje_modalidade_aula').val(),'');
    }
    $('.sem_escolha_home').val('0');
    calcAltQuadroHorarioAula();
});

var slugAnt = '';

var FADE_SEG = 500;

escolherUnidade = function(nome,slug){
    //Definição das páginas para otimizar execução
    var ehUnidade = $('#pagina').val() == 'unidade';
    var ehAula = $('#pagina').val() == 'aula';
    var ehHome = $('#pagina').val() == 'home';

    if(nome != '' && slug != ''){

        var base_unidades_nome = $('#id_base_unidades_nome');
        base_unidades_nome.text(nome);
        base_unidades_nome.attr('href','/unidade/'+slug);
        base_unidades_nome.attr('class','lnkUnidades lnk_menu_'+slug+' r');
        base_unidades_nome.attr('title','/unidade/'+slug);
        base_unidades_nome.attr('onmouseover',"altSubMenu('lnk_menu_"+slug+"', true);");
        base_unidades_nome.attr('onmouseout',"altSubMenu('lnk_menu_"+slug+"', false);");

        var base_unidades_lista = $('#id_base_unidades_lista');
        base_unidades_lista.attr('onmouseover',"altSubMenu('lnk_menu_"+slug+"', true);");
        base_unidades_lista.attr('onmouseout',"altSubMenu('lnk_menu_"+slug+"', false);");
        base_unidades_lista.find('a').each(function(){ //Remontando os links
          var urlfy = URLify($(this).text(),$(this).text().length);
  			  if(urlfy == "foursquare")
  				  urlfy = "foursquare/dicas";
  				if(urlfy == "camarote")
  				  $(this).attr('href','/camarotes/');
  				else
            $(this).attr('href','/unidade/'+slug+'/'+urlfy);
        });

        $('#id_base_escolha_nome').text(nome);

        //Alterando rodapé para a unidade definida
        $('#id_base_rodape_convenio-corporativo').attr('href','/unidade/'+slug+'/convenio-corporativo');
        $('#id_base_rodape_contato').attr('href','/unidade/'+slug+'/contato');

        //Institucional
        $('#id_institucional_convenio-corporativo').attr('href','/unidade/'+slug+'/convenio-corporativo');

        //Programa de Resultados
        $('#id_programa-de-resultados_unidade_nome').text('Equipe Unidade de '+nome);

        if(!ehUnidade){
            $('#id_horarios-hoje_unidade_horarios').attr('href','/unidade/'+slug+'/horarios');
            $('#id_horarios-hoje_unidade_horarios').attr('title','/unidade/'+slug+'/horarios');
            $('#id_horarios-hoje_unidade_horarios2').attr('href','/unidade/'+slug+'/horarios');
            $('#id_horarios-hoje_unidade_horarios2').attr('title','/unidade/'+slug+'/horarios');
        }

        //Home
        $('.sem_escolha_home').fadeOut(FADE_SEG);
		$('.sem_escolha_home').hide();
        //Todos
        $('#geral_mid_conteudo').addClass('altura');
        $('.icon_aguarde').hide();
        $('.com_escolha').fadeIn(FADE_SEG);
        $('.sem_escolha').hide();
        $('#conteudo_geral').show();
        $('#area_tit_2').hide();
    }else{
        //Home
        //Removendo anuncios da unidade selecionada
        if(ehHome){
            $('.sem_escolha_home').find('select').val('0');
            $('.sem_escolha_home').fadeIn(FADE_SEG);
            $('#id_home_anuncio_B1 li.B1_da_unidade').remove();
            $('.banner_plub').cycle({ fx: 'fade', speed: '2000', timeout: '5000' });
            $('#id_home_anuncio_B1 li').css({display:'block',opacity:1});
            if($('#id_home_anuncio_B1').find('li').length == 0){
                $('.cont_dir_top').addClass('cont_dir_top_vazio');
                $('#id_base_span_publicidade_B1').fadeOut(FADE_SEG);
            }

            $('#id_home_anuncio_B2 li.B2_da_unidade').fadeOut(FADE_SEG);
            $('#id_home_anuncio_B2 li.B2_da_unidade').remove();
            $('.banner_plub').cycle({ fx: 'fade', speed: '2000', timeout: '5000' });
            $('#id_home_anuncio_B2 li').css({display:'block',opacity:1});
            if($('#id_home_anuncio_B2').find('li').length == 0){
                $('#id_base_span_publicidade_B2').hide();
            }
        }

        //Ocultando Horarios de Aula em Aulas (Somente para a página de aula)
        if(ehAula){
            $('#id_horarios-hoje_fieldset').find('select').val('0');
            $('#id_horarios-hoje_modalidade_aula').find('select').val('0');
            $('.dia_preferencia').removeClass('d_b');
            $('.dia_preferencia').addClass('d_n');

            $('#id_horarios-hoje_fieldset').fadeIn(FADE_SEG);
            $('#id_horarios-hoje_cortina').fadeIn(FADE_SEG);
            $('#ul_lst_horario_aula').empty();
        }

        //Todos

        //Ocultando Próximos Eventos
        $('.divProximasAulas').fadeOut(FADE_SEG);
        $(".divProximasAulas").animate({right: -224}, 1000);

        $('.icon_aguarde').hide();
        $('.sem_escolha').find('select').val('0');
        $('.sem_escolha').find('select').show();
        $('.sem_escolha').fadeIn(FADE_SEG);
        $('.com_escolha').hide();

        //Modalidade do horario (somente para a aula)
        if(!ehUnidade){
            $('#id_horarios-hoje_modalidade_aula').val('0');
        }else{
            $('.sel_unidade').hide();
        }
    }
};

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
Descrição: Valida o retorno do Ajax
Criado Por: Wendel Silvério

   parâmetros:
        msg - XMLHttpRequest
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
validaRetorno = function(msg) {
    if(msg.status != 200){
        mensagem = 'Erro - Não foi possível escolher a unidade, tente novamente.';
        $('#ajx_erro_unidade').attr('alt',mensagem);
        $('#ajx_erro_unidade').attr('title',mensagem);
        $('#ajx_load_unidade').hide();
        $('#ajx_erro_unidade').show();
    }else{
        $('#ajx_load_unidade').hide();
        $('#ajx_erro_unidade').hide();
    }
}

    /*
|---------------------------------------------------------------------------------------------------------------------------------------|
Descri��o: Define a unidade selecionada sem post (com ajax)
Criado Por: Wendel Silv�rio

   par�metros:
        nome = Nome da Unidade
        slug = URL Amig�vel da Unidade (Somente nome)
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function definirUnidade(nome,slug){
    slugAnt = slug;//Necessario para a funcao resetUnidade

    //Definição das páginas para otimizar execução
    var ehUnidade = $('#pagina').val() == 'unidade';
    var ehAula = $('#pagina').val() == 'aula';
    var ehHome = $('#pagina').val() == 'home';
    var ehProgramaDeResultados = $('#pagina').val() == 'programa-de-resultado';

    if(ehAula){
        $('#id_horarios-hoje_cortina').show();
        $('.lst_horario_aula').height(125);
        $('.icon_aguarde').show();
        $('.sel_unidade').hide();
    }

    //Enviando dados para o servidor ##################################################
    var url = '/ajax/unidade/'+slug+'/?';

    var urlRedirect = '/unidade/'+slug+'';


    //Otimização de dados ajax
    if (ehHome)
        url += 'anuncios=True';
    else if(ehProgramaDeResultados)
        url += 'programa_de_resultados=True';
    else if(ehAula)
        url += 'horarios=True';

    //Exibições antes de receber a resposta
    if(ehProgramaDeResultados){
        $('#id_programa-de-resultados_horario').html('Aguarde...');
        $('#id_programa-de-resultados_telefone').html('Aguarde...');
        $('#id_programa-de-resultados_professores').html('Aguarde...');
        $('#id_programa-de-resultados_horario').fadeIn(FADE_SEG);
        $('#id_programa-de-resultados_telefone').fadeIn(FADE_SEG);
        $('#id_programa-de-resultados_professores').fadeIn(FADE_SEG);
    }

    var temEvento = false;
    var temAnuncioB1 = false;
    var temAnuncioB2 = false;
    var temProfessor = false;
    var temHorario = false;
    $('#ajx_load_unidade').show();

    $('.div_foursquare a').attr('href', '/unidade/'+slug+'/foursquare/dicas/');

    $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        success: function(data) {
            var pr_horario = '';
            var pr_telefone = '';
            var profHtml = '';
            var horarioHtml= '';
            var eventoHtml = '';

            var anuncioHtmlB1 = '';
            var anuncioHtmlB2 = '';
            if(data != ''){
                $(data).each(function(i, val) {
                    //Informa��es do programa de resultados
                    if(val.model == 'ciaathletica.unidade'){
                        if(val.fields.horaInicioSemana != null){
                            pr_horario = '<strong>Hor&aacute;rio de atendimento:</strong> '+val.fields.horaInicioSemana.split(':')[0]+'h at&eacute; '+val.fields.horaTerminoSemana.split(':')[0]+'h';
                        }else{
                            pr_horario = '&nbsp;';
                        }

                        if(val.fields.telefone != null && val.fields.telefone!=''){
                            pr_telefone = '<strong>Telefone:</strong> '+val.fields.telefone;
                        }else{
                            pr_telefone = '&nbsp;';
                        }
                    }
                    //Carrega os professores
                    if(val.model == 'ciaathletica.professor'){
                        profHtml += '<a class="lnk_ico_seta">'+val.fields.nome+'</a>';
                    }

                    if(val.model == 'ciaathletica.evento'){
                        //Preenchendo a aba de proximos eventos
                        eventoHtml += '<dl>';

                        var dh = val.fields.dataInicio;
                        var dia = dh.split(' ')[0].split('-');
                        var hora = dh.split(' ')[0].split(':');
                        var dhf = [dia[2],dia[1]].join('/') +' - '+[hora[0],hora[1]].join('h');
                        eventoHtml += '<dt><strong>'+dhf+'</strong></dt>';
                        eventoHtml += '<dd class="aula">';

                        if(val.fields.link != '')
                        {
                            eventoHtml +='<a title="Veja o Evento" href="'+val.fields.link+'">';
                            eventoHtml +='<strong>'+val.fields.titulo+'</strong></a></dd>';
                        }
                        else
                            eventoHtml +='<strong>'+val.fields.titulo+'</strong></dd>';

                        eventoHtml += '</dl>';
                        temEvento = true;
                    }
                    //Preenche os anuncios da unidade na home e na p�gina de unidade
                    if(val.model == 'conteudo.anuncio'){
                        if(val.fields.posicao == 'B1'){
                            anuncioHtmlB1 += '<li class="B1_da_unidade">';
                            if(val.fields.link != '')
                                anuncioHtmlB1 += '<a href="'+val.fields.link+'" title="'+val.fields.titulo+'">';
                            else
                                anuncioHtmlB1 += '<a href="javascript:void[0];" title="'+val.fields.titulo+'">';
                            anuncioHtmlB1 += '<img src="/media/'+val.fields.imagem+'" alt="'+val.fields.titulo+'" />';
                            anuncioHtmlB1 += '</a></li>';
                            temAnuncioB1 = true;
                        }
                        if(val.fields.posicao == 'B2'){
                            anuncioHtmlB2 += '<li class="B2_da_unidade">';
                            if(val.fields.link != '')
                                anuncioHtmlB2 += '<a href="'+val.fields.link+'" title="'+val.fields.titulo+'">';
                            else
                                anuncioHtmlB2 += '<a href="javascript:void[0];" title="'+val.fields.titulo+'">';
                            anuncioHtmlB2 += '<img src="/media/'+val.fields.imagem+'" alt="'+val.fields.titulo+'" />';
                            anuncioHtmlB2 += '</a></li>';
                            temAnuncioB2 = true;
                        }
                    }
                    //Aulas da unidade
                    if(val.model == 'ciaathletica.horario'){
                        diasDaSemana = [];
                        if (val.fields.seg == 1)
                            diasDaSemana.push('seg');
                        if (val.fields.ter == 1)
                            diasDaSemana.push('ter');
                        if (val.fields.qua == 1)
                            diasDaSemana.push('qua');
                        if (val.fields.qui == 1)
                            diasDaSemana.push('qui');
                        if (val.fields.sex == 1)
                            diasDaSemana.push('sex');
                        if (val.fields.sab == 1)
                            diasDaSemana.push('sab');
                        if (val.fields.dom == 1)
                            diasDaSemana.push('dom');

                        for(i=0; i < diasDaSemana.length; i++ ){
                            horarioHtml += '<li class="'+diasDaSemana[i]+' '+val.fields.aula.modalidade.substring(0,1).toUpperCase()+'"><dl><dt><strong>'+val.fields.horaDeInicio+'</strong></dt>';
                            horarioHtml += '<dd class="aula"><span class="f_r">&nbsp;</span><a href="/'+URLify(val.fields.aula.modalidade,val.fields.aula.modalidade.length)+'/'+URLify(val.fields.aula.nome,val.fields.aula.nome.length)+'" title="Veja a Aula"><strong>'+val.fields.aula.nome+'</strong> <br /> '+val.fields.professor.nome+'</a></dd>';
    						horarioHtml += '<dd class="sala"><a href="/'+URLify(val.fields.aula.modalidade,val.fields.aula.modalidade.length)+'/'+URLify(val.fields.aula.nome,val.fields.aula.nome.length)+'" title="Veja a Aula"><strong>'+val.fields.local.nome+'</strong> <br /></a></dd>';
    						horarioHtml += '</dl>';
    						horarioHtml += '</li>';
                            temHorario = true;
                        }
                    }
                });
                //Execu��o ap�s receber a resposta
                if(ehProgramaDeResultados){
                    $('#id_programa-de-resultados_horario').html(pr_horario);
                    $('#id_programa-de-resultados_telefone').html(pr_telefone);
                    $('#id_programa-de-resultados_professores').html(profHtml);
                }

                if(temEvento){
                    $('#id_base_proximos_eventos').html(eventoHtml);
                    $('.divProximasAulas').fadeIn(FADE_SEG);
                    $('#id_base_proximos_eventos_calendario_completo').attr('href','/unidade/'+slug+'#calendarioEventos');
                }

                if(temAnuncioB1 && ehHome){
                    //Recursos da Home
                    $('#id_home_anuncio_B1').append(anuncioHtmlB1);
                    $('.cont_dir_top').removeClass('cont_dir_top_vazio');
                    $('#id_home_anuncio_B1').fadeIn(FADE_SEG);
                    $('#id_base_span_publicidade_B1').fadeIn(FADE_SEG);
                }
                if(temAnuncioB2 && ehHome){
                    $('#id_home_anuncio_B2').append(anuncioHtmlB2);
                    $('#id_home_anuncio_B2').fadeIn(FADE_SEG);
                    $('#id_base_span_publicidade_B2').fadeIn(FADE_SEG);
                }
                $('.banner_plub').cycle({ fx: 'fade', speed: '2000', timeout: '5000' });

                if(temHorario && ehAula){
                    var hoje = new Date();

					$('#id_horarios-hoje_cortina').fadeOut(FADE_SEG);
					calcAltQuadroHorarioAula();
					$('#contHorarioAula .icon_aguarde').hide();
                    $('#ul_lst_horario_aula').html(horarioHtml);
                    filtrarAula(0,'');
                }else if (!temHorario && ehAula){
                    calcAltQuadroHorarioAula();
                    $('#id_horarios-hoje_cortina').fadeOut(FADE_SEG);
                }
            }
            $('#ajx_load_unidade').hide();
            $('#ajx_erro_unidade').hide();
            escolherUnidade(nome,slug);
            window.location = urlRedirect;
        },
        error:validaRetorno
    });
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
Descri��o: Remove a unidade selecionada e seus elementos
Criado Por: Wendel Silv�rio

   par�metros:
        slug = URL Amig�vel da Unidade (Somente nome)
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function resetUnidade(slug){
    if(slug == '')
       slug = slugAnt;

    //Enviando dados para o servidor ##################################################
    url = '/ajax/unidade/'+slug+'/?sair=True';

    $('#ajx_load_unidade').show();
    $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        success: function(data) {
            $('#ajx_load_unidade').hide();
            $('#ajx_erro_unidade').hide();
            escolherUnidade('','')
            window.location = '/unidades';
        },
        error:validaRetorno
    });
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
Descri��o: Oculta/Exibe as aulas de acordo com o filtro
Criado Por: Wendel Silv�rio

   par�metros:
        modalidade: Exibe somente as aulas da modalidade e exibe todas se o valor for igual a zero (0)
        diaDaSemana: Exibe somente as aulas do dia da semana abreviado e exibe as aulas do dia corrente se o valor for igual a vazio('')
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function filtrarAula(modalidade, diaDaSemana){

    var dia = '';

    if(diaDaSemana == ''){
        var hoje = new Date();
        var d = hoje.getDay();

        switch(d){
            case 0:
                dia = 'dom';
                break;
            case 1:
                dia = 'seg';
                break;
            case 2:
                dia = 'ter';
                break;
            case 3:
                dia = 'qua';
                break;
            case 4:
                dia = 'qui';
                break;
            case 5:
                dia = 'sex';
                break;
            case 5:
                dia = 'sab';
                break;
        }
    }else{
        dia = diaDaSemana;
    }

    if(modalidade == 0){
        $('.dia_preferencia').removeClass('d_b');
        $('.dia_preferencia').addClass('d_n');
        $('#ul_lst_horario_aula li').hide();
        $('#ul_lst_horario_aula li.'+dia).show();
    }else{
        $('#ul_lst_horario_aula li').hide();
        $('.dia_preferencia a').removeClass('on');
        $('#id_dia_'+dia).addClass('on');
        $('#ul_lst_horario_aula li.'+dia+'.'+modalidade).show();
        $('.dia_preferencia').removeClass('d_n');
        $('.dia_preferencia').addClass('d_b');
    }

	anterior3 = 0;
	proximo3 = 4;
	posUL3 = 0;
	$('#ul_lst_horario_aula').animate({top:0},500);
	$('.slide_horario_aula .lnk_anterior').addClass('lnk_fade');
	$('.slide_horario_aula .lnk_proximo').removeClass('lnk_fade');
	calcAltQuadroHorarioAula();
}
