window.addEvent('domready',function(){
	try{
		var shopexun = $('shopexun');
		var showNum = 8;
		var w = 98;
		var union = function(){
			var unionlink = shopexun.getElement('ul');
			if(unionlink){
				var panel = shopexun.show().getElement('.panel').scrollTo(0,0);
				var list = unionlink.getElements('li');
				var items = list.length;
				if(items > showNum){
					var Mult = 2;
					if(showNum * 2 - 1 > items){
						Mult = 3;
					}
					unionlink.setStyles({overflow:"hidden",width: items * w *Mult});
					for(var i=0;i<items*(Mult-1);i++){
						unionlink.adopt(list[i%items].clone());
					}
					var alllist = unionlink.getElements('li');
					alllist.addEvents({
						'mouseenter':function(){alllist.each(function(li){li.setOpacity(0.35)});this.setOpacity(1)},
						'mouseleave':function(){alllist.each(function(li){li.setOpacity(1)})}
					});
					//var scrollx = panel.getScrollSize().x;
					var width = showNum * w;

					panel.fn = new Fx.Scroll(panel,{duration:600});
					panel.fn.addEvent('chainComplete', function(){
						panel.store('timer', false);
					});
					var autoStep = function(panelw){
						var pos = panel.getScrollLeft()+1;
						panel.fn.scrollTo(pos >= panelw ? pos - panelw : pos);
					};
					var scrollStart = function(){
						panel.store('autoScroll',(function(){autoStep(w*items)}).periodical(30));
					};

					shopexun.addEvents({
						'mouseenter':function(){$clear(panel.retrieve('autoScroll'))},
						'mouseleave':function(){scrollStart();}
					});

					var overStep = function(a, b, c){
						inStruct(a, b, c);
						var left = (panel.getScrollLeft()/a).toInt() * a;
						var to = left + (panel.retrieve('direct') == 1 ? width : -width);
						panel.fn.start(to);
					};

					var inStruct = function(a, b, c){
						var left = panel.getScrollLeft();
						if(panel.retrieve('direct') == 1){
							var nowPos = (left/a).toInt();
							var lastPos = c * Mult - nowPos - b;
							if(lastPos <= 0){
								panel.fn.scrollTo((c-b) * a);
							}else if(lastPos < b){
								var pos = c * (Mult - 1) - (b + lastPos);
								pos = pos < 0 ? b - pos : pos;
								panel.fn.scrollTo(pos * a + left - nowPos * a);
							}
						}else{
							var nowPos = (panel.getScrollLeft() / a).toInt();
							if(nowPos < b){
								panel.fn.scrollTo((nowPos + c) * a + left - nowPos * a);
							}
						}
					};
					shopexun.getElements('.arrow').setStyle('display','block').addEvents({
						'click': function(){
							if(panel.retrieve('timer')){return;}
							panel.store('timer', true);
							panel.store('direct', this.hasClass('toLeft') ? 0 : 1);
							overStep(w, showNum, items);
						}
					});

					scrollStart();

				}else{
					list.addEvents({
						'mouseenter':function(){list.each(function(li){li.setOpacity(0.35)});this.setOpacity(1)},
						'mouseleave':function(){list.each(function(li){li.setOpacity(1)})}
					});
				}
			}else{
				this.delay(200);
			}
		}
		union();
	}catch(e){}
});
