//======================================================
// Autor:   Marvin Martins Mendes
// Data:    18/11/2010
// Descrição: Classe Slider para apresentação de 
//            Destaques
//======================================================


$(document).ready(function () {
    slider.init();
});

var slider = {
    txt: null,
    num: -1,
    cur: -1,
    cr: [],
    al: null,
    at: 15000,
    ar: true,
    transition: 1000,
    sliderId: "#slide-runner",
    itemId: ".slide-item",
    items: null,
    init: function () {
        items = $(slider.itemId);
        slider.num = items.length;

        var pos = parseInt(Math.floor(Math.random() * 1));
        for (var i = 0; i < slider.num; i++) {
            $('#slide-nav').append('<a href="#" class="item-link" onclick="slider.slide(' + i + ');return false;" onfocus="this.blur();"></a>');
        }

        slider.slide(pos);
        //$('img,div#slide-controls', $('div#slide-holder')).fadeIn();
        setTimeout(function () {
            $('img,div#slide-controls', $('div#slide-holder')).show();
        }, slider.transition);
    },
    auto: function () {
        if (!slider.ar)
            return false;

        var next = slider.cur + 1;
        if (next >= slider.num) next = 0;
        slider.slide(next);
    },
    slide: function (pos) {
        if (pos < 0 || pos >= slider.num || pos == slider.cur)
            return;

        window.clearTimeout(slider.al);
        slider.al = window.setTimeout('slider.auto();', slider.at);

        for (var i = 0; i < slider.num; i++) {
            var imgItem = items.eq(i).children('img');
            var wdt = 680; //imgItem.width();
            imgItem.stop().animate({ left: ((i - pos) * wdt) }, slider.transition, 'swing');
        }

        slider.on(pos);
        slider.textPos(pos);
        slider.cur = pos;
    },
    on: function (pos) {
        $('#slide-nav a').removeClass('on');
        $('#slide-nav a').eq(pos).addClass('on');
    },
    textPos: function (pos) {
        window.clearTimeout(slider.txt);
        var item = $('.slide-item').eq(pos);
        var titulo = item.children('img').attr('title');
        var desc = '';
        if (item.children('span').length > 0)
            desc = item.children('span').html();

        slider.ticker('#slide-titulo span', titulo, 0, 'a');
        slider.ticker('#slide-desc', desc, 0, 'b');
    },
    ticker: function (el, text, pos, unique) {
        if (text == undefined || text === '') {
            $(el).html('');
            return;
        }
        ctext = text.substring(0, pos) + (pos % 2 ? '-' : '_');
        $(el).html(ctext);

        if (pos == text.length)
            $(el).html(text);
        else
            slider.txt = window.setTimeout('slider.ticker("' + el + '","' + text + '",' + (pos + 1) + ',"' + unique + '");', 30);
    }
};
