		window.addEvent('domready', function(){
			$$('.marque').each(function(wrap){			

                if( !wrap ) return;
                 
                var wrapW = wrap.getSize().x;

                var inner = new Element('div', {
                    'html': wrap.get('html'),
                    'styles': {
                        'white-space': 'nowrap',
                        'position': 'absolute'
                    }
                });
                wrap.empty();
                wrap.appendChild(inner);

                wrap.setStyles({
                    'position': 'relative',
                    'overflow': 'hidden',
                    'height': inner.getSize().y
                });

                var innerW = inner.getSize().x + 30;

                if( innerW < wrapW ) innerW = wrapW;

                var inner2 = inner.clone();
                wrap.appendChild(inner2);
                
                var shift = 0;
                var speed = 0;
                var time = (new Date()).getTime();
                var delta, nTime;
                
                var defSpeed = 0.2;
                var nSpeed = defSpeed;
                
                var interval = 10;
                var k = 0.2;
                var k2 = 0.05;
                var oldSh = null;
                var scroll = function(){
                        
                        if(shift < -innerW) 
                        {
                            shift = 0;
                            var temp = inner;
                            inner = inner2;
                            inner2 = temp;
                        }
                        else if(shift>0)
                        {
                            shift = -innerW;
                            var temp = inner;
                            inner = inner2;
                            inner2 = temp;
                        }
                        
                        nTime = (new Date()).getTime();
                        delta = nTime - time;
                        time = nTime;
                        
                        delta *= k;
                        
                        speed += (nSpeed-speed) * delta * k2;
                         
                        shift = (shift - speed * delta);
                        var sh = Math.round(shift);
                        if( sh != oldSh)
                        {
                            inner.setStyle('left', sh);
                            inner2.setStyle('left', sh + innerW);
                            oldSh = sh;
                        }
                        setTimeout(arguments.callee, interval);
                    };
                    
                

                
                setTimeout(function(){ time = (new Date()).getTime(); scroll();}, 2000); 

                wrap.addEvents({
                    'mouseleave': function(){ nSpeed = defSpeed; },
                    'mousemove': function( e ){
                        var w2 = wrap.getSize().x/2;
                        var x = e.page.x - wrap.getCoordinates().left - w2;
                        x = x / w2;
                        if( Math.abs(x) > 0.9)
                            nSpeed = x;
                        else
                            nSpeed = 0;
                    },
                    'mouseenter': function(){ nSpeed = 0; }
                });
                
                
                window.addEvent('resize', function(){
                    wrapW = wrap.getSize().x;
                    innerW = inner.getSize().x + 30;
                    if( innerW < wrapW ) innerW = wrapW;
                });
            });
		});
