/**
 * TikiCMS
 * Copyright (C) 2009, Tiki Web Inteligente Ltda.
 * @requires jQuery 1.3.2 or latter
 *
 * $Id: application.js 2 2010-07-05 20:00:00Z caio $
 */

// define o namespace da aplicação
Application = {
    Controller: {}
};

/**
 * Retorna uma URL completa dado um caminho relativo.
 *
 * É importante que esta função seja definida antes
 * da definição das biliotecas "thickbox" e "sIFR",
 * pois alterei o código-fonte delas para que caminhos
 * relativos sejam convertidos em caminhos absolutos utilizando
 * esta função.
 *
 * @param  string url Um pedaço de URL (caminho relativo dentro do servidor)
 * @return string     Uma URL completa
 */
Application.build_url = function(url) {

    if (!Application.BASE_URL || !Application.BASE_URL.match(/^http/)) {
        Application.BASE_URL = $('meta[name=base_url]').attr('content');
    }

    return Application.BASE_URL + url;
};

jQuery(document).ready(function($) {

       
    // invoca o controlador e o método solicitados
    var controller = $('meta[name=controller]').attr('content');
    var method = $('meta[name=method]').attr('content');
    var camelizedController = $.map(controller.split('_'), function(val) { return val.substr(0,1).toUpperCase() + val.substr(1) } ).join('');

    Application.Controller[camelizedController] &&
    Application.Controller[camelizedController][method] &&
    Application.Controller[camelizedController][method].call();

    // Abre links com o rel external em novas janelas
    $("a[rel^='external']").click(function(){
        window.open($(this).attr('href'));
        return false;
    });
});


$(document).ready(function(){

    var bannerAtual = 1;
    var totalBanners = null;
    var tempoBanner = 8000;
    var primeiraTransicao = null;
    var transicaoAtual = null;

    // Banner principal
    totalBanners = $('.controls a').length;    
    transicaoAtual = transicaoBanners();
    $('.controls a').click(trocaBanner);
   
    // Banner principal
    function transicaoBanners() {
        return setInterval(function() {
            $('.controls a').eq(bannerAtual).trigger('click', { mode: 'auto' } );
        }, tempoBanner);
    }
   
    function trocaBanner(e, options) {
   
        options = $.extend({
            mode: 'click'
        }, options);
               
        $('.controls a').removeClass('current');
        $(this).addClass('current');        
   
        // se o usuário clica então a transição precisa ser reiniciada do ponto em que está
        if (options.mode == 'click') {
            clearInterval(transicaoAtual);        
            transicaoAtual = transicaoBanners();
            bannerAtual = ($(this).parent().index() + 1) % totalBanners;
        }
       
        else {
            // redefine o banner atualmente visível
            bannerAtual = (bannerAtual + 1) % totalBanners;
        }
       
        // Imagem
        var url_imagem = $(this).attr('href');
        // Link
        var url = $(this).attr('rel');          
       
        // Troca a imagem atual pela nova clicada
        $('.home_banner_stage img').fadeOut(350, function() {
       
            // Se ainda não houver o loading, ele adiciona
            if ( $('p.loading').length < 1 ){
                $('.home_banner').append('<p class="loading">Carregando</p>');
            }            
       
            $(this).attr('src', url_imagem).load(function(){
                $(this).fadeIn(350);
                $('.home_banner .loading').remove();
            });
        });
       
        if (url.length == 0) {
            $('.home_banner_stage a').addClass('linkless').attr('href', 'javascript:;');
        } else {
            $('.home_banner_stage a').removeClass('linkless').attr('href', url);
        }
        return false;
    }
    
    $(".flutuante").lightbox_me();
       
});
