$(function () {

    slider.init();

});

var slider = {
    num: -1,
    cur: 0,
    cr: [],
    al: null,
    at: 5 * 2000,
    ar: true,
    data: [],
    init: function () {
        if (!slider.data || !slider.data.length)
            return false;

        var d = slider.data;
        slider.num = d.length;
        var pos = Math.floor(Math.random() * 1); //slider.num);
        $('#slide-desc').html('<strong id="client"></strong>&nbsp;|&nbsp;<strong id="desc"></strong>');
        $('#slide-nav').append('<div id="slide-num-nav"></div>');
        for (var i = 0; i < slider.num; i++) {
            $('#' + d[i].id).css({ left: ((i - pos) * 1000) });
            $('#slide-num-nav').append('<a id="slide-link-' + i + '" href="#" onclick="slider.slide(' + i + ');return false;" onfocus="this.blur();">' + (i + 1) + '</a>');
        }
        $('#slide-nav').append('<div id="slide-arrow-nav"></div>');
//        $('#slide-arrow-nav').append('<a id="slide-link-prev" href="#" onclick="slider.prev();return false;" onfocus="this.blur();">&lt;</a>');
//        $('#slide-arrow-nav').append('<a id="slide-link-next" href="#" onclick="slider.next();return false;" onfocus="this.blur();">&gt;</a>');

        $('img,div#slide-controls', $('div#slide-holder')).fadeIn();
        slider.text(d[pos]);
        slider.on(pos);
        slider.cur = pos;
        slider.check(pos);
        window.setTimeout('slider.auto();', slider.at);
    },
    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 false;

        window.clearTimeout(slider.al);
        slider.al = window.setTimeout('slider.auto();', slider.at);

        var d = slider.data;
        for (var i = 0; i < slider.num; i++)
            $('#' + d[i].id).stop().animate({ left: ((i - pos) * 1000) }, 1000, 'swing');

        slider.on(pos);
        slider.text(d[pos]);
        slider.cur = pos;
        slider.check(pos);
    },
    prev: function () {
        if (slider.cur > 0)
            slider.slide(slider.cur - 1);
        return false;
    },
    next: function () {
        if (slider.cur < (slider.num - 1))
            slider.slide(slider.cur + 1);
        return false;
    },
    check: function (pos) {
        var prev = $('#slide-link-prev');
        var next = $('#slide-link-next');
        if (slider.cur == 0) {
            prev.addClass('notable');
        } else {
            prev.removeClass('notable');
        }
        if (slider.cur == (slider.num - 1)) {
            next.addClass('notable');
        } else {
            next.removeClass('notable');
        }
    },
    on: function (pos) {
        $('#slide-nav a').removeClass('on');
        $('#slide-nav a#slide-link-' + pos).addClass('on');
    },
    text: function (di) {
        slider.cr['a'] = di.client;
        slider.cr['b'] = di.desc;
        slider.ticker('#slide-desc strong#client', di.client, 0, 'a');
        slider.ticker('#slide-desc strong#desc', di.desc, 0, 'b');
    },
    ticker: function (el, text, pos, unique) {
        if (slider.cr[unique] != text)
            return false;

        ctext = text.substring(0, pos) + (pos % 2 ? '-' : '_');
        $(el).html(ctext);

        if (pos == text.length)
            $(el).html(text);
        else
            window.setTimeout('slider.ticker("' + el + '","' + text + '",' + (pos + 1) + ',"' + unique + '");', 30);
    }
};

if (!window.slider)
    var slider = {};

var imgs = $('#slide-holder img');
for (var i = 0; i < imgs.length; i++) {
    slider.data[i] = { 'id': 'slide-img-' + (i + 1), 'client': $(imgs[i]).attr('alt'), 'desc': $(imgs[i]).attr('longdesc') };
};