$(function(){
	var maxwidth = 0;
	var pos = false;
	var maindiv = $('#maindiv').get(0);
	var main_scroller = $('#main_scroller').get(0);
	var wrapper = $(main_scroller).find('.wrapper').get(0);
	
	if ($.browser.opera) {
		wrapper.style.paddingRight = '4000px';
		wrapper.style.marginRight = '-4000px';
	}
	if ($.browser.mozilla && $.browser.version < '1.9') {
		return false;
	}
	
	$(main_scroller).mouseover(function(e){
		pos = (e.clientX - maindiv.offsetLeft) / main_scroller.offsetWidth;
		return true;
	}).mousemove(function(e){
		pos = (e.clientX - maindiv.offsetLeft) / main_scroller.offsetWidth;
		return true;
	}).mouseout(function(){
		pos = false;
		return true;
	});
	
	var calcmaxwidth = function() {
		var w = 0;
		for(var i = 0; i < wrapper.childNodes.length; i++) {
			if (wrapper.childNodes[i].offsetWidth) {
				w += wrapper.childNodes[i].offsetWidth;
			}
		}
		maxwidth = Math.max(w - main_scroller.offsetWidth, 0);
	}
	calcmaxwidth();
	$(window).resize(calcmaxwidth);
	
	setInterval(function(){
		startX = wrapper.style.left;
		startX = startX ? parseInt(startX) : 0;

		deltaX = 0;
		if (pos !== false){
			deltaX = Math.max((Math.abs(pos - .5) - .2) /.3, 0);
		}
		
		if (deltaX) {
			deltaX = ((-Math.cos(deltaX*Math.PI)/2) + .5);
		
			deltaX = deltaX * 40 * (pos > .5 ? 1 : -1);

			wrapper.style.left = Math.min(Math.max(startX - deltaX, -maxwidth), 0).toString() + 'px';
		}
	}, 30);
	
});