var pixSmoothHScroll = new Class({
	init: function() {
		if (document.URL.indexOf('#') > 0)
			var ancre = document.URL.substr(document.URL.indexOf('#') + 1);
	
		var list = $$('a[href^=#]');
		for ( var i = 0; i < list.length; i++) {
			var name = list[i].href.substr(list[i].href.indexOf('#') + 1);
			var div = $$('a[name="'+ name +'"] ~ div')[0];
			if (div) {
				var parent = $(div.parentNode);
				if (!parent.pixTween) {
					parent.pixTween = new Fx.Tween(parent, {
							'property': 'marginLeft',
							'unit': 'px'
						});
					var size = 0;
					var iterator = null;
					for(var j = 0; j < parent.getChildren('div').length; j++) {
						iterator = parent.getChildren('div')[j];
							
						iterator.pixTweenMargin = -size;
						size += iterator.offsetWidth;
						size += iterator.getStyle('marginLeft').toInt();
						size += iterator.getStyle('marginRight').toInt();
					}
					parent.tweenWidth = size;
				}
				$(list[i]).addEvent('click', 
					function (e) {
						var name = this.href.substr(this.href.indexOf('#') + 1);
						var div = $$('a[name="'+ name +'"] ~ div')[0];
						var parent = $(div.parentNode);
						
						if (selected = parent.pixSmoothHScrollSelected) {
							var siblings = selected.parentNode.getChildren('div');

							for(var y = 0; y < siblings.length; y++) {
								iterator = siblings[y];
								if (iterator == selected)
									continue;
								$(iterator).setStyle('display', 'block');
								$(iterator).toggleClass('laMarque');
							}
							parent.setStyle('marginLeft', selected.pixTweenMargin);
							parent.pixSmoothHScrollSelected = null;
						}
						
						if (parent.getStyle('width').toInt() != parent.tweenWidth)
							parent.setStyle('width', parent.tweenWidth);
						
						parent.pixTween.start(parent.getStyle('marginLeft').toInt(), div.pixTweenMargin);
						return false;
					}
				);
			}
		}
		
		if (ancre) {
			var div = $$('a[name="'+ ancre +'"] ~ div')[0];
			div.parentNode.pixSmoothHScrollSelected = div;
			
			var siblings = div.parentNode.getChildren('div');
			for(var x = 0; x < siblings.length; x++) {
				iterator = siblings[x];
				if (iterator == div)
					continue;
				$(iterator).setStyle('display', 'none');
				$(iterator).toggleClass('laMarque');
			}
		}
	},
	
	initialize: function() {
		$(window).addEvent('load', this.init);
	}
});

var obj_pixSmoothHScroll = new pixSmoothHScroll();
