$(function(){

    var self = this;

    self.wraper    = $('div#content div.tl_action');
    self.slider    = $('div#content div.tl_action div.queFunque')[0];
    self.delta     = 0;
    self.timer     = null;
    self.current   = null;
    self.ttOver    = false;
    self.tTimer    = null;
    self.twidth    = 139;
    self.Onh       = false;

    /*
     * var width = 0;
     *
     * $('div#content div.tl_action div.logo_cont ul li').each(function( item ){
     *    width += $(this).width() + 20;
     * });
     *
     * $('div#content div.tl_action div.logo_cont ul').css({width:width - 20, visibility:'visible'});
     */

    self.swidth    = $(self.slider).width();
    self.lwidth    = $(self.slider).find('ul').width();
    self.maxScroll = self.lwidth - self.swidth;

    self.slide = function()
    {
        self.slider.scrollLeft += self.delta;

        if ( self.slider.scrollLeft > 0 && self.slider.scrollLeft < self.maxScroll ) {
            self.timer = setTimeout(self.slide, 10);
        }
        else {
            clearTimeout( self.timer );
            self.timer = null;
        }
    };

    self.startHide = function(){
        clearTimeout(self.tTimer);
        self.tTimer = setTimeout(function(){
            self.hideToolTip();
        }, 50);
    };

    self.hideToolTip = function(){
        clearTimeout(self.tTimer);
        if ( self.current !== null && !self.ttOver ) {
            self.current.addClass('hidden');
            self.current = null;
        }
    };

    $('div#content div.tl_action').mousemove(function( event )
    {
        var layerX = event.pageX - $(this).offset().left;

        self.delta = ( layerX - ( $(this).width() / 2 ) ) * 0.020;

        if ( layerX < 10 || layerX > 390 ) {
            self.delta -= -( self.delta * 2 );
        }

        if ( self.timer === null ) {
            self.slide.call();
        }
    });

    self.decrement = function()
    {
        if ( !self.Onh ) {

            self.delta += ( self.delta * -1 ) * 0.05;

            if ( self.delta < 0.3 && self.delta > -0.3 ) {
                self.delta = 0;
                clearTimeout( self.timer );
                self.timer = null;
            }
            else {
                setTimeout(self.decrement, 20);
            }
        }
    }

    $('div#content div.tl_action div.queFunque').hover(function(){ self.Onh = true; }, function(){
        self.Onh = false;
        self.decrement();
    });
    
    $('div#content div.tl_action div.logo_cont ul li a.client').hover(function( event )
    {
        self.hideToolTip();

        self.current = $(this).prev().removeClass('hidden');

        self.current.hover(function()
        {
            self.ttOver = true;
        }, function()
        {
            self.ttOver = false;
            self.startHide();
        });

    }, self.startHide);
});