/**
 * @author Balazs Bohonyi
 */
jQuery(function(){

    //cache the ticker
    var ticker = jQuery("#tickerContainer dl");
    
    //wrap dt:dd pairs in divs
    ticker.children().filter("dt").each(function(){
    
        var dt = jQuery(this), container = jQuery("<div>");
        
        dt.next().appendTo(container);
        dt.prependTo(container);
        
        container.appendTo(ticker);
    });
    
    //animator function
    function animator(currentItem){
    
        //work out new anim duration
        var distance = currentItem.height();
        duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.015;
        
        //animate the first child of the ticker
        currentItem.animate({
            marginTop: -distance
        }, duration, "linear", function(){
        
            //move current item to the bottom
            currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
            
            //recurse
            animator(currentItem.parent().children(":first"));
        });
    };
    
    //start the ticker
    animator(ticker.children(":first"));
    
    //set mouseenter
    ticker.mouseenter(function(){
    
        //stop current animation
        ticker.children().stop();
        
    });
    
    //set mouseleave
    ticker.mouseleave(function(){
    
        //resume animation
        animator(ticker.children(":first"));
        
    });
});

