var Site = {
    Init: function () {
        //Textos necessários
        Cufon.replace('.cuf', { fontFamily: 'Trade Gothic LT Std Cn18', hover: true });
        Cufon.replace('.cufBold', { fontFamily: 'Trade Gothic LT Std BdCn20', hover: true });
        Cufon.replace('.cufUnidades', { fontFamily: 'Trade Gothic LT Std', hover: true, textShadow: '#97aecb 1px 1px' });
        Cufon.replace('.cufDestaque', { fontFamily: 'Arial Narrow', hover: true, color: '-linear-gradient(#ffffff, #aaaaaa)', textShadow: '#333 1px 1px' });
        Cufon.replace('.cufBotaoAzul', { fontFamily: 'Arial Narrow', hover: true, textShadow: '#0c84a0 0px 1px' });
        Cufon.replace('.cufBotaoAzulBold', { fontFamily: 'Trade Gothic LT Std BdCn20', hover: true, textShadow: '#0c84a0 0px 1px' });
        Cufon.replace('.cufBotaoVerde', { fontFamily: 'Arial Narrow', hover: true, textShadow: '#7d8a05 0px 1px' });
        Cufon.replace('.cufBotaoVerdeBold', { fontFamily: 'Trade Gothic LT Std BdCn20', hover: true, textShadow: '#7d8a05 0px 1px' });
        Cufon.replace('.cufArial', { fontFamily: 'Arial Narrow', hover: true });
        Cufon.replace('.bread-crumb span', { fontFamily: 'Arial Narrow', hover: true });

        //Busca por todos os links que possuem a classe '.external-modal' para abrir janela modal
        $('.external-modal').click(function () {
            var id = $(this).attr('id');
            var source = $(this).attr('href');
            var dimensoes = $(this).attr('rel');
            dimensoes = dimensoes.split('x');
            var w = dimensoes[0];
            var h = dimensoes[1];
            Site.Generics.OpenExternalModal(id, source, w, h);
            return false;
        });

        $('.internal-modal').click(function () {
            var id = $(this).attr('href');
            var openmodal = function (hash) { hash.o.fadeIn('700', function () { hash.w.fadeIn('300'); }); };
            var closemodal = function (hash) { hash.w.fadeOut('300', function () { hash.o.fadeOut('700'); }); };
            $(id).jqm({ toTop: true, onShow: openmodal, onHide: closemodal });
            Site.Generics.OpenInternalModal(id);
            return false;
        });

        //String Format
        function _StringFormatInline() {
            var txt = this;
            for (var i = 0; i < arguments.length; i++) {
                var exp = new RegExp('\\{' + (i) + '\\}', 'gm');
                txt = txt.replace(exp, arguments[i]);
            }
            return txt;
        }
        function _StringFormatStatic() {
            for (var i = 1; i < arguments.length; i++) {
                var exp = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
                arguments[0] = arguments[0].replace(exp, arguments[i]);
            }
            return arguments[0];
        }
        if (!String.prototype.format) {
            String.prototype.format = _StringFormatInline;
        }
        if (!String.format) {
            String.format = _StringFormatStatic;
        }
    },
    Generics: {
        OpenExternalModal: function (id, source, w, h) {
            ModalWindow.windowId = id;
            ModalWindow.width = w;
            ModalWindow.height = h;
            ModalWindow.content = '<iframe width=\"' + w + '\" height=\"' + h + '\" frameborder=\"0\" scrolling=\"no\" allowtransparency=\"true\" src=\"' + source + '\"></iframe>';
            ModalWindow.Open();
        },
        OpenInternalModal: function (id) {
            $(id).jqmShow({ toTop: true });
        },
        FormsEffects: function () {
            $('input[type=text], textarea, select').focus(function () {
                $(this).addClass('on');
            });
            $('input[type=text], textarea, select').blur(function () {
                $(this).removeClass('on');
            });
        },
        ChangeFonts: function () {
            var elements = "#content #main p, #content #main p strong, #content #main p strong span, #content #main li, #content #main a, #content #main h1, #content #main h2, #content #main h3, #content #main h4, #content #main h5, #content #main h6";
            $('.aumentar-fonte').unbind().bind('click', function () {
                var currentFontSize = $(elements).css('font-size');
                var currentFontSizeNum = parseFloat(currentFontSize, 2000);
                var newFontSize = currentFontSizeNum * 1.2;
                $(elements).css('font-size', newFontSize);
                return false;
            });
            $('.diminuir-fonte').unbind().bind('click', function () {
                var currentFontSize = $(elements).css('font-size');
                var currentFontSizeNum = parseFloat(currentFontSize, 2000);
                var newFontSize = currentFontSizeNum * 0.9;
                $(elements).css('font-size', newFontSize);
                return false;
            });
        },
        ScrollPane: function () {
            $('.scrollable').jScrollPane({ verticalDragMinHeight: 45, verticalDragMaxHeight: 45, contentWidth: 550 });
            $('.scrollableContainer').jScrollPane({ horizontalDragMinWidth: 57, horizontalDragMaxWidth: 57 });
            $('.scrollableCursoDetalhe').jScrollPane({ verticalDragMinHeight: 45, verticalDragMaxHeight: 45, contentWidth: 205 });
        }
    },
    Home: function () {
        Site.Slider();
        Site.Tabs('#tab_area_unidade');
        Site.Tabs('#tab_noticias_eventos');
        Site.Tabs('#tabs_SolucoesEmpresariais');
        $('ul.lista_tagCloud').tagcloud({ colormin: '#207dda', colormax: '#207dda', type: 'list' });
    },
    Carousel: function (id, qtdVisivel, ulAltura, liLargura) {
        var step = 1;
        var current = 0;
        var maximum = $(id + ' ul li').size();
        var visible = qtdVisivel;
        var speed = 200;
        var liSize = liLargura;
        var carousel_height = ulAltura;

        var ulSize = liSize * maximum;
        var divSize = liSize * visible;

        $(id + ' ul').css("width", ulSize + "px").css("left", -(current * liSize)).css("position", "absolute");

        $(id).css("width", divSize + "px").css("height", carousel_height + "px").css("visibility", "visible").css("overflow", "hidden").css("position", "relative");

        $('.btnprev').click(function () {
            if (current - step < 0 || current - step > maximum - visible) {
                /*   Caso seja o primeiro leva para o último   */
                current = maximum - step * visible;
                $(this).parent().find(id + ' ul').animate({ left: -(ulSize - divSize) }, speed, null);
            }
            else {
                current = current - step;
                $(this).parent().find(id + ' ul').animate({ left: -(liSize * current) }, speed, null);
            }
            return false;
        });

        $('.btnnext').click(function () {
            if (current + step < 0 || current + step > maximum - visible) {
                /*   Caso seja o último leva para o  primeiro  */
                current = 0;
                $(this).parent().find(id + ' ul').animate({ left: 0 }, speed, null);
            }
            else {
                current = current + step;
                $(this).parent().find(id + ' ul').animate({ left: -(liSize * current) }, speed, null);
            }
            return false;
        });
    },
    Slider: function () {
        /*** Slider ***/
        $('#slider').anythingSlider({
            buildArrows: false,
            buildNavigation: true,
            buildStartStop: false,
            autoPlay: true,
            navigationFormatter: function (i, panel) {
                return '';
            }
        });
        for (var i = 1; i <= 5; i++) {
            var img = $(".slider" + i + " > img");
            $("a.panel" + i).html(img);
        }
    },
    Tabs: function (id) {
        /*** Tabs ***/
        var pai = id;
        $(pai + ' .tab_content').hide();

        var selector = id == ".destaqueTabs" ? ":last" : ":first";

        $(pai + ' ul.tabs li' + selector).addClass('active').show();
        $(pai + ' .tab_content' + selector).show();
        $(pai + ' ul.tabs li a').each(function (i, item) {
            $(this).attr('rel', $(this).attr('href'));
            $(this).attr('href', 'javascript:void(0);');
        });
        $(pai + ' ul.tabs li').click(function () {
            $(pai + ' ul.tabs li').removeClass('active');
            $(this).addClass('active');
            $(pai + ' .tab_content').hide();
            var activeTab = $(this).find('a').attr('rel');
            $(activeTab).fadeIn();
            Cufon.refresh();
            return false;
        });
    },
    Institucional: function () {
        Site.Generics.ScrollPane();
        Site.Tabs('.destaqueTabs');

        var telas = $('.conteudos_anos');
        var abas = $('.abas_anos')
        telas.children('li').each(function (i, item) {
            var nome = $(this).attr('nome');
            abas.append('<li class="cufBold"><a href="javascript:void(0);"  rel="' + nome + '">' + nome + '</a></li>');
        });

        abas.children('li:first').addClass('ativo');
        telas.children('li').eq(0).addClass('ativo');

        var qtdePorPagina = 3;
        var qtdeItens = abas.children('li').length;
        var paginaAtual = 0;
        var totalPaginas = qtdeItens - 1;
        var tamanhoPagina = 285;

        abas.css('width', (qtdeItens * tamanhoPagina) + 'px');

        var PaginaDatas = function () {
            var posicao = paginaAtual * tamanhoPagina * -1;
            posicao += tamanhoPagina + 50;

            abas.animate({ left: posicao }, 300, function () {
                abas.children('li').removeClass('ativo');
                abas.children('li').eq(paginaAtual).addClass('ativo');
                Site.Init();

                MostrarAtual();
            });
        };

        var MostrarAtual = function () {
            var atual = telas.children('li.ativo');
            var proximo = telas.children('li').eq(paginaAtual);

            if (atual.index() != proximo.index()) {
                atual.children('.esquerda').animate({ opacity: 0, "margin-top": 200 }, 300);
                atual.children('.direita').delay(100).animate({ opacity: 0, "margin-top": -200 }, 300, function () {
                    atual.hide();
                    atual.removeClass('ativo');

                    atual = proximo;
                    atual.addClass('ativo');
                    atual.children('.esquerda').css('opacity', 0).css('margin-top', -200).animate({ opacity: 1, "margin-top": 0 }, 300);
                    atual.children('.direita').css('opacity', 0).css('margin-top', 200).delay(200).animate({ opacity: 1, "margin-top": 0 }, 300);
                    atual.show();
                });
            }
        }

        $('.linha_do_tempo > a.anterior').click(function (e) {
            if (paginaAtual > 0) {
                paginaAtual--;
            }
            PaginaDatas();
        }).attr('href', 'javascript:void(0);');

        $('.linha_do_tempo > a.proximo').click(function (e) {
            if (paginaAtual < totalPaginas) {
                paginaAtual++;
            }
            PaginaDatas();
        }).attr('href', 'javascript:void(0);');

        abas.children('li').each(function (i, item) {
            $(this).children('a').attr('index', i).click(function (e) {
                paginaAtual = $(this).attr('index');
                PaginaDatas();
                //MostrarAtual();
            });
        });

    },

    Galeria: function () {

        var controlesAbertos = true;
        var containerLista = $('.listaAlbum');

        var qtdeItens = 0;
        containerLista.children('li').each(function (i) {
            if (!$(this).is(':hidden'))
                qtdeItens++;
        });


        var qtdePorPagina = 4;
        var tamanhoItem = 154;
        var paginaAtual = 0;
        var paginaConteudoAtual = 0;
        var totalPaginas = qtdeItens - qtdePorPagina;

        containerLista.css('width', (tamanhoItem * qtdeItens) + 'px');
        /*
        var abrirControles = function () {
            if (!controlesAbertos) {
                controlesAbertos = true;
                $('.containerControle').animate({ top: 365 });
            }
        }

        var fecharControles = function () {
            if (controlesAbertos) {
                controlesAbertos = false;
                $('.containerControle').animate({ top: 495 });
            }
        }
        */
        var abrirFecharControles = function () {
            if (!controlesAbertos) {
                controlesAbertos = true;
                $('.containerControle').animate({ top: 365 });
            } else {
                controlesAbertos = false;
                $('.containerControle').animate({ top: 495 });
            }
        }


        var GotoPage = function () {
            var posicao = paginaAtual * tamanhoItem * -1;
            containerLista.animate({ left: posicao });
        }

        var abrirConteudo = function (url, ifVideoClose) {
            $('.containerConteudoPrincipal').children().remove();
            var extsStr = 'jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG';

            var exts = extsStr.split('|');
            for (var i = 0; i < exts.length; i++) {
                if (url.indexOf(exts[i]) >= 0) { // IMAGEM
                    abrirImagem(url);
                    return;
                }
            }

            //SE NÃO PARAR NA IMAGEM, É VÍDEO
            abrirVideo(url, ifVideoClose);
        }

        var abrirImagem = function (url) {
            $('.containerConteudoPrincipal').append('<img src="' + url + '" width="960" />');
        }

        var abrirVideo = function (url) {
        //var abrirVideo = function (url, close) {
            var embedURL = "http://www.youtube.com/v/{0}?version=3&hl=pt_BR&rel=0"

            var urlFinal = url;
            if (urlFinal.indexOf('youtube') < 0) urlFinal = embedURL.format(url);
            else urlFinal = embedURL.format(getParam('v', url));

            var codigoEmbed = '<object width="960" height="495"><param name="movie" value="' + urlFinal + '"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="opaque"></param><embed src="' + urlFinal + '" type="application/x-shockwave-flash" width="960" height="495" allowscriptaccess="always" allowfullscreen="true" wmode="opaque"></embed></object>';
            $('.containerConteudoPrincipal').append(codigoEmbed);

            //if (close) fecharControles();
        }

        var getParam = function (name, source) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regexS = "[\\?&]" + name + "=([^&#]*)";
            var regex = new RegExp(regexS);
            var results = regex.exec(source);

            if (results == null)
                return "";
            else
                return results[1];
        }

        $('.abrirFecharControle').click(function (e) {
            abrirFecharControles();
        }).attr('href', 'javascript:void(0)');
        /*
        $('.containerControle .legenda').click(function (e) {
            abrirControles();
        }).attr('href', 'javascript:void(0)');
        
        $('.fecharControle').click(function (e) {
            fecharControles();
        }).attr('href', 'javascript:void(0)');
        */
        $('.setaListaPrev').click(function (e) {
            if (paginaAtual > 0) paginaAtual--;
            GotoPage();
        }).attr('href', 'javascript:void(0)');

        $('.setaListaNext').click(function (e) {
            if (paginaAtual < totalPaginas) paginaAtual++;
            GotoPage();
        }).attr('href', 'javascript:void(0)');

        $('.setaFotoPrev').click(function (e) {
            if (paginaConteudoAtual > 0) {
                paginaConteudoAtual--;
                if (paginaConteudoAtual < totalPaginas) {
                    paginaAtual = paginaConteudoAtual;
                    GotoPage();
                }
                $('.listaAlbum li').removeClass('ativo');
                abrirConteudo($('.listaAlbum li').eq(paginaConteudoAtual).addClass('ativo').children('a').attr('href'), false);
            }

        }).attr('href', 'javascript:void(0)');

        $('.setaFotoNext').click(function (e) {
            if (paginaConteudoAtual < qtdeItens - 1) {
                paginaConteudoAtual++;

                if (paginaConteudoAtual < totalPaginas + 1) {
                    paginaAtual = paginaConteudoAtual;
                } else {
                    paginaAtual = totalPaginas;
                }
                GotoPage();

                $('.listaAlbum li').removeClass('ativo');
                abrirConteudo($('.listaAlbum li').eq(paginaConteudoAtual).addClass('ativo').children('a').attr('href'), false);
            }
        }).attr('href', 'javascript:void(0)');


        $('.listaAlbum li a').each(function (i, el) {
            $(this).click(function (e) {
                $('.listaAlbum li').removeClass('ativo');
                $(this).parent('li').addClass('ativo');
                paginaConteudoAtual = $(this).parent('li').index();

                if (paginaConteudoAtual < totalPaginas + 1) {
                    paginaAtual = paginaConteudoAtual;
                } else {
                    paginaAtual = totalPaginas;
                }

                GotoPage();

                abrirConteudo($(this).attr('href'), true);

                return false;
            });
        }).first().click();

        $('.listaSugestao li a').each(function (i, el) {
            $(this).click(function (e) {
                abrirConteudo($(this).attr('video'), true);
            });
        });
    }
}

function resizeIframe(height) {
	$('#frame_conteudo_externo').height( parseInt(height) + 60 );
}

function MontaCarrosel(){
    
        var controlesAbertos = true;
        var containerLista = $('.listaAlbum');

        var qtdeItens = 0;
        alert('containerLista.children(li): ' + containerLista.children('li').length);
        containerLista.children('li').each(function (i) {
            if (!$(this).is(':hidden'))
                qtdeItens++;
        });
       

        var qtdePorPagina = 4;
        var tamanhoItem = 154;
        var paginaAtual = 0;
        var paginaConteudoAtual = 0;
        var totalPaginas = qtdeItens - qtdePorPagina;
        alert(totalPaginas);

        containerLista.css('width', (tamanhoItem * qtdeItens) + 'px');

}
