//Скроллер плагин


//Раскрытие текст на главной 

var Scroller = new Class({

	Implements: [Events, Options],

	options: {
		area: 250,
		velocity: 1,
		onChange: function(x, y){
		 
		  
			this.element.scrollTo(x, y);
			   
		},
		fps: 50,
		horizontal: true, //v3 modified
		vertical: false
	},

	initialize: function(element, options){
		this.setOptions(options);
		this.element = document.id(element);		
		this.listener = ($type(this.element) != 'element') ? document.id(this.element.getDocument().body) : this.element;
		this.timer = null;
		this.bound = {
			attach: this.attach.bind(this),
			detach: this.detach.bind(this),
			getCoords: this.getCoords.bind(this)
		};
	},

	start: function(){
	 
		this.listener.addEvents({
			mouseenter: this.bound.attach, //v3 modified
			mouseleave: this.bound.detach
		});
	},

	stop: function(){
		this.listener.removeEvents({
			mouseenter: this.bound.attach,
			mouseleave: this.bound.detach
		});
		this.detach();
		this.timer = $clear(this.timer);
	},

	attach: function(){
		this.listener.addEvent('mousemove', this.bound.getCoords);
	},

	detach: function(e){
		var node = this;
		this.detachTimer = (function() {
			node.listener.removeEvent('mousemove', node.bound.getCoords);
			node.timer = $clear(node.timer);
		}).delay(50);
		
	},

	getCoords: function(event){	
		this.page = (this.listener.get('tag') == 'body') ? event.client : event.page;
		if (!this.timer) this.timer = this.scroll.periodical(Math.round(1000 / this.options.fps), this);
				
	},

	scroll: function(){
		
		var size = this.element.getSize(),
			scroll = this.element.getScroll(),
			pos = this.element.getOffsets(),
			scrollSize = this.element.getScrollSize(),
			change = {x: 0, y: 0};
		  
		// v3 modified
		if (!this.options.horizontal) delete this.page.x;
		if (!this.options.vertical) delete this.page.y;

		for (var z in this.page){	
		
			if (this.page[z] < (this.options.area + pos[z]) ) {			
				change[z] = (this.page[z] - this.options.area - pos[z]) * this.options.velocity;				
			}
			else if (this.page[z] + this.options.area > (size[z] + pos[z]) ) {			
				change[z] = (this.page[z] - size[z] + this.options.area - pos[z]) * this.options.velocity;
			}
		}
		
		  
		
		//if ($chk($('slide'))) {
	
		     var node =this;
		    
		      if (scroll.y==110)  {
		      		$$('.ar-bot').setStyle('visibility','hidden');
		      	
			  }
			  else {
			       $$('.ar-bot').setStyle('visibility','visible');
		      		
			  };
			  if (scroll.y==0)  {
		      		$$('.ar-top').setStyle('visibility','hidden');
		      	
			  } 
			  else {
			      $$('.ar-top').setStyle('visibility','visible');
		      		
			  }
			 
	//	}
		
		if (change.y || change.x) {		   
			this.fireEvent('change', [scroll.x + change.x, scroll.y + change.y]);			
		} 
	}

});
  


      
Shadowbox.init({
	language: 'ru',
	adapter: 'mootools',
	skipSetup: true,
	players:  ['img']
});




   
window.addEvent('domready', function() {
   
    
	// включаем shadowbox
  var Shadowbox_options = {
    resizeDuration: 0.2,
    fadeDuration: 0.2,
    viewportPadding: 10,
    handleOversize: 'drag',
    overlayOpacity: 0.5,
    viewportPadding: 5,
    autoDimensions: true,
		animate: false
  };

	list = $$(document.links);
  	list = list.filter(function(item){
  	//if (item.hasClass('no')) return false;
    return item.href.test(/\.(jpe?g|JPG|JPEG|png|gif|swf)$/)
  });
  if (list && list.length) {
		Shadowbox.setup(list, Shadowbox_options);
  }

  new SmoothScroll({
  	onStart: function() {
  		if (this.oldanchor) {
  			this.oldanchor.removeClass('anchored');
  		}
  		this.oldanchor = $(this.anchor).addClass('anchored');
  	}
  });
  
   var num = 0;
   var size = $$(".carousel_foto a img").each(function(item) {
       num++
   })
   $$(".shifting_block").setStyles({width: num*145})
 
		$$('.carousel .carousel_body').each(function(item) {
            var area =600;
       
            item.myScroller = new Scroller(item, {
                    area: area,
                    velocity: 0.05
                    
            });
            //Клики по стрелкам
             $$('.arrow').addEvent('click', function(e) {
                e.preventDefault();
              })
            $$('.arrow').addEvent('mousedown', function(e) {
                var  deltay=0;
                var node =this.getParent().getParent().getElement('.scroll');
            
                     if (this.hasClass('left-bt')) deltay = -6;
                     if (this.hasClass('right-bt')) deltay = 6;
                     
              
                this.timer = (function() {
                    var curCroll = node.getScroll();		
                    node.scrollTo(curCroll.x+deltay,0);
                
                }).periodical(20);		
                e.preventDefault(); 
            }).addEvent('mouseup', function(e) {
                    
                this.timer = $clear(this.timer);
                
                e.preventDefault();
            });
            item.myScroller.start();		
        }); 

		$$('.mini_carousel .mini_carousel_main').each(function(item) {
            var area =600;
       
            item.myScroller = new Scroller(item, {
                    area: area,
                    velocity: 0.05
                    
            });
            //Клики по стрелкам
             $$('.arrows').addEvent('click', function(e) {
                e.preventDefault();
              })
            $$('.arrows').addEvent('mousedown', function(e) {
                var  deltay=0;
                
                var node = $('mini_carousel_main');
                var curCroll = node.getScroll()
                
                     if (this.hasClass('left')) deltax = -30;
                     if (this.hasClass('right')) deltax = 30;
                     
                
                this.timer = (function() {
                    var curCroll = node.getScroll();		
                    node.scrollTo(curCroll.x+deltax,0);
                
                }).periodical(20);		
                e.preventDefault(); 
            }).addEvent('mouseup', function(e) {
                    
                this.timer = $clear(this.timer);
                
                e.preventDefault();
            });
            item.myScroller.start();		
        }); 
        
        if($$(".sub")){
            $$(".sub").getParent().setStyles({'display':'block'})
            $$(".sub").getParent().getParent().addClass("current")
        }
        
            $$(".parentCat").each(function(item, i){
                if(item.getElement('ul') && item.hasClass( "current" ) == false){

                    var morph = new Fx.Morph(item.getElement('ul'), { duration: 3500, transition: Fx.Transitions.Elastic.easeOut, link: 'cancel' });

                    morph.start.delay(i * 1000, morph, {
                        'opacity': [0, 1],
                        'margin-left': 0
                    });

                    item.addEvents({
                        'mouseenter': function(){
                            morph.start({
                                'display':'block',
                                'margin-left': 8,
                                'display':'block'
                            });
                        },
                        'mouseleave': function(){
                            morph.start({
                                'display':'none',
                                'margin-left': 0
                            });
                        }
                    });
                }
            })
  
});

